`
文章列表
对于scala搞那么多语法糖和新概念真是又爱又恨。爱的是scala引入的函数式编程特性,这对于使用高阶函数抽象来处理集合数据非常有爱(spark简洁的RDD处理得益于此)。恨的是scala搞那么多的新概念和语法糖。 下面就来说说这些个语法糖和新概念: 一、单例对象(singleton object) scala没有static关键字,搞出了个object关键字来新建单例对象。在单例对象中的成员都是static的。所以要写util类一般都要用这个东西。 object xxUtil{ def process(xx:String):String = { xx } ...
记得很久很久之前写过一篇《七周七语言——地图着色》。用core.logic求解下。 依赖包: [org.clojure/core.logic "0.8.10"] (use 'clojure.core.logic) (nth (run 1 [q] (fresh [tn ms al ga fl] (everyg #(membero % [:red :blue :green]) [tn ms al ga fl]) (!= ms tn) (!= ms al) (!= al tn) ...
原文地址:http://www.douban.com/note/502532701/ Jacob Kaplan-Moss是著名 Python 框架 Django 的 Co-Creater 和核心开发者,在 Heroku 担任安全部门的 Director, 他常年参加 Python 社区的年度聚会 PyCon ,并经常上台演讲。在这次 PyCon 2015 上,他声称自 ...
用maven管理scala项目不错,可惜不能增量编译。scala的编译速度又慢。所以尝试用gradle来管理scala项目。 1、新建目录akka-samples, 并在目录下新建build.gradle文件。 apply plugin: 'idea' apply plugin: 'scala' task "createDirs" << { sourceSets*.scala.srcDirs*.each { it.mkdirs() } sourceSets*.resources.srcDirs*.each { it.mkdirs( ...
项目开发经常碰到配置文件中测试的jdbc.url和线上的是不一样的。为此每次打包都要修改配置文件,很烦,而且也容易出错。 最近才发现,原来用maven的profile可以实现多种环境的配置。 配置过程如下:(具体例子可以下载附件) 1、在src/main/resources/filters,建两个文件:test.properties和prod.properties。 分别放置测试环境和生产环境的配置。(假设两个文件中都设置了jdbc.url属性) 2、新建src/main/resources/conf.properties文件。里面设置 jdbc.url=${jdbc.url} 3 ...

maven添加本地jar

虽然可以用安装jar包到本地仓库的方法来引入本地jar包。 不过对于旧项目经常遇到需要假如本地jar包的情况。用systemPath可以加载本地的jar包,这样更自然,而且也不会污染本地的仓库。 <dependency> <groupId>sample</groupId> <artifactId>com.sample</artifactId> <version>1.0</version> <scope>system</sco ...
一、依赖的jar包 [com.google.guava/guava 14.0.1] 二、具体实现 (defn vnodes "生成n个随机的vnode" [n] (vec (sort (repeatedly n #(rand-int 65536))))) (defn short-hash "产生一个0..2^16范围的hash值" [s] ;; SHA-1 used for uniform value distribution (bit-and (->> (.hashString ( ...
关于gen-class的参数说明: :name aname 要生成的类的全限定名 :extends aclass 指定superclass,没有指定默认为Object :implements [interface ...] 要实现的接口 :init name 指定构造函数名称,必须返回[ [superclass-constructor-args] state] 如果没有指定,则args传给superclass,并且state为nil :constructors {[param-types] [super-param-types], ...} 指定构造参数的类型 :post-init ...
初学clojure的时候曾经对ns引入库的几个函数疑惑了一阵,所以将理解记在这里。 关于require require只负责引入clojure库,不绑定函数到当前的ns中。 ;;引入java io,并指定缩略名为io (require '[clojure.java.io :as io]) ;;使用 (io/file "Filename") ;;在ns中使用 (ns test (:require [clojure.java.io :as io])) 关于refer 将函数绑定到当前的ns中。例如 ;;把trim和capitalize绑定到 ...
一、下载文件。直接一行代码代码搞定: ok(new File("test.xlsx")); 完整的类代码如下: public class Export extends Controller { public static Result excel(String filename){ Configuration conf = play.Play.application().configuration(); String tmpPath = conf.getString("tmp.path"); ...
首先吐槽下play2的编译启动速度(sbt你可以把t去掉了么),赞一下play1的动态编译和重启速度。 play2在Intellij idea上的调试: 第一种方式:安装play2 support插件调试。然后如图配置即可: 第二种方式: 在命令行用play debug命令启动9999 debug端口。 然后用play run或者play start启动项目(区别在于run是开发模式会动态加载代码,start是线上模式不会动态加载代码)。 最后在ide(不限于Intellij,用eclipse或者netbeans都一样)上配置个remote debug,并且把端口设置为9999即可。 (I ...
第一种方式、直接在logback.xml配置文件中添加: <logger name="com.ibatis" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" ...
core.logic是miniKanren的一个实现。miniKanren中一个重要的概念就是goal,根据goal来推测可能的结果,这就是它的核心概念。 一、Core.logic的基本语法: (run* [logic-variable] logic-expressions) ;;或者 (run 1 [logic-variable] logic-expressions) 二、三个核心操作符号:fresh, ==, conde。 其实用几段最简单的代码就可以明白。 user=>(run* [q] (fresh [a b ] (== a 1) (== ...
consistent hashing由来? 最初由Karger等人设计。在麻省理工学院用作分布式缓存,现在已经扩大到其他领域。 它被设计来解决hash的什么问题? 假设有m个对象需要被映射到n个node上,简单hash就求余映射hash(object)%n->node,就大致均匀的分布到n个node上了。可是问题在于如果n发生变化(多了或者少了),就必须重新计算保存对象存放到node,这代价未免有点大。consistent hashing就是用来解决这个问题。 一般hash的问题在于,映射关系计算是个死的东西。所以consistent hashing就是要把对象和这个node和映射 ...
转载地址:http://www.raychase.net/1951   ICDM(国际数据挖掘大会)2006年从18种提名的数据挖掘算法中投票选出了十大算法。这18中提名数据挖掘算法分属10大数据挖掘主题,蓝色部分即为最终选出的十大算法: 分类(Classification) C4.5 CART K Nearest Neighbours Naive Bayes
Global site tag (gtag.js) - Google Analytics