细数研究过的开源项目

      研究那么多,唯一的遗憾就是没能把每一步记录下来,所以,从这里开始...

      大学四年很快,没有取得什么成就,整天碌碌无为,但总得留下点什么,算是一个总结吧。一切仿佛还在昨天,那些经典的片段,那些大牛们的杰作,仍历历在目,但真正要研究起来却相当不容易,少的几千行,多的十几万行,而且涉及多种开发语言,这给研究过程增加了很多的困难,那寂寞,那艰辛谁能懂?不是看到谁在研究我才研究,也不是谁逼着我研究,而是兴趣使然。这里所说的研究是代码级的研究。以下举例的可能还不太完整,因为有些不太重要的项目就不举例了,或者有些项目已经忘记了它的存在了。文笔不太好,不多写了,按照时间的顺序,直奔主题吧:

 

    一:记事狗微博系统(Php)
    采用php+mysql开发并开源发布,MVC模式,模块化很规范,实现自己的模板引擎,其实就是引用了Discuz的模板引擎,可以实

现伪静态,以及与真实地址模式互换,其官网为:http://www.jishigou.net

 

    二:114啦网址导航系统(Php)
    该网址导航生成系统为雨林木风自主研发,并正式开源。采用php+mysql,基于Smarty模板引擎,可自由定制网站风格使全站静

态化,也采用MVC模式,类结构清晰,易于升级修改。其官网为:http://open.114la.com

 

    三:PHP云人才系统(Php)
    采用php+mysql数据库构建的高效的人才与企业求职招、聘解决方案,在尊重版权的前提下能极大的满足站长对于网站程序进行

二次开发,也是实现了自己的模板机制,其实模板不外乎正则匹配替换而已。其官网为:http://www.phpyun.com

 

    四:Crawler4j(Java)
    Crawler4j是一个开源的Java类库,提供了一个用于抓取Web页面的简单接口。可以利用它来构建一个多线程的Web网络爬虫。网

络爬虫是构建搜索引擎必备的软件,Crawler4j的代码量不是很大,初学者可以去看看。

 

    五:IK Analyzer(Java)
    IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包,最初,它是以开源项目Luence为应用主体的,结合

词典分词和文法分析算法的中文分词组件,很典型的,值得推荐。

 

    六:Lucene(Java)
    Lucene是Apache软件基金会项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引

擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,可以用来构建自己的搜索引擎,代码量有些大,只能研究

其中的部分内容,其中有很多算法的,其索引结构也是使用了大部分搜索引擎使用的倒排索引。

 

    七:Hadoop(Java)
    一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集

群的威力高速运算和存储。其实Hadoop是项目的统称,旗下包含很多子项目,能力有限,只研究了其HDFS和MapReduce部分,这两部分也是Hadoop最重要的部分。其中HDFS是一个分布式的文件系统,由一个NameNode节点和多个DataNode节点组成一个集群系统,HDFS实现了自己RPC机制,看了的确拍案叫绝。而MapReduce是用于并行处理大数据集的软件框架,其代码比较复杂,没研究完整,到现在我还很糊涂,还是HDFS比较好理解。Hadoop是后面才研究的,这里放前面是为了和前面几个都用Java开发的放到一起。

 

    八:Memcached(C语言)
    Memcached是一个高性能的分布式内存对象缓存系统,一般用于动态Web应用以减轻数据库负载。其使用了libevent的事件处理

模型,libevent是个程序库,它将Linux的epoll事件处理功能封装成统一的接口,在研究Memcached时,顺便看了libevent的部分代

码,很精悍易用。Memcached是大流量网站必备的缓存软件之一。

 

    九:LevelDB(C++)
    Leveldb是一个Google大牛实现的非常高效的基于key/value的NoSQL数据库,目前的版本1.2能够支持billion级别的数据量,其

代码结构相当复杂,内部存储结构也很复杂,看的头晕脑胀,哎,大牛的代码伤不起啊。

 

    十:Nginx(C语言)
    Nginx是一个高性能的HTTP和反向代理服务器,其代码量有十几万行,当然不可能看完,哪有那么多时间啊,对吧,不吃不睡也

要很多时间才能看完啊,只能看了其中的部分代码,了解其启动流程,高并发机制,以及对HTTP静态文件的请求和处理方式。

 

    由于精力有限,以上项目有些只能研究部分代码,不可能研究完整,而且也没有必要看全部代码,只要了解其原理和实现方式

就够了,真正的细节也就是一般的代码和算法而已,对于以上项目有兴趣的朋友可以一起探讨或者到网上查相关资料,都有的,你

懂的。就写到这吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值