- 论坛徽章:
- 0
|
马上要回成都了,也有快一个月没写一篇文章了。 最近很堕落,没有了压力也没有了动力! 感情生活一塌糊涂,也多少影响了点自己的情绪。先罗列下我这一个月都干了什么, 1, 买了本《Python源码剖析--深度探索动态语言核心技术》, 看了前6章,还是有点点感觉,但要写出一篇让大家有益的文章,还是火候不足。 2, 一直以来都未涉足过界面编程,看了写GUI的介绍,有很多诸如C#, C++ builder, Delphi, QT, GTK, wxPython, 由于我刚好在学python,最后师兄推荐wxPython,我就跟着《wxPython in action》一步一步的学,开发环境是eclipse 3.4 + pydev 1.3.22 + python 2.5.2 + wxpython2.8 , 开发环境很方便,每次写完文件,保存,按F9就可以运行了,唯一的确定是占用内存一百多兆。 不过机子1G的内存也够用了。感觉GUI编程不是一天两天的事,目前还没进入实战阶段,先研究着吧。我把书上所有的例子几乎都跑了一篇,获得了一定的感官认识,不过以后的道路还很长。 3, 由于公司的新Tracker是我写的,按阿九哥的意思,用了数据库,所以对数据库的性能要求还是比较高,阿九哥的意思能MySQL优化尽量优化。同时还让我研究postgreSQL, 然后两个做个对比,看哪个更适合目前的项目。
说实话,以前对数据库的应用就停留在使用上面,这次来北京,深深的体验了一把数据库管理员+ svn管理员 的感觉。由于目前的项目还没进入商用阶段,所以公司在这方面投入也不多。就我们4个人,只给了一台HP的服务器,内存4G,没办法,我们就装虚拟机了。 我和三杰一人装了一台,我装的235Ubuntu(具体安装见我的另一篇文章),他装的236Debian, 后来我还装了一台237CentOS,没杂用就要回成都了。 装完系统就是配置环境,各种软件通通装了一遍。 以前在成都那边,SVN是由Doctor Duan管理的,现在没人管,只有我们自己弄,我就自己装了apache+svn(也是我的另一篇文章), 还有数据库的安装和使用我的博客里面都有介绍。 小公司有小公司的好处,有这么多机会我还是挺感激的,毕竟学到了不少实用的东西,大家也都说我在北京这段时间进步挺大,我也承认,是有一定进步。
好了,废话又扯远了。进入正题,数据库优化我看了一天的资料,第二天就实战了,修改后有点点性能提升,但感觉不大。
PostgreSQL折腾了我好几天,用惯了MySQL,再用psql很多命令很不习惯。 我只是把PostgreSQL安装好,pyPgSQL-2.5.1和psycopg2-2.0.8(适合大规模并发连接),这两个python的接口只安装一个就可以了,我试了下,都可以用,但怎么大量导入数据我还不会,据说是用COPY命令,我还没看懂,会用的哥们教下我。
所以我现在还不知道到底哪个性能更好,我也不能说。 网上也看了很多mysql和PostgreSQL的对比,各有千秋吧。有人担心mysql的未来(最近被Sun以10亿美元收购http://news.csdn.net/n/20080125/113108.html, 亦有人担心PostgreSQL的未来),我不是很了解,具体不是很清楚。 关于优化的部分,我将单独写在一篇文章中。
4, 在整理文件夹的过程中,发现了以前收藏的一本书《Understanding The Linux Kernel, 3rd Edition》,也就是很多人熟悉的深入理解linux内核。 这本书在网上的评价很高,可以算是linux必看书之一吧。 我的是英文版的,不过有时候有些地方理解不透彻,搜了半天中文版的,结果下下来不完整,中间竟然缺页。 算了就看英文版的,一遍看不懂,多看几遍吧,看得很慢,一天我才啃了一章。 看得过程中,多少涉及一些代码, 汇编语言我本科没学,就学了单片机。 当看到.S文件时,我还不知是什么文件,打开一看,像汇编,就搜了下。 果然是linux的汇编。 .s和.S(需要预编译)还是有点区别的。linux汇编有些语法不甚很懂,就抽了一晚上看了汇编,现在语法倒是可以看懂了,也明白了linux用的是AT&T格式的汇编,而windows下面大多使用的是Intel的汇编,文件以.asm结尾。
这两篇文章很好,我收藏了,仅仅想看懂汇编的看了这两篇文章基本就够了
Linux 汇编语言开发指南
Linux 汇编器:对比 GAS 和 NASM
深入理解linux内核我现在只看了2章,但我会坚持把它看完的
在这过程中,我还下载了最新的内核2.6.27结果编译成功了,但grub文件写得有问题,一直启动时说找不到/root ,我很郁闷,这个问题还没解决,希望会的蝈蝈指教。
我在grub里面的menu.lst文件是这样的
title Debian GNU/Linux, kernel 2.6.18-6-686 root (hd0,0) kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro initrd /boot/initrd.img-2.6.18-6-686 savedefault title gxlDebian GUN/Linux, kernel 2.6.27 kernel /boot/vmlinuz-2.6.27gxlDebian initrd /boot/initrd.img-2.6.27 savedefault title Debian GNU/Linux, kernel 2.6.18-6-686 (single-user mode) root (hd0,0) kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro single initrd /boot/initrd.img-2.6.18-6-686 savedefault
第二个表项是我加的,结果启动一直说找不到root=/dev/sda1, 我也不知该怎么弄
5, python下面有两大框架 twisted 和django, 一个是网络编程框架,一个是web后台框架。 都深受大家的爱戴,当然资料比较少,中文资料更少了。 twisted在我的另外两篇文章里面有介绍。 django说实话我倒目前还没用过,我在235上安装了, 由于我本身在235上运行的就有apache,后来启动也成功了,用telnet可以发一个页面,不过里面的配置我还不会配,加上也没安心弄,也就搁浅了。
附:目前ROR(Ruby On Rails)也比较火,一个师兄在美国的公司就在用这个。不过我也看了不少文章,比较ROR和django的, 反正各有千秋,我也不知哪个好那个不好。
这篇文章大家可以参考http://wiki.rubyonrails.com/rails/pages/Framework+Performance
以下是引用另外一篇文章的一段话:出自http://www.unfish.net/archives/222-20071109.htmlPython和Django给我的体验非常棒,每个开发人员都应该考虑一下。不过,我很快就怀念ROR了。Ruby支持真正的
private/public/protected方法(Python只是用它的命名方式模拟一下),而且它的语法更宽松(Python里面每个方法都要
写(),烦死我了)。Django不像Rails那么简单,需要更多的代码完成相同的工作。Django还有些小问题让人觉得很不爽,比如需要手工传递参
数到view,数据库处理也不像Rails的ActiveRecord完成的那么漂亮。这种问题还有很多。
另一方面,Python比Ruby要快,而且内存占用更少。而且我真的爱上了Python的缩进语法。更重要的,Python和Django工作正常。我从来没有遇到过像Rails那样当机的问题。
那么,为什么我在下个项目的时候又回到了Rails上呢?三个字:FUN。我觉得ROR用的更爽,社区庞大活跃而且很有用。可用的Rails插件很多而且核
心代码的改进相当快。Rails需要的代码量更少,没有self.__awkward_method_calls()这种东西,有内建的Ajax和
REST支持,更复杂的数据库操作和模板引擎。
我的建议是:两个都试用足够长的时间,才能发现哪一个更适合你。如果你已经有Python的编程经验,Django当然是最好的,但是如果你有Java/Perl/Smalltalk背景,ROR可能更合适。
6, 既然尝试了django,就对web又有点关心了。 一直很火的名称ajax, web2.0这些天天充斥在我耳边,总怕搞得太多了,没一样专的,可又不能啥都不知道。算了,豁出去了,我还是要看看, 第一目标就是先学一门脚本语言。我选择javascript, 我很早就听闻它的大名,只是一直没缘认识,这次我要好好认识下它。 查了些资料, javascript是由Netscape发明的语言。想获得更多JavaScript的内容,请参考下列链接
About JavaScript
Core JavaScript 1.5 Guide
Core JavaScript 1.5 Reference
这是英文的,当然想看中文的,只需要点右上角的language下拉菜单,选择中文(中国)就可以了,不过中文的很多章节没有翻译,所以完整的还是看英文的。JavaScript目前最新版本是1.8,跟1.5区别不是很大,要看新特性,只需要点击
New features in JavaScript versions
就可以了。初学者先看《core JavaScript 1.5 Guide》,然后进阶《Core JavaScript 1.5 Reference》就Ok了学习JavaScript,最好的环境就是firefox + firebug插件, 只需要开启firebug的控制台和脚本调试功能,就可以在交互式环境测试我们的JavaScript代码了。 大家可以试试,我试了,很爽。 F12键开关firebug。
7, Big boss is coming... 哈哈,这段纯粹是拿出来唬人的。 一直很火的 cloudy compute(云计算), 我也一直想了解下。 我知道以我的水平讨论这个,还为时过早,不过搞技术的还是得关心下新技术。 这里我只说一点,很多人认为云计算就是以前说的网格计算,这种看法是错误的。 IBM的Gerrit Huizenga在他的个人blog:http://gh-linux.blogspot.com/2008/08/cloud-computing-paper-presented-at.html 上发布了一篇文章,用户可点击下载,这里提供一个链接《
cloud computing: Coming out of the fog
》 再这里下载一个linux 2008 symposim的论文, 本文在197页的地方。 大家对云计算感兴趣的可以研究下~~
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/79621/showart_1329995.html |
|