卓越程序员炼成记

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

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

  • 分享

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

    248 引用 • 1795 回帖

相关帖子

欢迎来到这里!

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

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

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

  • 其他回帖
  • AaronLux
    作者

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

    1 回复
  • image.png
    相当的好

  • visus

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

  • 查看全部回帖

推荐标签 标签

  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 637 关注
  • WiFiDog

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

    1 引用 • 7 回帖 • 590 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 17 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 637 关注
  • 黑曜石

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

    A second brain, for you, forever.

    16 引用 • 130 回帖
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 725 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • Kafka

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

    36 引用 • 35 回帖
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 370 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    943 引用 • 1460 回帖 • 3 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    51 引用 • 25 回帖
  • Bug

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

    76 引用 • 1737 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    343 引用 • 723 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 6 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 86 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 2 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • OnlyOffice
    4 引用 • 2 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • 分享

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

    248 引用 • 1795 回帖