阅读更多

开源软件正在逐步改变全球软件开发的格局,越来越多的企业开始使用开源软件,并反过来为开源项目贡献力量。



 

一提到开源,大部分人首先想到的是免费。但其实价格并不是开源软件唯一的优势,其他优势还包括: 

  • 避免重复造轮子:对于企业来说,有现成的工具可用,节省了重新开发的成本;
  • 质量更高、更安全:由于源码开放,其他开发者可以参与共享,安全漏洞的发现和修复将会更加及时;
  • 自由、可定制:企业可以摆脱软件厂商的束缚,并可以根据自己的需求很方便地进行定制。

 下面就来看看全球著名的一些互联网企业使用了哪些开源项目。

1.  Facebook

Facebook是全球第一大社交网站,拥有约9亿用户,同时也是世界排名第一的照片分享站点,每天上载八百五十万张照片。 

  • 主要开发语言:PHP
  • 存储系统:MySQL、Memcached

2.  Twitter

Twitter(推特)是全球著名的社交网络及微博客服务网站 

  • 主要开发语言:Ruby、Scala、Java
  • 开发工具:Hadoop、Lucene
  • 存储系统:MySQL、Cassandra

3.  Tumblr

Tumblr(汤博乐)成立于2007年,是目前全球最大的轻博客网站,也是轻博客网站的始祖。 

  • 主要开发语言:Ruby、PHP、Scala
  • 存储系统:MySQL、Memcached、Redis
  • 服务器:nginx、Apache

4.  Linkedin

LinkedIn(邻客音)是全球最大的职业社交网站,网站的目的是让注册用户维护他们在商业交往中认识并信任的联系人,俗称“人脉”(Connections)。 

  • 主要开发语言:Java
  • 开发工具:YUI、Hadoop、Spring、Grails
  • 存储系统:MySQL

5.  Dropbox

Dropbox是一个提供同步本地文件的网络存储在线应用。支持在多台电脑多种操作中自动同步。并可当作大容量的网络硬盘使用。Dropbox采用免费试用+高级服务收费的Freemium模式,最初2GB空间免费,此后则需要按月支付存储费用。 

  • 主要开发语言:Python
  • 存储系统:MySQL、Memcached
  • 服务器:nginx

6.  BitBucket

BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。

  • 主要开发语言:Python
  • 开发工具:Django、RabbitMQ
  • 存储系统:redis、PostgreSQL
  • 服务器:nginx

7.  Reddit

Reddit是个社交新闻站点,口号是“提前于新闻发生,来自互联网的声音”。 

  • 主要开发语言:Python
  • 开发工具:Cassandra、RabbitMQ
  • 存储系统:Memcached、PostgreSQL

8.  Quora

Quora是一个问答SNS网站,由Facebook前雇员查理•切沃和亚当•安捷罗于2009年6月创办。 

  • 主要开发语言:Python
  • 开发工具:jQuery
  • 存储系统:MySQL
  • 服务器:nginx

9.  Zynga

Zynga是一家社交游戏开发商,目前是Facebook第一大营收来源,2011年占Facebook全年营收比例高达12%。 

  • 主要开发语言:PHP
  • 存储系统:MySQL、Memcached
  • 服务器:Apache 

10.  Pinterest

Pinterest是全球最大的图片社交分享网站,采用的是瀑布流的形式展现图片内容,无需用户翻页,新的图片不断自动加载在页面底端,让用户不断的发现新的图片。 

  • 主要开发语言:Python
  • 开发工具:Django、Node.js
  • 存储系统:MySQL
  • 服务器:nginx 

11.  Foursquare

Foursquare是一家基于用户地理位置信息的手机服务网站,并鼓励手机用户同他人分享自己当前所在地理位置等信息。 

  • 主要开发语言:Scala
  • 开发工具:Backbone.js、jQuery、Lift
  • 存储系统:mongoDB、hadoop 

12.  EverNote

EverNote是一款非常著名的笔记软件,界面与功能十分类似Onenote。它不仅具备强大的笔记捕捉功能,还采用了独特的分类方式,而且支持filter的自动整理、即时搜索。 

  • 主要开发语言:Java
  • 开发工具:EHCACHE、Stripes、GWT、HIBERNATE
  • 存储系统:MySQL
  • 服务器:Apache、Tomcat 

