卓越程序员炼成记

本贴最后更新于 1836 天前,其中的信息可能已经时移俗易

各位朋友大家好,我叫陶建辉,今天很高兴来到极客 Live,与大家分享一下我个人的经历。

学生时代初识编程

我是 68 年的人,今年年底就 50 岁了。我自己第一次写程序是 1984 年,高中一年级,那时候中国中学生里面很少有写程序的,我得益于一个故事:当时邓小平到一个中学考察,拍了一个中学生的脑袋说“计算机要从娃娃抓起”,这一句话让我们的中学一下有了六台蓝色 310 的计算机,但是,我们中学还没有老师知道怎么写程序,我自己拿着蓝色 310 说明书,之后又看了一本谭浩强的 Basic 语言编程,周末就开始写程序了。这样到了高二的时候我已经完全可以自己编程了。

不过,上大学的时候,我并不愿意报考计算机系,因为觉得计算机挺简单的。所以,86 年考进中国科大的时候,我没有进计算机系,而是进了力学系。整个大学期间,虽然我不是计算机系,但其实我们天天打交道的都是计算机。我自己学了 Pascal,还用 80、86 写汇编语言。

两件自豪的事

90 年,在中国科大,我进了 LB 模实验室,帮老师做了一个 LB 天平,是用 Pascal 语言写,不仅如此,我还设计了整个电路。而当年写的程序,那个实验室的研究生老师今天还在用,这个事情让我觉得特别自豪。而且,由于写这个软件,我还拿到了中国科大的一个奖学金,500 人民币,在当时是相当了不起的。拿了这 500 人民币奖学金我就到新疆、青海玩了一趟。

我们科大当时出国留学的风气很重,本来 91 年我是要到联想集团上班的,但看着我的几个长沙老乡,还有同宿舍的同学都要到美国留学,心里觉得有点羡慕,因为当时来看,到美国留学是我们那代人最佳的选择,所以我就觉得还是不能去工作,应该到美国去,因此我就留在了中国科大念书,并选择了天体物理,这样,91 年我进了中国科大天体物理系念书。

虽然一心想着去美国留学,但结果很遗憾,92 年的那个物理 GRE 专项被取消,使得我 93 年美国去不成。不过,就是 93 年的那个暑假,我又做了一件很自豪的事情。

我姐姐是做财务的,她想买套用友的财务软件,大概两千人民币。当时我就跟我姐讲,这个两千人民币给我算了,我帮你写一个财务软件。我姐说,那好啊,你能帮我写一个,我就把钱给你。于是,我翻了一本 FoxBASE 的书,写了个财务软件。令人高兴的是,我姐今天还在用我当年写的 FoxBASE 的程序,服务了无数的客户,而且我这个 FoxBASE 完全是为我姐财务定制的,因为我姐要给很多中小企业做帐,用友的财务软件没有办法做很多公司的帐,我那个小软件做几十家都没有问题。

职场生涯

94 年,我到美国印第安拉大学学天体物理。1997 年年初,我就到摩托罗拉上班了。摩托罗拉的老板面试我的时候,知道我是学天体物理的,特别喜欢,因此我就很顺利的进了摩托罗拉上班,走入通讯行业,真正开始了一个职业程序员的生涯。

在学校的时候,我一直是系里牛逼洪洪的学生,大家都公认我的程序写的好,觉得这个学生太牛逼了,太聪明了。

但是我到摩托罗拉上班的时候才发现,我离专业的程序员还有相当的距离。当时我的组,有一个 50 几岁的老头,头发全白,负责写一个手机软件,我跟他写程序差距太大了,他写的每行程序都值得我学习。一直到现在,我还在用跟他学到的一些小技巧。比如,他特别会写那种内存小的程序,因为当时的手机的内存很小,才 128K,为节省内存,他写出的程序,消耗的内存就特别小。我当时就觉得,太值得我学习了。

刚开始,因为对通讯行业不太了解,我就到摩托罗拉大学,上了好多课,系统的、真的学习了很多软件工程的方法。

后来,我到了 3Com,遇到了人生很大的一个机会。大家都知道在大公司基本都是螺丝钉,你几乎不太可能开发一个完整的产品。我在 3Com 遇到的机会,让我成为了真正的高手。这个机会就是做测试工具。

当时手机上网需要一个设备叫 AWS,这个设备好多 Bug,我们到的实验室测试的时候,老是出问题,搞得我们老板特别没面子,最后得出的结论,就是我们测试不过关,测试不过关是因为我没有特别好的测试工具,于是专门成立了一个七八人的小组,由一位贝尔实验室出来的美国白人带领大家开发一套测试工具。

