卓越程序员炼成记

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

各位朋友大家好,我叫陶建辉,今天很高兴来到极客 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 岁,而且喜欢做底层技术,我特别欢迎,我们需要人,谢谢大家。

  • 分享

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

    240 引用 • 1729 回帖

相关帖子

欢迎来到这里!

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

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

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

  • visus

    我知道了,是 surfaceView 的使用

  • AaronLux
    作者

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

    1 回复
  • 88250

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

  • image.png
    相当的好

推荐标签 标签

  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 582 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 100 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 489 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 1 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 19 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 429 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖 • 2 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 1 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 352 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 689 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    475 引用 • 899 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 54 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    9 引用 • 83 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    163 引用 • 1446 回帖
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 498 关注
  • 分享

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

    240 引用 • 1729 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 125 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • Mobi.css

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

    1 引用 • 6 回帖 • 690 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖 • 1 关注
  • V2EX

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

    17 引用 • 236 回帖 • 434 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    178 引用 • 120 回帖 • 4 关注
  • OpenStack

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

    10 引用 • 9 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 674 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 16 关注