13.  Codecademy

在线学习编程的网站,为用户提供了一种学习编程的新方式。它采用基于网络的互动编程教程,手把手帮助用户了解编程语言的基本原理。 

  • 主要开发语言:Ruby
  • 开发工具:Rails、jQuery
  • 存储系统:mongoDB 

14.  Instagram

Instagram是一款移动应用,可以让你以一种快速、美妙和有趣的方式将随时抓拍下的图片分享给其他人彼此。2012年10月25号,Facebook以总值7.15亿美元收购Instagram。 

  • 主要开发语言:Python
  • 开发工具:diango、Solr
  • 存储系统:redis、PostgreSQL 

下面来看看以上这些开源项目的相关介绍。

1.  Backbone.js

Backbone.js是一个基于jQuery和underscore的JavaScript框架,提供了强大的对模型、视图和交互的抽象,凭借它,我们可以使用JavaScript编写复杂交互的Web应用。

2.  Cassandra

Cassandra是一个混合型的非关系的数据库,以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族的数据模型,P2P去中心化的存储。最初由Facebook开发,后转变成了开源项目,它是一个网络社交云计算方面理想的数据库。

3.  CoffeeScript

CoffeeScript是一个使用纯Ruby编写的新编程语言,创建者Jeremy Ashkenas戏称它是“JavaScript的不那么铺张的小兄弟”。因为CoffeeScript会将Ruby编译成JavaScript,而且大部分结构都相似,但不同的是CoffeeScript拥有更严格的语法。

4.  Django

Django是一个基于Python的Web应用开发框架,采用MVC设计模式。

5.  EHCACHE

EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。

6.  Grails

Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate和其他标准Java框架之上,从而为大家带来一套能实现超高生产力的一站式框架。

7.  GWT

Google Web Toolkit的缩写,允许开发人员使用 Java 编程语言快速构建和维护复杂但性能高的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。

8.  Hadoop

Apache基金会开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力高速运算和存储。

9.  Lift

Lift是一个非常优雅的web框架,基于Scala编程语言,使用Apache 2.0许可发布。Lift为开发者提供了最好的方式来创建交互的、高性能的web应用。

10.  Lucene

Lucene是一个开放源代码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,部分文本分析引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

11.  Memcached

Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的HashMap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过Memcached协议与守护进程通信。

12.  MongoDB

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的数据库。其最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

13.  Node.js

Node.js是一套用来编写高性能网络服务器的JavaScript工具包,目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。实际上Node是对Google V8引擎进行了封装,并对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

14.  PostgreSQL

PostgreSQL是以POSTGRES为基础的对象关系型数据库管理系统(ORDBMS),支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。因为许可证的灵活,任何人都可以以任何目的免费使用、修改、和分发PostgreSQL。

15.  RabbitMQ

RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。

16.  Redis

Redis是一个高性能的key-value数据库,它的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python、Ruby、Erlang、PHP客户端,使用很方便。

17.  Solr

Solr是一个高性能、采用Java开发、基于Lucene的全文搜索服务器,同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

18.  Stripes

Stripes 是一个使用最新的Java 技术来构建Web应用的开发框架。

19.  YUI

雅虎用户界面库,采用JavaScript语言编写,允许用户使用DOM脚本、DHTML和AJAX技术构建富交互网络应用程序。YUI库也包含一些核心的CSS资源。

Via Devrates

  • 大小: 12.1 KB
13
2
评论 共 13 条 请登录后发表评论
13 楼 JavaCrazyer 2013-08-02 13:44
有木有注意到,python的牛逼
12 楼 xi4nyu 2013-07-30 14:19
竟然没提到Linux... ...
11 楼 东方胜 2013-07-30 12:59
10 楼 jiakechong 2013-07-29 17:01
开源的项目真多
9 楼 kingxip 2013-07-29 08:27
diggywang 写道
scala本来就是基于jvm的语言,至少在上面的列表中40%是基于Java或jvm的。