搞了好几个月,但是最后这个测试工具还是不能用。最后我的老板,有一天早上随便跟我聊天说,人人都说你好聪明,你是中国的最牛逼的大学毕业的,你能不能想想这个测试工具怎么做?我当时跟我老板讲,你给我两个月的时间,我一个人来给你写个测试工具,行不行?我老板说两个月没问题,于是我就开始琢磨,后来不到两个月的时间,我就把一个测试工具做出来,之后在实验室演示的时候,完全让大家惊呆了,我做的测试工具把大家想的到问题全部解决了。

这个事情以后,我在 3Com 公司的地位一下子不一样了,我的老板特别重视我,把我变成了所谓的架构师了,开始参与产品整体的讨论。我是留学生,当时留学生里面很少人参与产品整体设计,而且待遇各方面都很高了。

还有一个想要跟大家分享的,就是我总说的,努力是最重要的。

我是一个有 Bug 睡不着觉的人。在 3Com 的时候,我有天早上七点钟不到,就跑到实验室去 Debug,结果发现我的老板已经在机房里了,我一问我老板,他说他六点钟就到了实验室,还有好几个人,他们也相当努力。包括我身边好多朋友,有的比我年长几岁,当时都是特别努力,我意识到,所有优秀的人都很努力,这个我就不多讲了。

创业经历

98 年,我在美国工作不到一年的时间,就贷款买了房子,房子很大,三千平方英尺的房子,很不错。我回国后,把房子卖了,这个事情我还专门写了一篇文章《芝加哥的房子》纪念。

我在美国工作了将近十年的时间,工作挺轻松,收入也不错。后来,我是在摩托罗拉 CDMA 的 CTO 办公室上班。CTO 办公室基本上都是技术高手,但是工作真的没意思,每天都不知道怎么打发时间,每天我们就解决一些小的难题之类的,很轻松,我觉得这样活下去没意思,我跟我太太讲,这简直是坐牢。

我觉得一定要重新做点事情,07 年年底,我发现互联网的春天真的到来了,用户体验完全改观,我决定要做通讯,做及时通讯的工具。当时,我太太带着我儿子到波士顿去玩儿,我自己就一个人呆在家里写程序,整整 10 天的时间,我把产品的原形写完了,不仅把客户单写出来,还把服务器写出来了,产品能够实现从一台手机到另外一台手机免费发短信,我演示给太太看,说我一定得回中国创业。

就这样, 2008 年 3 月 1 号我回到北京,开始我的创业生涯,而且很顺利,马上挖到了志同道合的人,还拉到了几百万人民币的天使投资。因为当时大家觉得这个技术很牛,我能够免费发短信、彩信。大家可以到网络搜索一下,09 年人民日报有一篇文章叫做《免费短信彩信的时代已经到了》,采访的就是我。

当时公司的名字叫做和信,大家可以百度一下,翻很多页,还可以翻得到和信的很多信息,但创业相当不容易,我们做了两年,几乎一分钱都没有赚到过,我们十几个人,到 10 年的春节,一分钱都没了,春节后回到办公室,发现办公室被贴了封条,因为我们没有付房租。

当时觉得很气愤,怎么创业创成了这个样子,也开始想了很多办法,我的同学借钱给我,先把工资发了,把房租付了,又重新开干。正由于弹尽粮绝,人的潜能才能一下子爆发出来。我拉着我们的几个同事,拉来了一两百万人民币的合同,让我们度过了几个月的难关。而且很幸运,在谈融资的时候,台湾的联发科集团想收购和信,这样,2010 年,我的和信被收购了。虽然这次收购价格不高不低,不过,正因此,我家里完全实现了财务自由,这让我太太很开心,不用担心上班的问题,不用担心家里没钱,这是我第一次创业,那之后我继续做 CEO,做了两年,因为我自己是个特别不安分的人,我特别不愿意有人管,因此我决定我要重新干。

那个时候我已经对手机行业很熟悉,我要做一个创新的产品,因为创新对我来讲是至关重要,我特别不喜欢做 me too 的产品。

13 年的时候,我觉得智能硬件会起来,我怎么利用智能手机来做一些事情,我就列了很多款可以做的产品,当时我列了测血压,测血糖,测 PM2.5,测皮肤干湿度,好多,还包括测酒驾。我最后挑了一个孕妇的胎心仪来做,我觉得我可以把胎心仪这个产品完全革命化,我就把测胎心的探头直接接到了这个手机上来做,后来这就变成了我的第二家公司,叫快乐妈咪。

