思否小姐姐

思否小姐姐 查看完整档案

北京编辑  |  填写毕业院校SegmentFault  |  社区管理媛 编辑 segmentfault.com/a/1190000020336555 编辑
编辑

大家好呀!这里是思否小姐姐的主页。
大家在社区玩耍时遇到的任何问题都可以来咨询小姐姐哦!
欢迎大家➕小姐姐的微信:mgr_segmentfault

个人动态

思否小姐姐 赞了文章 · 2020-10-23

开源社理事长庄表伟:国内开源技术和产品就像“在土壤中生长的农作物”,现状远称不上良好

现在国内的开源土壤气候环境,还存在各种问题,我们得想办法不断改进。更加需要改进的,是我们的开源教育,引导培养更多的新人,热爱开源,投身开源。
——开源社理事长:庄表伟

2020 中国开源年会 (COSCon'20) 将于 10月24-25日由开源社举办,SegmentFault 思否社区为本次大会的战略合作媒体,并将进行独家的线上直播。

本次年会将采取线上线下相结合的形式,北京、上海、深圳、成都、长沙五城联动,11 个分会场,线上线下同时进行。

为了让大家进一步了解开源、了解本次 COSCon’20,SegmentFault 思否特别采访了开源社理事长 —— 庄表伟。

庄表伟是华为云 DevCloud 高级产品经理华为内源社区架构师华为云代码托管服务产品经理,同时也是开源社理事、执行长,曾著有:《开源思索集》一书。

作为长期活跃于开源社区和开发者社区的一名开源布道师,在本次的开源年会中,庄表伟老师将以《开源治理与数字化转型》为主题进行分享。

image
以下为 SegmentFault 思否对庄表伟老师的访谈内容:


1、网上有很多关于您的介绍,您一般倾向于如何介绍自己?

我比较喜欢自称为架构师 + 产品经理。在自己的职业生涯中,我做过不少技术架构的设计,也做过不少的产品设计。现在越来越感觉到:无论是技术架构还是产品,要想做出好的设计,背后的很多原则其实是相通的。

架构,不仅仅是技术架构,也包括业务架构,商业架构。产品,不仅仅是一套具体的软件产品,也包括我们打算呈现给目标对象的一整套形象。比如说一个开源社区,你也可以从架构师的角度去思考,社区如何组织架构。也可以从产品经理的角度思考,如何运营打磨。

这些思考,都非常有意思。


2、能否谈一下您对开源的理解?您认为开源的核心和精髓是什么?

我理解的开源,是一套方法论。作为一场席卷全球的世界性运动,20 多年来的历史证明,开源不仅仅能够孕育最新的技术、创造更好的软件,更能够帮助这个世界变得更好。剖析开源的内涵,理解开源的精神,能够让我们理解,为何开源能够让世界变得更好。在我看来,开源的精神体现在这几个方面:

- 分享

- 开放

- 平等

- 协作

- 创造美好世界

乐于分享是一切善举的开端;公开透明是一切良好协作的基石;对于平等的追求是社区健康的保障;开放式协作,逐步凝聚共识是社区繁荣的秘诀;创造更加美好的世界,是开源的终极追求。

面对一个急速变幻、急速下坠、甚至可能变得撕裂的世界,我们更应该推广开源的精神,凝聚众人向善之力,汇聚众人向善之智,开放协作、互惠共赢,为这个世界变得更好,做出贡献!

最近我写了一篇宣言,总结了开源的分享、开放、平等、协作,然后在此基础上,创造美好世界的基础逻辑。可以供大家参考。

《开源人宣言》链接:

https://github.com/kaiyuanshe...


3、能否分享一下您对国内开源技术和产品的看法?

正好之前和朋友讨论过这个话题,我的看法是:应该将国内的开源技术和产品,看成某种“在土壤中生长的农作物”。

我们当然希望这些庄稼长势良好,但是现状是:远远称不上良好。我们对于自己的定位,应该是农业的工程师,不仅仅要埋头苦干,更不能拔苗助长。需要深入的研究土壤、水文、阳光、气温、肥力等等诸多因素,然后考虑如何逐步改进。还需要选种、育种,培养一代又一代更加优良的农作物,使得咱们的庄稼,越长越好。

换成行内术语就是:现在国内的开源土壤气候环境,还存在各种问题,我们得想办法不断改进。更加需要改进的,是我们的开源教育,引导培养更多的新人,热爱开源,投身开源。


4、几年前,您对“想要进入开源领域的开发者”的建议是“慎入”,那现在呢?这个开源领域对于新手还是那么的“危险”么?为什么?

依然是慎入,因为开源不是伊甸园,不是乌托邦。投入巨大热情,也可能会换来失望。如果无法坚持,还会反过来说:“我忽悠他们”。那我还是不忽悠,把难题讲得清楚些。

投入开源最大的危险,还是因为缺乏足够的时间,导致三天打鱼、两天晒网。几年前我提出慎入的时候,还没有996这个说法呢。现在,只会更难。


5、您在具体的开源过程中遇到的最大的挑战是什么?

无法合理的分配自己的时间,导致曾经的承诺无法兑现,很多自己想做的开源项目,也没有坚持下去。说实话,开源不是那种特别困难,特别挑战的任务。关键是,愿意花时间投入。


6、华为内部开源治理有哪些比较普适的经验或者方法可以分享?

正好本次COSCon 2020,我会有一场演讲《开源治理与数字化转型》,我对于这个方面也有一些自己的思考,想分享给大家。主要就是我从开源治理实践中,总结出来的一些方法论,欢迎大家收看大会的直播(直播链接见文末),也欢迎在社区里找我们讨论。


7、开源社区应该如何协调与商业之间的关系?

面对这个问题,我脑子里冒出来的第一个词是“无欲则刚”,哈哈。本质上,开源社区对于商业,平视即可。不必蔑视,不必仰视,不必唾弃,也不必依赖。平常心对待即可。另一方面,多学一点法律相关的内容,知识产权保护方面的内容,会有帮助。


8、您认为影响开源项目成败最关键的因素是什么?为什么?

Apache 社区的理念是社区大于代码(Community Over Code),但是在我看来,Code 是一串数字中的那个 1,Community 是 1 后面的那些 0。

我们不能简单的认为:社区比代码更重要,而是一个开源项目先得有代码,再在此基础上,培育健康的社区。到了某种良性循环的阶段,健康的社区能帮助代码发展得更好,那就妥当了。单纯强调其中一个因素,可能会有偏废。


image

中国开源年会作为国内最具影响力的开源爱好者聚会品牌,今年大会的主题是 「开源向善」,由来自于国内外领头羊的开源基金会和企业领袖,和观众分享开源运动与开源技术的最新发展和开源向善的本质与实践是如何改变了世界。

对 COSCon'20 内容感兴趣的你,可以通过下方的链接或点击阅读原文进行报名,期待你的参与!除了在线上观看直播外,本次峰会将在北京、上海、深圳、成都、长沙五城展开线下聚会,审核通过后即可免费报名参加~

会议报名链接:

https://www.bagevent.com/even...

线上直播链接:

https://segmentfault.com/area...

segmentfault 公众号

查看原文

赞 6 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-10-23

ASF 孵化器导师姜宁:开源不是简单的代码开放,是依托项目构建一个共同体

一个人走的很快,但是一群人能走得更远。通过开放协作我们可以做到很多时候一个人想都不敢想的事情。
—— ASF Member,ASF 孵化器导师姜宁

2020 中国开源年会 (COSCon'20) 将于 10月24-25日由开源社举办,SegmentFault 思否社区为本次大会的战略合作媒体,并将进行独家的线上直播。

本次年会将采取线上线下相结合的形式,北京、上海、深圳、成都、长沙五城联动,11 个分会场,线上线下同时进行。

为了让大家进一步了解开源、了解本次 COSCon’20,SegmentFault 思否特别采访了 Apache Member、ALC Beijing 发起人 —— 姜宁

姜宁老师是华为开源软件中心技术专家,前红帽软件首席软件工程师,有十五年以上企业级开源中间件开发经验,有丰富的 Java 开发和使用经验,函数式编程爱好者。

从 2006 年开始一直从事 Apache软件基金会 (ASF) 开源中间件项目的开发工作,先后参与 Apache CXF, Apache Camel,Apache ServiceMix,以及 Apache ServiceComb 的开发。2015 年开始担任 ASF 孵化器导师,参与孵化了 Apache Rocket,Apache Skywalking,Apache ShardingSphere, Apache IoTDB,Apache Doris(Incubating),Apache APISIX,Apache Weex(Incubating)。

作为长期活跃于开源社区和开发者社区的一名开源布道师,在本次的开源年会中,姜宁将以特邀主持人的身份主持《开源治理分会场》,并出席同期于北京举办的开源线下聚会活动。

image

以下为 SegmentFault 思否对姜宁的访谈内容:


1、网上有很多关于您的介绍,您一般倾向于如何介绍自己?

因为我现在的主要工作帮助大家理解开放式协作是什么,如何围绕开源项目构建社区,我更喜欢的还是 ASF 孵化器导师这个 title。


2、能否谈一下您对开源的理解?您认为开源的核心和精髓是什么?

我觉得开源不是简单的代码开放,而是依托开源项目构建起了一个共同成长发展的共同体(community),大家可以依托这个共同体完成了一个人无法完成的事业。

开源的核心是开放和协作,开放意味着大家获取开源项目相关的信息成本很低,可以跨越公司和组织的边界获取项目的信息;这样带来的好处是大家可以基于这些开放的信息来进行协作,开源项目的生产者和消费者可以平等的沟通,高效的协作。

开源的精髓是公开透明。应该是通过开放的代码可以让一群分布在世界各地的人们能够自发的进行高效协作,并且按照一定规则共享协作成果。


3、能否分享一下您对开源社区的理解和看法?您认为开源社区最大的价值是什么?

开源社区最大的价值是把开源项目的消费者和生产者联系在一起形成了一个利益共同体。依托于这个共同体,开源项目的生产者和消费者可以在一个公开平等的环境下项目协作,开源项目可以不断得到用户的有效反馈快速完善。

在这里新手可以获得免费的指导与开源项目一同成长,而开源社区的导师机制可以保证与开源项目相关的知识能够得到有效的传承,最后开源社区的归属感也不断推动着社区成员不计报酬的为社区做出贡献。


4、您认为现阶段是什么阻碍了更多的企业和开发者拥抱开源?

我觉得还是因为我们不了解开源,很多时候我们都是站在开源消费者(搭便车)的角度来看待开源,使用开源软件。大家会觉得我用开源就好了,如果让我投身开源,为开源项目做贡献的话是没有什么商业收益的。

很多时候大家自己基于开源软件所做的修改不愿意回馈到上游社区导致后续开源项目的隐性维护成本急剧升高,也是阻碍企业和开发者拥抱开源的一个很重要原因。


5、您认为开源对于企业最大的意义与价值是什么?什么样的企业适合拥抱开源文化?

我觉得开源对于企业来说最大的意义是开放式创新,依托开源项目企业可以联合客户一同协作解决实际问题,并且共享成果。

我一直认为好的软件是用出来的,不是一开始就设计出来的,通过开源可以充分调动客户的参与度,降低软件开发的试错成本,让我们开发的软件能够在比较短的时间内就能快速成熟。

互联网企业拥抱开源文化会比较快一些,现在越来越多的大厂也关注到了开源带来的效益,开始将开源的开发方式引入到公司的内部项目开发。


_**6、开源文化具备很多核心价值,是否有哪些可以引用延伸至其他领域?
**_

我理解的开源文化的核心价值包含了开放透明,精英之治 Meritocracy,协作。开放降低了大家获取信息的成本,让我们可以跨越时空进行交流。

Meritocracy 将权力交给实际干活的人,让有才能的人展现出来,让好的点子脱颖而出,真正做到才配其位。协作让大家跨越各种边界为了共同的目标聚到一起协同解决同样的问题。

开源的开放协作文化可以让来自于不同公司,有着不同背景的人坐在一起一同解决大家关心的问题。除了我们可以在一起开发软件,我们也可以在一起制定标准,或者是一起写一本书,创作一个故事。

一个人走的很快,但是一群人能走得更远。通过开放协作我们可以做到很多时候一个人想都不敢想的事情。


开源年会作为国内最具影响力的开源爱好者聚会品牌,今年大会的主题是 「开源向善」,由来自于国内外领头羊的开源基金会和企业领袖,和观众分享开源运动与开源技术的最新发展和开源向善的本质与实践是如何改变了世界。

对 COSCon'20 内容感兴趣的你,可以通过下方的链接或点击阅读原文进行报名,期待你的参与!除了在线上观看直播外,本次峰会将在北京、上海、深圳、成都、长沙五城展开线下聚会,审核通过后即可免费报名参加~

会议报名链接:
https://www.bagevent.com/even...

线上直播链接:
https://segmentfault.com/area...

segmentfault 公众号

查看原文

赞 6 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-10-23

发起 Wuhan 2020,他是高校开源创新首批「吃螃蟹的人」

内容概要:2020 年年初的新冠疫情席卷全国多地,为支援疫情重灾区武汉,一批来自五湖四海的人,自发集结起来,以开源的形式贡献力量。

关键词:开源教育  Wuhan2020  COSCon'20
作者:@超神经HyperAI


年初,新冠肺炎席卷全国多个城市,武汉作为国内首个感染者集中爆发的城市,牵动着全国人民的心。

1 月 23 日,农历腊月二十九,除夕的前一天,为了加强疫情防控,控制病毒传播,武汉做出了「封城」的决定,整个城市忽的一下被按下了暂停键,对疫情的惶恐冲淡了春节的喜乐祥和。

同样紧张忧虑的,还有当时身处上海的华东师范大学的教师王伟。他将这种惶惑不安化为力量和智慧,凭借技术的力量,亲身经历了这场魔幻的疫情阻击战。

Wuhan2020:前疫情时代的本土开源社区

技术,能为疫情中的武汉做些什么?同为教师和科技从业者的王伟,也在思考这个问题。

信息不对称导致资源浪费和流通效率低,是当时的主要矛盾,能否做一个信息平台,对接物资的供给方和需求方,让真实性信息在平台上流转起来呢?

1月25日,王伟老师在学生赵生宇的提议下,发布了一篇公众号文章,号召大家通过开源的方式来抗击疫情。


Wuhan2020 项目的第一篇招募文章发布

这篇文章经由众多社区和朋友转载后成功出圈儿,吸引了来自五湖四海、各行各业的社会人士加入,高峰时期项目志愿者超过 4000 人。

社区成立 8 个多月以来,在疫情地图、辟谣、对接供需方面,都发挥了重要的作用,开发、设计、文案……都是依赖志愿者线上沟通、远程协作完成的。

如今疫情告一段落,当我们问及 Wuhan2020 沉淀的经验和启发时,王伟老师坦言这是他和核心成员第一次组织如此大规模、线上的开源社区,大家获得了极大成就感,但是也暴露出一些问题。


Wuhan2020 GitHub 项目一览,目前 Star 人数已超过 6.3k
项目地址:https://github.com/wuhan2020

维护社区过程中沉淀下来的工作流程和开源工具,是一笔宝贵的财富,但是社区人员在开源素养和能力方面还有很大的提升空间。

如何评估一个开源社区的发展状况,王伟老师也跟我们分享了他在 Wuhan2020 中总结出来的经验。

第一制定开源健康指标,量化开源社区的运营状况,比如项目排名、活跃度、贡献者多样性等等;第二针对健康指标评分,给出解决方案。

国外很多学校和基金会都在做这件事情,比如著名的 Apache 基金会,相比于国外,国内开源现状还略显稚嫩。

建立国内开源氛围,需要更多实干家

除了「教师」这重身份外,王伟老师在业界也非常活跃。

开源社执行长、X-lab 开放实验室创始人、国内首个开源教育基金倡导者、2020 中国开源杰出贡献人物……这些标签像一个个被轻轻按下的 button,开启了一扇又一扇国内开源热潮的大门,让王伟老师对国内开源现状有了更深刻的认识。


王伟老师入选 2020 中国开源杰出贡献人物并发表感言

在王伟老师看来,开源在国内起步晚,加之缺乏必要的经验和支持,因此发展尚不成体系。

我们从网上得知,王伟老师在校期间曾参与多个产学结合的开源项目,合作企业既包括阿里、华为等国内大厂,也有 IBM、微软等外企。

那么国内外企业在对待开源项目上有何区别?这种差异是如何产生的?王伟老师结合自身感悟,给出了他的答案。

他认为,国内大厂的开源项目主要靠自我推广,比如企业内部去外面做宣传、举办 meetup 等,更新迭代主要依赖内部员工。

而国外大厂则正好相反,很多优质开源项目中,公司以外的贡献者远超内部员工,如此一来公司付出的开发和维护成本随之降低,产出远高于投入,激励企业开源更多项目,形成良性循环。


谷歌至今开源项目数量已超过 2000
数据来源于 https://opensource.google

而出现这种差异的主要原因,王伟老师认为有一部分原因是,国内开源基金会和企业都尚未准备好。

这导致开源治理只能由各个大厂自己负责,但是各大厂在这件事上并非「行家」,不仅缺乏开源贡献者,更缺懂开源治理背后体系的专业人士。

加上业务压力大,开源项目创收不足,因此企业投入到开源的精力也有限,这也导致开源仅停留在「生态构建需求」上,一直没被提升到战略级别。

而国内企业如果真想利用好开源,依王伟老师看离不开三点:盈利能力是前提、领导者重视是基础、耐心和恒心是关键。

只有贯彻好这些准则,才能不断加大自身对开源的贡献,提高自己在开源国际上的影响力。

越过重洋,才知道校园更需要什么

在美国 Wisconsin 大学 Madison 分校和美国 Florida 大学的访学经历,让同为教育者的王伟老师深有感触。

国外高校对于开源教育十分重视,会为此开设学科和具体的课程;可是当我们回望开源教育在国内高校的发展时,往往会发现一片广袤的荒芜,计算机及人工智能相关专业的蓬勃,轻轻撬动了「开源」这块冻土的一角,但这远远不够。


2015 年王伟老师在 Florida 访学期间拍照

这主要是因为中外高等教育体制的迥异。首先与开源贡献比起来,国内更重视论文发表和获奖,评估体系的差异导致国内师生缺乏为开源付出的动力。

其次则是产学结合的程度不同。美国高校和企业联系密切,因此促进了企业开源项目在学校内的传播和发展;国内企业和高校则比较割裂和脱节,绝大部分的开源项目还是在商业公司里。

回国后的王伟老师把自己这些思考带到了工作中,校内开源资源少,他就鼓励学生们「走出去」,去投身业内的开源社区、积极参与大厂定期举办的活动和竞赛,帮助同学们拓宽接触开源的途径。

2019-2020 学年第一学期,王伟还联合国内多个大厂和开源社区,包括开源布道师,在华东师范大学开设了首门深度开源实践课程《开源软件设计与开发》。


《开源软件设计与开发》的理论授课内容

王伟老师把学校视为「开展开源教育很好的试验田」,这块试验田给了他和同学们共同探索的平台,在课程的不断迭代中,王伟老师也得以因地制宜地打造更适合中国学生的开源教育。

而学校和王伟老师的这些努力,可以帮助同学们接触到最先进的技术,最先进的理念,以及遇到最优秀的志同道合的一些人,提升同学们的「个人素养和协作精神」。

COSCon'20 报名进行中,王伟老师在等你

业内最具影响力的开源年度盛会 2020 中国开源年会(COSCon'20)将于 10 月 24-25 日召开。今年的嘉宾分享将采取线上线下相结合的形式,从人工智能、开源治理、数据技术、教育与公益等 11 个方向,讲述开源向善(Open Source for Good)的主题。

王伟老师不仅担任了教育与公益分会场的出品人,也会在大会进行主题演讲,并发布《2020中国开源年度报告(预览版)》

你可以通过访问以下链接进行报名或观看直播。活动火热进行中,期待你的参与!

报名链接:https://www.bagevent.com/even...
线上直播链接:https://segmentfault.com/area...

查看原文

赞 7 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-10-23

拒绝「扼脖子」,Zilliz 打造国产开源基础软件样板

内容概要:2020 年中美贸易摩擦频发,美国对中国的制裁从实物蔓延到了技术领域,降低对国外基础软件的依赖、寻求科技自主的风气盛行,国产基础软件从幕后走到台前,开始发力。

关键词:中美摩擦   科技制裁   基础软件

作者:@超神经HyperAI

2020 年 6 月初,随着中美贸易摩擦的加剧,工科神器 MATLAB 数模软件在国内 13 所高校内被禁用。随后又一基础软件、化学神器 ChemOffice 开始严查盗版,一时间国内科研圈人心惶惶。

除学术领域外,产业中从云基础架构到数据库再到操作系统等,对国外基础软件也存在相当广泛的依赖。基础软件被禁用为国内企业敲响了警钟,要想不被「扼脖子」,就要科技自主,创建国产的基础软件。

实际上国内早有企业在研发基础软件,Zilliz 就是其中的一个代表。今天我们有幸邀请到了 Zilliz 合伙人、首席架构师顾钧,和他一起聊聊开源的故事。

从北大到 LF AI,深耕数据服务 16 年

2004 年顾钧从北大计算机科学专业毕业,成为工商银行的生产系统数据库管理员,这开启了顾钧与数据库服务的不解之缘此后他又先后在 IBM、摩根士丹利、华为等企业任职,负责过多家银行的数据中心、核心数据库维护及优化等业务。

据网上数据统计,银行非常受北大毕业生的偏爱,众多北大学生把银行作为毕业后的理想归宿。同是北大毕业生、同样有丰富银行数据库管理经验的顾钧,却偏要逆行。

2019 年 6 月,顾钧以合伙人和首席架构师的身份加入开源基础软件公司 Zilliz,负责公司的开源基础软件、向量搜索引擎 Milvus。

顾钧在 GAIR 2020 的 AI 源创专场进行分享

工作内容的变化为顾钧接触开源基金会提供了契机,2019 年 12 月,顾钧成为 LF AI 技术咨询委员会的投票成员,在代表 Milvus、帮助 Milvus 成长的同时,帮助 LF AI 扩大外部的影响力。

LF AI 全称 Linux Foundation AI Foundation,是 Linux 基金会旗下面向 AI 领域的顶级基金会,致力于创建可持续发展的开源 AI 生态系统,借助开源技术轻松创建 AI 产品和服务。

LF AI 成员企业列表丨Zilliz 与 AT&T、华为等大厂均属于高级会员

以这种方式加入到开源事业中,在数据库工程师出身的顾钧看来,是「始料未及」的。

把开源写进基因的基础软件公司

顾钧所加入的 Zilliz 专注于开发面向 AI 和 IoT 时代的数据科学软件。

在数据科学、AI 等领域,开源本就是一个非常常见的做法。同时,在研发内部项目的过程中,Zilliz 也大量受惠于其他开源项目,因此 Zilliz 拥抱开源理念、融入开源社区,这在顾钧看来是一件「自然而然的事情」。

顾钧与 Zilliz 部分团队成员合照丨二排左四为顾钧本人

确定了公司的开源战略后,Zilliz 进行了一系列尝试和努力。

2019 年 12 月 17 日,Zilliz 正式成为 LF AI 基金会的高级成员。

2020 年 1 月 16 日(受新冠疫情影响,LF AI 审批流程延期至 4 月初),经 LF AI 技术委员会投票决定,特征向量相似度搜索引擎 Milvus 正式成为 LF AI 基金会的孵化项目。

4 月 22 日, Zilliz 创始人兼 CEO 星爵当选 LF AI (The Linux Foundation AI 基金会)新一届理事会主席,这是中国代表首次担任国际顶级开源 AI 社区的最高职务。

image.png

LF AI 部分现任理事会成员丨左一为 理事会主席、Zilliz CEO 星爵

在公司内部大家常常打趣道,Zilliz 为国际开源事业算是做到了出项目、出钱、出人、又出 CEO。

在谈及 Zilliz 后续在开源领域的愿景和规划时,顾钧坦言,Zillliz 是一家开源基础软件公司,我们相信开源是验证需求与拓展开发者的最优解。公司接下来的研发方向依然会围绕数据科学领域布局全球,让世界看到中国的开源项目也能做到国际一流,帮助提升中国公司在全球开源圈的影响力。

首个国产 AI 数据平台向全世界开源

Zilliz 将开源提升到战略层面后,打头阵开源的产品就是基础软件 Milvus。

据 IDC 预测,2018 年到 2025 年之间,全球产生的数据量将会从 33 ZB 增长到 175 ZB,其中超过 80% 的数据都会是处理难度较大的非结构化数据。如何快速高效地处理大规模非结构化数据,成为企业健康发展的关键。

为此,Zilliz 推出了向量搜索引擎 Milvus,从而方便用户对特征向量进行计算和检索,加快非结构化数据的处理进程。


官方公布的 Milvus 整体架构示意图丨确定 Milvus 的开源路线后,顾钧和团队做了两项准备工作。

首先他们按照开源的惯例与要求对 Milvus 的源码和文档进行了梳理。接下来他们为 Milvus 寻找合适的国际一流的开源基金会。

在顾钧看来,只有项目自身和外部环境都准备就绪,才有机会让全球开发者了解 Milvus、使用 Milvus,甚至为 Milvus 项目做出贡献。

2019 年 10 月,Milvus 正式在 GitHub 开源。在其开源的 7 个月内,Milvus 就吸引了超过 300 家企业级用户,甲子光年曾这样形容 Milvus 开源后的成绩:即使是在没有付费门槛的开源市场,这个速度依然惊人——目前成立五年、已是中国开源项目样本的新型分布式数据库公司 PingCAP 积累前几百家企业用户用时为两年半。

截止到今年 4 月,Milvus 的下载量已超过 20k,外部贡献者数量约为内部贡献者人数的 4 倍。

贝壳找房、WPS智能写作平台均为Milvus的用户

能取得这些喜人的成绩,在 Milvus 开源负责人顾钧看来,主要得益于团队明确自身能为受众带来的价值,并且量体裁衣,针对开发者和 B 端用户分别采用了不同的引导方式。

一个国产软件,能够进入国际一流的开源基金会,做出在国际市场上首屈一指的优秀开源项目;在拥有行业领先的核心技术时,有勇气有信心向全世界开发者公开自己的源码,Zilliz 的高瞻远瞩的全球发展战略令人钦佩。

看开源年会,听顾钧分享 Milvus 的故事

业内最具影响力的开源年度盛会 2020 中国开源年会(COSCon'20)将于 10 月 24-25 日召开。今年的嘉宾分享将采取线上线下相结合的形式,从人工智能、开源治理、数据技术、教育与公益等 11 个方向,讲述开源向善(Open Source for Good)的主题。

10 月 25 日 16:50-17:30,顾钧将在 COSCon'20 人工智能分会场带来题为《Milvus:构建非结构化数据服务》的分享。

你可以通过访问以下链接,或点击阅读原文进行报名。活动火热进行中,期待你的参与!

报名链接或点击原文阅读:https://www.bagevent.com/even...

线上直播链接:https://segmentfault.com/area...

查看原文

赞 7 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-10-23

从受益者到贡献者,朱凯的 ClickHouse 升级之路

内容提要:由开源社举办的 2020 中国开源年会 (COSCon'20) ,即将在本周末拉开帷幕。HyperAI超神经一直以来都关注开源领域的动向,我们对本次开源大会讲师朱凯进行了专访,在此分享他参与开源事业十年以来的经历与感悟。

关键词:ClickHouse DolphinScheduler 开源
作者:超神经HyperAI

在 IT 领域从业 10 年,朱凯说,自己的整个职业生涯都在和开源软件打交道。

这十年间,他一边见证着国内开源环境的巨大变化,一边从开源项目的普通用户,升级为知名开源项目 ClickHouse、Apache DolphinScheduler 等的重要贡献者。

十年职业生涯,也是他在开源领域的升级之路

朱凯说,投身开源事业,开拓了他的视野,也让他拥有了更大的舞台。

被性能惊艳,投身 ClickHouse 布道

近年来,用于线上分析处理的开源列式数据库 ClickHouse,在国内外技术社区受到极大关注,同时也深受科技大厂的青睐,今日头条、腾讯等都纷纷将其投入大规模使用。

开源四年,该项目在 GitHub 上的 star 数就已达到 12.5k丨增速惊人,远远超过其它同类项目

2017 年 4 月,在朋友的推荐下,朱凯第一次接触到 ClickHouse。这个由俄罗斯互联网巨头 Yandex 开源的 OLAP 数据库,以碾压性的性能优势,给朱凯留下了极为深刻的印象,他从此便成为了 ClickHouse 的忠实粉丝。

举例来说,在 1 亿数据集大小的情况下,ClickHouse 的平均响应速度超越了多个 OLAP 开源引擎,比如是 Vertica 的 6.08 倍、 Greenplum 的 18、Hive 的 126 倍以及 MySQL 的 429 倍。

ClickHouse 与其它引擎查询处理时间对比丨(时间越短越好)

经过一番对比论证,朱凯和团队很快就用 ClickHouse 完全替换了当时正在使用的同类产品,相关性能得到了很大的提升。

作为一名使用者,朱凯在学习和使用过程中,会将发现的 bug 即时上报,也会翻译一些英文文档。

随着他对 ClickHouse 的理解越来越深入,也渐渐发现了一些问题。「ClickHouse 的学习资料实在匮乏,除了官方手册之外,基本没有其他成体系的资料。即便是官方手册,也缺乏一些原理性的解释。」

作为一个 ClickHouse 的受益者以及贡献者,朱凯觉得自己还可以做更多来回馈项目。

2018 年底,朱凯决定将自己在实践和学习过程中的经验进行整理和总结,并编写成书,希望将这些知识分享给更多开发者。

2020 年 5 月,仅仅经历了一年半的时间,他编写的《ClickHouse 原理解析与应用实践》便出版了。

据了解,这是当前市面上第一本关于 ClickHouse 的书籍

朱凯在书中对 ClickHouse 的时代背景、发展历程、核心概念、基础功能、运行原理等进行了全面介绍与解读,帮助更多人快速了解 ClickHouse。此外,由于技术的迭代很快,朱凯还特地运营了公众号「ClickHouse的秘密基地」,以作补充。

就是这样,不满足于只做一个受益者,朱凯将自己对于开源的热爱,写进了开源项目的代码里和书籍里。这也是开源教会他的,不仅仅是作为单纯的信息接受者,也要学会做一个信息输出者。

从 User 到 Committer,参与开源并不难

除了 ClickHouse,作为一名资深开源贡献者,朱凯还是明星开源项目 Apache DolphinScheduler 的 Committer。

今年 4 月,得知自己成为 DolphinScheduler Commmitter 时,朱凯感到特别激动,「在我的价值观体系里面,对于一个程序员来说,能够成为 Apache Committer,能够拥有 Apache 邮箱,那绝对是至高无上的荣耀。」

该项目于 2019 年 8 月进入 Apache 基金会丨是中国第 16 个进入 Apache 基金会的项目

激动之余,他也和其他开发者分享了自己在开源领域这些年的感悟。

  • 学习规则很重要。每个地方都有着自己的游戏规则,既然我们要参与其中,认同并遵循它的文化理念自然很重要。

    以 ASF(Apache 软件基金会,Apache Software Foundation)为例,ASF 遵循精英自治,投票文化,具体细节建议大家搜索「Apache 之道」详细了解一下。

  • 想做贡献,可做的不仅仅是写代码。很多人,包括我在内,在很长时间内一直以为只有提交代码才算做贡献,其实并不是。

    贡献的形式是多种多样的,包括代码、编写文档、社区问题答疑、提 issue、宣传布道等各种形式。所以找到你擅长的领域,持续输出、持续贡献即可。

  • 参与开源,可以「各怀鬼胎」。从小的英雄主义教育我们,英雄到最后很可能都是会受伤、要牺牲的。所以很多人,包括我在内,在很长时间内认为搞开源是件很神圣的事情,不能带有杂念,只能利用个人时间付出、不能有收益,否则就是「不纯洁」。

    其实并不是,经验告诉我们,一件事情如果没有利益驱使,是无法持续长久的。只靠一时激情,也就只能换来三分钟的热度。

  • 快速迈出第一步。很多时候,我们总是停留在设想(YY)、规划(自嗨)阶段,迟迟不愿有所行动,殊不知迈出第一步是何等的重要。这是破圈的开始,站在圈外观摩,和身在其中是完全不同的体验。如果你想参与开源,成为开源项目的 Contributor,从现在就开始吧!

国内开源的未来:满怀信心

回溯过去,中国的开源项目大概始于 1995 年左右,至今不过二十多年的历史。

但这二十多年时间国内开源经历了可谓翻天覆地的变化。朱凯就亲历了近十年来国内开源环境的变化,并由衷感慨:「开源的氛围在国内是越来越好了,特别是在 2019 年。」

为什么这么说?朱凯解释道:「很多圈内人都在说 2019 年是中国开源的爆发之年。的确,这一年,在 GitHub 全球 4000 万注册用户中,来自中国的开发者在数量和贡献度上均排名第二。中国的活跃开源项目贡献者,有 40% 以上是在 2019 年加入的。」

中国在 GitHub 的开发者数量增长迅速丨数量位居第二,**目前仅次于美国(信息来源:CSDN)

以朱凯自身比较关注的 Apache 基金会来说,截止到 2019 年底,已经有 16 个中国的开源项目进入了 Apache 基金会。也有越来越多的中国人成为了 Apache 的 Member。

据统计,截至 2020 年 4 月丨全球共有765 位 ASF Member,其中华人 40 名

如今,中国也有了自己的开源协议 「木兰宽松许可证 」和 开源基金会 「开放原子开源基金会」,一切都在逐步推进。

这些变化,都让朱凯对国内的开源事业抱有很大信心:「我相信今后大家参与开源的门槛会越来越低、中国本土的开源力量会越来越强大。」

COSCon'20 报名进行中,朱凯老师在等你

业内最具影响力的开源年度盛会 2020 中国开源年会(COSCon'20)将于 10 月 24-25 日召开。今年的嘉宾分享将采取线上线下相结合的形式,从人工智能、开源治理、数据技术、教育与公益等 11 个方向,讲述开源向善(Open Source for Good)的主题。

朱凯将在 10 月 25 日的数据技术分会场,进行主题演讲《从 ClickHouse 的名字来历说起》,与广大开发者分享 ClickHouse 的历史与发展、核心功能以及应用场景等。

你可以通过访问以下链接,或点击阅读原文进行报名。活动火热进行中,期待你的参与!

报名链接或点击原文阅读:https://www.bagevent.com/even...

线上直播链接:https://segmentfault.com/area...

查看原文

赞 8 收藏 1 评论 0

思否小姐姐 赞了文章 · 2020-10-23

思否开源项目推介丨Rust Search Extension:在浏览器地址栏快速搜索 Rust 文档

开源项目名称:Rust Search Extension
开源项目简介:在浏览器地址栏快速搜索 Rust 文档
开源项目类型:团队
项目创建时间:2020
GitHub 数据:375 Star,18 Fork
GitHub地址:https://github.com/huhu/rust-search-extension

Rust Search Extension是一款可以在浏览器地址栏快速搜索 Rust 文档、crates、内置属性和错误码等的插件,支持 Chrome,Firefox 和 Edge,深受国内外很多 Rust 开发者的喜爱。

功能支持

  • 搜索基本类型和模块
  • 搜索 Structs, Traits 和 Enums
  • 搜索函数、方法和宏
  • 搜索内置属性
  • 搜索 https://crates.iohttps://lib.rs 上的 crates
  • 支持在 docs.rs 上搜索 crate 的文档
  • 支持搜索 Compiler Error Index 上的错误代码
  • 支持实时搜索 Rust 官方书籍的章节
  • 支持搜索 Cargo Clippy lints
  • 支持暗色模式
  • 支持离线模式,可以搜索本地 Rust 文档 (rustup docs --std)
  • 内置命令 (:yet, :book, :stable, :book, :label, :tool, :mirror and :history etc)
  • Docs.rs 加强,展示每一个 crate 的 Feature flags

特性演示

在浏览器地址栏输入关键字 rs,然后敲击空格键就能激活查询功能,输入任何你想搜索的词,插件会即时返回相关搜索结果。

图示

数据统计

对搜索历史记录进行可视化。

结语

如果你是 Rust 开发者,日常与 Rust 文档打交道的时间一定很多, Rust 新手更是如此。通常 Rust 工程师查询文档每次需要打开书签,再搜索、查找,反反复复,浪费时间不说,还容易打断思路。

这时你一定非常期望有一个便捷的工具能够在浏览器中直达文档,利用浏览器的搜索框直接搜索,最好还能附上提示。

Rust Search Extension 正是为此而来,Rust Search Extension 支持对 Rust 搜索基本类型、模块、Structs, Traits、Enums、函数、方法和宏,搜索 Compiler Error Index 上的错误代码也不在话下。更有搜索统计可视化,方便自己了解搜索词的权重。

该项目已入选「SFOSSP - 思否开源项目支持计划」,我们希望借助社区的资源对开源项目进行相关的宣传推广,并作为一个长期项目助力开源事业的发展,与广大开发者共建开源新生态。
有意向的开源项目负责人或团队成员,可通过邮箱(pr@segmentfault.com)提供相应的信息(开源项目地址、项目介绍、团队介绍、联系方式等),以便提升交流的效率。

segmentfault 思否

查看原文

赞 11 收藏 4 评论 1

思否小姐姐 赞了文章 · 2020-10-23

独立开发者们快来填「独立开发者生存现状」调查问卷!

独立开发者们快来填「独立开发者生存现状」调查问卷!

SegmentFault 思否社区作为服务于开发者的技术社区,一直致力于为开发者及独立开发者的成长提供帮助,为此我们还推出了「思否独立开发者支持计划」,通过采访等形式帮助独立开发者宣传产品和传递理念。为了更好的了解独立开发者并为这个开发者群体提供帮助,我们决定以调查问卷为基础撰写独立开发者生存现状报告,从而让更多人关注到独立开发者这个群体,让更多力量可以对这个群体进行支持。


↓点我

https://jinshuju.net/f/iuK8pB

↓扫我

image

至今我们已经发布了20余篇独立开发者的采访(还有多篇采访积极完善中),在为被采访者带来产品曝光和展示的同时,也让开发者们结识了众多志同道合的小伙伴。当然也收获了不少用户们的认可。

独立开发者采访传送门:https://segmentfault.com/t/%E7%8B%AC%E7%AB%8B%E5%BC%80%E5%8F%91%E8%80%85


image

二维码过期添加思否小姐姐拉你入群
image.png
查看原文

赞 6 收藏 0 评论 8

思否小姐姐 赞了文章 · 2020-10-23

1024 思否有奖征文活动丨我和我的“格子衫”

image

提到程序员大家总会第一时间联想到“格子衫”,价格亲民、休闲百搭、面料舒适的格子衬衫正是 1024 前后秋季程序员的最爱。

但除了格子衫,其实程序员还有很多私藏好物,手感超好的机械键盘、996 都不怕的工学椅、大促时的云主机、all in one 超好用的项目管理工具防脱洗发水甚至程序员内裤……

欢迎参与 SegmentFault 思否 #1024 特别征文活动#,分享一件或几件你钟爱的好物。双十一的前奏,让我们供拟 “ 不踩坑剁手清单 ”,我们也将联合广大合作伙伴,为分享好物的开发者们送上一拨儿真正的“程序员好物”~

1024 思否征文活动丨我和我的”格子衫”

征文主题:#我和我的“格子衫”# 参选时间:2020年10月23日 - 11月11日

活动规则:请以在社区发布文章的形式参与本次征文活动,和大家进行程序员好物分享~

奖项设置:本次奖项分为「人气好物奖」、「效率大师奖」、「生活玩家奖」,「从头开始奖」此外可能还有各种惊喜附加的奖项等着大家,只要作品好,奖品少不了!具体奖品及评选标准如下:

  • 从头开始奖 x 15 名:率先提交作品,并满足征文质量要求的 15 名社区用户,将获得由 Menxlab 时光里赞助的臻享生发套装一份助你“聪明不绝顶”(市场价:358 元/套盒)
  • 人气好物奖 x 5 名:本奖项主要综合考量参选文章的阅读量、互动量等相关数据,奖品为 AWS 赞助的人气公仔 1 个;
  • 效率大师奖 x 5 名:本奖项主要根据推荐的好物为工作、生活所带来的实际效果为参考维度进行评选,奖品为京东智联云赞助的超大鼠标垫 1 个;
  • 生活玩家奖 x 5 名:本奖项将颁发给最会享受生活的生活节奏大师,奖品为 LeanCloud 赞助的「积木塔」 1 座;
  • 意外惊喜奖 x 若干名:只要作品好,奖品少不了,思否小姐姐正为大家四处奔波、搜集福利中……

image

备注:文章需添加 「1024-征文活动」为文章的标签,且在文章末尾超链接注明:

本文参与了 SegmentFault思否征文「1024 征文活动」,欢迎正在阅读的你也加入。

思否小姐姐会把优质文章汇总收录并发出,参与征文活动的优质文章内容,还将:

  • 被推荐到社区首页及技术交流群,分享给更多的开发者;
  • 获选的优质投稿内容,还将有机会获得社区精美礼品;
  • 小姐姐也喜欢穿格子衫,忙完这几天也会推荐一个属于自己的好物,为方便文章被尽快收录,文章发布后欢迎在此帖下面留言

PS:鼓励开脑洞,但禁止盗图或剽窃他人的生活

PSS:感谢本次活动礼品的赞助商:Menxlab时光里、AWS、LeanCloud、京东智联云开发者社区

PSSS:感谢每一个愿意分享生活片段、热爱生活的开发者们,谢谢大家!

如有疑问,可以扫码下方二维码,添加「SF 思否小姐姐」微信,欢迎咨询哦~

参选文章(持续更新中):

1、1024好物分享丨脱单不脱发,就靠它!
2、1024 程序员必备好物推荐 丨我和我的“格子衫”
3、1024 程序员必备好物推荐(vscode 插件) 丨我和我的“格子衫”
4、1024 程序员必备好物推荐 丨我和我的“颈椎按摩仪”
5、“智能手表让我和时间的博弈,略胜一筹”丨1024 征文活动
6、好物分享 | 键盘清洁泥与护眼仪
7、1024 程序员必备好物推荐丨我和我的防蓝光眼镜
8、作图神器ProcessOn - 免费好用
9、1024 程序员必备好物推荐丨保护我的颈椎和眼睛
10、1024 程序员必备好物分享丨我和我优秀的茶壶

查看原文

赞 13 收藏 1 评论 12

思否小姐姐 赞了文章 · 2020-10-23

Web/JavaScript 全栈开发者水歌:开源之“道”的三股势力

开放、平等、自主的社会化协作是放之四海而皆准的最佳实践,是来自开源界的馈赠。—— Web/JavaScript 全栈开发者,水歌


2020 中国开源年会 (COSCon'20) 将于 10月24-25日由开源社举办,SegmentFault 思否社区为本次大会的战略合作媒体,并将进行独家的线上直播。

本次年会将采取线上线下相结合的形式,北京、上海、深圳、成都、长沙五城联动,11 个分会场,线上线下同时进行。

为了让大家进一步了解开源、了解本次 COSCon'20,SegmentFault 思否特别采访了水歌老师。

水歌是一位 Web/JavaScript 全栈开发者,也是 WebCell 前端开源框架作者,现任 freeCodeCamp 成都社区负责人、开源社执委会成员、微软最有价值专家(开发者技术领域),日常爱好音乐、电影、汉服、滑雪。

长期活跃于开源社区的他,致力于在开放生态中为社会创造价值。在本次的开源年会中,水歌老师将以出品人及主持人的身份掌舵「Web 全栈及其他」分论坛,并出席同期于成都举办的开源线下聚会活动。

以下为 SegmentFault 思否对水歌老师的访谈内容:


1、如果需要给“开源”下一个定义,您认为是什么?

开源一词虽源于“开放源代码”,但公布源码仅为其表面,其核心是一种开放式社会化协作,所以开源硬件、开放文档、基于 Creative Commons 协议的开放文艺作品等,乃至公益、慈善机构等开放社群,皆为开源。


2、您认为开源对于开发者来说,最大的价值和意义是什么?

对个人开发者是一种能力的锻炼与证明,对企业是一种更高效的创新与营销模式


3、您认为什么样的开源项目算是优质的开源项目?有没有一些评判标准?

社群开放、平等、自主,剩下的高质量的代码、清晰的文档、自动化的工作流等等,便纷至沓来~


4、能否分享一下您对国内开源技术和产品的看法?

国内 IT 业在技术、产品上虽与欧美还有差距,但开源界还是有不少开始显现全球影响力的项目,这些“术”的层面对勤奋钻研的华人而言并非不可逾越的鸿沟。

但从“道”的层面看,完整的开源界由三股势力构成

1)草根开发者社群:所谓“市集”,也是自由软件、开源软件的诞生地

2)公司开源团队:所谓“大教堂”,一般是开源商业公司(RedHat 等)或开源转型的传统公司(Microsoft 等)

3)开源基金会:依赖开源的公司捐款给基金会,基金会招募草根开发者

反观中国大陆:

1)只有大公司以 KPI 的方式做开源比较强,以开源为核心商业模式的公司凤毛麟角

2)纯民间的基金会仍有政策上免税、公募资格的很大门槛,现在完全称不上气候

3)而我国最不缺的人,却几乎没有前文所述“开放、平等、自主”之意识,除了现在人人都使用开源软件,但在社群影响力上比十年前并没强多少

因此,我很赞同某同仁的一个观点 ——

若国人只学习洋人的技术,而不学习诞生创新技术的社会氛围,那就永远只能做跟随者,今日中国之开源只能是一场“新洋务运动”


5、您在具体开源的过程中遇到的最大的挑战是什么?

  • 当你有个好想法时,别人说:你先做个样子我看看~
  • 当你写了个原型时,别人说:你做稳定了我再试试~
  • 当你发了稳定版时,别人说:你生态完善了我就用~
  • 当你写完周边库时,别人说:你有大厂项目社区大?

6、对于开源行业未来的发展,您有什么期待?

期待中国大陆有更多人参与开源项目、开放社群,而不只是做个成品使用者、活动围观者。


7、您认为开源的概念和文化,有哪些可以被借鉴到其他领域?其他领域的文化有哪些可以被开源行业所参考?

开放、平等、自主的社会化协作是放之四海而皆准的最佳实践,是来自开源界的馈赠。

而在开源人的交流上,我近两年在借鉴境外技术嘉年华、境内 ACG 漫展,努力尝试「开源市集」这种活动形式,期望技术宅们能多走出来联络,不能只在电脑前面闭门造车:

1)2018 成都 Web 前端大会「开源市集」
2)2020 中国开源年会·成都分会场「开源市集」

