未来五年程序员需要掌握的10项技能
由于最近经济形势的变化,很多开发人员只关注他们短期的工作前景。与此同时,把时间和精力花在学习最能带来回报的新技术上是件非常重要的事情。这里是我们列举的10种你需要马上开始学习的技术,让你的简历在未来5年不会落伍。这个列表并不完全,有很多业界的领域(比如大型机开发人员)没有涉及。尽管如此,对通常的主流开发来说,学习其中至少7项技能肯定不会错 ——不但要达到能在面试时侃侃而谈的程度,还得能在工作中运用自如。
1) 编程语言三选一 (.NET, Java, PHP)
除非开发世界有根本的改变(类似小行星击中雷德蒙),在不远的将来,大部分开发人员将需要了解三大开发平台——.NET (VB.NET或者C#), Java, 或者PHP——中的至少一个。并且只了解核心语言也是不够的。因为项目会包含越来越多不同的功能,你需要对相关框架和库有深入的了解。(本人以为C/C++可能比这三个语言更有竞争力)
Python处理中文的时候的一些小技巧
相信第一次处理中文的朋友们可能都会对中文的encoding 和程序的报错很头疼。
如果你像我一样希望能够把事情尽快做好而不去深究,你可能会写一些异常处理的代码把 UnicodeEncodingError糊弄过去先,但当你开始怀疑有多少encoding出错的信息被你丢弃的时候,可能你会很惊奇。于是,你还是会想坐下来,(洗把脸)然后面对自己必须弄懂什么是utf-8,什么是 ‘gb2312’, 什么是 ‘gbk’ 和其中的猫腻。正如有时候猛撕小伤口上邦迪胶布的快感一样,有时候当你认真面对一些你平时一直回避的问题的时候(其实有时候需要的不是勇气), 你反而会觉得“不过如此”,并且能够一劳永逸的解决问题。
关于Python处理Unicode,我所能找到的最言简意赅的入门教程是:
Unicode In Python, Completely Demystified (揭秘Python Unicode)
简要罗列一下最重要最实用的点:
Python脚本如何对文件通配符匹配
有时候,我们可能会写一些轻量级的脚本去处理很多符合某种pattern的文件,例如“某目录下的 *logfile.csv” 但是,我们大多数脚本的参数都是 sys.argv, 如何解析 wildcard 匹配呢?
test.py
from glob import glob ... if __name__ == "__main__": file_names = glob(sys.argv[1]) for file_name in file_names: do_something(file)
这样就可以像使用其他终端命令一样使用脚本test.py 进行wildcard匹配了
>> test.py ./*logfile.csv
Python中实现多属性排序
我们有一组记录:
list_records = ( (department, name, salary), (department, name, salary), ... (department, name, salary) )
然后我们想进行类似 MS – Excel 里的 “then sort by” 中的功能一样先基于department排序,然后再在部门内按照salary排序。
其他编程语言可能相对复杂,我这里写出一个用Python实现的最简方法(也许有比这个还短的,来挑战吧)
一个排序算法比较的网站
Sorting Algorithm Animations
http://www.sorting-algorithms.com/
这是一个非常不错的排序算法的网站,当你打开这个网站的时候,请不要因为看到很多个图片的大红叉而鄙视它。你先点击网页上方的Problem Size,选择一个尺寸,20,30,40还是50,都行,于是你就可以看到下面整个大表中有图片显示出来了。如下所示:
Linux C 编程一站式学习
个人认为这是一个挺不错的从C语言到Linux系统开发的教程,这本是两个网上的文档。
- 其中 一本是《How To Think Like A Computer Scientist: Learning with C++ 》作者Allen B. Downey。原书由Green Tea Press发行,可以从http://www.greenteapress.com/下载到。
- 另一本是:《Programming from the Ground Up: An Introduction to Programming using Linux Assembly Language》作者Jonathan Bartlett。原书由Bartlett Publishing发行,可以从http://savannah.nongnu.org/projects/pgubook/下载到。
不过非常高兴的是有要把这两个文档都翻译成了中文。当然,翻译工作还没有完全完成,第三部分还很粗糙,错误也有不少,有待改进。第一部分和第二部分已经比较成熟,第二部分还差三章没写。不过现在可以阅读了。
下面是这个文档的网站链接:
2009年脚本语言排名
EDC(Evan Data Corporation)发布了一份脚本语言的调查报告,这个调查报告调查了500个以上的开发者和IT专家,在这份调查表中,PHP, Ruby和Python成为了前三强。这个调查总共调查了这些脚本语言:Actionscript, Flex, Javascript, Microsoft F#, Microsoft Powershell, Perl, PHP, Python, Ruby, VB Script。主要评估以下这些方面:
OSGi和Java企业级运算的未来方向
摘要: OSGi也是译者最近才接触到的技术,但是在OSGi的发展中,它越来越收到了来自行业的关注。作为OSGi的动态部署,译者认为此项规范对于企业应用应该是非常有帮助的。特别在银行的信息化建设中将会起到很重要的作用,因为国内大多的银行业都在强调7*24小时系统,但是其业务发展又非常迅速,常常有新需求,新变更。如果每一次上线变更都将重启系统的话,对银行的服务质量和形象将会造成较大的影响。 此文只是讲述了OSGi在Java企业运算中的新动向,并没有具体的介绍OSGi的规范。关于OSGi规范的文档可以从jcp上下载
原文出处:这里
OSGi和Java企业级运算的未来方向
by Eric Newcomer
无论JCP是否完全的迷失了它的方向,它都不同程度受到来自外部活动的影响。Spring框架和Hibernate影响了EJB3,而且JPA也是一个好的例子。另外日渐感觉到的影响来自于对OSGi规范的采用和其实现,特别是实现了OSGi的开源的Eclipse Equinox,Apache Felix和Knoplerfish框架