NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

0 销售、全远程、跨时区,这家开源团队 CEO 这么说

  • 2022-03-31
  • 本文字数:8264 字

    阅读完需:约 27 分钟

0 销售、全远程、跨时区,这家开源团队 CEO 这么说

2016 年,雅虎开源并向 Apache 软件基金会捐赠了开源项目 Apache Pulsar,谁也没想到,这个雅虎内部自用的消息系统,两年后便成为 Apache 软件基金会又一个顶级项目。更没想到的是,如今的 Apache Pulsar,对外提供了统一的消费模型,可以同时支持消息队列和流两种场景,既能为队列场景提供企业级读写服务质量和严格一致性保障,又能为流场景提供极高带宽,大有一统消息系统江湖之势。


Pulsar 的名称来自著名的脉冲星 Pulsar。根据 NSR 科学期刊的介绍“由于脉冲星的自转非常稳定,我们可以通过精确地测量脉冲的到达时间来研究脉冲星自身的性质、银河系中等离的星际介质的性质、检验不同的引力理论等”。Pulsar = Pulse + Star,正如其名,Pulsar 项目希望成为稳定且精确的云原生大潮下新一代消息系统。

00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    为了更好地完成 Apache Pulsar 的愿景,前雅虎员工、两个 Apache 顶级项目创始团队成员郭斯杰于 2019 年创建了 StreamNative,致力于 Apache Pulsar 项目的推广和社区的构建。“如果把云原生时代的基础设施比作高速公路,那么 Pulsar 好比一辆跑车,而 Kafka 好比一辆马车。高速公路必须搭配跑车,才能发挥高速公路的最大价值”,郭斯杰说到。


    郭斯杰,Apache Member, Apache Pulsar PMC 成员,StreamNative 联合创始人兼 CEO,一名开源老兵


    自 Apache Pulsar 从 Apache 软件基金会孵化器毕业成为顶级项目已 3 年多,Apache Pulsar 项目和社区已经得到快速成长,越来越多的企业也落地 Apache Pulsar 并将它应用到核心关键业务中。其背后的开源商业化公司 StreamNative 在推出其基于 Pulsar 打造的商业化产品和服务不到半年时间,就快速积累了数十家全球顶尖企业客户。更为有趣的是,StreamNative 分布在全球的团队自 2020 年以来一直以 SOHO 的形式办公,效率不降反升,探索出了一条“分布式”办公的新道路。


    2021 年 10 月 12 日,StreamNative 正式宣布获得 2300 万美元 A 轮融资,本轮融资由沙特阿美旗下多元化风投基金 Prosperity7 Ventures 与华泰证券旗下另类投资子公司华泰创新联合领投,老股东红杉中国、源码资本继续加码。StreamNative 于 2020 年 8 月完成数百万美元 Pre-A 轮融资,源码资本领投、红杉中国种子基金跟投;2019 年团队创立初期获得红杉中国种子基金天使轮投资。


    近期,InfoQ 专栏视频 《C 位面对面》 约访了 StreamNative 联合创始人郭斯杰,与掌舵者聊了聊这家怀抱伟大愿景的开源商业化明星公司,一窥其技术人创业的成长故事以及有趣的公司文化,以及对开源项目、开源社区及开源商业化等方面的洞察与思考。


    Q:Apache Pulsar 作为 Apache 软件基金会的顶级项目由来已久。能介绍一下你和 Apache Pulsar 的渊源吗?


    我的整个经历都是跟 Apache 软件基金会、开源以及消息中间件数据系统相关的。大概在 08、09 年的时候,Hadoop 进入中国,国内开源社区开始兴起,我当时参与了 Apache 软件基金会的一些项目,成为 Hadoop 早期的代码贡献者,也为 HBase、Hive、HDFS 贡献过代码。


    这个过程中我了解了 Apache 软件基金会的运作、开源的意义,也因为 Hadoop 是从雅虎出来的,所以,作为一个技术人,我选择加入了雅虎。


    借助雅虎这个平台,我主导孵化了两个开源项目,分别是 Pulsar 和 BookKeeper。它们后来都成为 Apache 软件基金会的顶级项目。其中 BookKeeper 是一个分布式日志存储系统,孵化 BookKeeper 后,基于此我又做了 Cloud Message Service(也就是后来的 Apache Pulsar 项目原型),这是用于雅虎内部的消息云,支撑雅虎邮箱、雅虎金融等核心业务大概 4~5 年。


    另一边,Apache Pulsar 在雅虎内部使用了 3 年多之后,于 2016 年贡献给了 Apache 软件基金会,最后变成了顶级项目。


    Q:StreamNative 作为 Apache Pulsar 背后的商业化组织,是一家怎样的公司?


    StreamNative 是一家开源商业化公司,由 Apache Pulsar 创始团队创立。创建这家公司的初衷是为了推动 Apache Pulsar 项目的发展,将其以商业化产品的形态普及给更多企业。因此,我们利用公司的方式为用户提供更好的服务。公司最主要的职责也就是将 Apache Pulsar 商业化,利用 Apache Pulsar 为更多企业解决他们在消息系统、流数据系统中遇到的扩展性、性能、可用性方面的问题,帮助企业从消息数据、流数据中挖掘更多价值。


    Q:很多社区的伙伴还不是很了解 Apache Pulsar,趁此机会给我们介绍一下这个项目吧。


    简单来说,Apache Pulsar 是一个分布式消息队列,我们有时候也叫它分布式流数据系统。那么消息队列最常见的场景在电商行业中。当网站处理交易、支付时,需要一个消息队列做流量缓冲,以解决削峰填谷的需求。


    举个例子,双 11 十二点会有大量的人抢单,流量随即暴涨。而如果这些流量直接怼到数据库的话,整个数据库可能就挂了。这就需要在数据库之前放一个消息队列做缓冲,所有请求先进入消息队列,后端再有相应的服务处理这些请求。这就能避免瞬间暴涨的流量冲击数据库系统。


    Apache Pulsar 是基于云原生基础架构设计的一个项目,能够很好地在容器化环境里运行。上一代消息队列产品,如 RabbitMQ、ActiveMQ 都是单机系统,随着业务增长,难以便捷地扩容,除非安装多台的单机系统,但这又将增加运维的复杂度,降低容错率。Apache Pulsar 正好相反,它诞生在分布式、可自动扩容缩容的云环境中。实际使用时,运维团队可以不用考虑硬件的增减。就好比使用单机的 MySQL 数据库,在业务量暴涨时,需要引入 TiDB 做支撑。RabbitMQ 和 Apache Pulsar 也是类似的关系。


    再简单点说,原先你用马车在跑业务,现在更换 Apache Pulsar 后,相当于换了一辆跑车。这是云计算时代消息处理的先进性。


    Q:最近 StreamNative 拿了新一轮融资,能给我们讲讲这轮融资的背景和用途吗?


    打造这种云原生时代的消息系统需要很多顶尖人才。虽然我们有核心创始团队,但随着社区规模的增长,我们面对的业务场景愈来愈丰富,需要招募更多人才。


    比如在金融行业、电商行业、IoT、自动驾驶行业我们都有大量的可落地场景,那么如何把一个云原生时代诞生的新产品变成一个流行的,进而广泛应用在企业内部的系统?这需要大量的研发人员参与,开发相应特性,改善其稳定性。


    因此这笔融资其实是想通过资本的力量吸引更多优秀人才,共同推动产品研发和落地,让其更快地应用到更多企业中。

    云原生基础上的存算分离与分布式架构, 形成 Apache Pulsar 最大优势


    Q:接下来我们来聊聊 Apache Pulsar 的竞争对手,Apache Pulsar 与 Kafka 相比有哪些差异?


    Kafka 诞生于 Hadoop 时代,大概是 2010 年左右。Kafka 基于 Hadoop 时代的物理机 / 虚拟机设计,诞生的初衷是解决大量日志采集处理的需求。Apache Pulsar 诞生于云原生兴起的年代,时间上比 Kafka 晚 2~3 年。Apache Pulsar 基于云原生环境下容器化的基础设施进行设计,是新基础设施时代的产物。如果把云原生时代的基础设施比作高速公路,那么 Apache Pulsar 好比一辆跑车,而 Kafka 好比一辆马车。高速公路必须搭配跑车,才能发挥高速公路的最大价值。


    具体到两个项目的社区层面,Apache Pulsar 社区规模与 Kafka 还有差距,但我认为这是可以理解的 ,毕竟 Kafka 在 2011 年开源,Apache Pulsar 在 2016 年开源,相差 5 年时间。但我们看到的是  Kafka 已经是一个接近成长天花板的成熟项目,而 Apache Pulsar 还很年轻,社区增长欣欣向荣,整个增长速度,相应的 Adoption 都很可观。比如我们花 4 年时间构建的社区规模,已经赶上 Kafka 花 7~8 年时间的成果。


    在性能方面,从 OpenMessaging BenchMark 等第三方评测工具的结果来看,普通业务场景下,Kafka 和 Apache Pulsar 性能持平,但在支付交易类关键业务场景中,Apache Pulsar 的性能是 Kafka 的 4~5 倍,而且时延比 Kafka 低,稳定性更高。(我们也发表过 Apache Pulsar 与 Kafka 相关性能测试报告,大家可以在 公众号 上查看)


    Q:我们刚刚聊了 Apache Pulsar 的性能和生态,除此之外,Apache Pulsar 还有哪些创新点?


    Apache Pulsar 的创新点主要有两部分,分别是架构设计和新增特性。


    架构设计方面,Apache Pulsar 采用存算分离,利用两组容器分别负责存储和计算,存储和计算可以独立扩容,结合 Kubernetes 的话,可以很快地自动地弹性扩容。而 Kafka 是单体架构,存储和计算在单一物理节点上,扩容很不方便。


    另外,Apache Pulsar 新增了很多上一代消息系统没有的特性,比如 多租户管理、跨机房复制和层级存储,这都是云原生时代很重要的特性。以跨机房(又叫跨地域)复制为例,在云原生时代,企业上云往往会选择多家云服务提供商,做混合云架构的企业很多,他们会需要在多云之间传输和复制数据,Apache Pulsar 内置的跨地域复制就能很好地解决这一需求。

    0 销售,半年积累 25 家客户,社区才是开源公司的护城河


    Q:对于 Apache Pulsar 社区的一个发展,有什么规划吗?


    社区对一家开源商业化公司来说很重要。很多人会说技术壁垒是一家开源公司的护城河,但我认为社区更重要。技术一直在迭代,可能 5 年后现在的技术就被淘汰了,但社区有众多的贡献者,他们一方面可以给你带来丰富的应用场景,另一方面可以带来很好地口碑,吸引更多人使用你的产品,进而不断迭代你的产品。因此我认为我们最核心的护城河是社区。


    在开源社区建设上,我们会产生很多内容和活动,内容包括客户案例、博客等等,活动分线上线下的,形式有沙龙、Pulsar Summit 等等。去年我们在北美和亚洲举办了两场 Pulsar Summit,反响很好,今年会在北美、欧洲和亚洲都举办,共三场 Summit;同时在 5 月初我们举办了全球性的 Pulsar 黑客马拉松,希望全世界的开发者参与到 Pulsar 中,将好的 idea 做成产品 Feature。


    最终目的是希望通过社区活动将整个社区的开发者聚集在一起,鼓励大家做贡献,然后给予相应的回馈,最后形成病毒式传播,将整个社区做大。


    Q:在开源商业化的过程中,有遇到过哪些挑战?


    现在开源商业化的挑战主要在于收费与免费之间,也就是说你设置怎样的付费模式。整个开源商业化经历了三个阶段,1.0 是卖发行版本,附带相应的技术服务,最著名的有 Linux 商业化,比如 Red Hat。2.0 是开放核心(OpenCore),在开源版本基础上添加一些付费特性,打造成商业化版本进行售卖,并不断迭代,典型的有 Elastic。云计算时代,1.0 和 2.0 模式依旧存在,但很多新兴的开源商业化公司抛弃 OpenCore 模型,直接做 SaaS,我们叫做开源商业化 3.0 时代,典型的有 Databricks。


    对我们来说,最大的挑战是商业模式的选择。Apache Pulsar 最开始整个社区比较小,特性不多,直接做 OpenCore 模式会影响社区用户体验,另外项目不是很成熟,不应该过早收费。但是开源商业化最终目的还是要商业化,于是我们选择了云原生时代最能凸显 Apache Pulsar 特性的 SaaS 模式。


    这条路最大的挑战是如何找到优秀的云计算人才,同时推动已有的开源项目团队去学习 K8s 等云计算相关技术。过去 6~8 个月,我们把整个云服务跑起来,付费客户从 0 增长到了 25 个。开源和商业化两个部分慢慢形成了一个飞轮,并且运转起来了。


    Q:StreamNative 的商业化进展如何了,有哪些典型用户在用我们的产品?付费情况如何?


    首先,我们的产品覆盖了谷歌云、AWS 和微软云三大云厂商,去年年底在国内推出了基于阿里云的免费版本,接下来几个月时间还会推出阿里云付费版,同时也在规划腾讯云。


    相应的我们目前客群基本都在海外,欧美比较多,其中 40% 左右来自欧洲,50% 左右来自北美,还有一部分在印度。客户集中在金融、电商和 IoT 三大行业。典型的有波士顿和芝加哥的 Hedge Fund(对冲基金)和 Stock Broker(股票交易商),印度的 Flipkart,自动驾驶行业的 Toyota 欧洲,芯片领域的 Applied Materials。今年在国内做了一些早期的商业化尝试,案例集中在金融行业、银行、证券类客户比较多。而很多中国优秀的互联网公司也是我们社区的用户,比如腾讯、华为、知乎、伴鱼、BIGO、VipKid,包括苏宁等。


    目前很多国内的开源项目比如 Kyligence、涛思、PingCAP 都是先做中国的开源社区,将迭代好的产品出海,我们正好相反,先做以美国为主的海外市场,再做中国市场。我们看到欧美企业的付费习惯比较好,有相对标准和流程化的付费意识。开源社区能帮你囤积大量用户群体,有很好的品牌和信任基础。当他们需要商业化服务时,就会主动找到开源项目背后的商业化公司付费。这就使得我们能在半年内、在没有一个销售的情况下从 0 做到 25 家全球客户。


    Q:这些互联网用户的付费意愿如何?


    中国互联网用户付费的可能性还是比较小,因为他们自己有很多优秀的程序员,可以自己开发基础工具或者应用。但对于我们而言,大型互联网公司更多的是为 Apache Pulsar 社区贡献了新鲜的血液,帮助 Apache Pulsar 迭代产品。这个过程中大型互联网公司投入了相应的工程师资源。因此,他们付费与否并不是很重要。相应地,我们的付费客户群体更多的是传统行业的公司,他们没有很强的开发能力,但需要定制化的 Apache Pulsar 产品。


    那么对于腾讯这样的互联网公司而言,我们能做的更多是指导其特性研发的 RoadMap。我们作为核心开发者,扮演引路人的角色,以社区互助的方式为这类公司创造价值,而大公司有很厉害的研发团队,有丰富的场景背书,能为产品迭代提供很高的价值。


    我们提供基础产品,大型互联网公司在自用的同时迭代产品反馈社区,然后将迭代好的产品降维到研发能力较弱的公司,供其使用,形成双赢。最终大家共同把市场做大。

    StreamNative 全员分布式办公,一套成体系的人才筛选机制


    Q:接下来咱们聊聊研发。StreamNative 的研发历程中都有哪些有趣的里程碑?


    Apache Pulsar 项目是以开源协作的方式去开发。从我们公司提供的 SaaS 服务角度来说,我认为第一个里程碑是从零到一做出 SaaS 产品的时候。原先我们团队只是做消息系统,没有做过 SaaS 类的服务,在做的过程中就需要从头去钻研和理解每个公有云的 API。


    第二个是推出商业化版本的时候。2019 年我们开始琢磨怎么做商业化,当时我们自己设定了一个 Milestone,在 2020 年 4 月发布第一款商业化产品,正好那时候是第一届 Pulsar Summit。但因为我们之前都没有类似经验,整个过程的进度把控的不是很好,导致产品发布延迟了 4 个月,到 2020 年 8 月才成功发布。


    当时这个产品还是一个雏形,但整个 Foundation 是已经完成了,也就意味着扩展到其他云会比较容易。但最开始从 0 到 1 是比较痛苦的,并且我们第一版设计做了两三个月的研发,发现整个 Foundation 不是很牢靠,于是在二三月份的时候从微软云招了一个技术大牛,把原先的架构推倒重建,才确定了一个比较好的 Foundation。


    Q:StreamNative 下一步的产品规划是什么?


    Apache Pulsar 目前已经完成了从 0 到 1 的积累。接下来几个月时间会发布几个比较大的产品特性,首先是云服务的覆盖度,包括腾讯云等;第二是发布 GA 版本的 Kafka on Pulsar,方便用户 / 客户的应用进行迁移,这个特性的研发和部署联合了腾讯、BIGO 等互联网公司一起做,他们会将相应的应用进行迁移,以打磨产品。最后是利用 Apache Pulsar 内部的 Serverless 框架 Pulsar Functions,结合 Flink,打造批流融合计算的产品。


    Q:接下来我们聊聊团队吧,StreamNative 目前有多少人了?


    StreamNative 目前 40 多人,均为 SOHO 办公。其中工程师占比接近 80%,分布在全球各地。(备注:截至发稿时,StreamNative 团队规模已接近 70 人。)


    Q:这种完全 SOHO 的办公方式会存在哪些挑战呢?


    我觉得这是个很好的问题。最开始我们的初衷并没有想打造这样一家全远程办公的公司。相反由于很多员工来自国内,2019 年时我们在海淀租了一个办公室,在 2019 年到 2020 年初期我们都是集体办公。但 20 年初的疫情打乱了整个节奏,很多人被迫在家办公。


    一段时间后,我们发现整个团队在家办公的工作效率并没有下降,反而提升了。于是我们觉得可能也不需要再重新开一个办公室,就把办公室退租了。所以从整个 2020 年到现在,我们都是 SOHO 办公。那这个过程中最大的问题就是如何顺畅地沟通,我们用了 Zoom、腾讯会议、Slack 等确保这一点。另外我们所有工作都通过 GitHub、Google Docs 开源协作。


    我认为互联网时代远程办公不用担心如何协作,更多的是需要灌输异步办公的重要性,需要一些机制激励每个同学自我驱动,比如通过 OKR 培养自驱力。当然这一切的前提是如何招人,这是一个很大的挑战。SOHO 办公需要招到有很强的自驱力的同事,否则新同事会拖慢整个团队的进度。


    第二个很重要的问题是凝聚力。远程办公虽然有视频,但和面对面办公还是有区别。我们会定期举行集体办公,一般用 2~3 天的时间让大家聚在一起,一起讨论问题,一起吃饭,增进整个团队的协作能力。2020 下半年,新来的 HR 同学还探索出云团建的方式,一般是设定一个主题共同探讨。比如过年的时候每个人聊聊自己的家乡,通过这种方式让大家能互相了解工作之外的彼此,增加整个团队的认同度。这是中国团队的情况,美国团队由于疫情暂时没法聚集。


    我们今年有一个目标,把全球的团队在某一个时间点聚集到某一个地方,大家集体办公,拉近团队凝聚力。


    Q:从开始全员 SOHO 办公到现在,有没有遇到过不顺畅的时候?


    最开始整个中国团队变成远程办公时,大部分员工不太适应。一些员工适应了固定工作环境,当做事没有人监督、而是需要按某一个时间节点进行时,他们很难自主地完成相应工作,跟不上整个团队的节奏。


    这种情况下,我认为作为一个创业公司还是要有一定的容忍度,容忍每个员工有相应的调整期,同时给予员工一定的帮助,比如共同改善工作环境。但如果还是无法适应,在办公习惯上难以协调的话,有的人就会离开。客观来看,这也是一个筛选机制,会筛掉那些自驱力不是很强的员工,留下能适应团队文化、自驱力强的员工。


    Q:作为一个 CEO,有没有什么理论或者实操方法能够让团队成为一个自制力很强,自驱力也很强的集体?


    我认为公司里所有人都是学习效仿的状态,也就是说 Leader 怎么做、CEO 怎么做,相应的下属就会怎么做。那对于我个人来说,我认为远程办公很重要的一点是不要设置任何条条框框,只要最终的结果能在 Deadline 之前 Deliver 好就可以了。因为在家办公的前提下,每个人的环境不太一样,“我要让你必须 8 点或者 9 点开始干活,直到 5 点下班”,这是不现实的,因为每个人在家会遇到各种突发情况:断网断电、小孩打扰等等。


    所以,团队能够容忍环境变化,CEO 需要起到表率作用,核心关注 Deadline 和交付结果,这是很重要的,要记住员工都在看着你。换句话说,如果你看的是每天的打卡情况,甚至员工在家办公时间需要开摄像头确认一下,那么整件事就变成变相集体办公,也就难以达到你想要的效果了。


    说到底,这种方式也可以筛选出真正有自驱力的人。在这种结果驱动的环境里,那些磨洋工的人会暴露出自己的缺点,他可能就觉得自己并不适合这个工作环境,转而选择更适合他的工作环境了。


    Q:听说 StreamNative 接下来会大规模招人,你们怎么去招到你们想要的这些人?


    这个问题很有趣。首先我觉得不同的办公室形式有其适用性。远程办公的形式适合不超过 100 人的小团队,当然,这个数据我只是举个例子。假设远程办公的形式不适合超过 100 人的团队,那么在 100 人以内的阶段的招人标准就是有自驱力以及结果导向。实际落地时,我们会先远程面试,然后布置给他的岗位给他一个任务。这期间他需要跟人交流,反馈进度等等,那么在很短时间内就能检验出这个人是否匹配。(感兴趣的小伙伴欢迎戳招聘链接来聊)


    另外我们也会从社区招人,他可能是我们的用户、客户,长期在社区活跃。经过长期沟通其实我们都很熟悉,已经知根知底了,那基本上不需要长流程的面试就能一起工作。对于他来说,也只是把五险一金放到另一家公司,工作方式没变。


    我们也会进行大规模招聘,这时候进来的人可能不都是想象中那么自驱,那基本上就用 OKR 的方式去驱动对方。


    当然我觉得核心还是要保证团队里的 leader 都是自驱型的,对集体办公和远程办公都能应付自如。那对于工作经验比较少,比如新的应届生群体,我们会通过混合模型,在不同城市开比较小的办公地点 – Hub,让他们集中办公,提升凝聚力,改善工作效率。


    如今,StreamNative 团队已经发展到 接近 70 多人,分布在全球办公;公司在短短半年时间里就积累了 25 家客户。在生态方面,在 StreamNative 的积极推动下,Apache Pulsar 项目和社区正处于快速发展之中,全球社区规模已达到近万人,主仓库全球贡献者突破 450 人,同比增长超过 45%,项目周边和社区生态也得到了极大的丰富和增强。作为云原生时代大潮下最亮眼的消息流系统,Apache Pulsar 展现出的惊人活力也让人对其未来发展充满着期待。

    公众号推荐:

    跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

    2022-03-31 10:554345

    评论

    发布
    暂无评论
    发现更多内容

    领域驱动设计101 - 领域服务

    luojiahu

    领域驱动设计 DDD

    ARTS - 日常打卡 6

    pjw

    迷惘的六月份

    卢卡多多

    生活状态 6月日更

    微信小程序开发(七)—— 版本管理的使用

    空城机

    微信小程序 大前端 6月日更

    【21-15】PowerShell条件判断

    耳东@Erdong

    PowerShell 6月日更

    什么是OneData?阿里数据中台实施方法论解读

    云祁

    数据中台 数据仓库 OneData 维度建模

    Kubernetes手记(19)- 容器资源限制

    雪雷

    k8s 6月日更

    微服务架构下的静态数据通用缓存机制

    xcbeyond

    缓存 微服务 6月日更

    HashMap源码总结

    wzh

    Java map 数据结构与算法 HashMap底层原理 散列表

    Elastic Job简单使用

    赵镇

    Elastic-job

    在线HTML标签清除工具

    入门小站

    工具

    JS完美收官之——继承发展史

    法医

    大前端 js 6月日更

    简单好用一键恢复丢失办公文档

    淋雨

    EasyRecovery 文件恢复 免费恢复软件 硬盘数据恢复

    react源码解析18事件系统

    全栈潇晨

    React

    OpenCV-Python+Moviepy结合进行视频特效处理

    老猿Python

    Python 音视频 Video PPT 引航计划

    推荐算法概述(十五)

    数据与智能

    算法 倒排索引 推荐系统

    业务架构训练营第 0 期模块五作业

    菠萝吹雪—Code

    架构实战营

    线性排序

    wzh

    Java 排序算法 计数排序 基数排序 桶排序

    在线PS(PhotoShop),打开PSD文件,图像处理

    入门小站

    PhotoShop ps

    Reactive Spring实战 -- 响应式Kafka交互

    binecy

    kafka spring

    LinkedHashMap

    wzh

    Java 集合 LRU 数据结构与算法 LinkedHashMap

    软件复杂度

    海拉鲁

    读书笔记 软件工程 软件设计

    软件开发项目中,产品经理和程序员谁更累?

    万事ONES

    产品经理 研发管理 ONES 项目经理

    常见Java容器对比

    wzh

    Java collection hashmap set map

    Linux之rmdir命令

    入门小站

    Linux

    网络抓包实战01——互联⽹:客户端请求是如何到达服务器的

    青春不可负,生活不可欺

    Wireshark TCP/IP tcpdump 网络抓包 tcpcopy

    十年一剑智能眼镜的中场战事

    脑极体

    数组与链表

    wzh

    Java 数组 链表 ArrayList 数据结构与算法

    Redis:我是如何与客户端进行通信的

    码农参上

    redis Redis 协议

    JAVA 面向对象 (十)--接口和抽象类

    加百利

    Java 后端 笔记 6月日更

    做好项目管理,项目经理需要具备哪些优秀品质?

    万事ONES

    项目管理 研发管理 研发管理工具 ONES

    0 销售、全远程、跨时区,这家开源团队 CEO 这么说_大数据_施尧_InfoQ精选文章