2008-06-04

Boost test code

关键字: c++
// clientcontrol.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <fstream> #include <iostream> #include <boost/filesystem.hpp> #include <boost/program_options.hpp> #define BOOST_LOG_DONOT_USE_WCHAR_T #include <boost/logging/fo ...
  • 18:16
  • 浏览 (33)
  • 评论 (0)
http://code.google.com/p/pychseg/ 第一个版本实现了基于的MMSEG中文分词算法Python 实现。MMSEG实际上是一个正向最大匹配+多个规则的分词算法。链接给出的几个网站写的很清楚了。在开发过程中我增加了一个规则来处理原来的算法中有可能出现的冲突问题。当所有的规则都无法唯一的确定一个chunk时,优先选择后面比较长的词。开发过程中参照了MMSEG的Java实现和ruby实现。并且对性能进行了初步的优化。 目前的性能数据:在Pentium D 2.8G的CPU下处理2.9MB的文本数据,不开启pysco的情况下104s,开启pysco的情况下90s,能达到 ...
2007-08-10

Scala 用函数式编程的方法调用db4o

关键字: scala db4o java
db4o 是一个开源的纯面向对象数据库,同时支持Java和dotNet。使用db4o可以用更加面向对象的方式存储数据,比JPA等通过ORM来协调数据库和对象之间的方案来的更为自然。 那么用函数式编程的眼光来看,应该如何使用db4o这样的库呢?首先我们来看一个db4o的包装类 xml 代码 package plan.util;       import com.db4o.query.Query       abstract  ...
2007-08-10

用gdb调试python程序

关键字: python gdb debug
最近遇到情况,一堆python进程中不定期的有一个内存会突然暴涨。由于重现几率非常低,而且无法分析原因,只好上gdb调试了。 中间走了点弯路,python源代码自带了gdb的宏,但是pystack和pyo基本不能用。最后的办法就是当出现问题的时候,使用gdb attach到python程序上,然后在堆栈中找到PyFrameObject对象, 从而定位到出问题的python函数 函数名 *(char*)&(((PyStringObject*)f->f_code->co_name)->ob_sval) 文件名 *(char*)&(((PyStringObj ...
偶们的网站是基于Django开发的,部署在lighttpd + fastcgi模式,最近遇到一个诡异的问题,不定期有一个或几个进程内存突然飙升至几百兆濒临崩溃。想了很多办法调试 1、gdb动态attach上去,结果python2.5的gdbinit文件的宏似乎不起作用 2、试图使用valgrind未果 3、在python上加signal handler,但是出错时无法响应handler函数 最后只好临时增加一个脚本,检测内存过高的python进程并且直接kill之,算是个临时方案吧 sh 代码 ps --no-headers -A& ...
  • 22:23
  • 浏览 (387)
  • 评论 (0)
2007-08-02

在scala里调用Hibernate JPA

关键字: scala hibernate java jpa
虽然scala里也能直接使用hibernate逆向工程生成的entity文件,但是使用scala可以大大减少代码量。 pojo在java中的定义如下 java 代码 @Entity   @Table(name = "mytable", catalog = "mydb")    public class MyTable implements java.io.Serializabl ...
最近需要把hibernate reverse enginering生成的java entity代码转换为scala的(虽然scala能够直接调用java的代码)。Scala的语法虽然和java很相近,但是手工改起来还是很麻烦。 先是考察了antlr,不过由于hibernate生成的文件格式十分工整,用antlr似乎有点牛刀杀鸡的嫌疑。看了python antlr的文档,发现antlr3的语法变得厉害,而且对ast解析的tree parser也很复杂,不像是短时间内能搞定的,于是决定放弃lexer,裸写正则表达式处理,主要牵涉到annotation、构造函数以及函数定义的处理,大约2个多小时完 ...
2007-07-31

scala学习笔记(5) -- implicit type

关键字: scala functional java
scala的implicit def是一个非常重要而且容易被人忽视的特性,通过它能够模拟很多haskell/sml类型系统特有的能力。 考虑如下的接口 scala 代码 trait Filter[a] {      def filter(input:a)(f: a=>Boolean):Option[a]    }   注意由于haskell是纯函数式语言,没有副作用,所以所有的类型都是covariant ...
2007-07-30

scala学习笔记(4) -- xml

关键字: scala functional java xml
scala的特色之一就是内置了对xml语法的支持,通过scala强大的语法加上 xml native支持 例子xml文件 <body>   <title>hellotitle>   <summary>hello worldsummary>   <chapter><id>2id><desc>special chapterdesc>chapter>&nbs ...
2007-07-30

scala学习笔记(3) -- for comprehension

关键字: scala functional java comprehension
scala并不支持一般的for循环,取而代之的是for comprehesion。scala通过丰富 的for comprehesion特性支持各种循环结构。 要使一个类支持for comprehesion很简单,不需要继承任何trait,相应的实现 map, filter, flatMap, foreach四个方法中的一个或多个即可。下面针对每种 语法解释一下。 scala 伪代码 // 语法形式            for( ...
fakechris
搜索本博客
博客分类
存档
最新评论