原创技术文章
文章平均质量分 65
fxsjy
foo
展开
-
支持数据落地的memcached
<br />tstdb : http://code.google.com/p/tstdb/1. 索引结构基于ternary search tree,数据持久靠appending only log.2. 支持memcache的get、set和delete操作,支持set操作的flag和expire属性。3. 性能和memcache接近,可以下载后用bench.py来测试。缺点是还不够成熟,欢迎试用:-)原创 2011-04-15 10:59:00 · 1475 阅读 · 0 评论 -
Play!Java中的rails,SSH的终结者
为不断的重启tomcat而懊恼?为忘记如何修改配置文件而抓狂?没有时间学习复杂的所谓 SSH (Spring+Struts+Hibernate)?现在这些通通都不是问题,来自法国的天才程序员们开发出了一套超级无敌的Web开发框架,让我们来看看她的特性吧:1.无需编译,修改Java文件即可看到效果(开发模式下,而且reload的速度快得让你感觉不出来)。2.用play new yourapp命令即可原创 2008-11-19 18:46:00 · 1608 阅读 · 0 评论 -
第一个正式投入的开源项目Karrigell
Karrigell是一个python的web framework,它的优点是无痛入门,快速开发,易于整合其他项目比如sqlalchemy,mako之类的。Karrigell的性能有些逊色,我曾通过maillist努力改进Karrigell的性能,取得了一定的成果,现在终于成为正式member了,一定要再接再厉。。。原创 2008-09-23 17:56:00 · 704 阅读 · 0 评论 -
反思自己用过的编程语言
从高三用JavaScript编出第一个程序到现在已经有6年了,但静下心来想一想自己正真精通的语言也几乎没有,只不过每种语言我都掌握了那么几个奇技淫巧,不足道也。 按接触时间的早晚一一列出来数落一下吧: 1.JavaScript 我接触的第一门语言竟然是JavaScript,那时候高中15天才放一次假,然后我就跑出去上网,觉原创 2008-05-22 00:06:00 · 1464 阅读 · 2 评论 -
Qt4开发的IP地址切换器
下载地址:http://download.enet.com.cn/html/010702007032301.html原创 2007-03-24 12:55:00 · 1509 阅读 · 2 评论 -
Google面试经历
处女面被拒了,记录下点点滴滴。。12月13日晚,Google在中科院教学楼开了一次宣讲会,招聘春季实习生。出于对Google的崇拜,我也去小试牛刀一把。笔试题总体来说比较基础,都是CS的主干学科覆盖的内容,包括C、数据结构、编译原理、操作系统,只有最后一道是算法题。本来是抱着试一试的态度的,但是考完之后总是想着能够进入面试,因为自我感觉还可以。12.19下午,我正在水木上泡的时候,接到了G原创 2006-12-28 22:59:00 · 2987 阅读 · 0 评论 -
Huffman编码STL版
#include iostream>#include algorithm>#include vector>#include functional>using namespace std;struct TreeNode...{ double Weight;//权值 char flag;//代表符号如a,b,c,如果为非叶子节点flag==- struct TreeNode*原创 2006-11-19 12:30:00 · 1362 阅读 · 0 评论 -
发布一个正则表达式测试工具
最近做的项目又要用到正则表达式,但是因为很久没写了,手有点生,程序调试了好几次都没有达到预期匹配目标。就这样修改、编译、测试,来来回回重复了好几次,真是太麻烦了。 忽然想起来,以前在网上下载过一个正则表达式的测试工具,忘了叫什么名字,非常方便。可是我在硬盘里面又找不到了。于是决定自己动手写一个,应该也不是很难,预期目标是能够列出所有匹配项,并且对于每个匹配项列出所有的匹配原创 2006-11-18 15:55:00 · 3091 阅读 · 3 评论 -
用Office玩中文分词
Word软件对中文分词的支持还是相当不错的,最直观的感觉就是当用户在编辑一篇Doc文档时,Word会不断检测其拼写错误(包括英文单词和中文单词);不仅如此,您可能还留意到当用鼠标双击文档中的某一个字时,包含这个字的词会被自动选中。比如,“我是中国人”这句话,当您双击“中”时,“中国人”这个词会被选中(双击“国”或“人”也会有同样的效果)。这些迹象表Word是支持中文分词的,而且根据笔者原创 2006-06-23 17:57:00 · 4147 阅读 · 6 评论 -
Google Co-op打造自己的搜索引擎
今天无意发现Google推出了个性化搜索引擎定制功能,用户可以指定一定数目的网站,google co-op将自动生成针对这些网站的 搜索引擎。网址:http://www.google.com/coop原文简介:Harness the power of Google search Create a highly specialized Custom Search Engine that re原创 2006-11-03 11:09:00 · 1531 阅读 · 0 评论 -
Fibonacci非递归Python版
http://en.wikipedia.org/wiki/Fibonacci_number def fib(n): S=[] F={} S.append(n) while S!=[]: m = S[-1] if m in (0,1): F[m] = m S.pop(-1)原创 2009-10-26 20:51:00 · 677 阅读 · 0 评论 -
一个快捷键
Win+Break , 可以呼出“我的电脑”的“属性”页。(更改环境变量的时候更方便点儿了)原创 2009-10-29 21:34:00 · 377 阅读 · 0 评论 -
在windows下使用cython
环境:cygwin或mingw,总之要有gcc.exe相关工具 A. 安装cython: 1. 修改D:/Python25/Lib/distutils/distutils.cfg [build] compiler = mingw32 2. setup.py install B. 弄个快捷方式: D:/P原创 2010-05-04 15:56:00 · 4160 阅读 · 0 评论 -
Go语言的后缀数组模块尝鲜
<br /> <br />golang.org网站的全文搜索是基于suffix array实现的【http://t.cn/hBJekg】,可能觉得效果不错,就把suffix array添加到golang的标准库里面了。【http://t.cn/hBJekd】<br /> <br />package mainimport "fmt"import "index/suffixarray"func main() { fmt.Println("Hello, 世界") str:= `The Go p原创 2011-04-02 11:19:00 · 1386 阅读 · 0 评论 -
用Luajit玩Linux共享内存
<br /><br />1. shmtest_wirte.lua<br /> <br /> <br />ffi = require 'ffi'<br />ffi.cdef[[<br /> int shmget(int key,int size,int flag);<br /> void * shmat(int shmid,const void* ptr,int flag);<br /> void perror(const char* msg);<br /> char * strcpy(cha原创 2011-03-25 16:08:00 · 1919 阅读 · 0 评论 -
[备忘]通过LuaJIT的FFI使用mmap功能
ffi = require 'ffi'ffi.cdef[[typedef __int32 __time32_t;typedef __int64 __time64_t;typedef __time64_t time_t;typedef __time32_t time_t;typedef __time32_t time_t;typedef long _off_t;typedef _off_t off_t;typedef unsigned int _dev_t;typedef short _dev_t;type原创 2011-03-09 17:29:00 · 3295 阅读 · 2 评论 -
发起一个开源项目TreapDB
<br />NoSQL盛行的年代,我也趟趟水。<br /> <br />地址:http://code.google.com/p/treapdb/<br /> <br />感觉在开发过程中学到了很多东西,有空再总结一下。<br /> <br />原创 2010-12-05 15:09:00 · 1426 阅读 · 0 评论 -
一个比较优美的partition算法的写法
<br /> private int partition(long[] array, int lo, int hi) { long x = array[hi]; int i = lo - 1; for (int j = lo; j < hi; j++) { if (array[j] <= x) { i++; swap(array, i, j);转载 2010-09-03 16:57:00 · 1223 阅读 · 0 评论 -
发现httpsqs是一个学习unix下c编程的很好的范例
<br />地址:http://code.google.com/p/httpsqs/source/browse/trunk/httpsqs.c<br /> <br /> <br />除了unix的经典如文件操作,socket,signal等,还有tokyo carbinet和libevent等时尚lib的用法原创 2010-08-17 14:38:00 · 850 阅读 · 0 评论 -
Lua 求海量数据Top 100
local function heapfy_up(heap) local i = heap.size local p = math.floor(i/2) local t while i>1 and heap.data[i] t = heap.data[i] heap.data[i] = heap.data[p] heap.data[p] = t i = p p = math.floor(i/2) endend原创 2010-08-14 20:24:00 · 927 阅读 · 0 评论 -
LuaJIT-2.0.0-beta4 windows binary
<br />我编译的Luajit的windows版,有空真得研究下它的算法,为什么优化得这么快呢? python的psyco也无法做到。<br /> <br />http://xmlgrid.appspot.com/static/luajit.zip<br /> <br />原创 2010-08-06 16:00:00 · 1402 阅读 · 0 评论 -
做了个把XML或JSON转成Excel的在线工具
点击:http://xmlgrid.appspot.com原创 2010-08-06 15:53:00 · 17636 阅读 · 2 评论 -
百度和Google的URL编码方式探索
今天才注意到,百度和Google的URL编码方式不一样。比如我们搜“技术”这个词,然后观察IE地址栏。用Baidu得到的结果是http://www.baidu.com/s?wd=%BC%BC%CA%F5&cl=3用Google得到的结果是http://www.google.com/search?hl=zh-CN&q=%E6%8A%80%E6%9C%AF&lr=即,baidu_url原创 2006-06-04 21:33:00 · 8262 阅读 · 13 评论 -
python实现文件传输
我编程的时候,开了两个Python的shell,一个做Server,一个做Client 。然后就直接在命令提示符下一行一行的编,感觉自己是在使用一套高级命令行,而不是在编程。Server端>>> import socket>>> sersock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)>>> sersock.bind((,7777原创 2006-06-04 18:25:00 · 4948 阅读 · 0 评论 -
python的确是个好工具
最近研究了一下Python,觉得他这种问答式的界面特别适合学习编程,下面就举两个例子。1.快速排序的算法描述>>> def qsort(aL):... if aL==[]:return []... else:... smaller=[x for x in aL[1:] if x... bigger=[x for x in aL[1:] if x>=aL[0]] #比aL[0]大(或相等原创 2006-05-29 22:28:00 · 3702 阅读 · 3 评论 -
简单Huffman编码
#include #include #include #include #define N 100typedef struct { double probobility; int lnode; int rnode;} node;node tree[N];int p = 0, total = 0;char stk[N], q = 0;int used[N],node_len[N];void prin原创 2005-05-08 21:19:00 · 1755 阅读 · 0 评论 -
KMP算法C代码描述
/* *作者JunyiSun @ CCNU *E-MAIL:[email protected] *KMP算法C代码描述*/ #include #include #include #define MAX_S 101 /*主串的长度最大值为100*/#define MAX_P 21 /*模式串的长度最大值为20*/ char s[MAX_S],p[MAX_P]; /*s为主串,p为模式串*原创 2005-05-06 20:35:00 · 4531 阅读 · 1 评论 -
Pascal语言子集词法分析器
有空再来写注释^o^测试用Pascal代码片断begin ab2a:=9; if x>=0 then x:=x+1; while a=0 do b:=a*x/33455; end#---------------------------------------------------------------------测试结果syn |value________|________1原创 2005-04-25 22:49:00 · 1946 阅读 · 1 评论 -
求{1,2,3,...m}的幂集之C语言实现
/*回溯法实现*//*Junyi Sun at CCNU*/#include #include #include #define N 100int n_stack[N],r,m,n;void p_stack(){ int i; printf("{"); for(i=0;i printf("%d,",n_stack[i]);原创 2005-05-01 00:00:00 · 2784 阅读 · 0 评论 -
皇后问题之C#版(非递归)
/* *Author:Junyi Sun @CCNU* E-mail:[email protected]*/using System;namespace sunjoy{ public class Queen { public static int Main() { int board_size = 0,x=0,y=0;//棋盘大小,当原创 2005-08-23 15:03:00 · 1433 阅读 · 0 评论 -
最小生成树的应用--城市高速公路问题
HighwaysThe island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of public highways. The Flatopian government is aware of this problem and has already constructe原创 2005-01-21 15:28:00 · 3347 阅读 · 0 评论 -
欧拉路的应用--文字游戏
Play on WordsSome of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzzle原创 2005-01-21 15:19:00 · 1425 阅读 · 2 评论 -
操作系统之银行家算法
/*作者:华中师范大学 SunJunyi*//*编译器: Turboc2.0*//*算法基本思想:回溯法*/#include #include #include #define N 10 /*进程个数的最大值*/#define M 10 /*资源种类数的最大值*/typedef struct{ int ip; /*当前可原创 2004-11-10 17:06:00 · 5080 阅读 · 11 评论 -
时间抽选基2FFT及IFFT算法C语言实现
/*时间抽选基2FFT及IFFT算法C语言实现*//*Author :Junyi Sun*//*Copyright 2004-2005*//*Mail:[email protected]*/#include #include #include #define N 1000/*定义复数类型*/typedef struct{ double real; double img;}complex;原创 2004-10-01 02:37:00 · 8770 阅读 · 8 评论 -
三种排序算法及三种变量交换的宏实现
1、快速排序#include #include #include #define N 100#define SWAP(x,y) /{ / int t;t=(x);(x)=(y);(y)=t; /} int partition(int a[],int原创 2005-05-05 21:33:00 · 1286 阅读 · 0 评论 -
基于Java多线程机制的生产者-消费者模型模拟
/* *Author:Junyi Sun *From:CCNU *E-mail:[email protected] */ import java.io.*; class Semaphore{ private int count; private int cnt_max; public Semaphore(int cnt,int cntm){ count原创 2005-06-09 19:07:00 · 1999 阅读 · 0 评论 -
用C#实现FTP搜索引擎
晚辈最近用C#写了一个教育网FTP搜索引擎,希望能得到高手的指点。网址:http://soso.ccnu.com.cn http://it.ccnu.edu.cn/soso部分代码:<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlight原创 2005-12-09 23:16:00 · 5506 阅读 · 32 评论 -
WebPage类的源代码
这是我在MySOSO项目中用于抓取和分析网页的类。主要功能有:1、提取网页的纯文本,去所有html标签和javascript代码2、提取网页的链接,包括href和frame及iframe3、提取网页的title等(其它的标签可依此类推,正则是一样的)4、可以实现简单的表单提交及cookie保存/** Author:Sunjoy at CCNU* 如果您改进了这个类请发一份代码给我(ccnu原创 2006-05-30 13:11:00 · 4199 阅读 · 9 评论 -
成功将ICTCLAS分词模块移植到.net平台
ICTCLAS分词模块是计算所两位研究员开发的,是国内公认的最好的分词模块,开发语言用的是C++。今天试着把它移植到.net平台下,经过一番折磨后,终于成功了。演示地址:http://it.ccnu.edu.cn/fenci原创 2006-03-06 18:17:00 · 1840 阅读 · 12 评论 -
发布一个网页处理类WebPage1.0
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->编译环境:.Net Framework2.0 (我用的是Visual C# 2005 Express开发的)DLL文件在这里下载:http://www.ccnu.com.cn/cc原创 2006-02-24 17:05:00 · 1728 阅读 · 7 评论