搜索到与相关的文章
各行各业

mmseg4j 中文分词 for .net版本

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 2619

操作系统

epoll使用具体解释(精髓)

epoll-I/Oeventnotificationfacility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于在内核中的select实现中,它是採用轮询来处理的,轮询的fd数目越多,自然耗时越多。而且,在linux/posix_types.h头文件有这种声明:#define__F

系统 2019-08-12 01:33:29 2619

MySql

MySQL复制(二) --- 二进制日志怎么干活的

由之前的文章可以了解到,二进制日志在复制中起到举足轻重的作用,所以这一篇文章着重了解一下Mysql复制背后核心组件:二进制日志的庐山真面目。二进制日志的结构从概念上讲,二进制日志是一系列二进制日志事件。它包括一系列的binlog文件和一个binlog索引文件,当前服务器正在写入的binlog文件称之为activebinlog。其文件名是通过配置文件中的log-bin和log-bin-index来定义的。每个binlog文件是由若干binlog事件组成,以F

系统 2019-08-12 01:33:22 2619

Tomcat

Tomcat下获取当前类的路径中含有空格的解决方案

web项目发布到Tomcat之后,如果tomcat是安装在比如C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0\webapps\****那么你获取当前类的路径的时候,就会出现问题,因为它会报出%20C:\Program%20Files\Apache%20Software%20Foundation\Tomcat6.0\webapps\****这个时候你再做一些关于文件的操作,程序就挂了,报一些未知错误,那么

系统 2019-08-12 01:33:20 2619

Linux

Linux 引导流程解析

本文主要记录下linux的引导流程(实例采用centOS5.5)。内容主要如下:引导流程、解析下GRUB的作用。一、引导流程1.1主要的流程图如下:1.2每一步的作用1)第一步firmware固件自检,主要是进行CMOS/BIOS对硬件进行POST加电自检,在物理层次上对硬件进行检测是否正常。2)读取硬盘中MBR的BootLoader(自启动程序,Linux下常用的自启动程序是GRUB)。这一步主要的功能是载入内核。3)载入的内核Kernel主要功能是:1

系统 2019-08-12 01:32:55 2619

数据库相关

数据库模型设计——历史与版本设计

在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,我们可以使用保留历史数据或者使用版本来实现。为了能够保留历史数据,在版本设计时有以下方案:一、使用版本号版本号是一种常见的版本设计方案,就是在要进行历史数据保留的表上面增加一个版本号字段,该字段可以是DateTime类型,也可以是int类型,每进行数据操作时,都是创建一个新的版本,版本是只增不减的,所以只需要拿到最大一个版

系统 2019-08-12 01:32:32 2619

数据库相关

修改一行SQL代码 性能提升了N倍

在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...])改成ANY(VALUES(...))),结果查询时间从20s变为0.2s。最初我们学习使用EXPLANANALYZE来优化代码,到后来,Postgres社区也成为我们学习提升的一个好帮手,付出总会有回报,我们产品的性能也因此得到了极大的提升。事出有因我们所开发的产品是Datadog,它是专门为那些编写和运营大规模应用的团队、IT运营商提供监控服务的一个平台,帮助他们把海量的数

系统 2019-08-12 01:32:28 2619

Python

推荐经典算法实现之SVDBias(python+MovieLen)

#coding:utf-8'''@author:Jason.F@data:2019.07.15@function:Implementation:SVDBiasDatatset:Movielen-1mEvaluation:hitradio,ndcgSquaredlossfunctionwithexplicitrating.'''importpandasaspdimportnumpyasnpimportmathfromcollectionsimportdefa

系统 2019-09-27 17:54:27 2618

Python

python字符串替换re.sub()方法解析

pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1代表第一个分组repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果是一个字符串,反斜杠会被处理为逃逸字符,如\n会被替换为换行,等等。repl如果是一个function,每一个被匹配到的字段串执行替换函数。\g<1>代表前面pattern里面第一个分组,可以简写为\1,\g<0>代表前面pattern匹配到的所有字符串。count是patte

系统 2019-09-27 17:52:51 2618

Python

Python的Tkinter点击按钮触发事件的例子

如果要开发一个比较大的程序,那么应该先把代码封装起来,在面向对象编程中,就是封装成类先看代码: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 2618