网上搜可以搜到很多快乐妈咪的信息,好多朋友觉得我快乐妈咪做得很好,其实也是问题一大堆。智能硬件相当不好卖,而且我们人很少,15 年年底的时候,我们帐上没有钱了,大概就几万人民币,我当时让几个人走,最后剩下了四个人,我就跟他们讲,我自己不领工资了,你们四个人就继续呆在办公室,卖卖我们的胎心仪,每个月也有十几万人民币,能够养活自己就行了。但是,我只回家了一个星期,我觉得特别气愤,怎么创业创到这个样子,又搞得我弹尽粮绝。几天之后我就回到办公室,说我要重新回来,不能这样。人在走投无路的时候,爆发的潜力真的是前所未有的,这样,在一个月之后我就把钱搞定,我的快乐妈咪又能继续做下去。

最后,15 年年底,我跟太平洋网络谈成,我彻底退出,于是我就完成了我的第二次创业,至少让我们的投资都没有亏损,有一定的回报。

等我退出快乐妈咪之后,真的是想休息,不想折腾了。但是我看到很多项目之后,发现一点意思都没有,而且我觉得,我是真的爱写程序,那怎么办?我看了很多物联网的项目,我觉得又找到了一个机会,在物联网的平台里面,有一个相当重要的东西,就是这个时序数据的处理,它的存储、查询、计算、分析相当之重要,而这块,我分析了整个业内的提供方,我觉得竞争力都不够,一不够,我就觉得这是我的机会。

我自己是个动手能力很强的人,虽然我已经创业两次,不算发大财,但财务上也没有问题,但我依旧觉得应该动手做。因为这里面牵扯到算法,牵扯到一些核心的设计,这个设计必须出自我自己的手。因此我就跟我太太讲,我要重新做一个产品,这个产品要比时序数据库排名第一的产品性能高 5 倍以上。如果高 5 倍以上,我就重新做一家公司,高不了 5 倍以上,就算了。

做了两个月研究,16 年 12 月 15 号, 我写下了第一行程序,开始把我的环境搭建好,整整两个月的时间,我写了一万八千多行代码,这个代码完全验证了我对存储结构、索引结构、索引的方法,OK,这个验证,测试出来,比 MySQL 性能高的多的多,我当时特别兴奋,我跟太太讲,我还要再折腾一次。

17 年 2 月份过完春节之后,拿到这个测试结果,我就开始找风险投资,找了一两个月,最后,薛蛮子说你怎么不找我?还有明势的黄明明,说,Jeff,到底做的怎么样?我跟他们讲完,他们就说 Jeff,我支持你,要多少钱?我说我要多少钱,股份多少,好,马上就谈成,因此我的第三次创业就开始了。

我们做的 TD 引擎,是个相当技术性的产品,是一个基础软件,而基础软件,质量性能极其之重要,这种软件对研发人员的要求相当之高,而我自己是个相当资深的程序员,而且我在美国受的教育和训练相当之好,是国内很多程序员做不到的,因此我必须走在第一线,就算我在把团队组建完了之后,我自己现在写的程序量也已经超过了五万行,就在参加直播之前的两个小时,我还在 Debug。现在我们的同事,有个负责技术的同事,每天都在给我安排活“陶总,这个 Bug 是你的活,你今天必须给我解决”。我很开心,因为我自己觉得很有乐趣,由于我的参与,我们这个产品的性能相当之好,无论是插入查询还是计算的速度,远远超过了我们的竞争对手,我说的这个竞争对手不是中国的竞争对手,而是美国的竞争对手,比如 Open TSDB。

我最后还想分享一点就是,我为什么做这个产品?做第三个产品时我已经接近 50 岁的年龄,尤其在快乐妈咪离开之后,我自己琢磨过,钱对人来讲,多一点,少一点真的意义不大,人生能够被人记住的是作品。我太太是个业余画家,有人关注我的朋友圈或者微博,可以看到我太太画的很多画,我觉得可能一百年之后,都有人在看我太太画的画。我作为一个程序员,我能留下什么东西?我希望能开发一个最好的产品,能让这个产品留下来,让我的儿子,我的孙子特别自豪。我愿意做一个基础性的产品,像我现在做的这个时序数据库,是一个相当基础性的产品,是刚性的产品,任何做物联网,做车联网的必须懂这块,我觉得一定有市场,而且它的生命周期相当长,绝对不是一年两年,我认为是十年二十年,如果我们这个 TD 引擎能够成为物联网时代的 Oracle,那就是我这个程序员一生最大的骄傲。

