2016年5月

Ubuntu/Python 结巴分词 + Word2Vec利用维基百科训练词向量

结巴分词是一个跨语言的中文分词器,整体效果还算不错,功能也够用,这里直接用Python了,其他主流语言版本均有提供。

Word2Vec,起源于谷歌的一个项目,在我刚开始接触的时候就关注到了他的神奇,大致是通过深度神经网络把词映射到N维空间,处理成向量之后我们终于可以在自然语言处理上方便的使用它进行一些后续处理。(具体的方法忘了)

Python的gensim库中有word2vec包,我们使用这个就可以了,接下来我们就对维基百科进行处理,作为训练集去训练。(包地址:http://radimrehurek.com/gensim/models/word2vec.html

本文参考:http://www.52nlp.cn/中英文维基百科语料上的word2vec实验

- 阅读剩余部分 -

Node.js 几种获得正式绝对路径的方式

在项目中需要绝对路径去设置一些文件地址,于是搜索了一下,在这里大致总结一下:

console.log(__dirname);
console.log(__filename);
console.log(process.cwd());
console.log(path.resolve('./'));

我的项目路径为:/Users/SkyAo/Documents/Coding/JavaScript/Node.js/Connector,而运行的文件是在core文件夹中,然后执行项目路径下的index.js(其中引用了core目录中的appConfig.js

- 阅读剩余部分 -

客户端Session和服务端Session对比

引言

本来想作为Client Side vs Server Side Session的翻译,结果自己的英语太烂,怕翻译的太渣,只能自行根据几篇参考文章总结一下,如果有说的不对的地方,还请大家指出。(把Client Side Session翻译成客户端Session也让我觉得很别扭)。

故事背景是昨天和受泽讨论验证码如何进行验证,然后谈到了Flask(Python的一个MVC框架)使用的是Client Side Session,于是略作了解。

首先我们需要了解一下Session的工作原理,在文末的参考链接1有针对PHP的分析,可以供参考,上一篇模拟登陆中也节选了图解HTTP中的图片来说明一下问题,这是面试中的常见问题,我们之后再对比时也会做相应说明,这里稍微介绍一下,就是在客户端存SessionID之类的Cookie信息,每次访问把Cookie带去请求服务端,服务端进行验证操作,如果服务端有Cookie对应的Session信息,那么确认,把它拿出来使用即可。

那么既然如此,为什么又会分为Client Side Session和Server Side Session,他们的优缺点是什么——这是本文我们所想讲的内容:

- 阅读剩余部分 -

模拟登录新手入门教程

阅读本文,你能得到一些Cookie和Session的基本知识,模拟登录的分析思路,但是具体代码请自行实现。

今天早上起来折腾了一下模拟登录,主要是以前从来没干过,以为很有难度——实际上并没有,折腾了大概一到两个小时就完全搞定了。

这次讲的主要是分析的思路,因为代码太难看了所以暂时不提供代码,等好看了在放出。

我们以上海海事大学数字校园平台为例,主要是他是比较简单的系统,为什么说简单,之后我们会做说明。

首先,我们来说一下本次使用的道具:

Firefox + Firebug
Postman
Node.js+superagent+cheerio(本文不需要)

- 阅读剩余部分 -

JavaScript 排列与组合

排列与组合在我们日常生活中其实也是挺常用的,包括在算法中,也算是比较实用的东西,但是排列组合也是一个难点,这里我们先从简单的出发。

最简单的是全排列和全组合,其中组合的思路更加简单易行,因此我们先从全组合说起。

在说之前,我们先来确定一下定义(数学渣只能从自己下定义开始以免误导读者),我们的全排列,指的是PNN,也就是有n个数字,坑也有n个,求全部的排列情况;全组合,则是除了空集外,n个字母能组成多少种可能性(不一定要全部使用)。

由此,我们开始了我们的全组合之旅:

- 阅读剩余部分 -

JavaScript 说说随机排序(洗牌程序)

在小鱼的gayhub看到了这样的一题,其中就需要用到洗牌程序,当然,我在看到排序算法的时候就想到这样可以用于排序,所以很快就有了第一个排序算法:

var shuffleHack = function(arr) {

    var result = arr.slice();

    result.sort(function() {

        return Math.random() - 0.5;

    });


    return result;

};


- 阅读剩余部分 -

CentOS Ghost安装教程(PM2+Nginx)

前天有个朋友联系我说安装Ghost的时候遇到了问题(Nginx),想让我帮忙看看——我没配过啊,但是这正好是一次机会,玩玩除了PHP以外的东西。

好了,废话不多说,于是昨天我就尝试了一把,踩了一些坑,这里做个总结性发言,顺便表扬一下Ngnix反代大法。

看完本文,基本上你会知道Ghost的搭建,PM2的使用,Nginx的配置。

- 阅读剩余部分 -