自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

phyeas的专栏

跳梁小丑

  • 博客(70)
  • 问答 (1)
  • 收藏
  • 关注

寻找二叉树最优路径

 一个用数组表示的二叉树int[] tree=new int[]{7,5,46,1,8,9,36...};,根节点为7,下面俩子节点分别是5和46,以此类推产生其他子节点。现在需要找出该二叉树所有节点之和最大的路径。 首先想到的是将该数组变成一个树形结构的数据再遍历该树节点值相加,得到最后结果最大的叶子节点,再回溯到根节点得到路径,但这样耗费太多空间资源。每个节点需要存储其本身的值,然...

2010-10-26 00:45:47 820

γ code及其实现

 1. What is γ code?γ编码并不是我随便乱取的名字,其原理在信息检索导论第5章第3节有介绍,用于压缩一连串有序的数字类型的数据非常有用。在MG中将γ编码归类为全局模型(MG更推崇局部模型)。其原理是将所有的数据分成两部分连起来,第一部分为数据长度,第二部分为数据内容。这样做的好处是对于很小的数字γ编码可以只用bit就可以表示了,如对于8这样的数字,只需要表示数据长度的111...

2010-10-01 01:56:07 510

原创 火星.

曾经,有人在这片神圣的土地建立了火星,名曰:火星常驻JE办事处.当时的我们,年轻,朝气,套用一句话,我们是有灵魂的人.     可如今火星已经烟消云散了.尽管豆瓣有我们的办事处:http://www.douban.com/group/137197/,可是被看作是火星的传承……可毕竟.这是不同地.我们一生都为火星效力,而火星的倒塌,却使得我仿佛丢掉了自己的灵魂,一生的效忠,片刻就成了……空!    ...

2010-09-19 10:16:49 136

分词器源码……M1

 事实上要自己写的代码很少。我写了四个类。都在org,phyeas包内,其他代码没有改过。目前测试的结果是:速度:104k/sf-score:0.938----------------------测试平台:系统:Ubuntu9.10CPU:P43.06内存:1G+512MEclipse:3.4 在Windows下可能会有错误原因可能是字符集不一样,我Ub...

2010-04-15 11:00:43 116

分词器在北京大学的语料上f-score达到93.9%了

连续几天的努力终于把f-score从0.856一直提升到0.939。特征也从原来的5中增加到了8种,分类从原来的4种加到了6种,170多W的事件,训练出50多M的模型文件。想起原本只有区区0.856的f-score也觉得真不容易,呵呵。越到后面越觉得再提升就很困难了,基本上特征都提取完了……目前没有想到新的特征。 在这里也简要说下我的特征系列(当前字用C表示,C-1既是前一个字):C pC...

2010-04-14 22:25:14 170

监听文件变化、python和GIL

1、利用windows api对文件系统进行监听 尝试1:利用FindFirstChangeNotificationA、WaitForMultipleObjects、FindNextChangeNotification组合这一组合缺点是就api而言无法获取变更的文件名,还要自己遍历文件夹比对。放弃。 尝试2:CreateFileA、ReadDirectoryChangesW组合,完...

2009-12-15 22:25:57 220

浅析play的参数自动填充

今天风月群的燕大师突然说谁有空去研究一下play,于是就去研究了一下,在play的官网中发现这个页面:Five cool things you can do with Play 其中,令我好奇的是play竟能自动填充action方法的参数。并且经过试验,是根据参数名进行填充的。觉得甚是神奇。便决定研究之。结论是:“play通过自定义ClassLoader和enhancers在运行时生成clas...

2009-11-12 13:13:13 315

GWT之不自量力浅析GWT原理

背景:  话说上次上头让我研究编辑器,后来又得知说客户方要求使用GWT,无奈之下转而又开始研究起gwt,以前没有接触过,说得不对的地方各位砸砖。。正文:  GWT主要分为两部分:翻译和RPC。翻译即是将java代码翻译为js代码,由于多数java语法都于js雷同,此过程也相当简单,这个过程要注意的是:java是静态类型的,java的数组声明方式与js不同,要完全翻译java语句就要把期...

2009-10-06 23:15:28 398

折腾。继续折腾-记在被js折磨了8小时后

