星期五, 十二月 22, 2006

李开复:算法的力量

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招 聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被 这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的 是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内 功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。

【转载】你的编程语言可以这样做吗?(map/reduce的js示范)

一篇很好的关于map/reduce的示范文章。看了这个,你就会理解prototype.js中Enumerable的精髓。

通过它,你可以写出很多非常奇特非常美妙的代码。短短几行,功能可不简单哦~
例如Scriptaculous中,一开篇就应用了一个findAll,两个each。8行代码,其实只是一句而已:
$A(document.getElementsByTagName("script")).findAll( function(s) {
return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
}).each( function(s) {
var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
var includes = s.src.match(/\?.*load=([a-z,]*)/);
(includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each(
function(include) { Scriptaculous.require(path+include+'.js') });
});

《你的编程语言可以这样做吗?(map/reduce的js示范) 》原文如下:

星期四, 十二月 21, 2006

Unix下批量更改文件名称的脚本

例如将文件名含abc的文件全部更改,把abc替换为def:

find ./ -name "*abc*" -exec echo mv {} {} ';' | sed -e 's/abc/ABC/' |  sed -e 's/abc/def/' | sed -e 's/ABC/abc/' | sh

这里用到了管道、find、sed,具体用法可以用man和google  :)

如何在windows上部署带SSL的Apache

因为Openssl的关系,Apache不提供windows上附带SSL功能模块的安装包,可以参看:http://www.apache.org/dist/httpd/binaries/win32/

这里是自己编译Openssl进Apache的参考: