- 浏览: 71297 次
- 性别:
- 来自: 深圳
最新评论
-
itang:
好吧, 用"lein repl" 挺好
Getting Clojure running on windows -
忍者战神:
...
谈谈1.getClass -
itang:
https://gist.github.com/1115592 ...
Getting Clojure running on windows -
itang:
看到有个 Clojure Box(http://clojure ...
Getting Clojure running on windows
文章列表
说服自己养成写Blog的习惯
个人Blog写的少的主要原因和分析:
1 信息过载
想展现太多东西,让blog文章充满累赘,不简洁。
- make it simple
2 想零缺陷
想写的太完美,结果迟迟下不了笔。低产、甚至流产。
3 爱发散
引申的东西,发散的去解释。hold不住。
- 定个边界, 仅仅围绕核心写。要发散或进一步解释的,可以在文章总结或附录参考部分稍带提几句。
4 纠缠概念
概念性的东西,说太多, 但又解释得不好。
- 解释不清的东西,一定是自己没搞清楚, 如果时间不允许可以先放着,先抛出 ...
功能描述:写个程序,每100毫秒输出一次当前时间,共10次。统计出程序源码的括号数。
/**
* 统计源代码括号数, Scala实现.
*
* <code>
* val source = """(ss[})"""
* count(source) // 4
* </code>
*/
def count(str: String, some: String = "(){}[]") = str count (some.contains ( ...
Scala的import机制总结
import 主要用于导入各种名字空间(package)或其包含的成员,使它们在声明的作用域里可见。
1 导入package
访问package的成员需要用导入的package名作为前缀,主要用于当package嵌套较多时,可以起到简化及隔 ...
谈谈1.getClass
Ruby是纯面向对象语言,1,1.0这些基本类型在Ruby中也是对象。如:
> 1.class
=> Fixnum
> "hello".class
=> String
> 1.0.class
=> Float
Scala 也是面向对象(与函数式结合的)语言。在Scala 2.9.0 下, 如果我们试图 1.getClass,期待会返回java.lang.Class[Int],实际上却报错了:
$ scala Welcome to Scala version 2.9.0.1 ...
Getting Clojure running on windows
1 准备环境
1.1 下载相关文件
1.1.1 下载clojure
$ wget --no-check-certificate http://github.com/downloads/clojure/clojure/clojure-1.2.1.zip
1.1.2 下载jline,用于Clojure REPL(交互模式)下支持line editing and history
$ wget http://downloads.sourceforge.net/project/jline/jline/1.0/jlin ...
classOf、isInstanceOf、asInstanceOf三个预定义方法分析
Scala的三个预定义(predefined)方法,我们经常用到;它们用来感觉很简单, 但是里面还是隐藏了一些细节东西,不妨花点时间来分析分析。
先上代码
PredefineTest.scala
object PredefineTest{
def main(args: Array[String]):Unit = {
val c : Char = 97.asInstanceOf[Char]
"hello".asInstanceOf[Stri ...
scala.sys.process简介及实战
简介
Ruby很方便的支持操作系统的调用,如:
irb> system 'dir'
irb> system 'ls -la'
irb> system 'curl -I http://www.iteye.com'
irb> result = `curl -I http://www.iteye.com`
irb> open("|ls -la"){|it| it.gets }
现在不用羡慕Ruby了,Scala 2.9里也提供类似功能:新增加了package: sc ...
Scala并行集合框架初探
1 并行集合框架简介
Scala 并行集合框架( Parallel Collections Framework)是在2.9版添加的重要功能,用于多核环境的并行计算。
主要用到的算法有:
divide and conquer : 分治算法
Scala通过splitters,combiners等抽象层来实现,主要原理是将计算工作分解很多任务,分发给一些处理器去完成[,并将它们处理结果合并返回]。
Work stealing算法
主要用于任务调度负载均衡(load-balancing),通俗点完成自己的所有任务之后,发 ...
Scala 启动shell脚本,简化后的scala REPL 启动命令大致如下所示:
java -Xmx256M -Xms32M \
-Xbootclasspath/a:jline.jar:scala-compiler.jar:scala-library.jar:scalap.jar \
-Dscala.usejavacp=true -Dscala.home=/home/itang/dev-env/typesafe-stack \
-Denv.emacs= \
scala.tools.nsc.MainGen ...
找点事情做,写点代码练练手。实现一个简单的功能:将标注了@Async注解的实例方法调用时自动异步执行。
Spring3中已支持此功能, 如:
@Service
public class MailServiceImpl implements MailService{
@Async
public void send(Mail mail){
//在此实现发送email逻辑
//异步执行的
}
}
至于Spring对它的实现原理在此就不罗嗦了, 反正离不开AOP、动态代理、多线程等技术。Guice 也有AOP支持, 要实现此 ...
刚写了一个小应用,其中有个从文件读取数据转换后存入数据库的功能,代码见https://github.com/itang/_demo/blob/master/pagingtree/src/main/scala/pagingtree/plugins/DataPlugin.scala, 在ubuntu下运行正常,windows下出现编码问题,编码为utf-8的文件读取不了。
定位到的出错语句是:
val regionData = fromLines(Source.fromInputStream(RegionDataImporter.getClass.getResou ...
1、null, undefined在条件判断时都为false值
assert(! null );
assert(! undefined);
还有 空字符, 0, NaN
assert(! "");
assert("\n\t" == false)
assert(! 0);
assert(! NaN);
2、undefined值派生自null值,但是值等类型不等
assert(null == undefined); //值等
assert(! (null === undefined));// 值等类型不等
null值的类型是Obje ...
(douban提示有可能有不良广告信息???! ,暂时把最新内容贴到此处)
1 获取源码
$ wget http://nginx.org/download/nginx-0.9.1.tar.gz
$ tar zxvf nginx-0.9.1.tar.gz
$ cd nginx-0.9.1/
2 安装依赖的包
$ sudo apt-get install libssl-dev gcc libpcre3-dev zlib1g-dev libperl-dev
(提示: 可使用apt-cache search搜索要安装的包,如sudo apt-cach ...