摘要: python有一个Distutil库,负责python工程代码打包、发行、部署。本文简单介绍其使用方法。名词解释module 可充用代码基本单元,其他python代码可以import module,可分为如下三种modulepure python module 完全使用python代码开发的moduleextension module 使用C/C++开发的模块,格式为.dll或.sopackage 包含了多个modules的module,组织为文件夹,并且在文件夹中有一个__init__.py文件root package 顶级package,绝大部分标准库module都在这里,它没有__ini 阅读全文
posted @ 2013-10-28 20:21 kelvinkuo 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 对于大多数程序,日志模块是不可或缺的,它是软件运行过程的录像,对于日后的数据统计,异常问题分析至关重要,所以我想谈谈一个日志系统应该满足的基本需求。这里只讨论单进程、非分布式条件下的程序,更复杂的情况不在本文讨论之内。命令行窗口、文件 对于命令行程序,在命令行窗口中输出信息是自然的需求,能够在程序执行时方便观察到输出的日志信息,但是某些情况下,命令行输出是不够的,比如有可能这是个后台程序,没有标准输出所对应的窗口,或者这是一个大型服务器程序,日志量巨大,窗口处于狂刷状态,根本无法用肉眼查看输出,还有最重要的场景,日志是需要存档的,用于日后的数据分析。所以,文件输出也是必要的需求。多线程 ... 阅读全文
posted @ 2013-10-25 11:28 kelvinkuo 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: 写在这里主要是还是为能鞭策和激励一下自己吧。算法每周研究一个算法问题,可以是一个具体算法,可以是一道ACM习题,也可以是某个数据结构。可不局限于某一本算法书,对于哪怕是一个简单算法也要尽量做到深入理解,理解算法背后的更深层的问题模型。就在本文记录每周的标题吧。131014-131020 算法分析理论以《算法导论》前五章为主要资料 阅读全文
posted @ 2013-10-13 23:34 kelvinkuo 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 每次看王银的博文都能给人眼前一亮、豁然开朗的感觉。独到的分析角度和分析过程,真乃神人。他启发了我对编程的思考,让我感觉到一些熟悉的东西。就像以前学习物理,能达到的那种将一个题目背后本质的理论概念内化成一种感觉。接触编程7 8年,一直感觉它不在我的掌控之中,看了很多书,学了不少杂七杂八的内容,不仅无法内化,反而因为消化不良而产生排斥,再迫使自己接受,编程亚状态。 之所以物理、数学能够让我产生这种感觉,也许是他们足够成熟,理论提炼的足够简洁,让人更容易感受到精髓,而计算机的历史还是太短,内容爆炸,但是精髓被提炼的太少。如何破?以前自己太肤浅的享受写一些玩具代码,解决一个小问题,而从未考虑一个... 阅读全文
posted @ 2013-10-10 19:32 kelvinkuo 阅读(311) 评论(0) 推荐(0) 编辑
摘要: Hour 3bufferC-x C-b,显示缓冲区列表Control + 鼠标左键,显示缓冲区列表windowC-X 0 关闭当前窗口C-X 1关闭当前窗口外所有其他窗口C-X 2 横向拆分当前窗口显示相同缓冲区C-X 3 纵向拆分当前窗口显示相同缓冲区frameframe的概念在gui系统下可以理解为不同的程序实例regionC-X C-X 可以反转当前激活region的开始和结束位置Major Modes一个buffer有且只有一个确定的major mode,比如C文件 cc-mode,lisp文件emacs-lisp-modeC-h m 可以查看当前major mode的键绑定情况一个m 阅读全文
posted @ 2013-10-05 13:19 kelvinkuo 阅读(594) 评论(0) 推荐(0) 编辑
摘要: python作为日常用语,配置好emacs的开发环境,有效提高日后的开发效率。几篇老外的文章作为参考:Configing emacs as a python idepython、emacs安装python和emacs就不用说了,这是必须的,apt-get安装即可基础python-mode网上很多例子都是以python-mode为基础mode,所以我个人目前安装的是python-mode,auto-complete看了很多补全方法,在各种语言下(C、C++、python),auto-complete成为很多补全方法的基础,作者将auto-complete拆分为三个单独的repo,最方便的安装方法 阅读全文
posted @ 2013-09-26 17:53 kelvinkuo 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 转来的,找不到原出处对于linux新手来说,最感到迷惑的问题之一就是文件都存在哪里呢?特别是对于那些从windows转过来的新手来说,linux的目录结构看起来有些奇怪哦。所以,在这里讲一下linux下的主要目录以及它们都是用来干什么的。 / This is the root directory. The mothership. The home field. The one and only top directory for your whole computer. Everything, and I mean EVERYTHING starts here. When you type.. 阅读全文
posted @ 2013-09-25 18:38 kelvinkuo 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 在使用emacs 基本文本编辑熟悉后,就是将它作为程序开发工具了,如果面对的是大工程,看每个文件C-X C-F肯定不是现实的。下面介绍一下find-tag的使用建TAGS文件TAGS文件是将代码中函数、类、宏等符号建立的索引文件,cd到代码的根目录。find . -name '*.[ch]' -o -name '*.cpp' | xargs etags #找到所有的.c .h .cpp文件并建立索引文件TAGS在emacs中location the TAGS file,M-x visit-tags-table,至此emacs已经能够定位所有的符号了。直接查找符号 阅读全文
posted @ 2013-09-15 14:53 kelvinkuo 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 高手的总结:随想录(怎么阅读代码)我的浅见:先找到程序入口点main函数,有的代码工程大,无从看起,总得找一个开始吧线程、进程模型,把线程模型看清后软件的骨骼就清晰了,可以通过搜创建线程关键字来找到所有创建线程的位置调试,可以从头单步调试,也可以对某一个功能点单步调试,总之调试才能把代码执行流程和数据变化看清楚修改,是不是真的看懂了代码,只有上手修改,改bug、做扩展,才能真正验证自己的理解 阅读全文
posted @ 2013-09-05 18:52 kelvinkuo 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 今天装了12.10版本 ubuntu,输入wifi密码也无法连接网络,一顿搜索折腾,确认是无线网卡驱动的问题,我用的是TPlink的无线usb网卡。lsusb 可以看到该网卡使用的芯片是"Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter"找到这篇安装网卡驱动的文章,能发这篇文章就知道,一切顺利。 阅读全文
posted @ 2013-08-30 23:21 kelvinkuo 阅读(385) 评论(0) 推荐(0) 编辑