在被js狠狠地折磨了8个小时后,页面终究还是运行起来了。不过还没被折磨够,明天还要继续接受摧残。。背景:昨天下午,老板一个电话过来,让我作个demo。说是为做一个可视化编辑器作准备。研究:我记得je的js板块似乎看见过一个叫龙博的ajax可视化编辑器。然后搜出来一看,太依赖自身框架,放弃。。在g了很久之后,发现好像没有一个可视化编辑器是可以自定义生成代码的。(因为要求要生成一套...

2009-09-30 23:27:35 152

读书杂记

1、Python源码剖析对应的版本为2.5。在py3k中第0章中所说的Objects/intobject.c文件实际上是不存在的,因为在py3k中没有int类型,对应的为long,由于long没有专门的long_print方法,所以例程可跳过2、编译Python:第一次编译安装时需要执行make install,但以后每次修改之后不用每次install了,在生成了文件名为python的可执行文...

2009-09-23 23:08:50 124

Javascript文法之var声明 2

经过 rednaxelafx的指点和本人的努力,新一版版的文法终于出来了,呵呵这次终于让文法可以识别function。并且将上次的有递归语法改为左递归(rednaxelafx的功劳)又自己重写了一遍,熟悉一下思路。文法这东西确实不好写。以下是文法文件的内容:%{#include "stdio.h"%}/*KeyWord*/%token TYPEOF VAR ...

2009-09-20 16:16:51 111

Javascript文法之var声明

经过几个小时的努力,文法文件貌似终于工作正常了。文法定义的是一个js变量声明语句的文法,以此来学习文法的定义和使用。测试输入:var s=123;var s="sadasd";var s=(1);var s=1+3*5;var s=1+3+5;var s=s.p;var s=s[1];var s=s==s;var s=!s;var p=p.point()...

2009-09-19 01:58:39 134

试析从LR(0)生成DFA及移动-规约过程分析

参考《编译原理及实践》有如下文法:A→(A)|a先给出该文法的DFA:根据规定,将A'→A作为开始。得到文法:A'→AA→(A)|a-----------------根据从左到右扫描,虚拟一个游标。当前游标在-1处,即:A'→A     ↑(在A前面)让游标向右移动(第一次移动)。得到A'→A        ↑(在A后面)但由于A是一个可...

2009-09-16 23:16:58 794

《GNU/Linux编程指南》笔记 - mstat.c与管道

GNU/Linux编程指南中第二部分中读取文件信息的程序中包含代码: if((fd=open(args[1], O_RDONLY))<0){ perror("open"); exit(EXIT_FAILURE); } 但事实上,如果输入文件为管道文件,程序会被阻塞。要添加O_NONBLOCK参数。即: if((fd=open(args[1], O_R...

2009-09-13 12:57:33 110

基于文本比较的搜索 - C语言实现(有注释)

周末在家把思路理了一边,先是用python实现了一下,但性能不太理想(100k/s),考虑到可能是由于动态语言的效率本身比较慢的原因,于是将算法改成c语言实现,最终的结果是:1.8M/s(硬件环境:Intel Core Duo 1.73G, 内存2G)。对于这个结果来说,我还是不太满意,比较现在动辄都是上G的数据。这样的效率太慢了,下面放上代码,各位讨论下是否还有优化的余地或者这个算法本身比较慢,...

2009-08-24 13:30:24 158

基于文本比较的搜索是否可行?

基于文本比较是相对于现在基于分词索引的搜索而说的,使用文本比较算法对要搜索的内容和关键字进行比较,找出最大匹配率,根据最大匹配进行排序。返回一个结果列表。中间避免了分词的过程。可能的问题:1、性能问题。在内容数量非常庞大的时候,文本比较算法消耗的时间可能比较多。我所想到的解决方案是利用分布式计算,将内容分布在不同的地方同时进行计算。所以剩下的就是比较算法瓶颈的问题,就是内容有多大的时候才需要分...

2009-08-19 13:00:26 87

文件版本管理-文件合并

用过svn或者cvs的人都知道,文件版本冲突的时候应该将两个冲突的版本进行比较,然后进行合并,如果不能合并则抛出异常。这个在程序里怎么实现呢,这个是否可以合并不是很好判断啊。分析一下,这里有三个文件,一个是版本一(最老的版本),版本2(现在正在库中的版本),版本3(引发冲突的版本),现在要将版本2的内容合并到版本3中而不破坏版本3的修改。那么我们就需要一个修改记录清单。用版本1分别和版本2、版本3...

2009-07-15 12:46:10 159

在Python3.0中处理web请求-继续封装wsgi

接上篇 在Python3.0中处理web请求-继续封装wsgi:这次加入了Cookies封装,session支持,从线程作用域获取request,response等。目前session还不能被持久化 # -*- coding: utf-8 -*-import socketserver, re, cgi, io, urllib.parsefrom wsgiref.simp...

2009-05-27 17:19:47 442

在Python3.0中处理web请求-封装wsgi

闲来无聊,写了一些python3000的wsgi封装的代码,包括封装url匹配,客户请求参数,跳转,响应流的封装等,少说废话。上代码:# -*- coding: utf-8 -*-import socketserver, re, cgi, io, urllib.parsefrom wsgiref.simple_server import WSGIServerclass Ap...

2009-05-26 13:23:33 255

制作自己的Search Suggest 1-拼音切分

什么是Search Suggest(搜索建议),上一个截图大家就知道:对,就是一个输入提示,问了很多人,都以为我是说前台ajax的实现问题。因为很多人都觉得后台数据只要一个select就可以得到……但真的是一个select就可以得到吗?我想了好久都没想到这条select怎么写,于是开始自己琢磨。我所想到的首先要做的是将输入的东西拆分。比如sg要拆分为[s,g],sog要拆分为[so,g...

2009-05-13 11:08:05 320

Spring版本冲突问题

一下错误是因为在MyEclipse中导入xfire会自动导入spring1.2.6,然后自己又导入spring2.0引起的版本冲突(仅在使用ClassPathXmlApplicationContext,FileSystemXmlApplicationContext的情况下),导致程序无法做单元测试。java.lang.IllegalStateException: Could not find ...

2009-05-11 15:03:56 427

SQLAlchemy-查询

似乎ORM最难设计的部分是查询。特别是面向对象的查询,今天学习SQLAlchemy,发现SQLAlchemy的查询语法竟如此灵活,惊叹其如此强大的表达能力的同时也对Python也有了更深的认识。下面看一下我写的一些查询语句: #简单查询 print(session.query(User).all()) print(session.query(User.name, Us...

2009-04-27 21:15:55 81

SQLAlchemy与Python3.0

今天开始学习SQLAlchemy,我用的是python3,所以,首先得让他能在python3上运行。看了下官方网站的介绍,SQLAlchemy准备从0.6版开始支持python3(http://www.sqlalchemy.org/download.html),但现在的0.6还在开发阶段,能正式下载到的只有0.5.3,要下0.6需要通过svn。SVN地址:http://svn.sqlalche...

2009-04-26 22:47:23 128

想设计一个Python的持久层框架

框架定义在持久层,除提供ORMapping功能外加点权限控制。ORMapping的代码学习iBatis和ActiveRecord的做法,可使用任意一种,想象中xml应该这样子定义<sqlmap name="queryTable"> select c1,c2 from table where c1=:name</sqlmap> 调用时类似:sqlma...

2009-04-24 23:24:29 373

设计Python数据库连接池1-对象的循环引用问题

在Python中如果对象定义了__del__方法的话,在对象的引用记数为0时会自动调用__del__方法(很象c++中的析构函数),但如果A对象引用B对象,B对象又引用A对象,就形成循环引用,此时A,B对象引用次数都为1。python就无法正常调用__del__方法,原计划在__del__方法里释放的资源自然也就无法释放。一个连接池拥有多个连接,而每个连接又拥有这个连接池的实例(一个叫pool...

2009-04-17 23:25:31 176

在Python3.0中处理web请求7-文件上传(使用cgi.FieldStorage)

  winput=env["wsgi.input"] params=cgi.FieldStorage(fp=io.StringIO(winput.read(int(env.get("CONTENT_LENGTH","0"))).decode("ISO-8859-1")),environ=env,keep_blank_values=1) print(param...

2009-04-12 14:53:25 825 2

在Python3.0中处理web请求6-简单的模板引擎

今天放假在家,外面又在下雨,闲来无事,写了个简单的模板引擎,其实也不算什么模板,只是把嵌在html里的python代码解释成嵌入在python里的html代码,仅此而已,代码也很简陋,纯粹个人娱乐以下是示例代码:from web.render import SimpleHTMLRenderfrom socketserver import ThreadingMixInfrom wsgiref...

2009-04-06 21:14:53 141

在Python3.0中处理web请求5-处理cookie

在处理web请求时,处理Cookie是非常重要的一个环节,要处理用户session首先就要处理用户提交的cookie。在python(wsgi)中并没有直接获取cookie值的方法,以下是我今天参照类库帮助写的一个获取用户发送来的cookie的demo:首先先从服务器发送cookie数据到客户端:def application(env,start_response): cookie =...

2009-04-06 01:39:06 179 1

在Python3.0中处理web请求4-回归WSGI

前面一直使用HTTPServer对web请求进行处理,今天突然想能不能改下,用python3提供的wsgiref进行处理,原来的程序:from wsgiref.simple_server import make_serverdef hello_world_app(env,start_response): start_response("200 OK",[("Content-type"...

2009-03-31 16:04:45 153

在Python3.0中处理web请求3-多线程

继续研究Python3进行处理web请求。在第一篇文章的Hello World程序中,是没有进行多线程处理的,导致的情况是当第一个人执行了一个操作,如果这个操作所需要的时间比较长,那么其他人就需要等他执行完后才能访问,这是非常不符合逻辑的,我看了下源码,HTTPServer确实没有进行任何线程处理,若运行以下代码:#!coding=UTF-8from http.server import HT...

2009-03-30 14:06:39 505

pet 0.1 预览版(原PJETalker)

本打算今天发布一个正式版,但由于遇到一些问题,还要再看看,不过已经初步成形了。但还有很多功能不能用。项目正是更名为PET, 全称 Python EyeTalker,如果觉得这个名称不合适可以尽快告诉我,我尽快修正。下面是截图:登录 主界面  只是个预览版 要低调。。。 运行方法,直接使用python命令运行main.py需要 python2.5+  wxPython...

2009-03-29 22:21:14 137

在Python3.0中使用HTTPServer处理web请求2-获取请求参数

继上次用HTTPServer写了一个简单的HTTPHandler后,我发现如果采用HTTPServer处理WEB请求的话系统没有提供获得请求参数的方法(如Java里的request.getParameter),这哪成,不能获取参数还跟用户交互个屁啊。于是又一头扎进了一望无垠的类库中。下面就是今天早上看来一个多小时的结果。除上次说用到的那几个之外,这次新加了一个urllib核心代码:urlli...

2009-03-27 14:21:43 1198 1

Python获取JE用户头像 代码优化

发现昨天写的获取用户头像的代码效率有点低,于是今天重新设计了一下。上代码: def getLogo(self, path=None, user=None, remote=False, localForld=APP_LOCAL_LOGO_FORLD_PATH): '''获取用户头像(此方法会将头像保存至本地,下次获取将获取本地图像) @param path:...

2009-03-26 22:39:00 161

Python获取JE用户头像

根据JE API说的内容,每个闲聊都附带用户信息,其中包括用户头像,这些logo不是保存在本地的,所以就需要从JE上获取,然后保存至本地,以下方法就加在core.py(http://phyeas.iteye.com/blog/352518)中 def getLogo(self, path=None, user=None, remote=False, localForld=APP_LOCA...

2009-03-25 23:25:57 142

在Python3.0中使用HTTPServer处理web请求

继昨天发现wsgi在有点问题而无法使用它来处理web请求后,我在官方文档中看到了一个http.server模块,于是转而研究它而非WSGI。这个模块中有两个重要的类,分别为HTTPServer和BaseHTTPRequestHandler,还有两个示例类,SimpleHTTPRequestHandler,CGIHTTPRequestHandler。还有一个测试方法(test),我参考其中的示例类写...

2009-03-25 09:58:19 418

初试Python3.0 wsgiref遇到好些问题..

今天打算尝试一下python3.0。没想到刚开始就受挫。测试代码如下:from wsgiref.simple_server import make_serverdef hello_world_app(env,start_response): start_response("200 OK",[("Content-type","text/plain;charset=utf-8")...

2009-03-24 13:45:45 1160

Python版JE闲聊器-界面原型

今天闲来没事,鼓捣了下wxPython,弄了个界面原型先,虽然底层代码还不是很完善,但有个界面原型心里有个底。。呵呵。。。。热烈欢迎拍砖 

2009-03-21 21:42:03 90

JE API的Python实现 - 0.01

修正了匆忙之下开发的一些错误。然后加了点东西。新建config.py,将原先放在__init__.py里的代码移了过来,并修改了一个错误的URL原先的request改为__request,并将方法内部改为调用__request2的方式,统一接口方便维护加了自动记录last_id功能。加入配置项:send_last_id:是否在发送是自动加上系统记录的last_id ----------...

2009-03-20 23:38:02 115

JE API的Python实现

距上一篇文章10小时,我终于把API的主要功能实现了一遍。但未经测试。废话少说,上代码:首先是__init__.py就是定义API的URL:'''初始化jetallker包的配置Created on 2009-3-15@author: phy'''JE_URL = "http://www.iteye.com/"JE_API_HOME = JE_URL + "api/""...

2009-03-17 23:33:46 140

原创 准备开发一个Python的JETalker

今天发现有人用ruby开发出了JavaEye闲聊客户端,最近又在学习Python,于是想开发一个Python的闲聊客户端,加上好友的概念,将好友信息保存在一个配置文件中,带着走。还应有一个聊天大厅,然后再加点javaeye的博客收藏之类的功能。。。这还是初步想法,欢迎拍砖...

2009-03-17 13:34:16 154

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除