打破程序员 30 岁魔咒

作为一个过来人,我从 84 年写程序到现在应该有 34 年,中间断断续续确实一直在写,我写过的语言有 Basic,Pascal,C,C++,写过几行 Java,也写过几行 Python,但 GO 还没写过,脚本语言写过很多。好多人觉得程序员是吃青春饭,我不太赞成。我天天也在面试,在我手下工作过的研发人员至少也有一两百人。

作为程序员,最重要的,第一是要打好基础,这个基础相当重要。我面试的一些计算机系毕业的,你在问他一些操作系统的问题,他都不太懂,不是说怎么使用操作系统,而是操作系统里面的东西。举个例子,内存调度,CPU 的角度,有很多方法,你至少要掌握其中的一两种,内存分配的方法你要掌握,这个方法不是说你要去开发一个操作系统,你要写一个 CPU 的调度,而是这个 CPU 调度的方法可以用在别的上面,这个内存分配的方法可以用在别的地方。

比如我面试的时候,我经常喜欢考别人一道题目,英文叫做 Consumer producer 的问题,翻译成中文叫做生产者、消费者问题,到目前为止,我在国内面试这么多人,还没有一个人,当场能把 Consumer producer 问题完美的写下来,这就是个基本功的问题。如果你能把 Consumer  producer 问题写的很清楚,我觉得你写任何并发的程序都不会有问题,当然世界上已经没有一个真正的标准的生产者、消费者问题让你解决,但是你在实际的项目中一定会有 Consumer producer 类似的问题。

写程序语言,你不能就满足学会写 Python,满足写 Java,你一定要触类旁通,我们那时候,国内计算机系的老师不行,等我到了美国,我就觉得计算机系能学到太多了。当时计算机系开一门课叫做,Program language,就是编程语言,它不是具体讲任何一门编程语言,而是讲任何一个编程语言应有的,比如说一个变量的作用范围,作用域,讲了很多这些东西,你要抽象,把 Java 语言,C 语言,C++,这种语言抽象出来看,任何一个语言它必须具备了一些元素,比如它一定要有流控制,它一定要有变量,变量就有作用范围,一旦懂了这个东西的时候,你学任何一门新语言都极其之快。虽然我快 50 岁了,但是学任何一个新语言,我保证比你快,因为我看过的语言太多了,容易触类旁通。

你希望你的职业生涯长一点,你工资涨的更快一点,你的职位提得更高一点,就必须掌握工作方法。工作方法不是说你学会了学习的语言,这个学习的语言太简单了,但是工作方法就不一样,我在摩托罗拉和 3 Com 工作的那几年的时间,跟我在学校里相比,学的最多的是工作方法。比如说,我们做通讯行业,一定要画状态机,如果不把状态机画出来,你是没有办法讨论问题的,你要画消息流,这个东西你不掌握方法怎么能行?怎么写日志很重要,大家都知道我 Debug 靠日志,我们这种技术性的软件没有日志了,根本没有办法 Debug,但这个日志到底怎么写?这是要有一套方法的,你只要掌握了这套方法你就立于不败之地。这个方法各行各业不同,包括你使用的语言工具方法都不同,我还是比较老套的人,像我自己现在分析程序,我都是靠状态机,靠消息流,靠日志这些东西定位问题,也有别的方法,但是你一定要掌握。

还有要锻炼自己的抽象能力。我个人特别喜欢招学物理的,看直播的朋友,如果有学物理的,又搞程序的,我特别欢迎,因为学物理有一个特别的能力就是抽象能力。作为成程序员最最重要的也是要抽象能力,程序员绝对不能看到所有的场景都写一个程序出来。就像我们做快乐妈咪的时候,我们做了一个产品测胎心,也测胎动,后来加了血压,血糖,这些数据要同步,一个程序员给我写的是,血糖做了一个同步,血压做了一个同步,胎心做了一个同步,被我大骂一通,在我眼里胎心、胎动、血糖、血压一点区别没有,只是个数据类型,你这个抽象能力要有,否则你就把这个程序变复杂化了。

卓越程序员必备素质

我个人认为自己是个顶级的程序员,但不能说我是顶级的 CEO,也不是顶级的企业家,因为我还没有做成一个特别大的企业,从企业家的角度来看我不算成功的。但从程序员的角度来看我应该是一个相当顶级的程序员,顶级的程序员大概需要具备以下几项能力。

第一是基本技能,你基本技能当然毫无疑问要过关,你必须很会 Debug,你会把这个问题找出来,比如说各种工具你都用着很熟,这个你必须会。