欢迎大家踊跃参与今年 COSCon'20 的开源市集,我也会经常分享我的开源经验,并支持更多有心的小伙伴参与开源~


10月25日,水歌老师将作为「Web 全栈及其他」分论坛的主持人。以下为该论坛的活动日程及嘉宾名单:

☟☟☟

*更多主题信息以会议当天内容为准


报名方式 & 直播链接

对 COSCon'20 内容感兴趣的你,可以通过下方的链接或点击阅读原文进行报名,期待你的参与!除了在线上观看直播外,本次峰会将在北京、上海、深圳、成都、长沙五城展开线下聚会,审核通过后即可免费报名参加~

会议报名链接:https://www.bagevent.com/even...
线上直播链接:https://segmentfault.com/area...

segmentfault 思否

查看原文

赞 6 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-10-23

开放原子基金会 TOC 主席堵俊平:开源的本质是“人与人基于代码的联结”

国内的开源社区目前发展势头很好,但同时也面临着叫好不叫座的尴尬境地。 —— 开放原子基金基金会主席,堵俊平


2020 中国开源年会 (COSCon'20) 将于 10月24-25日由开源社举办,SegmentFault 思否社区为本次大会的战略合作媒体,并将进行独家的线上直播。

本次年会将采取线上线下相结合的形式,北京、上海、深圳、成都、长沙五城联动,11 个分会场,线上线下同时进行。


为了让大家进一步了解开源、了解本次 COSCon'20,SegmentFault 思否特别采访了本次大会的嘉宾堵俊平老师。

堵俊平老师是开放原子基金基金会 TOC 主席,LF AI 基金会董事,Apache 基金会 Member,Hadoop 等项目的 Committer 以及 YuniKorn、TubeMQ 等项目的导师,也是华为的高级专家、云与计算 BG 的开源业务总经理,负责华为在云与计算领域整体的开源工作。

以下为 SegmentFault 思否对堵俊平老师的访谈内容:


1、网上有很多关于您的资料介绍,您一般倾向于如何介绍自己?

一个开源社区的长期贡献者,这是我最骄傲的身份。


2、能否谈一下您对开源的理解?您认为开源的核心和精髓是什么?

开源这个话题很大。对开源的一个通常的误解就是公布源代码,其实开源远不止如此。

首先,代码公开可获得并不是开源的充分条件,业界有个组织叫 OSI 专门来定义开源,一个真正的开源项目除了代码公开可获得,还需要满足代码可修改,可分发等要求。

其次,开源界有个基本共识,就是社区远大于代码,或者说由人来构成的开源社区远远比代码重要的多。基于代码,构建一个“我为人人,人人为我”的追求创新、有温度的技术社区,是项目成败的关键。

基于此,我所理解的开源本质是“人与人基于代码的联结”。这样看来,之前 GitHub 被人戏称为全球最大的同性社交平台的说法也不是没有道理。


3、能否分享一下您对国内开源技术和产品的看法?

首先我认为开源技术是无国界的,开源代码从公开的那一刻起就是属于全世界的共同财富。正因为开源技术的这种利他性,破除了很多创新的壁垒,让我们的创新工作可以站在巨人的肩膀上。

从另一方面来看,我们有很多的开源项目缺乏原创性,并没有明显的技术或者应用优势,感觉是为了开源而开源。其实开源是手段而不是目的,有些公司和组织在开源项目和宣传上偏重数量而非质量,这显然有一定的误导性。

当然,相对于几年之前,国内的开源氛围和成果已经进步了很多,一是高层的广泛关注和重视,很多企业,比如华为、腾讯等都建立了公司级的组织机构,并把开源列为公司级发展战略,我们也有了自己的开放原子开源基金会,开源领域的头部创新公司都踊跃来参与;

二是开源的人才和项目蓬勃发展,我在 7 年前成为国内第一个 Hadoop 项目的 Committer 的时候,那个时候国内的 Committer 和开源贡献者可以说是凤毛麟角;到后来经历了以开源为主的云计算(openstack), 大数据(Hadoop, Spark),云原生(K8s),AI (TensorFlow, PyTorch) 等一波又一波的技术浪潮的洗礼,越来越多的贡献者了解并参与到开源的大家庭里来。

当然,从项目维度上看,我们也取得了很不错的进展,从 Kylin 项目开始,我们已经累积有 20 多个项目捐献给 Apache 基金会;在 Linux 基金会方面,除了项目捐献,我们今年有两个项目分别是源自腾讯的 TARS, 和源自华为的 SODA 项目在 Linux 旗下成立了子基金会,发展了很多全球的会员加入到社区贡献。

AI 是公认的 IT 技术领域皇冠上的明珠,这两年国内开源的几个新兴的框架型项目,比如 MindSpore,Angel 等,都是有独到技术特色的优秀项目。有企业大力度的投入资源,也有优秀的人才以及项目积累,国内出现具备全球影响力的开源项目和产品只是时间问题。


4、您认为什么样的开源项目算是优质的开源项目?有没有一些评判标准?

对于优质或者说成功的开源项目,业界其实没有一个严格的标准。有些观点倾向于结果性指标:比如项目的用户量(下载量,部署量,引用量等),在业界的技术影响力,产生的商业价值等等;有些倾向于过程性指标:比如社区的健康度(贡献者数量、分布以及活跃度)等。

在我看来,这些都是评价一个开源项目当前是否优秀可以参考的因素。但我更看重的是,项目背后的社区是否能支持项目持续发展。

这些因素包括:社区的信息和讨论是否公开、透明,从而营造出一个可信赖的工作氛围;社区是否鼓励创新创造,不断的吸引有想法,有能力,有意愿的贡献者来加入;社区治理机制是否完善,是否充分考虑到开发者、使用者、生态拓展者等各个角色的利益和意愿等等。

这些因素决定了一个项目未来发展的潜力,也就是能走多远。


5、您和您的团队在开源的整体过程中,遇到的最大挑战是什么?又是如何解决的?

在企业内部做开源,最大的挑战之一是解释清楚开源相关的工作与业务的关系。企业不是慈善团体,做任何决策往往都从自身的商业利益出发。只有解释清楚了,才能赢得高层的支持以获得相关的资源投入到开源工作。

由于开源天生具有利他属性,通过把握好这一点,让开源项目真正为用户和合作伙伴的利益服务,培养信任以及共同的利益,自然也能助力业务上的突破。

在基金会里做开源,由于很多公司彼此间有一定的业务冲突,在这种情况之下如何让大家能坐下来谈合作,而不是各玩各的,是很有挑战的。

我们开放原子 TOC 团队的共识是以技术的客观性为共同的判断依据,最大程度的发挥技术中立的原则,来构建充分信任和合作的平台,让开源项目成为各家普惠的工具而非独家垄断的武器。


6、开源社区应该如何协调与商业宣传的关系?

首先,开源与商业并不是矛盾的关系,我们近年来看到很多主流的开源许可证,例如 Apache v2 都是商业友好型的 license。这类许可证被设计出来,就是为了促进商业推广,从而造就了开源的空前繁荣。从这个意义上来说,开源与商业有某种意义上的相互配合的关系。

但从另外的角度而言,两者的区别也比较明显,商业宣传会着重面向付费客户,尤其是头部客户,宣传的口径和场景也会为重点客户而量身订造;而开源社区的推广主要是面向最终用户和开发者,着重覆盖最广泛人群,而不大会关心人群背后的商业属性。

开源社区作为一个包容性的群体,应该允许商业化组织进行技术和产品的宣传与推广工作,但要避免商标被侵权和滥用,以及由可能的夸大事实而造成的负面影响。


7、商业公司应该如何拥抱开源?

如上面所说,商业和开源不但不矛盾,而且在很多场景下都是相互促进的关系。就商业公司而言,想清楚为什么开源以及找到适合自己业务的开源商业模式是首当其冲的问题。找到开源与核心业务的本质联系之后,如何做好开源就成为下一步的问题。

公司可以基于自身的特性和业务场景,将一些有技术竞争力的优秀项目开源,同时加强项目的运营能力,从而构建起开发者与合作伙伴的繁荣生态。如果开源项目对公司的战略有重大影响,就更应该组建专业化的开源团队对项目进行独立运营与推广,尤其对牵涉范围比较广,有机会成为事实标准的潜力型项目而言。

如果业务需求仅仅是用好开源,发挥好公司在开源社区里用户的角色即是至关重要的:提供差异化的场景输入,以及社区解决方案的落地与反馈等,对于开源的项目发展以及实现自身的业务增长往往能达成双赢的结果。


8、在您的观察中,国内的开源社区发展到了什么阶段?现阶段最重要的事情是什么?

上面也提到,经过几年的蓬勃发展,国内的开源社区目前发展势头很好,但同时也面临着叫好不叫座的尴尬境地。

一方面,由于很多同质化的项目出现,造成了特定场景用户的分流,比较难形成资源的积聚效应;另外一方面,开源项目商业成功的案例在国内还比较少见,开源商业模式在国内的最佳方案需要不断的探索与实践。

现阶段,我们希望涌现出来的优秀或者说有潜质的项目通过开放治理和运营等手段,真正团结起最广大的开发者来加入贡献与创造;同时,商业公司在开源的商业推广路径上做更多的尝试,帮助开源社区的项目尽快落地推广,发挥业务价值;最后,我们也希望开源的组织尤其是基金会能尽快完善组织级能力,更好的服务和支撑优秀项目社区的各项活动。


作为长期活跃于开源社区和开发者社区的一名开源布道师,在本次的开源年会中,堵俊平老师将在 10 月 24 日的主会场中以《终于来了, 开放原子101: 从组织到项目》为主题进行分享。

届时堵俊平老师将重点介绍开放原子基金会的技术监督委员会组成以及将起到的作用,并介绍当前已经在孵化阶段的各个项目,以及目前基金会所处的发展阶段。

以下为10月24日主会场日程概览

☟☟☟

*更多主题信息以会议当天内容为准


报名方式 & 直播链接

对 COSCon'20 内容感兴趣的你,可以通过下方的链接或点击阅读原文进行报名,期待你的参与!除了在线上观看直播外,本次峰会将在北京、上海、深圳、成都、长沙五城展开线下聚会,审核通过后即可免费报名参加~

会议报名链接:https://www.bagevent.com/even...
线上直播链接:https://segmentfault.com/area...

segmentfault 思否

查看原文

赞 7 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-10-23

开源社副理事长陈阳:女性参与开源的广度和深度,让世界变得有趣和多元化

从个人的角度,我更多看到开源是一种信仰,是技术理想主义者的精神家园,其文化外延超越了源代码本身。 —— 开源社副理事长,陈阳


2020 中国开源年会 (COSCon'20) 将于 10月24-25日由开源社举办,SegmentFault 思否社区为本次大会的战略合作媒体,并将进行独家的线上直播。

本次年会将采取线上线下相结合的形式,北京、上海、深圳、成都、长沙五城联动,11 个分会场,线上线下同时进行。

为了让大家进一步了解开源、了解本次 COSCon’20,SegmentFault 思否特别采访了陈阳老师。

陈阳老师是开源社副理事长,曾任 GNOME 基金会董事,GNOME.Asia 创办人,也是微软(亚洲)互联网工程院 AI 资深产品经理。

作为长期活跃于开源社区和开发者社区的一名开源布道师,在本次的开源年会中,陈阳老师将以开场嘉宾的身份出席「开源向善分会场」,并出席同期于北京举办的开源线下聚会活动。

image

以下为 SegmentFault 思否对陈阳老师的访谈内容:


1、在开源圈儿,您一般会如何介绍自己?

很幸运,我比较早的接触到开源,并长期一直持续在社区进行贡献。最早参与到开源是从 2004 年开始,成为了 OpenSolaris 和 Mozilla 社区的核心贡献者。之后在 2008 年创建 GNOME.Asia 社区,2010 年任 GNOME 基金会董事,2014 年发起创办开源社,现在担任开源社的副理事长。


2、能否谈一下您对开源的理解?您认为开源的核心和精髓是什么?

开源包罗万象,代码、技术、项目、开发者、用户、社区、企业、政府、许可证协议、法律等方方面面的角度,这些拼在一起,才能构建出开源的全貌。

从个人的角度,我更多看到开源是一种信仰,是技术理想主义者的精神家园,其文化外延超越了源代码本身。而我认为的开源核心,是分享,开放,平等,协作。

众人拾柴火焰高,开源有一种自底向上自发运营的生命力,有一种向善的力量。尤其在疫情爆发之后,我们看到大规模的开源社区协作的工作方式正在出圈,正在更有效地改变世界。

开源社的核心成员近期对开源的定义进行了一次内部探讨,并一起撰写发起了《开源人宣言》,这份宣言非常完整地诠释了我们对开源的理解,感兴趣的朋友可以搜索查看。


3、能否分享一下您对国内开源技术发展趋势的看法?

这个问题可以从不同的角度展开去看:

1)从时间的维度

全球开源运动发起距今已有二十多年,管中窥豹,我观察到国内开源技术的发展其实存在着一些明显的趋势。

十几年前的时候,开源 = Linux,Linux 操作系统、桌面办公软件(GNOME, OpenOffice)和浏览器(Mozilla)作为当时开源项目的主战场,掀起了第一波开源的浪潮;

近十年随着互联网的兴起,开源的项目和技术越来越百花齐放,从数据库到中间件,从前端到后端,从编程语言到编译器,从物联网到微服务,从大数据到人工智能,开源的技术和项目越来越丰富和多样化;

最近五年,随着移动互联网和云计算在中国的蓬勃发展,我们看到了中国开源崛起的力量。从时间这个维度,我们清晰看到中国开源从早期的跟随者、参与者,逐渐变成影响者和创作者。

中国开始涌现出大量开源项目的创作者,中国企业的开源项目开始捐献给基金会孵化,中国开始定义自己的开源许可证协议(木兰宽松协议)并被 OSI 接受,中国开始成立中国的开源基金会(开放原子基金会),这些都是中国开源开始成熟的很重要的标志。

2)集中与分布式

在早期的时候,开源主要集中在几个主要社区,这些社区成熟的标准之一就是 是否有开源基金会。当然全球的开源基金会也是掰着手指头可以数出来的,如经典老牌的 Linux、Apache、Mozilla 基金会等,聚集了一大群优秀的开源人才和企业的参与,并且在长达 20 多年的开源历程中经久不衰。这是经典的开源 1.0 模式。

当开源技术开始多元化,尤其当代码的分享和开发变得便捷,基于 Git 的代码托管平台的流行,开源进入了一种新的分布式状态。更细分领域技术和项目的出现,促成了更低的沟通成本和更多开源人才的聚集。

如同互联网早期是通过主要的门户网站来服务于全球网民,发展至今每个人都很容易创建并运营自己的自媒体账号。

2019 年 GitHub 发布的行业报告中,用户群和活跃贡献度排名第二的是中国,我们看到了中国开源环境的成熟以及呈分布式状态发展的势头。这也意味着进入到了开源 2.0 模式。

3)小众与出圈

十几年前,我们参加北京 Linux 用户组,经常会去北京一家位于东直门的餐厅的地下一层,“地下”这个词有着双重含义。那个时候的开源圈子,还鲜为人知,活跃于一小群早期的开源人之间。到了 2020 年的今天,开源呈现出一种出圈的状态。

