11 2012 档案

摘要:其实是蛮简单的一个功能,就是读取这个页面:http://61.129.89.226/fcopen/cp_kjgg_dfw.jsp?lottery_type=ssq&lottery_issue=2012138, 把某一个期的中奖号码抽取出来。【luarocks安装library】首先,如果是想用某个库,真没必要自己wget再make, install啥的,太烦。lua社区提供了一个非常好用的工具,用法和apt(advanced package tools)很类似:apt-cache search xxxsudo apt-get install xxxluarocks search xxx 阅读全文
posted @ 2012-11-25 19:03 lzprgmr 阅读(3266) 评论(0) 推荐(0) 编辑
摘要:tesseract这个东西,之前朋友有个项目,问到我的时候看了一下,因为那个项目难度比较高,不敢接,也就作罢了。这次翻出来看看纯属兴趣 - 感觉手机拍照然后识别些东西,并且联网查询,还是蛮有意思的。tesseact其实全称是tesseract-ocr,是个自动识别字符的程序,项目网址是:http://code.google.com/p/tesseract-ocr/。虽然其主流平台是三大系统(Win/Linux/Mac OS),但在android和iphone上也是可以跑的 - 这点对我来讲非常重要。你可以直接想在其命令行工具使用,或者下载其SDK开发自己的程序。tesseract支持多种语言 阅读全文
posted @ 2012-11-23 18:06 lzprgmr 阅读(25143) 评论(4) 推荐(3) 编辑
摘要:先大概描述一下环境:这是一个C++的build system, 基于premake扩展而来,可以管理各个package[1]/library之间的dependency关系,每个package都会随binary发布一个lua文件用来描述其导出的library和依赖的package,比如:LIBRARIES = {}DEPENDENCIES = {}从而把整个dependency closure给串起来。现在的需求要用户可以在这个lua文件中定义自己的函数,让用户在定义他们的project的时候调用,目的是为consumer在使用library时提供更精确的控制。比如在boost的use.lua中 阅读全文
posted @ 2012-11-22 22:18 lzprgmr 阅读(589) 评论(1) 推荐(0) 编辑
摘要:读《Programming In Lua》协程那一章,比较困惑的还是procuer-consumer那个例子:function consumer(prod) while true do local x = receive(prod) print(x) endendfunction receive(prod) local status, value = coroutine.resume(prod) return valueendfunction send(x) coroutine.yield(x) -- go back to where ... 阅读全文
posted @ 2012-11-17 21:24 lzprgmr 阅读(4560) 评论(1) 推荐(0) 编辑
摘要:最近的工作是基于premake做一个适合我们公司的C++的编译系统,了解一下已经比较成熟的CMake,是非常有参考价值的。【CMake初印象】CMake和premake一样,都是meta build system,可以针对不同的平台产生相应的编译系统,比如Windows上的VS Projects, Linux下的Makefile。但CMake要比premake更加成熟,这点可以从其支持的feature,使用的项目,以及完善的文档、社区支持可以看出来,premake简直就是一个小娃娃。所以,让我来评价,CMake之于premake,最大的优势在于功能强大且久经考验,除了基本的静态库、动态库、可执 阅读全文
posted @ 2012-11-11 17:23 lzprgmr 阅读(5637) 评论(2) 推荐(0) 编辑
摘要:这篇主要记录一下学习陈硕同学的对下面这道题的算法思想与代码。题目是这样的:有10个文件,每个文件1G,每个文件的每行存放的都是用户的query(请自己随机产生),每个文件的query都可能重复。要求你按照query的频度排序。(当然,这里的重点是大文件,所以10个1G的文件,或者1个10G的文件,原理都是一样的)陈硕的代码在这里:https://gist.github.com/4009225这是一段非常漂亮的代码,解法与代码都非常值得一看。【解法】基本步骤就是不断读入文件,并做初步统计,到了某个内存的极限时写出文件,写的方式是按query的哈希值分配到10个不同的文件中,直到读完所有文件内容, 阅读全文
posted @ 2012-11-11 11:51 lzprgmr 阅读(5619) 评论(9) 推荐(3) 编辑
摘要:最近在设计一个编译系统的依赖管理部分,如果一个project的dependency closure(所有直接和间接的依赖)中有某个相同的library的不同版本,我们就认为这里有一个版本冲突, 那么在检测到版本冲突的时候,是报一个warning让警告用户,还是报一个错误直接退出,要求用户先解决版本冲突呢? 事实上,无论在windows上,还是在linux中,我们都有相应的机制来保证不同版本的library是可以在同一个程序中工作的,在windows上是side-by-side assembly,通过manifest和activation context实现,而在linux下则是通过设置RPAT 阅读全文
posted @ 2012-11-10 11:38 lzprgmr 阅读(1007) 评论(0) 推荐(0) 编辑

黄将军