1、mmseg4j用Chih-HaoTsai的MMSeg算法(http://technology.chtsai.org/mmseg/)实现的中文分词器,并实现lucene的analyzer和solr的TokenizerFactory以方便在Lucene和Solr中使用。2、MMSeg算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex加了四个规则过虑。官方说:词语的正确识别率达到了98.41%。mmseg4j已经实现了这两
系统 2019-08-12 01:33:32 2620
epoll-I/Oeventnotificationfacility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于在内核中的select实现中,它是採用轮询来处理的,轮询的fd数目越多,自然耗时越多。而且,在linux/posix_types.h头文件有这种声明:#define__F
系统 2019-08-12 01:33:29 2620
由之前的文章可以了解到,二进制日志在复制中起到举足轻重的作用,所以这一篇文章着重了解一下Mysql复制背后核心组件:二进制日志的庐山真面目。二进制日志的结构从概念上讲,二进制日志是一系列二进制日志事件。它包括一系列的binlog文件和一个binlog索引文件,当前服务器正在写入的binlog文件称之为activebinlog。其文件名是通过配置文件中的log-bin和log-bin-index来定义的。每个binlog文件是由若干binlog事件组成,以F
系统 2019-08-12 01:33:22 2620
下载安装tomcat,如何配置环境变量?配置过程中是否和作者一样经常出现错误?请仔细读文及注意事项。工具/原料1,JDK:版本为jdk-7-windows-i586.exe下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html2,tomcat:版本为apache-tomcat-7.0.33-windows-x86.zip下载地址http://tomcat.apache.o
系统 2019-08-12 01:32:53 2620
在tomcat文件夹的conf文件夹下,改动server.xml文件,在以下截图中的位置加上URIEncoding="UTF-8"则表示tomcat编码转换为utf-8风格,一般在前台获得对应的值后都会处理编码问题,如用String类的转码,URLEncoder等转码以至于传到数据库不会乱码tomcatserver乱码问题,tomcat与数据库之间的编码统一转换
系统 2019-08-12 01:32:31 2620
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...])改成ANY(VALUES(...))),结果查询时间从20s变为0.2s。最初我们学习使用EXPLANANALYZE来优化代码,到后来,Postgres社区也成为我们学习提升的一个好帮手,付出总会有回报,我们产品的性能也因此得到了极大的提升。事出有因我们所开发的产品是Datadog,它是专门为那些编写和运营大规模应用的团队、IT运营商提供监控服务的一个平台,帮助他们把海量的数
系统 2019-08-12 01:32:28 2620
Python中查看变量的类型,内存地址,所占字节的大小查看变量的类型#利用内置type()函数>>>nfc=["Packers","49"]>>>afc=["Ravens","48"]>>>combine=zip(nfc,afc)>>>type(combine)查看变量的内存地址#利用内置函数id(),是以十进制显示>>>id(nfc)2646554913160>>>id(afc)2646554913544查看变量所占字节的大小>>>importsys>>
系统 2019-09-27 17:55:23 2619
#coding:utf-8'''@author:Jason.F@data:2019.07.15@function:Implementation:SVDBiasDatatset:Movielen-1mEvaluation:hitradio,ndcgSquaredlossfunctionwithexplicitrating.'''importpandasaspdimportnumpyasnpimportmathfromcollectionsimportdefa
系统 2019-09-27 17:54:27 2619
pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1代表第一个分组repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果是一个字符串,反斜杠会被处理为逃逸字符,如\n会被替换为换行,等等。repl如果是一个function,每一个被匹配到的字段串执行替换函数。\g<1>代表前面pattern里面第一个分组,可以简写为\1,\g<0>代表前面pattern匹配到的所有字符串。count是patte
系统 2019-09-27 17:52:51 2619
如果要开发一个比较大的程序,那么应该先把代码封装起来,在面向对象编程中,就是封装成类先看代码:importtkinterastkclassApp:def__init__(self,root):root.title("打招呼测试")frame=tk.Frame(root)frame.pack()self.hi_there=tk.Button(frame,text="打招呼",fg="blue",command=self.say_hi)self.hi_ther
系统 2019-09-27 17:48:26 2619