在横向上,更多的领域开始谈论开源,开始了解开源。近年以来,政府部门开始关注开源,学校开始推广开源的课程和认证,企业们开始考虑成立开源委员会,VC 创投开始垂青开源项目,开源已经成了多轮融资以及上市评估一个非常重要的维度和评价方向。

纵向的从开源项目之间去看,我们观察到的更多是「融合」,领域之间的界限开始模糊,开源项目之间的界限开始模糊。

最近做了一个实验,用知识图谱的可视化去展示中国 Apache 项目贡献者之间的关系。通过这个知识图谱,我们看到有两个开源项目之间共享着同一群中国开发者。(有意思的问题来了,你一定很想知道这些开发者是被哪些企业雇佣了。COSCon'20 的人工智能专场将会分享这些有意思的数据发现。)

4)从个人到生态

中国开源社区早期的时候更多是以用户的方式去参与,这也是为什么我们会听到北京某某用户组,上海某某用户组。

到了 2020 年,我们比较少听到新成立某某用户组这个词了,更多地听到了联盟、基金会、行业联盟、组织。这意味着开源不再是以个人用户的方式在参与,而是以开发者、项目、企业、联盟、基金会的方式来呈现,这也同样印证了中国开源的成熟,规模化,进阶和蓬勃发展的势头。


