邓世龙的自留地

兼济天下则达 独善其身则穷

月度归档: 2012年12月

2012年的阅读


当罗列书单成为一种习惯,就会写这篇。

技术类:

C语言程序设计。自从大一时看过谭浩强写的C语言程序设计后,这是第二本真正认真看C的语言书籍。C语言发明者写的书果然是不一般,让我知道自己库函数是怎么实现的,更深入的理解指针。

UNIX环境高级编程。这本书看的我真是迷糊了,很多系统调用的介绍,需要注意的细节,程序示例,现在还是有很多不懂的地方。

Head First设计模式。看了这本书才知道面向对象程序另有一番天地,以前的认识太肤浅了。

高质量的C/C++程序设计。这本书让我知道C++很难学,只是知道点语法根本不能说熟悉C++。

精通正则表达式。因为正则表达式太容易忘记了,如果不是经常用,很容易就忘了,于是复习了一下。

C++Primer。因为实习面试的悲剧,把我敲醒了。C++基础太弱了,要想从事C++的编码,要下苦功夫才行。于是就看了这本书,看过之后以前的疑问解决了。

深度探索C++对象模型。看了这本后,有种醍醐灌顶的感觉,原来这就是虚函数。

Effective C++.这本书之前也看过一遍,但没什么体会。看过深度探索C++对象模型后再看这本书,有了更深的体会。

C++沉思录。回宿舍休息前看的,挺好的一本书。

STL源码剖析。从这本书中知道了C++的内存分配,容器的实现。

Writing Clean Code(编写优质无误代码的秘诀).看过之后,习惯写assert。

Linux程序设计。这本书比《UNIX环境高级编程》基础,更好懂,之后再去看《UNIX环境高级编程》就好很多了。

TCP/IP详解卷一。因为找工作,才知道自己的网络知识弱爆了,于是看这本书,才知道自己的网络知识确实弱爆了。

大话设计模式。面试完4399后,面试官说设计模式很重要的,于是重新看设计模式,当时懂了一些,现在又忘记了。

Python简明教程(Python简明教程)。因为痛苦的C++编程经历,于是想学习一门动态语言,最后选择了Python。入门好书。

Introduce to Tornado.因为之前想用Tornado做个人博客,于是学习Tornado,就看了这本书,讲的很详细。

小说:

约翰克里斯朵夫。这是一部人类的精神食粮。

挪威的森林。关于青春和爱情。

世界尽头与冷酷仙境。有关寻找自我。

了不起的盖茨比。盖茨比一直等待着心中的女神--黛西,最后等来的却是一个物质女。

魔山。很迷幻的一部书,主人公汉斯山上看望表哥,结果生病,住在山上了,后来汉斯迷恋上了少妇苏夏夫人,现在还没看完。

斯普特尼克恋人。关于同性恋的故事。

其它:

如何阅读一本书。阅读方法论

浪潮之巅。光有技术还是不行的,还要有敏锐的商业意识。

窗边的小豆子。有关儿童教育的,做父母的、教师的应该认真看看。

 

关于C++的书看的太晚了,如果能够早点看,结局会大不相同,可是没有如果。Python写程序真的很不错,一个简单的爬虫很容易就写好了。

 

遗传算法和busy-beaver


问题描述:设计一个只有五个状态(外加一个终止状态)和两个字符集的图灵机,要求能够停机,并且状态转移后要求向左走或向右走,使图灵机走的步数尽可能的多。在这里看到busy beaver问题,看到博主用遗传算法,于是也想自己动手写程序,生成一个图灵机,因为之前没有学过遗传算法,于是上网找了一下资料,找到一篇介绍遗传算法的很好例子,遗传算法:内存中的进化 .写的挺久的,因为老是出现错误。

  • 第一步是生成合法的初始解,因为生成的规则会进入死循环,所以我设定超过5000步的都丢弃,这里我只生成了500个初始解。
  • 第二步是执行杂交和变异,这里引进500个外来物种进行繁殖。随机选取上一代中的一个规则与外来物种中的一个规则杂交,变异。杂交是交换两个规则的转移函数,变异是对其中一个转移函数进行改变或者添加一个转移函数。之后排序,选取最优的500个为下一代。

跑了三个多小时,得到一些结果,361,1004步。用Python写还是挺好的,就是程序运行的慢了一点。遗传算法很有意思,简单的规则,经过不断演化,能解决问题。

上一次说被Python的缩进弄的头痛,现在终于知道原因了。原来只要将Tab设置为4个空格宽度,并且将Tab改为空格就可以了。之前说要写一个博客系统放在SAE上,现在想想还是放弃了,因为意义不大,现在这个博客挺好的,界面很清爽。

学习Python


最近一段时间,不知道要做什么了,但总不能闲着,于是学习Python。之前也接触过Python,但真正用Python写程序,还是最近的事。

以前一直想写一个小工具,用来统计自己写过的C/C++程序的行数,但是一想到要自己去看VC++的目录操作,就放弃了。最近学了Python之后,很容易的就写了一个,只有十行左右。源程序放在这里源程序行数统计工具,此前还写了一个人人网日志下载工具,输入人人网用户名和密码就可以使用。使用正则表达式去提取链接,因为人人网的页面变动后,程序现在不能用了。

现在尝试用Tornado写一个个人博客系统,然后放到SAE中去,现在还在写,以及有雏形了。感觉写Python还是很舒服的,但是缩进问题有时挺麻烦的,因为习惯了用Tab键缩进,而很多人的程序都是用四个空格,看来还是自己的习惯不好,得改。

发现Python真是一门不错的语言,写起来方便,不会令自己纠结于细节,调试很方便,因为有错误跟踪,不像以前写C程序时,一个指针问题就要调很久。