ElasticSearch - 分片的概念 发表于 2016-05-07 概念 要理解分片是什么, 首先要理解其他的一些相关概念和关系. Cluster (集群)集群是一个或以上的 node 的集合, 集群有一个唯一的名称作为id (默认是elasticsearch), 一个只有通过集群名称才能加入. 所以, 要避免在不同环境使用相同的集群名称, 否则 node 可能会加 ... 阅读全文 »
ThreadLocalRandom - 为多线程而生 发表于 2016-05-06 今天要说的 ThreadLocalRandom 是Java7引入的随机数生成器, 在此之前我们生成随机数都是使用 创建java.util.Random实例 使用Math.random(), 其实内部也是创建了一个java.util.Random 使用Random没有问题, 其seed使用Atom ... 阅读全文 »
Levenshtein 编辑距离 发表于 2016-05-04 Levenshtein 距离什么是Levenshtein距离?Levenshtein距离是由俄罗斯科学家弗拉基米尔·莱文斯坦在1965年提出这个概念。 Levenshtein距离(莱文斯坦距离), 是编辑距离(edit distance)的一种。指两个字串之间,由一个转成另一个所需的最少编辑操作次 ... 阅读全文 »
tmux cheatsheet 发表于 2016-05-03 tmux是一个终端的terminal multiplexer, 用来切换多个terminal, 和之前博客提到的terminator比较, 可以发现, tmux更适合在纯文字终端中使用(比如ssh登录远程服务器), 还具有session等强大的功能特性. 进入 tmux 命令模式 要进行 tmux ... 阅读全文 »
deploy spring-boot as war file 发表于 2016-05-02 spring-boot 非常方便, 用来验证程序非常快速. 但如果基于spring-boot写了一个应用, 怎么部署呢 ? spring-boot 打包有两种, 一种继续使用jar, 使用内置的web容器; 另一种使用war, 部署到已有的web容器中. 下面介绍war方式部署: pom.xml 修 ... 阅读全文 »
生产力 | 我的 Workspace 管理之道 发表于 2016-05-01 最近我又调整了我的 Workspace 分类, 我一直觉得这个分类方法效率特别高, 安利了不少人, 反馈都表示很棒, 故而写这篇博客希望能分享给更多人. workspace, 是指linux的的工作区, 自从我使用了workspace, 工作效率倍增, 开小差的情况也少了很多. 为什么这么说呢? 因 ... 阅读全文 »
用tensorflow训练识别手写数字的CNN模型 发表于 2016-04-29 tensorflowtensorflow 是google出品的一个基于图计算开源机器学习库, 作为一个谷粉, 怎么可以不玩一下. tensorflow宣称具有高弹性、可移植性、对科研和生产应用友好、自动分化、最大化性能、多语言支持等特性。说那么多, 如果不试试, 怎么知道呢。Talk is chea ... 阅读全文 »
使用 ELK(elasticsearch/logstash/kibana)分析 nginx 日志 发表于 2016-04-28 简介作为一个后台开发,我们经常会用到日志,为了debug或验证一些问题,这时候只是需要在console找到某几行日志。但是如果要有一个可视化的全局视图,还是需要借助一些工具,ELK就是常用的一套工具集。 版本兼容以下版本亲测兼容: Logstash 2.3.1 Elasticsearch 2.3 ... 阅读全文 »
spring runtime 更新 bean 发表于 2016-04-23 前一篇博客我们提到, 如果bean是prototype或者刷新重新create后, 读取还是旧的properties, 所以从根本来说, 我们需要更新BeanDefinition,如此才能保证在重新初始化Bean的时候使用最新的配置。 运行时动态注册 bean 到 spring 容器 使用主要通过B ... 阅读全文 »