2016年10月26日星期三

maven 为测试环境、生产环境等不同环境打包

参考http://www.blogjava.net/fancydeepin/archive/2015/06/27/maven-p.html

在pom中添加:
<profiles>
  <profile> <!-- 可以通过 -P ID 来激活 -->
    <id>PROD</id> <!-- ID 标识符 -->
    <properties>
      <env>PROD</env> <!-- properties 定义 key-value, 这里 key 是 env, value 是 PROD -->
    </properties>
    <activation>
      <activeByDefault>true</activeByDefault> <!-- 默认激活 -->
    </activation>
  </profile>
  <profile> <!-- 可以通过 -P ID 来激活 -->
    <id>TEST</id> <!-- ID 标识符 -->
    <properties>
      <env>TEST</env> <!-- properties 定义 key-value, 这里 key 是 env, value 是 TEST -->
    </properties>
  </profile>
</profiles>

编译时使用mvn install -P ID即可。

2016年10月17日星期一

pom中引入本地jar包

将jar包放入工程目录下,增加dependency:
    <dependency>
      <groupId>xxx.xxx.xxx</groupId>
      <artifactId>xxx</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/xxx.jar</systemPath>
    </dependency>

2016年10月13日星期四

2016年10月11日星期二

pycurl使用中的一个问题

curl了很多次url请求,总是随机的出现Pycurl and io.StringIO - pycurl.error: (23, 'Failed writing body)的错误,参考 http://stackoverflow.com/questions/19606447/pycurl-and-io-stringio-pycurl-error-23-failed-writing-body 解决了问题。

2016年10月9日星期日

中文分词

常用方法有:
1. 基于词典的分词方法(机械分词法)
  最大正向匹配法(Forward Maximum Matching, FMM)
  逆向最大匹配法(Reverser Maximum Matching, RMM)
  最少切分法(使每一句中切出的词数最小)
  双向匹配法(Bi-directional Maximum Matching, BMM)
  全切分(http://yangshangchuan.iteye.com/blog/2209761) 效率低,应用不多
2. 基于统计的分词方法
  HMM
  CRF
3. 基于深度学习的方法

参考:
http://www.dianacody.com/2014/11/05/cn_cutwords.html
http://www.open-open.com/lib/view/open1420814197171.html
http://h2ex.com/1282

word2vec overview

https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/

http://blog.csdn.net/itplus/article/details/37969519系列

python中包含utf-8中文的列表或字典输出

直接print会出现以下结果:
>>> print list
['\xe6\x88\x91\xe8', '\xe7\x8b\x97']

使用json.dumps可以输出中文:
import json
print json.dumps(list, encoding="UTF-8", ensure_ascii = False)

使用','.join(list)也可以正确输出中文。

2016年10月5日星期三

解决手机无法连接Charles代理的问题

Mac中使用Charles抓包,手机设置了http代理,Charles设置也没错,但手机一直连不上网。

排查原因:
电脑和手机之间是否能ping通,发现电脑能ping通手机,手机无法ping通电脑。

解决:
系统防火墙已经关了,后来发现是我装了McAfee杀毒软件的防火墙的问题,关闭防火墙后问题解决。系统防火墙开启也不影响。

如果电脑和手机互相ping不通并且防火墙已经关闭,可能是路由器设置问题。