4、您认为什么样的开源项目算是优质的开源项目?有没有一些评判标准?

优秀的开源项目都是相似的, 我们可以从一些客观指标上去衡量:

- 用户规模:Star/Fork/Issue/Watch 的数量,Code 的行数,活跃贡献成员的人数,能被更多人使用、被更多人需求,是项目是否有价值的一种标志。

- 活跃频率:代码提交的频率,需求提交的频率。

- 活跃范围:活跃范围是指在同一组织内部的贡献人数,以及企业/组织以外的活跃贡献者人数。组织外部的活跃贡献者是一个很重要的健康指标。

- 清晰的商业模式:开源项目针对广大用户不收钱,但是 To B 市场是愿意为服务和定制化买单的。比如 Red Hat 的 RHEL 企业版专业服务是需要收费的。

- ISV/合作伙伴的数量:平台级开源项目通常都会有上下游的合作伙伴参与,不仅提供服务、为企业作定制化开发,也在平台上开发更多更丰富的应用。例如操作系统上的应用软件,输入法等基础应用都需要通过 ISV 来一起合作开发。

- 文档/本地化: 建立完善的开发者文档和手册后,能否匹配本地化的语言也非常重要。如果仅仅只有中文的文档,在全球社区的影响力就会非常有限。开源分享的本质决定了开源是需要在世界范围内相通的。

- 社区活动:不论是线上还是线下,活动对于开源社区来说,都是非常重要的联系手段。大家会为了代码和项目而来,但是因为认识了社区里面的人,大家产生了归属感,才能让这个社区产生持久长期的凝聚力。

例如今年的中国开源年会 COSCon'20,成千上万人将通过线上直播,或是通过线下 5 个分会场参与其中。国际开源友人跨过时区和地域的限制,与我们中国开源项目的核心贡献者们,一起来分享上百个开源话题,这让 COSCon 成为了一年一度中国开源人期待的盛会。

优秀的开源项目需要这样的一个舞台。


5、随着社会的发展,女性标签正在逐渐被弱化,但社会仍期待女性可以为不同的领域带来一些特有的价值与意义。您认为对于开源领域来说,女性成员的加入会带来哪些变化与不同?

多元化一直是开源社区的口号,开源社区在十几年前就开始发起了“鼓励女性参与开源”的号召;GNOME 基金会也在很早就提出了 GNOME Women Outreach Program,鼓励女性学生以实习的方式参与开源项目;LinuxCon、GUADEC 等大会上,经常会设置女性晚宴,组织开源社区中的女性来进行分享。

在这样的氛围中,我们看到了杰出女性成为开源社区中的领袖,以她们独特能力和视角将整个社区链接起来。像这次大会我们邀请到三位主题演讲的女性讲师,都是最好的例子。

GitHub COO Erica Brescia,管理着超过 5000 万程序员的社区;Stormy Peters,从 GNOME 基金会执行总监,到现在负责着微软的开源办公室;来自亚洲越南的 Hong Phuc,从创办 FOSSASIA 开始参与开源,目前出任着 OSI 的董事会 VP。

我身边有很多的女性开发者,每天做着自己喜欢的编程工作,沉醉其中;我们也可以看到女性对一些领域的独特洞察和兴趣,进而发现机遇,比如在教育等领域开创新的项目和创业公司等。

女性参与开源的广度和深度,正在按照我们所期望的方向发展,让这个世界变得有趣和多元化。这也是开源向善含义的外向化体现,是开源正在改变世界的一个角度。


10月25日,陈阳老师将作为「开源向善」分论坛的首位出场嘉宾致欢迎辞。该场分论坛大咖云集,来自于国内外领头羊的开源基金会和企业领袖,将和观众分享开源运动与开源技术的最新发展和开源向善的本质与实践是如何改变了世界。

以下为活动日程及嘉宾名单

☟☟☟

*更多主题信息以会议当天内容为准


报名方式 & 直播链接

对 COSCon'20 内容感兴趣的你,可以通过下方的链接或点击阅读原文进行报名,期待你的参与!除了在线上观看直播外,本次峰会将在北京、上海、深圳、成都、长沙五城展开线下聚会,审核通过后即可免费报名参加~

会议报名链接:https://www.bagevent.com/even...
线上直播链接:https://segmentfault.com/area...

segmentfault 思否

查看原文

赞 7 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-06-03

JavaScript的padStart()和padEnd()格式化字符串使用技巧

默认文件1589987742673.png

几天前,我正在使用JavaScript构建倒数计时器,因此我需要格式化秒和毫秒,我希望秒始终是2位数的长度,而毫秒总是3位数的长度,换句话说,我希望 1 秒显示为 011 毫秒显示为 001

我最终写出了自己的函数来“填充”这些数字,但是我发现JavaScript中内置了函数 padStart()padEnd()来实现这些功能。在本文中,我们来看一下如何在JavaScript中利用这些内置函数!

用例

让我们从介绍几种不同的填充用例开始。

标签和值

假设你在同一行上有标签和值,例如 name:zhangsanPhone Number:(555)-555-1234。如果把他们放在一起看起来会有点奇怪,会是这样:

Name: zhangsan
Phone Number: (555)-555-1234

你可能想要这个。

Name:           zhangsan
Phone Number:   (555)555-1234

或这个...

        Name: zhangsan
Phone Number: (555)555-1234

金额

在中国,显示价格时通常显示两位数的角、分。所以代替这个...

¥10.1

你会想要这个。

¥10.01

日期

对于日期,日期和月份都需要2位数字。所以代替这个...

2020-5-4

你会想要这个。

2020-05-04

时间

与上面的日期类似,对于计时器,你需要2位数字表示秒,3位数字表示毫秒。所以代替这个...

1:1

你会想要这个。

01:001

padstart()

让我们从 padStart() 以及标签和值示例开始。假设我们希望标签彼此正确对齐,以使值在同一位置开始。

        Name: zhangsan
Phone Number: (555)555-1234

由于 Phone Number 是两个标签中较长的一个,因此我们要在 Name 标签的开头加上空格。为了将来的需要,我们不要把它专门填充到电话号码的长度,我们把它填充到长一点,比如说20个字符。这样一来,如果你在未来使用较长的标签,这一招仍然有效。

在填充之前,这是用于显示此信息的入门代码。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1 + ": " + name);
console.log(label2 + ": " + phoneNumber);

//Name: zhangsan
//Phone Number: (555)-555-1234

现在,让我们填充第一个标签。要调用 padStart(),你需要传递两个参数:一个用于填充字符串的目标长度,另一个用于你希望填充的字符。在这种情况下,我们希望长度为20,而填充字符为空格。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1.padStart(20, " ") + ": " + name);
console.log(label2 + ": " + phoneNumber);

//               Name: zhangsan
////Phone Number: (555)-555-1234

现在填充第二行。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1.padStart(20, " ") + ": " + name);
console.log(label2.padStart(20, " ") + ": " + phoneNumber);

//               Name: zhangsan
////     Phone Number: (555)-555-1234

padEnd()

对于相同的标签和值示例,让我们更改填充标签的方式。让我们将标签向左对齐,以便在末尾添加填充。

初始代码

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1 + ": " + name);
console.log(label2 + ": " + phoneNumber);

//Name: zhangsan
//Phone Number: (555)-555-1234

现在,让我们填充第一个标签,与我们之前所做的类似,但有两个小区别。现在,我们使用 padEnd() 而不是padStart(),并且需要在填充之前将冒号与标签连接起来,这样我们就能确保冒号在正确的位置。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log((label1 + ': ').padEnd(20, ' ') + name);
console.log(label2 + ": " + phoneNumber);

//Name:               zhangsan
//Phone Number: (555)-555-1234

现在两行都已填充。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log((label1 + ': ').padEnd(20, ' ') + name);
console.log((label2 + ': ').padEnd(20, ' ') + phoneNumber);

//Name:               zhangsan
//Phone Number:       (555)-555-1234

数字(价格、日期、计时器等)呢?

padding函数是专门针对字符串而不是数字的,所以,我们需要先将数字转换为字符串。

价格

让我们看一下显示价格的初始代码。

const rmb = 10;
const cents = 1;
console.log("¥" + rmb + "." + cents); //¥10.1

要填充分,我们需要先将其转换为字符串,然后调用 padStart() 函数,指定长度为1且填充字符为'0';

const rmb = 10;
const cents = 1;
console.log("¥" + rmb + "." + cents.toString().padStart(2,0)); //¥10.01

日期

这是显示日期的初始代码。

const month = 2;
const year = 2020;

console.log(year + "-" + month); //2020-2

现在,让我们填充月份以确保它是两位数。

const month = 2;
const year = 2020;

console.log(year + "-" + month.toString().padStart(2,"0")); // 2020-02

计时器

最后是我们的计时器,我们要格式化两个不同的数字,即秒和毫秒。尽管有相同的原则。这是初始代码。

const seconds = 1;
const ms = 1;

console.log(seconds + ":" + ms); //1:1

现在要填充,我将在单独的行上进行填充,以便于阅读。

const seconds = 1;
const formattedSeconds = seconds.toString().padStart(2,0);
const ms = 1;
const formattedMs = ms.toString().padStart(3,0);

console.log(formattedSeconds + ":" + formattedMs); // 01:001

最后

虽然编写自己的padding函数并不难,但既然已经内置在JavaScript中,为什么还要自己去做呢?有很多有趣的函数已经内置了。在你自己构建一些东西之前,可能值得先快速搜索一下。

本文首发于公众号《前端全栈开发者》,第一时间阅读最新文章,会优先两天发表新文章。关注后私信回复:大礼包,送某网精品视频课程网盘资料,准能为你节省不少钱!
subscribe2.png

查看原文

赞 8 收藏 6 评论 1

思否小姐姐 赞了文章 · 2020-06-03

SegmentFault 思否 8 周年丨∞ 热爱,与开发者同行

image.png

2012 年 6 月 1 日,SegmentFault 思否合伙人团队全职在杭州开启创业之路。

8 年间我们见证着时代的变革,从移动互联网的兴起普及,到 5G 时代的来临、新基建的加速……

时代也为我们的成长留下深深的烙印。从最初的技术问答社区,到如今集技术问答、专栏文章、技术资讯、技术课程的综合性技术社区——我们用“一砖一瓦”践行着“改变并提升开发者获取知识的方式和效率,帮助开发者获得成功”的公司使命。

今天是 SegmentFault 思否八周年生日,让我们一起来回顾

SegmentFault 思否八年成长史——

稿定设计导出-20200601-120718.png

2019 年,在思否 7 周年之际,我们在北京组建了技术媒体团队业务支撑团队(客户成功),越来越多的企业开始通过我们对话开发者。在成为“科技企业和开发者沟通的桥梁”的路上,我们也在为科技企业的开发者生态构建和技术革新贡献着我们的微薄之力。

2020 年 5 月,我们先后发布了针对开源项目独立开发者的支持计划,让独行者不再孤独,我们愿尽我们的能量帮助开发者获得更多来自行业的关注。

一路上我们也得到了很多来自行业的认可和祝福——


中科院软件所副总工程师、智能软件研究中心主任 武延军研究员:过去的 8 年 SegmentFault 思否为非常多开发者和开源项目提供了支持,为推动技术开源、技术生态建设做出了很大贡献。8 周年之际,中科院软件所祝 SegmentFault 思否越办越好,希望未来可以携手一起为更多开发者创造价值!

北京智源人工智能研究院:暗淡的灰烬无法引燃熊熊火焰,热血的团队才能唤起社区的热情。在成立八周年之际,愿热血的 SegmentFault 团队未来携手更多志同道合的开发者,持续印证“纯粹、高质交流”的社区精神。

中国人工智能产业发展联盟办公室副主任 贾昊:人工智能已经广泛应用在各个行业,相应的开发者群体也变得丰富多样。希望 SegmentFault 可以继续帮助开发者持续学习专业技术、获取一线开发经验和促进开发者之间的分享与交流,与开发者共同探索人工智能产品的能力边界。顺祝 SegmentFault 八周年生日快乐!

名川资本创始合伙人、前赛富投资基金合伙人 王求乐:作为思否投资人,见证 SF 由小到大,茁壮成长。感谢千千万万开发者和黑客对思否的钟爱,祝思否大胆创新,锐意开拓,更上一层楼!

阿里云开发者关系总监 孟晋宇:思否八年正青春!期待思否和阿里云开发者社区有更紧密的合作,携手培育生机勃勃的开发者土壤。未来之路,让我们一起见证中国开发者生态的蓬勃发展。

腾讯云运营总经理 周军:云 + 社区祝 SegmentFault 8 周年生日快乐,感谢 SegmentFault 为推动技术发展所作出的努力,国内开发者需要 SegmentFault 这样的优质平台来分享交流。未来,愿云 + 社区与 SegmentFault 继续携手前行,共同推进技术传播与社区生态繁荣!

Google 平台及生态事业群大中华区开发者市场负责人 黄继佳:祝贺思否社区 8 周年生日快乐!感谢思否为千万中国开发者提供了优质丰富的学习交流平台,营造开放活跃的社区氛围。与开发者同行,为开发者助力,有幸见证思否和开发者共同成长,也期待未来的无限可能!

京东智联云开发者社区:思否 8 周年,也是京东智联云开发者社区与思否的第二年,携手思否让我们收获很多,思否社区一直专注开发者使用体验,不断创新,勇于突破,是最具活力的技术社区,这正是新生代技术力量的象征。我们愿意与思否走过更多个八年,一同为技术发展做出贡献!在这里祝思否社区 8 周岁生日快乐,与我们、与开发者携手成长!

个推创始人、CEO 方毅:SegmentFault 一直是我们的合作伙伴,为开发者提供了优质的技术干货及前沿的行业资讯。在此我衷心祝愿 SegmentFault 八周年生日快乐,愿 SegmentFault 在未来能够越来越好,持续为开发者提供更多元更有价值的内容。

四川新网银行信息科技部总经理 毛航:作为 SegmentFault 的好伙伴,在合作过程中感受到 SegmentFault 践行的开放、协作、创新的互联网精神,感谢 SegmentFault 为我们技术开发者提供高质量的交流学习平台, 愿 SegmentFault 越来越好,继续创造一个属于技术开发者的朋友圈,祝 SegmentFault 社区八周年生日快乐!

讯飞开放平台总经理 张斌:八年时间,SegmentFault 都在努力为开发者打造一个高质量的社区,让开发者得以高效地学习和成长,非常感谢 SegmentFault 为开发者所做的一切。讯飞开放平台祝 SegmentFault 8 周年生日快乐!

微软小冰高级技术总监 曾敏:SegmentFault 给国内开发者打造了轻松活跃的技术分享文化,提供了专业、高质量的技术分享和问答平台,值此创办 8 周年之际,祝愿 SegmentFault 稳步成为国内最好的技术分享社区平台

AWS 机器学习产品高级总监 代闻:我谨代表 AWS 祝福 SegmentFault 八周年生日快乐!感谢为开发者们提供了这样一个具备专业精神的平台,愿 SegmentFault 再创佳绩,为开发者们创造更精彩的内容!

有赞 CTO 崔玉松:祝 SegmentFault 八周年生日快乐。感谢你们一直致力于为开发者们提供发声、交流的平台。祝未来越做越好,愿有赞技术团队与 SegmentFault 共同成长。

