开源已成为许多互联网巨头争霸的另一块宝地,除了开源自己的项目外,许多巨头也利用开源项目来提升自己的平台与产品用户体验,Github就是这样的一家公司。 Github是一家一直致力于开源事业的企业,github.com网站也是全球最流行的开源项目托管平台,上面托管着成千上万个开源项目。除此以外,Github也开源了不少软件项目,感兴趣的同学可以前往其开源页面看看。 在致力于开源事业的同时,Github也使用一些非常优秀的开源项目的来打造自己的平台与服务,本文总结了Github所用到各种开源项目,它们分别扮演着不同的角色。 1.Linguist 顾名思义,Linguist直译是语言学家的意思,采用Ruby开发。使用它可以自动分辨项目所使用的开发语言。Github使用该开源项目主要是用来探测blob语言,突出显示代码、忽略二进制文件、防止文件生成存在差异以及生成语言分解图等。 托管地址: https://github.com/github/linguist 2.pjax pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。同时支持缓存和本地存储,再次访问的时候可以直接读取本地数据。展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。 托管地址: https://github.com/defunkt/jquery-pjax 3.Elasticsearch Elasticsearch是一个实时的、分布式的RESTful搜索引擎,基于Apache Lucene开发。具备高可靠性,支持非常多的企业级搜索用例。它对外提供一系列基于Java和HTTP的API,用于索引、检索、修改大多数配置。 官网: http://www.elasticsearch.org/ 托管地址: https://github.com/elasticsearch/elasticsearch 4.Ruby on Rails Rails是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发代码更少,使用最少的配置。 托管地址: https://github.com/rails/rails 5.redis Redis是一个开源、支持网络、基于内存、键值对存储的数据库。基于C语言开发,与其他很多键值对数据库的不同之处在于, Redis不仅支持简单的字符串键值对,它还提供了一系列数据结构类型值,比如列表、哈希、集合和有序集, 并在这些数据结构类型上定义了一套强大的API。 官网: http://redis.io/ |