没有反对的意思,我也比较喜欢java。 但是上面14个公司中,只有3个用java(包括你说的scala),我看大多还是python。
8 楼 diggywang 2013-07-28 09:35
scala本来就是基于jvm的语言,至少在上面的列表中40%是基于Java或jvm的。
7 楼 hooluupig 2013-07-26 21:57
zha_zi 写道
真他妈的惨,这么多超级互联网公司竟然没有一个用java语言开发的,果断转php

你去google看看,再去amazon转转,另外上面那么多java看不见?
6 楼 rasonyang 2013-07-26 16:52
没想到用scala的比java的还多
5 楼 at1943 2013-07-26 16:06
zha_zi 写道
真他妈的惨,这么多超级互联网公司竟然没有一个用java语言开发的,果断转php
你数学是体育老师教的吧
4 楼 avalon0406 2013-07-26 13:02
zha_zi 写道
真他妈的惨,这么多超级互联网公司竟然没有一个用java语言开发的,果断转php

从使用量上来看,你应该转Python
3 楼 wensiqun 2013-07-26 10:15
zha_zi 写道
真他妈的惨,这么多超级互联网公司竟然没有一个用java语言开发的,果断转php


Java本来就不是专注于互联网的,更多的还是企业级
2 楼 zha_zi 2013-07-26 10:10
真他妈的惨,这么多超级互联网公司竟然没有一个用java语言开发的,果断转php
1 楼 亚当爱上java 2013-07-26 09:15
开源改变世界!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • google-app-engine-jappstart:Google App Engine的Java框架

    入门指南jappstart是一个基于Spring,Spring Security和Sitemesh的Google App Engine Java框架。 该项目旨在成为Google App Engine Java应用程序的起点。 它不是传统意义上的框架,而是旨在为开发人员可以轻松扩展的...

  • java开发工具IDEA JVM框架教程:Google App Engine配置

    IntelliJ IDEA 允许您创建 Google App Engine 项目并将您的应用程序上传到 Google 基础架构。

  • Google App Engine技术架构资料大盘点

    今天看到几篇有关Google App Engine的技术架构文章,一起分享给大家,没看到过的同学赶紧惊喜一下吧,看到过了的同学也假装惊喜一下嘛,呵呵。 全部文章有点长,请耐心看下去,相信程序员都是有耐心的,除了我……. ...

  • app engine_Android App Engine整合

    Google App Engine非常适合寻求全面,可扩展且价格合理的托管解决方案的用户。 特别是如果您开始一个项目,但还不完全知道项目将取得多大的成功(大多数情况下您是永远不会知道的),您将拥有多少潜在用户等等,...

  • JPA+Struts2+Spring 在 google Appengine 上的一个例子

    一个使用Struts2 + Spring 在 google Appengine 上开发的一个例子,非常简单,主要是帮助有这方面需求的朋友快速的整合!运行后,测试访问用两个网址 http://localhost:8888/person_add.action?person.name=*** ...

  • Android App Engine整合

    Google App Engine非常适合寻求全面,可扩展且价格合理的托管解决方案的用户。 尤其是如果您开始一个项目但还不完全知道项目将有多成功(大多数情况您都不知道),您将拥有多少潜在用户等等,那么App Engine就很棒。...

  • 基于google app engine 的博客系统开发

    该博客是学习google 的云计算平台app engine 平台做的简单的博客系统开发,里面借鉴很多成型的东西,来整合形成一个博客。本系统的开发关键是了解了云计算 尤其是 对app engine 平台的接口的了解 ...

  • Google App Engine技术架构之Google App Engine架构

    上一篇我们介绍了Google App Engine的基本信息,本篇将首先介绍App Engine的一些设计理念,接着将对App Engine的组成部分等进行介绍。 设计理念 App Engine在设计理念方面,主要可以总结为下面这五条: 重用现有的...

  • 探索Google App Engine背后的奥秘(4)- Google App Engine的架构(转载)

    作者:ikewu|可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://www.dbanotes.net/arch/google_app_engine-arch_intro.html 按:此为客座博文系列。投稿人吴朱华曾在IBM中国研究院...

  • 探索Google App Engine背后的奥秘(4)- Google App Engine的架构

    本篇将首先介绍App Engine的一些设计理念,接着将对App Engine的组成部分等进行介绍。 设计理念 App Engine在设计理念方面,主要可以总结为下面这五条: 重用现有的Google技术:大家都知道,重用是软件...

  • appengine_Google AppEngine(GAE)中的多租户

    appengine 多租户是一个已经讨论了很多年的主题,并且有许多出色的参考资料可供使用,因此我将仅作一个简短的介绍。 多租户是一种软件体系结构,其中软件的单个实例在服务器上运行,为多个客户端组织(租户)提供...

  • 麻雀虽小,五脏俱全:上手Google App Engine遇到的问题总结

    虽然不停的见到云计算的相关新闻,而且在CSDN的论坛里也解答过关于Google App Engine持久化方面的问题,但并没有将这两者联系起来。我一直以为GAE是一个类似于Spring或者Hibernate一样的开源项目罢了。最近构思技术...

  • Google App Engine技术架构之Google的核心技术

    本系列文章基于公开资料对Google App Engine的实现机制这个话题进行深度探讨。在切入Google App Engine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好地理解Google App Engine的实现。 ...

  • python cloud_我在Google Cloud App Engine Python 3中的3年经验python 3

    python cloud 介绍 ...Google Cloud has always believed in the vision of serverless by debuting with Google App Engine in 2008, the first fully serverless compute service. Since then, Google h...

  • Google App Engine + Struts 1示例

    经典的Struts 1框架万岁,在本教程中,我们将向您展示如何在Google App Engine (GAE)环境中开发Struts 1.x Web应用程序。 使用的工具和技术: JDK 1.6 Eclipse 3.7 + Eclipse的Google插件 Google App ...

  • 浅析App Engine

    摘要: 在国内外,云计算正在大步的走向商业化的道路,也得到了越来越多公司的重视。其中平台即服务(Platform-as-a-Service ...本文主要是对App Engine的背景、特点、需求等进行分析整理,并据此对业界主要的App...

  • 探索Google App Engine背后的奥秘(1)–Google的核心技术

    本系列文章基于公开资料对Google App Engine的实现机制这个话题进行深度探讨。在切入Google App Engine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好地理解Google App Engine的实现。 ...

  • Origin教程009所需练习数据

    Origin教程009所需练习数据

  • 大模型的稀疏激活方法及其高效推理应用研究:基于dReLU激活函数

    内容概要:本文提出了一个新的激活函数dReLU,用于提高大语言模型(LLM)的稀疏激活水平。dReLU可以显著减少模型推理过程中激活的参数数量,从而实现高效的模型推理。通过在Mistral-7B和Mixtral-47B模型上的实验,验证了dReLU的有效性。结果表明,使用dReLU的模型在性能上与原始模型相当甚至更好,同时减少了计算资源的需求,达到了2-5倍的推理加速。 适合人群:对深度学习、大语言模型和模型优化感兴趣的机器学习研究人员和技术开发者。 使用场景及目标:适用于需要高效推理的大语言模型应用场景,特别是资源受限的设备,如移动电话。目标是减少模型的计算资源消耗,提高推理速度。 其他说明:本文详细探讨了dReLU的设计和实验验证,提供了大量的实验数据和对比结果,展示了dReLU在多种任务上的优越表现。

  • STM32F103+PWM+DMA精准控制输出脉冲的数量和频率 源程序

    最近参加一个农业机器人的比赛,由于今年的题目是蔬菜幼苗自动搬运,因此搬运部分需要用到一个三轴运动的装置,我们参考了3D打印机的原理,上面通过步进电机控制丝杆和皮带从而带动我们的抓手来抓举幼苗。因为比赛的幼苗和幼苗的基质比较小,这个过程需要精度比较高,查询了一些资料后,我想到了用dma来给STM32单片机的定时器寄存器ARR发送数据来精准控制输出pwm的数量,从而可以精准控制步进电机转动的度数,可以十分方便的计算出到某个位置需要的脉冲。

Global site tag (gtag.js) - Google Analytics