青云 QingCloud CEO 黄允松:SegmentFault 以专业的内容、友好的产品体验,成为技术爱好者最受欢迎社区之一,祝贺 SegmentFault 八周年快乐,未来创造无限可能。

声网 Agora 合伙人、市场运营 VP Louisa:SegmentFault 一直践行极客精神,为中国的开发者构建了一个包容、开放、活跃的技术社区。它的发展是中国开发者群体成长最好的见证。祝贺 SegmentFault 成立 8 周年!

网易易盾 CTO 朱浩齐:作为中国领先的开发者社区及技术媒体,SegmentFault 上面有很多高质量的技术内容和讨论,因此易盾有不少技术小伙伴经常去浏览,受益良多。在 SegmentFault 8 周年之际,我谨以代表网易易盾的技术同学,祝愿 SegmentFault 发展越来越好,更上一层楼。

PingCAP 联合创始人、CEO 刘奇:感谢 SegmentFault 过去 8 年为开发者作出的贡献,各类丰富的形式和内容给开发者提供了优质的技术交流平台,祝 8 周年快乐,期待未来帮到更多开发者。

vivo 互联网技术学院负责人 杨振涛:值此 8 周年之际,特别祝福 SegmentFault 思否 8 周年快乐,感谢一路坚持为开发者提供体验一流的技术社区,今天的成绩也是下一个里程碑的起点。开发者是新基建背景下的数字世界缔造者,得开发者得天下。vivo 互联网将一如既往地与广大开发者朋友一起积极参与和支持技术社区的发展,通过 ABC、5G、IoT 等技术方向的原创内容,与中国乃至全球的开发者共同交流和进步,持续加大技术创新和基础技术积累,助力业务发展从而为互联网用户提供极致体验的产品和服务。

蚂蚁金服 SOFAStack 开源负责人 余淮:SOFAStack 从开源之初就在 SegmentFault 开设频道,两年来跟随 SegmentFault 一起成长。感谢你们为 SOFAStack 社区以及广大开发者提供了简单高效、高质量的技术交流平台,帮助众多的开发者获得成长与成功。值此 SegmentFault 八周岁之际,衷心地祝愿 SegmentFault 社区越来越好,服务更多的开发者!

西安葡萄城技术团队:作为新一代开发者社区,思否使我们相信“用技术可以改变世界”。感谢思否为我们提供了如此纯粹的技术分享平台,期待未来与我们共同践行“赋能开发者”的使命。祝 SegmentFault 8 周年生日快乐。

来也科技董事长兼 CEO 汪冠春:SegmentFault 是国内非常高质量的技术交流平台,一直以来为开发者提供了优质的技术干货和行业资讯。在此衷心祝愿 SegmentFault 八周年快乐,越办越好!来也科技希望可以和 SegmentFault 继续携手,为 RPA+AI 领域开发者创造价值,一起走进人机协同的智能时代。

易观 CTO 郭炜:与思否相识 8 年了,初识还是再一次 90 后浪见面会上认识的高阳,后来就经常去上面搜些码农福利,再后来贡献出了 Apache 项目就更离不开思否。祝思否不忘初心,8 周年生日快乐!

融云 CTO 杨攀:思否一直以来都是我心中最具极客精神的开发者社区,融云提供的 IM 和音视频业务就是面向广大开发者提供服务,思否大大丰富了我们触达开发者的渠道,增进了我们与开发者的沟通,让我们更好的为开发者服务。祝思否越办越好!

涛思数据创始人、CEO 陶建辉:TAOS Data 祝 SegmentFault 八周年快乐!作为思否的长期开源合作伙伴,见证了思否的成长。希望思否 & 涛思未来可以继续合作,为开源爱好者提供更好的、更高质量的交流平台,一起成长!Together,we create!

TalkingData 研发副总裁 阎志涛:一晃思否已经八岁了,阿拉伯数字 8 换个角度看就是数学中的无限符号∞,在这里预祝思否能够有无限的未来,连接无限的喜欢技术的小伙伴,迸发无限的新创意,成就更多工程师的无限的梦想。祝思否八周年生日快乐!

保利威副总裁 周鑫:8 年前,移动互联网迎来了不寻常的一年,二维码、移动支付、移动社交、企业直播开始走入人们的日常生活,思否也在这一年成立。如今,技术已经成为数字时代的基础设施,开放、前沿的技术交流仍然重要,期待思否越来越好。保利威直播祝贺 SegmentFault 八周年快乐。

极验 CTO 谢强:在一个行业深耕 8 年,是匠人对待作品的态度,也是极客改变世界的执着。致敬 SegmentFault 团队,为国内开发者提供一个自由开放的平台。祝 SegmentFault,8 周年,生日快乐!

又拍云创始人、董事长 刘亮为:祝 SegmentFault 8 周年生日快乐!创业不易,SegmentFault 社区多年来的努力有目共睹,未来期待又拍云团队能够和 SegmentFault 一起为开发者、为行业创造更大的价值。

重启世界 Reworld 联合创始人 董钰鹏:祝贺 SegmentFault 八周年生日快乐,SegmentFault 在推动中国技术交流发展以及技术人员的成长方面,贡献与成绩有目共睹。《重启世界 Rewolrd》愿和 SegmentFault 为游戏爱好者、开发者共同服务, 一起成长、一起加油!

Kyligence 技术合伙人兼首席架构师、Apache Kylin PMC Chair 史少锋:祝思否社区八周年生日快乐。当下是开发者的好时代,思否等国内优秀的技术社区为开发者提供了交流学习与打造品牌的好平台,期待思否近期开展的独立开发者与开源项目支持计划能够帮助越来越多的中国开发者和好项目走向成功。

Apache Flink PMC 伍翀:我谨代表 Apache Flink Community China 为 SegmentFault 八周年送上祝福!祝愿 SegmentFault 未来更加辉煌,成为开发者的技术圣地!

云杉网络 CTO 张天鹏:开源运动一直是 IT 行业持续发展的不竭动力,SegmentFault 以社区为基因、以开源为宗旨,围绕 Open&Free 的理念,为国内技术推广孜孜不倦耕耘八载。愿 SegmentFault 基业长青并祝生日快乐。

爱可生开源社区负责人、爱可生技术 COO 张沈波:爱可生开源社区 祝 SegmentFault 八周岁快乐!一年多来与思否的合作十分愉快,感谢思否对社区开源产品的大力支持。希望未来与思否继续合作,一起为更多的开源爱好者们提供优质的内容。

普渡科技 CTO 郭璁:SegmentFault 8 周年生日快乐,思否是国内优秀的开发者技术交流社区,为开发者和 IT 从业人员提供了高质量的服务,为中文开发者提供了开放、包容的交流平台。祝思否越办越好,相信来自极客的力量可以改变世界!

猎云网创始人、CEO 靳继磊:互联网高速发展,离不行业从业者共同努力,思否为开发者、IT 从业者提供了良好的交流平台,促进行业发展,推动互联网进程。未来,5G 时代,思否对于软件行业将带来更多发展可能,祝愿思否 8 周年生日快乐,猎云愿一道服务更多中小企业及开发者!

上海擎朗智能科技有限公司创始人、CEO 李通:祝 SegmentFault 8 周岁快乐!愿 SegmentFault 未来继续“改变并提升开发者获取知识的效率,帮助开发者获得成功”,让世界更加精彩!

袁滚滚 超神经 HyperAI 执行主编:打造持久的技术社区需要热情与长情,第八年的 SegmentFault 不仅做到了,还收获了开发者们的信任,和行业的尊敬和认同。生日快乐,年轻又资深的 SegmentFault!么么哒!

巴比特 CTO 金磊:巴比特 & 矩池云祝贺 SegmentFault 八周岁生日快乐!感谢 SegmentFault 为开发者提供了一个高质量的技术交流平台。期待下一个八年 SegmentFault 可以给开发者的世界带来更加精彩!

LeanCloud CTO 丰俊文:感谢 Segmentfault 为开发者提供的技术内容分享平台,让我们有机会与众多优秀的开发者一起学习交流,期待未来一同成长,愿 Segmentfault 越来越好!八周年生日快乐!

SegmentFault 思否 8 周年,吉祥物 Super Unicat 正式上线


服务开发者,为极客们创造价值,通过黑客马拉松等创新活动传递“极客精神”。

8 年间我们也曾反复自问,我们所推崇的极客精神到底所谓何物,独立思考特立独行热爱自由∞ 挑战与 ∞ 热爱

前不久我们为“极客精神”寻找到一个合适的载体—— Super Unicat 独角猫。从今天起这个小可爱将正式上岗成为 SegmentFault 思否的吉祥物

761bf120-bbe1-4e89-ade8-4bb0b7cf7b4f.jpg

目前这只是一个基础形象,我们还会在后续的工作中逐渐完善他的各种形象,也会邀请他的创作者分享创作时的心路历程。

也欢迎开发者和设计师们加入我们,在此基础上一起创造你心目中具有“极客精神”的 Unicat 和他生活中的各式场景。

85c5a027-b38e-46ba-b24e-e663236dd5a9.jpg

∞ 热爱,思否携手合作伙伴为开发者送福利


阿拉伯数字 8 换个角度看就是数学中的无限符号 ∞ ,8 周年是 ∞ 热爱,∞ 可能,无穷大的新一个开端,是 SegmentFault 思否和开发者的下一个 8 年。

虽困难重重却又充满希望的道路上,好在有你们陪伴。感谢的话语无需多言,8 周年思否携手合作伙伴为开发者送福利6 月份我们准备了一系列活动和礼品,简单明了,欢迎各位参与——

微信截图_20200601153207.png

活动一:寄语有奖
  • 活动方式:本篇文下回复,分享你与 SF 的故事,也可以是各位小伙伴的祝福,
  • 活动时间:2020.06.01 - 2020.06.18 24:00
  • 奖品清单:
  • 点赞第一名:锦鲤礼包
  • 点赞第二至第五名:真爱礼包
  • 点赞第六名至第八名:幸运礼包
活动二:微博转发有奖
  • 活动方式:我们联合 10+ 家合作伙伴准备了 30+ 件礼物,在接下来的 30 天中,通过 SegmentFault 官方微博不定期抽奖。

    • 第一弹 —— ∞ 热爱:「SegmentFault 思否」官方周边抽奖
    • 第二弹 —— ∞ 可能:「SFx 合作伙伴」联合周边抽奖
  • 活动时间:2020.06.01 - 2020.06.30
活动三:思否八周年系列活动丨和CEO@高阳聊聊天
  • 活动方式:6月 12 日晚 19:00,我们与 SF 创始人高阳和大家一起回顾一下 SegmentFault 八年来背后的故事,以及正在做的事情。同样也准备了一些小礼品。
  • 活动时间:2020.06.12 19:00 - 18:00
  • 活动渠道:扫描上方二维码加入「思否八周年」活动群,直播链接届时将通过群内公布​
活动四:朋友圈祝福点赞有奖
  • 活动方式:添加小姐姐微信【mgr_segmentfault】,每周在小姐姐朋友圈抽出四位幸运小伙伴,持续 30 天。
  • 活动时间:2020.06.02 - 2020.06.30
  • 获奖礼物与方式:小姐姐朋友圈公布
活动奖品概览

礼品.jpg

SegmentFault T恤、TalkingData 智能弹跳遥控车 & 掌上投影、蚂蚁金服 SOFAStack T 恤、PingCAP 台历与数据线、第四范式恐龙玩偶、腾讯云云加社区鼠年企鹅公仔、微众银行企鹅公仔、又拍云 T恤雨伞、又拍云马克杯、代码乾坤手办、Kyligence T恤、Kyligence 贴纸、Kyligence 手机支架、百度安全百度熊、百度安全保温杯、微众银行公仔、青云帆布袋、声网毛毡电脑包、声网帆布袋、AWS AI 公仔、融云雨伞、融云 U 盘、京东云京东智联云开发者大礼包 (包含 T恤、徽章、笔记本和笔)、京东云京东 joy 公仔、有赞霸王龙公仔、新网银行朱望仔公仔、易观 T恤、易观笔记本、易观马克杯、移动 wifi、来也科技爸爸来也 T恤、Arm 中国品牌周边、网易易盾抱枕、LeanCloud 笔记本、LeanCloud 周边贴纸、巴比特棒球帽、技术书籍若干……

致谢

感谢以下合作伙伴对思否八周年活动的支持。

合作伙伴

SegmentFault 思否八周年丨∞ 热爱,与开发者同行

查看原文

赞 50 收藏 0 评论 130

思否小姐姐 赞了文章 · 2020-06-03

微软回应「抄袭」风波,承认项目灵感来自 AppGet 原作者

微软回应抄袭风波.png

技术编辑:芒果果丨发自 思否编辑部
SegmentFault 思否报道丨公众号:SegmentFault

上周,一个名叫 Keivan Beigi 的开发者在其个人社交平台公开了与微软软件包管理器开发团队负责人的邮件往来,称微软在 Build 2020 上公布的 WinGet 开源项目灵感来自他的 AppGet。

今天,负责微软应用程序模型的程序经理 Andrew Clinick 在其博客中表示,微软的 WinGet 确实受到了 AppGet 的启发,他说:“AppGet 帮助我们更好的开发了产品。”

微软承认 WinGet 灵感来自 Keivan Beigi

Keivan Beigi 称,微软 Windows Package Manager(WinGet)的核心机制、术语、清单格式和结构,甚至包括存储库的文件夹结构都深受 AppGet 的启发。但微软只在 Build 大会上简单的提到了一次 AppGet。

微软并没有对此说法提出异议,而是说:“我们的目标是为客户和社区提供一个伟大的产品,在这个产品中,每个人都可以贡献并得到认可。”

Andrew Clinick 在博文中提到:“在过去的几天里,我们提取了很多意见,并从中吸取了教训,显然我们没有达到这个目标。更具体地说,我们没能与 Keivan Beigi 和 AppGet 一起实现这个目标,这是我们最不希望看到的。”

AppGet 为 WinGet 提供了更好的产品方向

Andrew Clinick 没有就 AppGet 和 WinGet 的情况直接道歉。只是说 AppGet 为微软提供了更好的产品方向:

1.安装过程中没有脚本,不允许使用 MSIX 使用的脚本;

2.GitHub 中的丰富清单定义,将开放性与有关应用的丰富声明性元数据结合起来对实现目标至关重要;

3.支持所有类型的 Windows 应用程序安装程序;

4.对存储库中的应用程序进行无缝更新。

双方似乎已达成和解,可能合作更多项目

微软承诺在 Windows Package Manager 即将更新的自述文件部分将 Keivan Beigi 的贡献作出描述。

Andrew Clinick 称,他们已经联系了 Keivan Beigi ,目前正在讨论这一问题。Keivan Beigi 也在GitHub 上发表评论说:“我和 Andrew 一直在讨论一些领域的问题,希望很快能与你们分享一些东西。”

SegmentFault公众号.png

查看原文

赞 4 收藏 1 评论 2

思否小姐姐 赞了文章 · 2020-06-02

专业团队支持、全网流量扶持,思否编程技术讲师赋能计划启动 | 首期招募限 20 位

很多技术人员都有一个三尺讲台梦,希望分享自己曾踩过的坑帮助年轻人。

很多技术人员都在尝试沉淀技术内容,建立技术兴趣圈,互相促进交流,提升个人品牌。

当经济形势持续恶化,越来越多职场人开始探索知识变现。关注高薪副业,在业余时间增加收入。

996,项目不断,人少事儿多……也许你一直蠢蠢欲动却没迈出第一步。

其实你的忙碌,我们都懂!

首页banner.png

