- 浏览: 424965 次
- 性别:
- 来自: 上海
最新评论
-
yhxf_ie:
Scala真好玩啊
关于scala搞出的新概念和语法糖 -
莴笋的春天:
能解密吗?
MD5算法的一个实现 -
TerrorM-eye:
引用神奇的花括号{}代替小括号()语法那个让我想起了spark ...
关于scala搞出的新概念和语法糖 -
u012896872:
不错,有收获。
关于scala搞出的新概念和语法糖 -
qiaoxiaoka:
我在logback中加了 <logger nam ...
在logback中配置mybatis显示sql
文章列表
对于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 ...
虽然可以用安装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