IK分词原理

IKAnalyzer是一个开源的,基于Java语言开发的轻量级的中文分词语言包,它是以Lucene为应用主体,结合词典分词和文法分析算法的中文词组组件。从3.0版本开始,IK发展为面向java的公用分词组件,独立Lucene项目,同时提供了对Lucene的默认优化实现。 以下这篇博客是我在通读IK分词代码后对IK分词的理解,如果有什么地方出现纰漏请大家指正。 回到最初 如果让我自己在看IK分词之前自己写一个分词器,那我会怎么做? 如果我会想到的是:…

Read More

深入了解 Promise

Promise 进阶核心 下面部分摘录We have a problem with promises 每一个 promise 都会提供给你一个 then() 函数 (或是 catch(…

Read More

MyISAM与InnoDB的索引结构

Mysql索引结构 Mysql非常普遍的使用在互联网公司的大大小小的业务上,而这些业务的许多性能问题都数据的查询。如果进行高质量的SQL查询,如何有效的创建索引,随用索引成为了很多复杂业务的重点关键问题。由于索引是在存储引擎层面实现的,而不是服务器层,所以索引并非标准化的,每种存储引擎的索引的工作方式都略有不同。本文将主要围绕我们最常用的MyISAM和InnoDB进行索引的介绍。 1 存储引擎: 1.1…

Read More

Dockerfile 最佳实践

实践建议 添加 .dockerignore ,像添加 .gitignore 一样,屏蔽一些我们不用的文件 避免安装必须的包 每个容器都只开启一个进程,使用 link 来和其他容器交互 最小化容器的layers 使用 \ 将参数分为多行…

Read More

基于 shipit 的Node.js 应用部署方案

本文主要介绍如何基于shipit的自动化部署方案,可以支持测试环境、灰度上线、回滚等功能。 shipit介绍 shipit 是一个为 Node 应用部署开发的一个工具,主要有以下特色 全部使用 Javascript 开发 基于 orchestrator(…

Read More

我们的前端技术2015--编码规范

1:编码规范 1.1 javascript 编码规范 编码规范的选择是件非常容易的事情,网上有非常多得选择,我们使用的是 airbnb 团队在 GitHub 维护的airbnb/javascript。 选择这个规范主要因为…

Read More

co 进阶用法

1: co中数组的使用 map 传入的函数,也可以是个 generator。下面的代码解释如何处理 代码:array-co /** * co array */ var co = require('co')…

Read More

谈谈 CSS Modules

最近几天由于这篇文章,让大家对 CSS Modules 有了很高的热情。我们团队已经使用 CSS Modules几个月了,所以在这里谈谈我们的经验。 我们的项目是使用React.js 开发,所以我们在开始开发的时候,为了能让我们的组件能够在多个项目中复用,我们开始调研单文件组件的写法,…

Read More

学习 redux.js 的 流水账

具体 redux 的使用请访问redux 本文主要是一个学习使用与源码的流水账,有点乱,多见谅。 有问题欢迎找我讨论,一起学习~ redux redux 是一个 Flux 架构的实现,react-europe 上的演讲可以看到很酷的功能(…

Read More

搞定immutable.js

什么是Immutable Data Immutable Data是指一旦被创造后,就不可以被改变的数据。 通过使用Immutable Data,可以让我们更容易的去处理缓存、回退、数据变化检测等问题,简化我们的开发。 js中的Immutable Data 在javascript中我们可以通过deep clone来模拟Immutable…

Read More