<<Understanding node.js原文>>Posted on 29/4/10 by Felix Geisendörfer
最近越来越多的听到大家讨论nodejs了,而且在招聘网站上也看到对node的要求,粗略看了一篇写的很好的文章。决定翻译一下:
我介绍Node.js给人们时通常有两种反应:或者立即理解,或者十分困惑。
你如果也是第二种,我尝试解释一下node:
- 它是一个命令行工具。你下载了源代码,编译,安装。
- 它让你执行JavaScript项目通过在你的后端上输入'node my_app.js'.
- JS 通过 V8 javascript 引擎(使得chrome浏览器如此之快的东西)执行 .
- Node提供了一个JavaScript API访问网络和文件系统。
我听到了。嗯,你是对的。抱歉,Node不是仙女会出现解决你所有的工作。它仅仅是一个工具,而且它可能还不能替代你现在的工具,至少现在不行。
"说重点!"
好的。当你需要同时处理几件事情时Node 将很有用。你曾经有没有写过一些代码,并且说“我想这段代码并行”?好的,在node里,所有的东西都是并行的,除了你的代码。
"神马?"
OGCer是由OpenGSC工作室开发的一款专门针对地图或影像下载的工具。该工具秉承“拿来主义”思想,集小巧,易用,超快速于一身,实
现了网络爬虫技术和空间技术的完美融合。你只需点点点点,就能拥有一份几个级别的属于自己本地的地图,你可以把地图部署到你的服务
器里面去,以该地图作为底图,在其上采用OGC标准的OpenLayers进行自身业务的前台开发,当然也可以配合上各种gis服务器发布的地图服
务。软件开发之初是为了推动OGC标准在中国的发展,如果你是OGC的忠实爱好者,请加入我们的论坛(geoserver中文论坛)。目前该软件就
本人(OpenGSC)所知下载量超过了600余次,其效率之快另其它软件望尘莫及。
OGCerV1.2在原来OGCerV1.1的基础上:
1.把影像存储由png转成jpg格式,大大减小了存储数据量。
2.经过了超过数百G的压力测试
3.经过优化,效率更快。
4.稳定性更强,可以超过12小时不停下载。
如果你cpu足够多(比如16),网速足够快,你就能更充分的发挥OGCerV1.2的效率。
如果你已经安装了jdk1.6,请从http://pan.baidu.com/share/link?shareid=510029&uk=791305167 下载
如果没有java环境,请从http://pan.baidu.com/share/link?shareid=510029&uk=791305167下载
这一年多的时间里,我写了一个由众多构件组成的lisk。
lisk分别由以下构件:
定时器 lisk_clock
词典 lisk_dict key-value(string-string类型,可读取配置文件)
hashtable lisk_hashtable
list lisk_list
log lisk_log
map lisk_map
多级hash lisk_mul_hash
网络库 lisk_network
string lisk_string
vector lisk_vector
目录结构是 lisk---./mk.sh
---mak
---inc
---src
---exam
本人编程环境是opensuse12.3,uname -a结果是 Linux linux-xv96 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux。
另外本人使用了工具ccache。编译代码是请保证安装了ccache。
测试过成中借助valgrind基本上排除了所有的内存泄露。
编译过程很简单,先执行chmod u+x ./mk.sh以保证mk.sh可执行,然后执行脚本./mk.sh即可。
mak目录放置了makefile的配置项,inc目录放置了lisk所有的头文件,src目录放置了所有的源文件,exam放置了所有的示例代码。
可以修改文件lisk/exam/makefile第24行以编译不同的示例程序。
基本上可以保证每个字母和每行代码都是个人实现,例外就是其中有一个lisk_rand,被本人用来测试,就是这个我也有修改。
其中有些代码你可能从网上没见过的,建议可以看看log、多级hash、hashtable和network,以及用hashtable实现的词典。
网络库lisk_network采用了event driven形式,还是单进程的,而且只实现了server。下一步主要是修改可能的bug并添加client。
如果有人愿意阅读代码,我会逐渐写一些blog分别详细地介绍相关的构件。
虽然这一年多的时间里,为了写lisk,吾人已心神俱疲。但它还会持续进化中,以后我会删除一些冗余代码。
代码遵循GPL2.0协议,请尊重我的劳动成果。
我现在不会用github,而且csdn的资源老是出问题(我把lisk上传到了它上面,但是现在也没给我显示出来下载链接),暂时先存放到百度云盘中。
代码下载url: http://pan.baidu.com/share/link?shareid=424025&uk=3708761237
欢迎加入qq群189546765,请不要对qq群名称大惊小怪^_^.