第二个很重要的是要有产品思维,就是从用户的角度去想,要从产品经理的角度去想,产品为什么要做这个功能,做成什么样子,怎么让用户使用简单,如果有产品思维,这个程序员就上了一个台阶,而且有产品思维,你就可以创业了,如果你只是基本技能好,没有产品思维,我建议你千万别创业,你就老老实实做个程序员,做个比较牛逼的程序员算了。

第三很重要的是要有沟通能力,沟通能力主要表现在三个方面:一个是听,一个是讲,一个是写。听这个大家可能很容易理解,听,主要是听听用户的声音、产品经理的声音,你不能误解别人的意思,这也有技巧,你要锻炼,千万不能怪别人没讲清楚,因为你没有找到方法。第二个是要讲,你一定要会跟同事跟产品经理,跟客户介绍你的解决方案,如果你没有这个能力,你做不了领导,你不可能创业,你也不可能有更大提升的,讲很重要。第三个,很多人忽略的就是写。写,我认为比听和讲还重要,一个 PPT 要会写,一篇文档要写的好,无论是内容,还是格式。

第四,顶级的程序员一定是一个不断学习的人,如果你不爱学习,那千万别做程序员,因为程序员面对的东西天天在变,今天有这个语言,明天有那个语言,今天有这个框架,明天有那个框架,当然不是说你要天天变框架,天天变编程语言,但你一定要学习,比如说区块链现在这么火,你不了解区块链能行吗?我自己春节的时候花了一两周仔细看区块链所有的东西。你说这个人工智能这么火,你不看,不了解人工智能不了解那些算法,不了解那些术语能行吗?你不了解,你就被淘汰,你不了解,你的工资就涨不上去,你不了解,你就别想找到更好的工作。你必须拥抱这个变化的世界,这是没有办法的,因此不断学习是对每一个程序员的要求。

第五个很重要的是健身。我自己健身是从 11 年起,在那之前我毫不关心健身,后来因为我骨折的原因,我变胖了,什么高血压、高血糖、高血脂都来了,我觉得不行,我还要对太太负责,对儿子负责,我觉得非得健身。健身让我保持特别充足的精力,现在,我每周大概至少健身五次,跑步,或者是快走,每周日,奥林匹克森林公园快走 10.5 公里,或者在家附近的健身房,或者就在家里骑自行车,我一定做。今天,我保证回家也要健身。看直播的你们,有想参加奥森快走的,欢迎加入,一般都是周日下午。如果你有很好的精力,脑袋转的很快,你一定能把程序写好。

最后我借这个机会说一下,如果你们有人愿意挑战技术,又有精力又爱写程序,欢迎加入我们涛思数据,我们欢迎各种人才。但是你要特别爱写程序,像我一样也能写到 50 岁,而且喜欢做底层技术,我特别欢迎,我们需要人,谢谢大家。

  • 分享

    有什么新发现就分享给大家吧!

    242 引用 • 1746 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    你好,回帖没有同步到 Pipe 是因为你没有进行配置哦。请按照这里配置一下,这样以后社区这边的回帖就可以同步到博客端了。

  • 其他回帖
  • visus

    对了,怎么写一个内存小的程序,我发现我写的俄罗斯游戏,和别人的写的俄罗斯程序流畅度真的不能比,我是也是用 handler 通信,他是用异步,一样的设计,就是不知道,他的数据同步这么快,大神,可以分享一下如何写一个小内存的程序嘛

  • visus

    我知道了,是 surfaceView 的使用

  • AaronLux
    作者

    我是才看到这个,而且这个 pipe 在后台的管理系统里竟然不能看到消息的同步。
    这个设计有点糟糕。
    至于你问的这个问题,我还在研究,学会用 google 啊

    1 回复
  • 查看全部回帖

推荐标签 标签

  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 439 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    77 引用 • 1741 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    395 引用 • 3408 回帖
  • sts
    2 引用 • 2 回帖 • 146 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    273 引用 • 679 回帖 • 1 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 118 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    172 引用 • 990 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 5 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    40 引用 • 40 回帖 • 1 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    333 引用 • 323 回帖 • 71 关注
  • 分享

    有什么新发现就分享给大家吧!

    242 引用 • 1746 回帖 • 1 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 12 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 550 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1398 回帖 • 1 关注
  • V2Ray
    1 引用 • 15 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    138 引用 • 268 回帖 • 201 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 547 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 3 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 1 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 696 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 628 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 176 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 9 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 420 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 401 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 43 关注