Storm,核心代码使用clojure书写,实用程序使用python开发,使用java开发拓扑。 Nimbus节点接收到请求,对提交的拓扑进行分片,分成一个个的task,并将task和supervisor相关的信息提交到zookeeper集群上,supervisor会去zookeeper集群上领自己...
分类:
其他好文 时间:
2015-04-12 14:33:28
阅读次数:
3522
Clojure、Scala等JVM上的新语言却层出不穷,这又进一步激发了人们继续以JVM为平台搭建新兴大数据系统的热情。而《实战Java虚拟机》一书就是为深入JVM学习做准备的。历时一年反复写作和各种读者在课程中的提问,整理过称的辛苦和困难遇到很多,但好在终于出版了。本书赠送51CTO..
分类:
编程语言 时间:
2015-04-01 20:20:19
阅读次数:
193
Clojure首先是FP, 但是由于基于JVM, 所以不得已需要做出一些妥协, 包含一些OO的编程方式Scala首先是OO, Java语法过于冗余, 一种比较平庸的语言, Scala首先做的是简化, 以更为简洁的方式来编写OO, 主要利用‘type inference’能推断出来的, 你就不用写, ...
分类:
其他好文 时间:
2015-03-05 18:39:11
阅读次数:
193
对象一旦创建出来,就不再改变其内容,这样的对象是不变的。这样做可以无需顾虑多线程访问对象时的竞争管理,Java的String就是不变对象的一个例子。基于此,使用Scala创建多线程应用时,可以用不变状态(immutable
state)编写无锁代码,从而写出简洁的多线程代码,而无需顾虑线程间的数据竞争,以及处理加锁和释放带来的梦魇。JVM上的其他语言Groovy、JRuby、Clojure怎么...
分类:
编程语言 时间:
2015-01-21 15:12:56
阅读次数:
272
今天观察了下clojure之父datomic.com的数据库有点类似sequence数据库的变种不过这类数据库,感觉用在移动端会更有市场:1. 移动端需要这种可以本地存储,无删除,联网只增加,只记录事实的数据库,方便同步事件2. 移动端存储大量的事实可以减少各类打点(特殊事件记录),更多维度的收集数...
分类:
其他好文 时间:
2015-01-18 00:52:28
阅读次数:
167
最近要回家了,需要把资料整理整理,在电脑上有一大堆书籍,分类存放在各自所属的目录下,要整理起来还挺麻烦的,偷懒是人类进步的伟大特质之一,用Clojure完成这个任务吧。 写完以后效果不错,完成这一工作只用了不到20行代码,由于我是新手,应该还可以写得更简练的,纯当练手了。代码如下:(ns To...
分类:
其他好文 时间:
2015-01-08 00:53:34
阅读次数:
196
do和块语句在Scala中,花括号{}括起来的语句构成一个block,它的值就是最后一个语句的值。scala> val a = { | println("a") | 1}aa: Int = 1{println("a"); 1}的值为1。在Clojure中,有时需要使多个form组成一...
分类:
其他好文 时间:
2015-01-07 14:32:34
阅读次数:
200
OS: Mac OS X 10.10IDEA 14.0.2 Community Edition安装Leiningen按照http://leiningen.org/的指南安装lein阅读Leiningen教程中文版了解leiningen如果需要使用代理,需要执行export HTTPS_PROXY=h...
分类:
其他好文 时间:
2015-01-04 19:11:15
阅读次数:
7133
以下大部分收藏自博客:http://blog.csdn.net/ithomer/article/details/17225813官方文档:http://clojure.org/documentationAPI-Index*中文资料(强烈推荐):1. clojure入门教程 *http://xumin...
分类:
其他好文 时间:
2014-12-30 23:30:49
阅读次数:
248
(defn kj [x] (letfn [(f [x y] (format "%d*%d=%d" x y (* x y))) (g [c] (clojure.string/join " " (map #(f % (count c)) c))) (t [] (map #(range...
分类:
其他好文 时间:
2014-12-26 18:30:10
阅读次数:
182