思否编程针对技术人才推出了思否编程技术讲师赋能计划,专为技术人员晋升讲师量身定制。首期仅限20位!?(立即申请

我们将提供授课技巧、流量扶持等多维度赋能,专业课程策划、编辑、运营团队为你服务,确保每一位技术人员快速完成讲师的华丽晋升。

心动了?一起探索更多可能!

?无需课程经验,只需具备:
  • 每周 2-3 小时的空闲时间
  • 工作经验 5 年+,擅长某一技术方向,具备突出项目经验者可适当放宽
  • 热爱分享,愿意帮助更多的开发者
  • 技术博主/图书作者/公众号主等,思否社区用户优先
⛽️享受多维度运营支持,具体包括:
  • 流量支持:公众号百万粉丝矩阵,站内千万级流量
  • 课程策划:为你量身定制课程选题,与你一起打磨课程大纲
  • 课程编辑:专业视频剪辑包装,资深编辑团队,与你一起优化教学材料
  • 课程包装:结合讲师和课程特点提供全方位课程包装,并进行配套宣传物料设计
  • 推广方案:专属售卖策略和讲师打造方案
  • 个人包装:SegmentFault 技术媒体访谈包装,有机会被推荐为顶级技术大会讲师、嘉宾评委,大大提升个人品牌影响力。(思否独有福利 (^o^)/
?短期内快速提升自已,获得丰厚收获:
  • 授课技能:帮助你快速成为具备授课技能的讲师,对工作中带新人也将受益匪浅。
  • 学习成长:与平台大咖讲师交流切磋,与学员分享知识的同时,不断自我总结成长。
  • 粉丝人气:快速建立自己粉丝圈,提升业界的影响力。
  • 课程收入:爆款课程将有不菲收入,每月也将有稳定的课程分成。
?急需技术方向:
  • 前端框架、性能优化等前端技术
  • Python、Java 等后端技术
  • 算法、数据挖掘、机器学习等人工智能方向
  • 技术选型、代码优化、网站架构、各类实战项目等
?优秀课程案例:

优秀案例.png

课程1:凯威教你学 Python: 系列课程
课程2:PHP 进阶之路
更多重磅课程,请访问:https://ke.segmentfault.com

从业者就业压力增大,在线培训成为多数人快速提升技能的有效途径之一。

思否编程依托 SegmentFault 思否 8 年行业积累和每月数千万精准流量,为开发者提供高质量的技术干货课程,解决工作中遇到的问题,快速成长。

课程将通过多样化的营销手段触达到更多用户,产生高额营收和广泛影响力。

6⃣️0⃣️天晋升技术讲师,你准备好了吗??(立即申请

更多咨询,请添加以下好友,等你呦?!

image

查看原文

赞 8 收藏 0 评论 0

思否小姐姐 赞了文章 · 2020-05-06

印象笔记中国公司恶意抢注 Notion 公司商标

印象笔记中国公司恶意抢注『Notion』公司商标Notion vs Evernote

技术编辑:鸣飞 发自北京
SegmentFault 思否报道 | 公众号:SegmentFault

印象笔记中国公司害怕竞争?恶意抢注新一代文档协作工具 Notion 公司商标

最近一段时间一直看到有社区开发者安利推荐 Notion 这款新一代的笔记应用,索性就花时间做了一些了解和调研,无意间发现 Notion 在中国的商标被其潜在竞争对手印象笔记进行了抢先注册,一开始我好奇难道是印象笔记中国公司要代理 Notion 在中国区的业务?

后来想想应该不太可能,同时也搜到到了之前也曾有网友在网上质疑印象笔记的行为,并且联系了 Notion 的官方客服,Notion 的客户 Jenny 回复与北京印象笔记科技有限公司没有合作关系,并且反馈给团队内部处理。

如何和看待印象笔记高疑盗用Notion.so的logo抢注商标?

下图是北京印象笔记科技有限公司注册的 Notion 商标列表和商标详情页申请时间是 2019 年的 7 月 24 日。同时我们也能看到一家叫概念实验室的公司也在申请同样的商标,点开详情可以看到概念实验室这家公司就是 Notion 的母体公司 NOTION LABS,INC. 的中文名,他们的商标申请时间是 2019 年的 10 月 30 日,晚了印象笔记 3 个月的时间。可以了解到 Notion 也是在用户提醒下才知道的。

印象笔记中国公司恶意抢注新一代文档协作工具『Notion』公司商标

印象笔记中国公司害怕竞争?恶意抢注新一代文档协作工具『Notion』公司商标

NOTION 公司注册中国商标

因为现在商标都还在申请期,最终是什么结果还不得而知。不过对于印象笔记中国公司这种操作真的是一种流氓行为,我认为做为一家科技公司应该专注在自己的产品创新和服务上,而不是通过这种恶意的手段去断竞争对手的后路,这种行为严重影响了做为一个多年用户的我对于印象笔记公司的形象,我也决定不在继续使用印象笔记,并将所有笔记内容迁移到 Notion 的服务上去。

对于此事,思睿峰知识产权代理有限公司合伙人谢建云发表了专业观点:

Notion 可以等商标初审时提交异议。Notion 对于印象笔记抢注的 logo 具有著作权的在先权利,可以用在先权利来异议或者无效掉印象的商标申请。

Notion - All-in-one workspace

最后特别介绍以下 Notion,它确实非常强大,Notion 不仅仅是一款笔记应用,all-in-one workspace 是它的定位。

Notion = Google docs + Evernote + Trello + Confluence + Github + Wiki + Quip

国外的用户经常用这个公式形容 Notion,Notion 主打的功能分别是笔记和文档、知识库、任务、轻量「数据库」。笔记和文档对标印象笔记和 Google Docs,知识库对标 GitHub Wiki 和 Confluence,任务管理对标 Trello 和 Jira,「数据库」对标 Google Sheets 和 Airtable,同时所有功能都支持团队协作和历史记录。

Notion 最近也宣布获得了新一轮的 5000 万美元融资,公司估值从 8 亿美元升至 20 亿美元。作为一家小而美的公司,Notion 目前仅有 42 名员工。据 Notion 方透露,公司用户数量增长迅速,对比其 2019 年初的数量已经翻了 4 倍。

与目前大热的视频会议软件公司 Zoom 创始人袁征一样,Notion 的创始人 Ivan Zhao 也同样是一名生长在中国,在海外创业的华人。Ivan Zhao 的一个观点是,创作是最好的学习方式(Learning by making.)。这也影响了 Notion 产品设计背后的思考。

Notion 在官网上详细介绍了 Notion 诞生的故事,可以帮助更好地了解 Notion 的历史。

最后希望大家支持创新产品,支持优秀的创业公司,尊重知识产权,抵制恶意扰乱行业的行为。

思否公众号

查看原文

赞 22 收藏 1 评论 15

思否小姐姐 赞了文章 · 2020-04-07

聊聊Raft算法

1.概述

最近终于有时间去看看raft算法的论文,raft作为一个易于理解和实现的一致性算法(毕竟我这样的菜🐶都能看懂),已经应用到很多系统的构建上(分布式数据库TIDB,RocketMq的Dledger等),是非常值得去深入理解和研究的。本文主要是学习raft论文的总结以及自己的一些想法。如果大家对论文已经足够了解。那就不用继续往下看了。光看看文末的个人想法(愚见),欢迎来和我探讨!

2.Raft算法概述

raft算法之所以容易理解,其一是他将一致性问题划分成几个子问题,这几个子问题都是独立、可理解和解释的。从传统的思维来讲,对于一个复杂的系统或者工程,都是大化小,分解实现,然后去尝试融合解决整体逻辑。包括CS系统的设计也是如此。

一致性算法的目标

1.安全性:在非拜占庭错误情况下,包括网络延迟、分区、丢包、冗余和乱序等错误都可以保证正确。
2.可用性:只要集群中大多数节点处于runing,并且不分区,和客户端能通信,那么我们需要保证这个集群可用。
3.对于数据同步,小部分慢节点的不会影响系统性能。因为对于日志复制,我们如果等待所有节点响应,那么系统的性能会存在短板效应。

说白了,就是如果一个集群中,如果大多数节点可用(网络、服务),那么通过raft算法,我们就能保证整个系统可用(可处理请求,数据一致性)。后面我们主要研究的就是raft是如何做到的。

首先我们要知道,Raft算法将其问题划分为

  • 领导选举
  • 日志复制
  • 安全性

对于一个集群只有一个leader(领导),那么我们就很容易理解。只要领导操作同步到对应的followers(跟随者),数据必然一致。当leader宕机,需要进行领导选举。

日志复制其实就是同步操作数据的过程。leader将操作日志同步到其他节点。

安全性:如何安全的同步,在不同的情况,我们都能保证一致性,这也就是安全性需要考虑的问题。

其实就是如此,raft首先假设了领导选举。然后实现了日志复制,最后在安全问题上解决上面的漏洞问题。

3.领导选举

目的:当集群初始化或者领导gg的时候选出一个新的领导。毕竟一个集群不能没有领导,如果没有,那么这个集群就不可用了。

触发机制:通过心跳。
1.png
这幅图展现了跟随者、候选者和领导者之间的状态转换关系,下面主要介绍他们的转换流程。

跟随者

如果他能持续从领导者或者候选者接收到有效的RPCs,那么他的状态就不会变。一直保持跟随者身份。但如果没有持续接受,也就是在一段时间没收到有效的RPCs,那就选举超时,他会变成候选者。

候选者

要变为候选者,也就意味着他要开启一轮新的选举。那么跟随者会增加自己的任期号,转为候选者。

成为候选者后,自己会并行发送一个为自己投票的RPCs请求 给其他服务器。

成为候选者的整个过程也会保持当前状态,知道满足下面三个条件

  • 他赢得选举,转变为领导制
  • 其他节点赢了,他转为跟随者
  • 一段时间没有任何人获胜。说明选票被瓜分,重复执行。

这里需要注意的点:

1.对于同一任期号,每个节点一会投一张票。比如服务器A作为候选者生成了编号为5的任期号,那么如果接收到其他节点的编号为5的任期号的投票请求,他会忽略。这个过程遵循的是先来先投的原则。
2.候选者接收到领导者的声明。会判声明中RPC的任期号,如果比自己的还小,那么他还会保持候选者身份,否则转为跟随者。
3.对于上面第三点,重复执行,Raft采用随机超时选举时间进行了优化。降低选票瓜分的可能性。

4.Raft日志复制

直接去理解日志复制,是很容易的,客户端的一条指令到达,领导者会为这条指令创建一条日志条目,并且并行发送到其他跟随者。当日志被安全复制(所谓安全复制后面会有),领导会将日志应用到状态机(比如如果是mysql的insert,那么就是执行insert操作),然后响应客户端。

2.png

如上图,每条日志都会有对应的任期号,和指令。
每个日志都会有对应的索引。

raft日志匹配特性
1.如果在不同的日志中的两个条目拥有相同的索引和任期号,那么他们存储了相同的指令。
2.如果在不同的日志中的两个条目拥有相同的索引和任期号,那么他们之前的所有日志条目也全部相同。

第一点:一个任期只有一个领导人,并且领导人在一个任期中对于同一索引日志,只会创建一条日志,是不会改变的,是确定的。这就保证第一点成立。
第二点:要想全部相同,就要保证跟随者得到的日志是领导者发送的顺序附加上去的。领导者在发送新的日志时,会附加这条日志之前日志的索引和任期号。如果跟随者发现数据匹配,才会附加上去,否则拒绝。就是一个个状态保证了日志的匹配特性。

对于日志不一致的现象,raft是通过跟随者强制复制领导者的日志来保证的。

3.png

如上图,对于a-f,最终都会和leader同步,也就是说,d会丢弃日志。f的对应日志也会被丢弃和覆盖。

其实就是通过日志覆盖解决。但是对于日志覆盖,我们就会想到一个问题,会不会覆盖已经提交的日志(日志对应指令已经返回给客户端)。那当然不会,如果真有这样,就会有不一致,或者指令丢失现象。

那么如何去做覆盖跟随者日志

其实就是跟随者在append日志的时候,会进行错误校验。

在候选者成为领导者的时候,会为每个跟随者初始化一个nextIndex数组,数组的值初始化为自己最后条日志+1,其实就是理想化状态,默认认为日志都已经同步成功。但是理想总会因为各种原因导致不正确,就用上面那张图。leader会初始化所有nextIndex为11,但是在同步日志的过程中。f节点会出现校验错误的响应。因为f节点10索引对应的日志和leader10索引对应的日志不相同(主要是根据任期号判断)

这里再强调一下为什么根据任期号就可以判断日志是否一致,就是上面所说的日志匹配原则。

5.安全性

我们明白了如何选举和日志复制,但是没有考虑安全性问题。其实我上慢提到,比如一个宕机很久的跟随着会被选为领导者,进行日志覆盖操作会有丢失问题。

其实解决这个办法很简单,就是在领导选举的时候,只能让安全的节点当leader,所谓安全,就是对应节点拥有当前领导者已经提交的所有日志。Raft就是这么做的。

Raft中节点在投票的时候,会判断被投票的候选者对应的日志是否至少和自己一样新。如果不是,则不会给该候选者投票。

日志比较的方法:
1.最后一条日志的任期号。如果大说明新。如果小,说明不新。如果相等。跳到2
2.判断索引长度。大的更新。

还有一个问题,就是领导人不能保证一个已经在大多数节点存在的日志是否已经提交。

4.png

如图

a、b、c、d、e代表不同的任期阶段

(a)S1是leader。同步任期2的数据给S2

(b)S1宕机,S5当选(S3、S4、S5投票),产生任期3的日志

(c)S5宕机,S1恢复当选(同步任期2的数据给S3)。

(d)S1宕机,S5当选(因为他的任期日志比其他的都新),复制了任期3的所有数据。

假如说在c阶段,S1提交了任期2的数据,那么如果出现d,则会导致任期2数据被覆盖,丢失。也就是说,S1在任期4时候,不能保证已经在大多数节点存在的日志(任期2的日志)是否提交。

所以raft永远不会通过计算副本数目的方式(大多数存在)去提交一个之前任期内(任期2)的日志条目。只有领导人当前任期里的日志条目通过计算副本数目可以被提交(e阶段)。这样之前任期的数据也会被提交。

那这里我理解一点就是,加入S1当选为leader,如图c状态,那么,如果不再有新的日志出现,任期2对应的日志就不会提交。那么会导致客户端对应的任期2请求失败。

6.跟随者和候选人宕机

这个就比较容易理解了,宕机的话RPCs就会失败,Raft通过无限重试却解决这个问题。
所以对于每个RPCs,做到幂等和无限重试,在节点恢复后,就还是会保证一致性状态。

7.Raft集群成员变化

对于集群成员配置变化,如果直接更新每台机器配置,那么就会有安全性问题。以为对于同一时刻,不同节点使用的不同的配置去执行算法逻辑,这就是不安全的。

5.png

如图,蓝色代表新的配置。绿色代表老的配置。Old状态有三台机器Server1、2、3。 New加入两台server4、5。

那么随着配置时间应用的不同,可能会导致选举出两个leader。
比如server1、2使用老配置,那么1和2都有可能被当选为leader。3、4、5使用心得配置,他们之中的一个也会被当选为leader。

其实这个问题原因就是节点使用了不同配置执行算法逻辑。为了解决这个问题,raft采用两阶段方法(其实只需要保证不会让新或者旧配置单独作出决定就行)

6.png

raft吧配置当作普通日志形式去提交。

为了实现两阶段,引入了C(old、new)配置。
还有一点就是,一点一个新的配置日志增加到对应的节点日志中,那么该节点就会立刻使用这条新的日志配置。

对于C(old、new)配置,其实就是只有同时满足old和new配置的时候才会生效。

这样理想状态下,如果拥有C(old、new)配置的节点当选为leader。并且提交了该配置,那么说明C(old、new)配置已经在大多数节点应用。下次选举的产生的leader日志中必然会有该配置。这个时候在创建一条新的C(new)配置提交,即可。

8.个人想法总结

其实对于raft算法,论文描述还是非常清晰并且容易理解的。核心问题的分解。让我们的思路会变得非常清晰。
对于raft的设计,其中任期这个概念是非常绝妙的。无论是在领导人选举,日志复制的时候,都是非常依赖任期的。

任期这个单调增长的概念,让多节点处理事情变得非常易于理解。

对于领导选举,论文做到让我们只关注选举问题。通过单调增长任期,以及投票进行选举,并且在逻辑上设计了节点在各个角色的职能和转换。

对于日志复制,也是通过日志匹配规则保证了日志复制的正确执行。其实还是依赖任期。无论是在日志提交,还是在判断是否接受的时候,都是依赖任期,必要时依赖日志索引。对日志数据是无状态的。

完成上述两个过程,如果不去看安全性,我们其实自己都能想到选举过程中如果没有限制条件的漏洞。在复制过程中可能会存在数据被覆盖丢失的问题。
然后raft通过候选人的最后日志条目的索引值候选人最后日志条目的任期号来决定是否能当选。


通过对算法的学习,让我们更加易于去理解分布式一致性问题。并且让人和惊喜的是,根据论文描述,我们自己去用代码实现算法是非常容易的。毕竟论文开篇为我们吧数据结构都定义好了。

对于算法的实现,其实业界有很多,这里介绍一个哥们的实现,我大概看了一遍,逻辑上没啥大漏洞,可以助于大家理解。https://github.com/stateIs0/lu-raft-kv
如果想要深入理解,推荐大家还是看看开源项目。比如sofa-jraft。
https://github.com/sofastack/sofa-jraft

文章参考

raft论文:In search of an Understandable Consensus Algorithm (Extended Version) 

查看原文

赞 2 收藏 1 评论 0

思否小姐姐 关注了用户 · 2020-03-10

极术社区 @jishushequ

极术社区是 Arm 中国携手 SegmentFault 思否以及 Arm 中国生态重要合作伙伴发起的专注为人工智能、物联网、芯片领域的开发者社区,旨在为广大的软硬件开发者提供一个自由交流的和答疑解惑的平台,借助强大的 Arm 全球及中国生态系统资源,助力中国开发者轻松的进入 AIoT 领域。

关注 7334

思否小姐姐 赞了文章 · 2020-02-19

正则表达式引擎执行原理——从未如此清晰!

目前越来越多的网站、编辑器、编程语言都已支持一种叫“正则表达式”的字符串查找“公式”,有过编程经验的同学都应该了解正则表达式(Regular Expression 简写regex)是什么东西,它是一种字符串匹配的模式(pattern),更像是一种逻辑公式。

使用正则表达式去匹配字符串Hello World 中的 Hello
伪代码:/Hello/, "Hello World"
输出:Hello

如何写好一篇关于 正则表达式 的文章,我思考了一周的时间,从未有一篇文章能让猪哥如此费神。

因为我觉得正则表达式 :难记忆、难描述、广而深且不受重视,有人说正则表达式既好写也难写!

  1. 好写:无非写一些常用、实用的案例,说实话你们每个人都能写出这种:在网上百度一下然后结合一点自己的实际经验,一篇文章就出来了。
  2. 难写:很多人都认为正则简单,不用记,要用就百度一下。但是绝大多数人了解的只是正则的一个小面,真正的精髓却很少关注!

猪哥希望大家能了解到正则的知识点其实非常非常多,尤其是正则引擎执行原理以及正则优化,这算是正则表达式的进阶知识点,面试中也可能会被问到。
在这里插入图片描述

一、起源与发展

我们在学习一门技术的时候有必要了解其起源与发展过程,这对我们去理解技术本身有一定的帮助!

20世纪40年代:正则表达式最初的想法来自两位神经学家:沃尔特·皮茨与麦卡洛克,他们研究出了一种用数学方式来描述神经网络的模型。

1956年:一位名叫Stephen Kleene的数学科学家发表了一篇题目是《神经网事件的表示法》的论文,利用称之为正则集合的数学符号来描述此模型,引入了正则表达式的概念。正则表达式被作为用来描述其称之为“正则集的代数”的一种表达式,因而采用了“正则表达式”这个术语。

1968年:C语言之父、UNIX之父肯·汤普森把这个“正则表达式”的理论成果用于做一些搜索算法的研究,他描述了一种正则表达式的编译器,于是出现了应该算是最早的正则表达式的编译器qed(这也就成为后来的grep编辑器)。

Unix使用正则之后,正则表达式不断的发展壮大,然后大规模应用于各种领域,根据这些领域各自的条件需要,又发展出了许多版本的正则表达式,出现了许多的分支。我们把这些分支叫做“流派”。

1987年:Perl语言诞生了,它综合了其他的语言,用正则表达式作为基础,开创了一个新的流派,Perl流派。之后很多编程语言如:Python、Java、Ruby、.Net、PHP等等在设计正则式支持的时候都参考Perl正则表达式
在这里插入图片描述

到这里我们也就知道为什么众多编程语言的正则表达式基本一样,因为他们都师从Perl

注:Perl语言是一种擅长处理文本的语言,但因晦涩语法和古怪符号不利于理解和记忆导致很多开发者并不喜欢。

二、语法

完整的正则表达式由两种字符构成:特殊字符(元字符)和普通字符。

ps:元字符表示正则表达式功能的最小单位,如 *^$\d 等等

关于语法部分猪哥并不想过多的讲解,给大家做一个详细的归纳整理,供大家日后快速查找吧!
在这里插入图片描述

如果想系统学习正则表达式的语法部分,猪哥推荐 菜鸟教程:https://www.runoob.com/regexp...
在这里插入图片描述

三、匹配原理

匹配原理是猪哥想要重点讲解的部分,也希望同学们可以认真了解这部分的内容。

很多人觉得开车没必要了解车的构造原理,但是我们学编程的还真的需要了解原理。

因为了解原理,你才能调优,这往往也是初级工程师与中高级工程师之间的差别点之一!

1.执行过程

正则表达是的执行,是由正则表达引擎编译执行的,大致的执行流程猪哥也花了一个流程图给大家看看。
在这里插入图片描述

这里给大家提一点就是:预编译(pre-use compile)

猪哥建议大家在生产环境中使用预编译功能,为什么呢?

以Python语言内置re模块举例:

  1. 通过re.compile(pattern)预编译返回Pattern对象,在后面代码中可以直接引用。
  2. 通过re.match(pattern, text)即用编译,虽然也会有缓存Pattern对象,但是每次使用都需要去缓存中取出,比预编译多一步取操作。

猪哥也通过实际测试来 验证预编译 确实比 即用编译 要快!

pattern = r'http:\/\/(?:.?\w+)+'
text = '<a href="http://www.xxx.com">xxx.com</a>'

在这里插入图片描述

2.引擎

既然正则表达式由执行引擎执行,那我们就来讲讲正则表达式的引擎吧,这一块是重点,希望大家仔细看看,弄懂了理解了才行!

正则引擎主要可以分为基本不同的两大类:

  1. DFA (Deterministic finite automaton) 确定型有穷自动机
  2. NFA (Non-deterministic finite automaton) 非确定型有穷自动机

ps:当然还有一种引擎为:POSIX NFA,这是根据NFA引擎出的规范版本,但因为使用较少所以我们这里也就不重点讲解。

这里需要和大家解释下何为确定型有穷自动机这几个名词:

  1. 确定型与非确定型:假设有一个字符串(text=abc)需要匹配,在没有编写正则表达式的前提下,就直接可以确定字符匹配顺序的就是确定型,不能确定字符匹配顺序的则为非确定型。
  2. 有穷:有穷即表示有限的意思,这里表示有限次数内能得到结果。
  3. 自动机:自动机便是自动完成,在我们设置好匹配规则后由引擎自动完成,不需要人为干预!

根据上面的解释我们可得知DFA引擎 和 NFA引擎 的区别就在于:在没有编写正则表达式的前提下,是否能确定字符执行顺序!

DFA引擎执行原理:
为了大家能很清楚的理解DFA引擎执行原理,猪哥制作了一个简易的动态执行过程图给大家看看
在这里插入图片描述
根据上面的动图我们可以得出DFA引擎的一些特点:

  1. 文本主导:按照文本的顺序执行,这也就能说明为什么DFA引擎是确定型(deterministic)了,稳定!
  2. 记录当前有效的所有可能:我们看到当执行到(d|b)时,同时比较表达式中的db,所以会需要更多的内存。
  3. 每个字符只检查一次:这提高了执行效率,而且速度与正则表达式无关。
  4. 不能使用反向引用等功能:因为每个字符只检查一次,文本零宽度(位置)只记录当前比较值,所以不能使用反向引用、环视等一些功能!

NFA引擎执行原理:
猪哥同样画了一个简易的NFA引擎执行过程图方便大家理解
在这里插入图片描述
根据上面的动图我们可以得出NFA引擎的一些特点:

  1. 文表达式主导:按照表达式的一部分执行,如果不匹配换其他部分继续匹配,直到表达式匹配完成。
  2. 会记录某个位置:我们看到当执行到(d|b)时,NFA引擎会记录字符的位置(零宽度),然后选择其中一个先匹配。
  3. 单个字符可能检查多次:我们看到当执行到(d|b)时,比较d后发现不匹配,于是NFA引擎换表达式的另一个分支b,同时文本位置回退,重新匹配字符'b'。这也是NFA引擎是非确定型的原因,同时带来另一个问题效率可能没有DFA引擎高。
  4. 可实现反向引用等功能:因为具有回退这一步,所以可以很容易的实现反向引用、环视等一些功能!

针对两种引擎的区别,猪哥进行了比较
在这里插入图片描述
关于这两种引擎的总结,猪哥引用《精通正则表达式》书本中的一句话来概括:

DFA(是电动机) 和NFA(汽油机) 都有很长的历史,不过,正如汽油机一样,NFA 的历史更长一些。也有些系统采用了混合引擎,它们会根据任务的不同选择合适的引擎(甚至对同一表达式中的不同部分采用不同的引擎,以求得功能与速度之间的最佳平衡)。 ——《精通正则表达式》

3.回溯

作为绝大多数编程语言都选择的引擎——NFA (非确定型有穷自动机) 引擎,我们当然要再详细了解一下它的精髓——回溯
在这里插入图片描述
动图中,我们可以看到当某个正则分支匹配不成功之后,文本的位置需要回退,然后换另一个分支匹配,而回退这步专业术语就叫:回溯

回溯的原理类似我们走迷宫时走过的路设置一个标志物,如果不对则原路返回,换另一条路。
在这里插入图片描述

回溯机制不但需要重新计算正则表达式文本的对应位置,也需要维护括号内的子表达式所匹配文本的状态(b匹配成功),保存到内存中以数字编号的组中,这就叫捕获组

保存括号内的匹配结果之后,我们在后面的正则表达式中就可以使用,这就是我们所说的反向引用,在上面的案例中只有一个捕获,所以$1=b

回溯陷阱:讲到回溯必须提到回溯陷阱,它导致的结果就是机器CPU使用率爆满(超100%),机器就卡死了。

举个例子:text=aaaaa,pattern=/^(a*)b$/,匹配过程大致是

  1. (a*):匹配到了文本中的aaaaa
  2. 匹配正则中的b,但是失败,因为(a*)已经把text都吃了
  3. 这时候引擎会要求(a*)吐出最后一个字符(a),但是无法匹配b
  4. 第二次是吐出倒数第二个字符(还是a),依然无法匹配
  5. 就这样引擎会要求(a*)逐个将吃进去的字符都吐出来
  6. 但是到最后都无法匹配b

这里的重点就在于 引擎会要求*匹配的东西一点一点吐回,我们假设如果文本长度为几万,那引擎就要回溯几万次,这对机器的CPU来说简直是灾难。

有些复杂的正则表达式可能有多个部分都要回溯,那回溯次数就是指数型。如果文本长度为500,一个表达式有两部分都要回溯,那次数可能是500^2=25万次,这谁受得了!

关于更多更详细的回溯介绍,推荐大家可以阅读《精通正则表达式》这本书!

四、优化

编写巧妙的正则表达式不仅仅是一种技能,而且还是一种艺术。

上面我们了解到,绝大多数的编程语言都采用的是NFA引擎,而NFA引擎的特点是:功能强大、但有回溯机制所以效率慢。所以我们需要学习一些NFA引擎的一些优化技巧,以减少引擎回溯次数以及更直接的匹配到结果!

针对NFA引擎的可优化的点其实挺多的,为了方便大家记忆,猪哥也画幅结构图归纳一下,方便大家收藏细看。
在这里插入图片描述
在面试过程中也许会被问到关于正则的优化,大家记住几点就可以。

五、推荐

上面我们讲解了关于正则表达式的诞生和发展、引擎、优化等知识,但是关于正则表达式的知识点远远不止这些,所以最后猪哥推荐一些好的学习资料,大家有空可以了解学习下。

1.书

推荐正则表达式的书,那必然是《精通正则表达式》 ,目前这本书已经出了第三版,豆瓣评分8.9。

内容虽然稍有啰嗦,但是对于正则新手很友好,唯一不足是Python案例少。
在这里插入图片描述

2.博客

入门:菜鸟教程:https://www.runoob.com/regexp...

3.在线测试工具

https://regex101.com/,这个网站可以选择不同编程语言的正则支持,有语义分析、匹配测试、参考列表等,非常实用。
在这里插入图片描述

4.常用案例

一些简单常用的小案例汇总,菜鸟教程:http://c.runoob.com/front-end...
在这里插入图片描述

最后祝愿大家都能搞定正则表达式,处理文本可以得心应手!

更多优质教程可关注猪哥微信公众号「裸睡的猪」!

查看原文

赞 124 收藏 83 评论 10

思否小姐姐 赞了文章 · 2019-12-31

前端工程师的 2019 年年终总结 - 真香篇

2019 年终总结

2020 已经进入倒计时了,2019 即将过去了啊!

今天有空就写篇 2019 的年终总结吧。

讲个鬼故事:第一批 90 后马上年满 30 岁了。

笔者觉得每个开发者都应该拥有自己的网站和服务器,这可是很酷的事情,学习 Linux、跑跑脚本、建站、搭博客、搭建个项目给面试官看也香,对找工作和面试都加分,还可以熟悉技术栈。

我的财富

先来看看别人的财富:

再来看看我的:

我的体重

我的体重.gif

肥常忧伤

我的健身成果

你为以是这样的 ?

其实是这样的:

我的健身成果.gif

我的发量

我的感情经历

是这样的:

相信自己的眼睛,你没有看错、网络也正常。

或者是这样的:

别人的状态,我的单身状态.gif

这样的:

这样的:

这样的:

甚至是这样的:

我的求知欲

学习使我进步,我对知识的渴望……

我的夜生活

我对生活的态度

我的生活

残酷的现实

我的养生理念

我的精神

我的上班状态

开机,开始混底薪

我的下班状态

关机,一天工资到手

领导对我工作的指引

都听我的

需求又修改了

我的工作

那么快进大厂

我的投资

投资赔了伤心吗

总的来说

我的 2019 年大概是这样的

苦笑

mmp

真是丰富而又充实的一年呢!

好啦,2019 即将过完啦,大概就是这样。

2020,请千万对我好一点啊~~

2020 期望

被安排的明明白白

吃好喝好,长生不老

请用钱砸死我

最后

笔者博客常更地址:blog

今年的冬天还是很冷,希望此文能博你一笑。

此处送上我的 2018 年的年终总结:前端工程师的 2018 年总结

预告一下,我真正的 2019 年的年终总结,将于 2020-01-01 在我的公众号【全栈修炼】发布,敬请期待 😁。

查看原文

赞 25 收藏 2 评论 8