2024 年度回顾

开篇与自我定位 年度序言与背景 📅 Hi! 2025 ~ TIP: 这篇文章的信息密度很高,并且带有强烈的主观,我尽可能的尝试少一些观点,多一些经验的描述,包括自己旅居过程中的经验,经历过的一些事情反思,做产品的途中的一些经验,经验是宝贵的,希望留给你触动和思考的空间越广,TOP 中选取自己感兴趣的阅读即可。 曼谷 → 尼泊尔/加德满都 的飞机上,其实心情是豁达的,从小到大做的车太多了,喜欢在车上思考一些问题。一切都是那么自然,前段时间明星王星泰国被骗的事件, 西藏/尼泊尔 地震事件。一个月前曼谷飞首尔航班事件,再到之前 加德满都 -> 博卡拉 的飞机频频失事,喜马拉雅山频繁出现意外,再去用理智和数据去推测自己的后半生的成长曲线,我是怎么也没办法说服自己就这样让自己莫名其妙的离开这个世界。反转一个场景,”世界都这么多突然了,假设我们每一天都会是最后一天,假设我当前乘坐的航班✈️也没办法顺利到达终点,最后一天,你有什么遗憾吗?” 我已经很快乐的度过每一天了,我已经在让每一天都不留遗憾的度过了。哪怕很平常的一天,走在草坪上,看看小朋友和小狗嬉闹的身影我觉得已经很幸福了。最后一天真的那么重要吗,重要的是当下,做自己想做的事情,为自己想要实现的愿望付出自己的时间、经历和生命。是此时此刻,比如说你我在思考这个问题的瞬间,感受到的乐趣,我把每一天都当做最后一天去生活,去做自己想做的事情,去尽可能的创造,为世界创造一些幸福和价值。对于一些自己无能为力,不可控的问题,交给佛祖吧 ~ !https://cdnv2.ruguoapp.com/Fmx1eiSFwVftgjXDxPT9RjdFz2X1v3.jpg?imageMogr2/auto-orient/heic-exif/1/format/jpeg/thumbnail/!120x120r/gravity/Center/crop/!120x120a0a0 又一年过去了, 上一年在维多利亚港跨年写年度小结的场景还历历在目,是什么能力可以在短短几个小时完成一篇年度小结? 结合 AI 的能力快速完成的年度小结就像是 KPI 一样 😅。 去年就已经构思了今年的我年度总结可能会完成那哪些梦想,果然还是不能有太多的期待,结果现在回顾起来全部都是不及格,于是今年就不写年度小结了,反思一下今年的自己为什么是这样的转变。 好我喜欢写随笔,因为自己定义也是一个流浪青年,这篇文章我也会用随笔去写。 写之前想过一些定位,去年在维多利亚港看跨年烟花的时候,2023 跨年夜,我给自己的博客标了一句话: 我叫 Xinwei(bear) Xiong 🤖。我的忠诚是对冒险的忠诚☀️。 我是一个开源的极度爱好者Ⓜ️。我有一个大梦想,并会在明年实现它。 如果是那时候的我,肯定想的是今年如何去写去过哪些地方,实现了哪些的梦想。 因为日常也记录了非常多的随笔,以及当时的思考如何形成之前的我,以及现在的我。当时当下有更想写的一些东西,我很相信今年也尤其喜欢 transformation 这个词,所以这篇博客的核心,我想从 transform 这个词来深度的剖析,如果我的博客和文章是一款好的产品,投入了我大量的经历以及经验的结晶,禁得住市场和监管的考验,最终呈现给你的这款产品,面对你(与众不同且独一无二)的人来说,如何切切实实的感受到这种 transformation。 来之前看过 Reimu 的文章,那就从 Reimu 的文章开始说起,引入 transform 。 Reimu 在 2019 年大学毕业那会写过一篇万字长文《毕业后的一些思考》。我分别在大三大四读过一遍, 两次都是有缘刷到,很高兴第二次我认识了 Reimu。这篇文章讲的是 Reimu 在大学后的大量的思考以及信息攫取后输出,很有批判性思维。它确确实实让两次观看的我有了两次深刻的差异化感受,我理解这个过程就叫做 transformation,是,是我第一次阅读到第二次阅读感受的 transformation, 是我 看着 Reimu 的 transformation ,也是一个以时间为维度,两个普通平凡技术从业者时隔五年思想的 transformation。...

February 12, 2025 · 11 分钟 · 2136 字 · Xinwei Xiong, Me

独立开发者的后端聚焦工具箱:精通 Python、Go、必备技能及现代工具

本项目是一个持续的过程,以日拱一卒的态度去学习 AI 开源项目,通过实践真实项目,结合 AI 工具,提升解决复杂问题的能力。并且记录。 notion List 1. 引言:独立开发者的世界 独立开发,意味着自由与挑战并存。开发者不仅是代码的创造者,更是项目经理、测试工程师、运维专家,有时甚至是销售和客服。这种角色的多重性要求开发者具备广泛而深入的技能组合。本报告旨在为具备一定 Python 和 Go 基础、渴望在独立开发领域深耕或提升的开发者,提供一份详尽的指南。报告将重点聚焦后端技术栈(Python 的 Flask/Django 和 Go 的 Gin/Echo),同时涵盖必要的前端基础、核心技术能力、数据库知识、API 设计、版本控制、基础 DevOps、软件测试策略(特别关注 PostHog 和 APIFOX 工具)、常用开发工具、关键软技能以及持续学习的途径。其目标是构建一个清晰、实用的知识框架,助力独立开发者在技术选型和能力构建上做出明智决策,成功驾驭独立开发的航程。 2. 核心技术基础:超越框架的基石 在深入探讨具体的框架和工具之前,必须强调几项构成所有软件开发核心的基础能力。对于独立开发者而言,这些基础尤为重要,因为它们直接决定了解决问题的效率和项目的长期健康度。 2.1. 问题解决能力 问题解决是软件开发的核心活动,远不止于调试代码。它涵盖了理解需求、设计健壮方案、预见潜在问题以及在遇到障碍时找到有效出路的全过程。独立开发者往往缺乏大型团队的即时支持,强大的独立问题解决能力是生存和发展的关键。 这其中,批判性思维(Critical Thinking)扮演着至关重要的角色 1。这意味着开发者需要能够主动质疑假设,评估多种方案的优劣,基于信息和逻辑做出理性判断,并具备在没有明确指导下自主行动的能力 1。缺乏批判性思维的开发者更容易犯错,需要更多的外部指导,可能接受不合理的截止日期或选择次优方案,并且难以识别项目风险 1。相反,具备批判性思维的开发者能够更自主地领导项目,从构思到交付,这不仅提高了效率,也是获得晋升和承担更复杂项目的关键特质 1。 2.2. 数据结构与算法 (DSA) 数据结构与算法是编程的基石,对于构建高效、可扩展的应用至关重要 2。 相关性与重要性:虽然独立开发者日常工作中可能不会频繁遇到顶尖竞赛级别的难题 3,但对基础数据结构(如数组、栈、队列、链表、树、图、哈希表/集合 2)和算法(如搜索、排序、插入、删除 2)的扎实理解,是高效解决问题的基础 2。缺乏这种基础,开发者在处理稍有复杂度的任务时,可能会过度设计或陷入困境 3。DSA 不仅有助于解决特定问题,还能锻炼逻辑思维,培养更优秀的程序员 2。此外,对 DSA 的理解有助于更深入地领会 React 等现代框架的工作原理 2。在远程工作和大型科技公司的招聘中,DSA 知识往往是评估候选人解决复杂问题能力的关键标准 2。 关键概念:理解不同数据结构在增、删、查等操作上的效率差异(时间复杂度和空间复杂度,即 Big O 表示法)至关重要 3。例如,需要知道何时使用哈希表(提供快速查找)优于数组,理解二分查找的效率,了解不同排序算法的适用场景,以及图的深度优先搜索(DFS)与广度优先搜索(BFS)的区别 3。重点在于理解概念和适用场景,而非每天从零实现复杂算法 3。 学习建议:学习 DSA 最好的时机是刚开始学习编程时,其次就是现在 2。可以利用 YouTube、Free Code Camp 等免费在线资源进行学习和实践 2。 “够用就好”的陷阱与框架抽象:独立开发者,尤其是在项目初期,可能会优先考虑使用框架提供的便利功能快速交付产品,这可能导致忽视 DSA 基础的学习。框架(如 ORM、列表操作库)虽然抽象了许多底层实现 2,使得开发看似简单,但这种便利性可能隐藏着风险。如果开发者不理解这些便利功能背后的数据结构和算法原理(例如,列表追加和集合添加的性能差异,数据库索引的工作方式),就可能在不知不觉中写出低效的代码 3。当遇到性能瓶颈时,缺乏底层知识会使得调试和优化变得异常困难。仅仅依赖框架的“魔法”而不理解其原理,会限制开发者处理更复杂项目(这些项目往往需要更精细的数据处理和性能优化)的能力,可能导致其职业发展过早遇到瓶颈。因此,独立开发者应将学习基础 DSA 视为一项长期投资,这不仅是为了应对可能的面试,更是为了提升解决复杂问题的能力和构建高质量、高性能应用的基础。 3....

April 15, 2025 · 23 分钟 · 4714 字 · Xinwei Xiong, Me

Gpt Researcher 开源项目深度学习

本项目是一个持续的过程,以日拱一卒的态度去学习 AI 开源项目,通过实践真实项目,结合 AI 工具,提升解决复杂问题的能力。并且记录。 notion List 基本信息 项目名称:gpt_researcher GitHub 地址:https://github.com/assafelovic/gpt-researcher/blob/master/README-zh_CN.md 1. GPT-Researcher 项目简介 1.1. 项目使命与愿景 GPT-Researcher 是一个由人工智能驱动的自主代理,旨在执行全面的研究任务。其核心使命是“通过人工智能为个人和组织提供准确、无偏见和基于事实的信息”1。这一使命清晰地阐述了项目旨在解决的核心问题,即在信息爆炸的时代,如何高效、可靠地获取和处理信息。 该项目的愿景是利用 AI 的力量,将传统上耗时数周且资源密集的手动研究过程,转变为一个高效、自动化的流程 1。它致力于快速提供经过精心策划和聚合的研究结果,从而显著提升信息获取和分析的效率 2。 1.2. 核心价值主张 GPT-Researcher 的主要价值在于其能够生成详尽、客观的研究报告。它通过结合大型语言模型(LLM)的强大生成能力与实时的网络信息抓取、多源数据聚合以及本地文档处理能力来实现这一目标 1。这种结合旨在克服单独使用 LLM 进行研究所面临的挑战,例如信息过时、潜在偏见和上下文长度限制。 该项目适用于多种研究场景,例如生成公司简报、进行市场分析、发现行业趋势等,能够根据用户的具体目标快速提供准确、可信的结果 2。它不仅仅是一个简单的 LLM 封装器,而是作为一个针对研究任务的特定解决方案,旨在解决 LLM 在处理需要最新、广泛且深入信息的任务时所固有的局限性 1。通过整合实时数据和结构化处理流程,GPT-Researcher 旨在提供比独立 LLM 更可靠的研究工具。 2. 应对现代研究的挑战 2.1. 问题领域 GPT-Researcher 明确旨在解决当前研究工作流中存在的若干痛点 1: 耗时的手动研究: 传统研究方法为了得出客观结论,往往需要投入数周时间及大量人力物力。 LLM 的时效性与幻觉: 基于旧数据训练的 LLM 在处理需要最新信息的任务时,可能产生不准确或“幻觉”内容。 LLM 的 Token 限制: 现有 LLM 的上下文窗口大小限制了其处理大量信息并生成长篇、详尽研究报告的能力。 信息来源的局限性与偏见: 许多自动化服务可能依赖有限的网络来源,导致信息不全面或存在偏见,进而影响研究结果的客观性。 对这些不同问题的明确阐述表明,该项目的设计不仅仅局限于简单的网络信息抓取,而是将数据质量、报告篇幅和信息可靠性作为核心的设计考量 1。这种多方面的问题定义直接塑造了项目所需的功能和架构。例如,解决数据过时问题需要实时网络访问;克服 Token 限制需要复杂的文本分块和摘要策略;确保结果无偏见则需要广泛的来源聚合和信息筛选机制。...

April 14, 2025 · 7 分钟 · 1313 字 · Xinwei Xiong, Me

Jina 开源项目深度学习

项目概览 基本信息 项目名称:Jina GitHub 地址:https://github.com/jina-ai 主要技术栈: Jina 开源项目深度分析报告 1. 项目概览 1.1. 目标与定位 Jina AI 的核心目标是为构建高质量的企业级搜索和检索增强生成(Retrieval-Augmented Generation, RAG)系统提供一个强大的基础平台 1。它旨在解决现代应用中对更高级搜索能力的需求,特别是在处理多模态数据和需要深度理解内容的场景下 1。Jina 将自身定位为 MLOps 框架,专注于帮助开发者构建和部署以微服务形式存在的 AI 应用,这些应用能够通过 gRPC、HTTP 和 WebSocket 等多种协议进行通信 3。其核心价值在于提供一套先进的模型和框架,显著提升搜索质量、相关性和效率 1。 Jina 不仅仅是一个向量搜索工具,更是一个全面的框架,用于构建、扩展和部署复杂的 AI 服务 2。它致力于简化从本地开发到生产环境部署的过渡过程,让开发者能够专注于核心算法和业务逻辑,而无需过多关注底层基础设施的复杂性 3。Jina 的设计理念使其能够支持各种主流的机器学习框架和数据类型,并提供云原生的特性 3。 1.2. 解决的问题 Jina 主要解决以下问题: 复杂 AI 服务构建与部署: 传统方式下,构建包含多个 AI 模型(如编码器、排序器、生成器)的复杂应用,并将其部署为可扩展、高可用的服务,需要大量的工程投入。Jina 通过其 Flow、Executor 和 Deployment 机制简化了这一过程 3。 多模态/跨模态数据处理: 现代应用常常需要处理文本、图像、音频、视频等多种类型的数据。Jina 通过其核心数据结构 DocArray,提供了统一的方式来表示和处理这些异构数据,支持多模态和跨模态的搜索与分析 2。 低效的搜索与 RAG 实现: 传统搜索依赖关键词匹配,而 RAG 系统需要高效地检索相关信息以增强大型语言模型(LLM)的生成能力。Jina 提供了优化的神经搜索能力,包括先进的嵌入模型和重排模型,以提高检索的准确性和相关性 1。 基础设施复杂性: 将 AI 应用部署到生产环境,需要处理容器化、服务编排、扩展性、监控等一系列云原生挑战。Jina 内置了对 Docker、Kubernetes、Docker Compose 的支持,并集成了 OpenTelemetry 等监控工具,旨在降低基础设施管理的门槛 3。 1....

April 12, 2025 · 16 分钟 · 3327 字 · cubxxw

Kubernetes 资源与学习路径总结

需求 🔥 我们需要对 kubernetes 进一步的学习和深造,看源码是必须的道路。 👀 与其重要的,是对 kubernetes 资源的收集。 ⚠️ 所有资源均是采用外链连接,书本资源或不放连接,其他均为自己感受和总结。如有侵权请联系删除。 🚧 ⚠️ **注意,这篇文章将永久保存在 notion,将会不断地更新下去,提供了可写通道,如果你有更好的资源,欢迎补充在notion上 ~** CloudNative 学习途径 关于kubernetes: 官网 GitHub 社区维护的 kubernetes 学习资源合集 Kubernetes源码必读的 Google 大规模集群管理器 Borg etcd:从应用场景到实现原理的全方位解读 和 ZooKeeper典型应用场景一览 关于 CNCF 的贡献,你需要签署 CLA Kubernetes CLA 的签署流程 官方开发者向导 markdown 文件 Kubernetes ownes 所有者md介绍 自己写作的一些资源: 云原生学习 golang 学习 都收纳到 awesome 仓库中,覆盖 📚 菜鸟成长手册🚀 CS系列 、云原生系列、区块链系列、web3系列🔥、Golang系列💡…… 访问 GitHub👀 https://github....

August 6, 2024 · 3 分钟 · 449 字 · 熊鑫伟,我

利用 LangChain 框架的语言模型应用:开发者指南

什么是Langchain? LangChain 为开发者提供了一个强大的框架,用于快速构建和部署复杂的基于语言模型的应用程序,满足了需要集成多种语言处理功能至一体化解决方案的需求。 LangChain 的 PMF: 核心用户和使用场景:LangChain 设计用于简化使用语言模型进行应用开发的过程。它特别适合于需要将多个语言技术集成到一起的开发者和企业,例如集成聊天机器人、自动内容生成工具等。 市场需求:随着 AI 和机器学习技术的发展,市场上对于能够简化和加速语言模型应用开发的工具的需求持续增长。LangChain 通过提供一个结构化的方式来组合不同的语言能力(如理解、生成、概括等),满足了这一需求。 竞争优势:LangChain 的优势可能在于其框架的灵活性和扩展性。对开发者而言,这意味着可以用较少的代码实现更复杂的语言处理任务,这是其吸引用户的一个关键因素。 用户反馈和市场接受程度:衡量 PMF 的一个重要方面是用户的反馈和产品的市场接受程度。如果 LangChain 的用户基础持续增长,且用户反馈积极,那么可以认为它在实现良好的产品市场契合度方面是成功的。 LangChain简化了LLM应用程序生命周期的每个阶段: 开发:使用 LangChain 的开源构建块和组件构建您的应用程序。使用第三方集成和模板开始运行。 生产化:使用 LangSmith 检查、监控和评估您的链,以便您可以充满信心地持续优化和部署。 部署:使用 LangServe 将任何链转变为 API。 langchain 框架组成 具体来说,该框架由以下开源库组成: langchain-core :基础抽象和LangChain表达式语言。 langchain-community :第三方集成。 合作伙伴包(例如 langchain-openai 、 langchain-anthropic 等):一些集成已进一步拆分为自己的轻量级包,仅依赖于 langchain-core 。 langchain :构成应用程序认知架构的链、代理和检索策略。 langgraph:通过将步骤建模为图中的边和节点,使用 LLMs 构建健壮且有状态的多角色应用程序。 langserve:将 LangChain 链部署为 REST API。 更广泛的生态系统:...

May 22, 2024 · 27 分钟 · 5663 字 · 熊鑫伟, 我

探索大型语言模型(llm):人工智能在理解与生成人类语言方面的先锋

大语言模型简介 大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。 LLM 通常指包含数百亿(或更多)参数的语言模型,它们在海量的文本数据上进行训练,从而获得对语言深层次的理解。目前,国外的知名 LLM 有 GPT-3.5、GPT-4、PaLM、Claude 和 LLaMA 等,国内的有文心一言、讯飞星火、通义千问、ChatGLM、百川等。 为了探索性能的极限,许多研究人员开始训练越来越庞大的语言模型,例如拥有 1750 亿参数的 GPT-3 和 5400 亿参数的 PaLM 。尽管这些大型语言模型与小型语言模型(例如 3.3 亿参数的 BERT 和 15 亿参数的 GPT-2)使用相似的架构和预训练任务,但它们展现出截然不同的能力,尤其在解决复杂任务时表现出了惊人的潜力,这被称为“涌现能力”。以 GPT-3 和 GPT-2 为例,GPT-3 可以通过学习上下文来解决少样本任务,而 GPT-2 在这方面表现较差。因此,科研界给这些庞大的语言模型起了个名字,称之为“大语言模型(LLM)”。LLM 的一个杰出应用就是 ChatGPT ,它是 GPT 系列 LLM 用于与人类对话式应用的大胆尝试,展现出了非常流畅和自然的表现。 LLM 的发展历程 语言建模的研究可以追溯到20 世纪 90 年代,当时的研究主要集中在采用统计学习方法来预测词汇,通过分析前面的词汇来预测下一个词汇。但在理解复杂语言规则方面存在一定局限性。 随后,研究人员不断尝试改进,2003 年深度学习先驱 Bengio 在他的经典论文 《A Neural Probabilistic Language Model》中,首次将深度学习的思想融入到语言模型中。强大的神经网络模型,相当于为计算机提供了强大的"大脑"来理解语言,让模型可以更好地捕捉和理解语言中的复杂关系。 2018 年左右,Transformer 架构的神经网络模型开始崭露头角。通过大量文本数据训练这些模型,使它们能够通过阅读大量文本来深入理解语言规则和模式,就像让计算机阅读整个互联网一样,对语言有了更深刻的理解,极大地提升了模型在各种自然语言处理任务上的表现。 与此同时,研究人员发现,随着语言模型规模的扩大(增加模型大小或使用更多数据),模型展现出了一些惊人的能力,在各种任务中的表现均显著提升。这一发现标志着大型语言模型(LLM)时代的开启。 LLM 的能力 涌现能力(emergent abilities) 区分大语言模型(LLM)与以前的预训练语言模型(PLM)最显著的特征之一是它们的 涌现能力 。涌现能力是一种令人惊讶的能力,它在小型模型中不明显,但在大型模型中特别突出。类似物理学中的相变现象,涌现能力就像是模型性能随着规模增大而迅速提升,超过了随机水平,也就是我们常说的量变引起质变。 涌现能力可以与某些复杂任务有关,但我们更关注的是其通用能力。接下来,我们简要介绍三个 LLM 典型的涌现能力:...

May 15, 2024 · 30 分钟 · 6220 字 · 熊鑫伟, 我

塑造职业道路:开源简历生成器与专业简历技巧指南

在求职的海洋中,一份精心准备的简历就如同一艘设计精良的帆船,能让你在竞争激烈的浪潮中乘风破浪。随着开源社区的蓬勃发展,现如今市面上涌现出许多优秀的简历生成工具,旨在帮助求职者以最低的成本制作出既专业又具有个性化的简历。本文将为你详细介绍几款顶尖的开源简历生成工具,并提供实用的简历制作和优化技巧。 🌟 精选开源简历生成器 📄 Visiky Resume 如果你想在网页上展示你的简历,并且需要多种定制选项,Visiky Resume 是一个不错的选择。这款工具提供三种内置模板,支持自定义主题颜色和模块标题,甚至还支持中英文双语版本,非常适合具有国际求职需求的用户。 🌍 GitHub 仓库 📝 在线生成器 ✒️ Markdown Resume 对于Markdown的忠实粉丝来说,Markdown Resume 提供了一种极简方式来构建简历。它支持丰富的Markdown编辑功能,并且能够直接导出为PDF,非常适合那些追求内容优先、格式简洁的技术写作者。 📖 GitHub 仓库 🖥️ 在线生成器 🎨 Typora Markdown Resume 通过结合Typora、Markdown和CSS,你可以自由地打造一个个性化十足的简历。对于那些熟悉网页设计或喜欢手动调整每一个细节的创意专业人士来说,这无疑是一个极好的选择。 🛠️ GitHub 仓库 🌐 木及简历 木及简历提供了一个全面且功能强大的在线Markdown简历编辑器,支持实时PDF预览、智能排版和云存储,非常适合那些希望远离繁琐Word处理的用户。 💡 GitHub 仓库 🌐 官方网站 📚 Awesome CV Awesome CV 是 LaTeX 用户的福音,提供多种精美的模板,适合那些追求极致专业外观的求职者。 🎓 GitHub 仓库 🔗 OpenResume 作为一个功能全面的简历生成器,OpenResume 允许用户快速创建现代化的专业简历,并提供在线编辑和预览功能。 🌟 GitHub 仓库 📊 在线使用 🔗 Online-CV: 国外热门的在线简历/在线名片 这是一个基于Jekyll的极简主题,用户只需简单操作即可在GitHub上托管自己的简历(CV)。...

April 19, 2024 · 1 分钟 · 125 字 · 熊鑫伟,我

这是一篇我职业生涯总结的 OpenIM 故障排查指南

如果你想在寻找一篇针对 OpenIM 并且准备好具体的问题想来这里找到答案的话。那么很遗憾的告诉你,这篇并不是记录问题和编写答案的,这篇是读者经过开发和业务实战中以 OpenIM 为例总结出来的故障排查的方法,以及调试的技巧。如果你想从我这里学习到故障的排查以及问题定位的经验,那么请你继续读下去。 我将会从工作中经常出现的一些情况总结成类型来分析。 一个小小的玩笑,或许我比较逆人性,其他人都很害怕遇到 bug 的时候,我倒是对出现 bug 比较兴奋,我们后期读代码的时间和维护代码的时间其实是远远高于写代码的时间的。所以面对 bug, 我们的思考和总结尤其是非常重要,尤其是帮我们在写代码的时候也思考,代码的扩展性,和错误处理,是否可以禁得起考验 ~ 故障排查的基本概念 故障排查,我主要是分为几种情况,分别是,编译的故障排查,启动的故障排查,以及服务运行故障排查。这几种情况的故障排查思路都是大同小异的。 首先,我们需要发现问题,然后定位问题。我们可能需要经过多轮分析排查才能定位到问题的根因,最后去解决问题。排障流程如下图所示: 开始 | V 发现问题 ------> 记录问题的症状和相关情况 | V 定位问题 | V 进行初步分析 --------> 确定可能的原因 | | V | 是否需要深入分析?-----> 是 ------> 进行深入分析 | | | | | V | | 确定具体原因 | | | | | V | <-------- 是否已找到根本原因? | | | 否 | V 是否解决了问题? | 是 ------> 记录解决过程和解决方案 | | 否 ------> 调整策略或寻求帮助 | V 结束 如果想排查问题并解决问题,你还需要具备以下两个基本能力:...

April 16, 2024 · 7 分钟 · 1478 字 · 熊鑫伟,我

探索开源以及开源商业模式研究

开源为我带来了很多的成长,很多的成长经验和学习途径都是通过开源获取到并且学习到的。 这里有一篇我的第一次开源的成长指南:https://nsddd.top/zh/posts/open-source-contribution-guidelines/ 之前,在深圳的 全球流量大会(GTC) 一些来自我对开源商业化的思考,感兴趣可以阅读先阅读这篇思考文章: https://nsddd.top/zh/posts/openim-open-source-business-journey/ 第一次参与开源还是一个刚刚接触大学没多久 ~ ,调研了解到很多优秀的开源项目都会有很多业界大佬坐镇,因此会让大家以为只有“大牛”才能参与开源。实际上,开源社区经常会听到 “我是小白,我可以参与开源吗?” 这种声音,发出这种声音的同学往往是对开源感兴趣,但并不知道如何入手的小伙伴。 从开源定义来看,我们不需要成为“大牛”才能够参与开源。所谓开源,其实是一种促进个人成长和开源领域发展的行为,通过分享自身技术和经验来促进大家的技术交流,从这方面讲,开源是没有门槛的,只要有想要分享的东西,所有人都可以参与开源。 从参与要求来看,我们需要具备一定的知识积累才能参与开源。开源社区不是学校,社区会解答你的疑问,但首先你要有一定了解,才能准确提出你的疑问。对开源项目一无所知是无法参与开源的。当然,这与你是否成为“大牛”也并没有什么关系。因此,只要具备一定的技术积累,就可以参与相应的开源项目。 “罗马不是一天建成的”。没有人天生就是“大牛”,“大牛”们也是在参与中不断成长的,不要被虚无的 title 所困扰,只有不断的坚持和探索才能让自己不断成长! 其实旅游中也有过一些自己的思考,在旅游中我喜欢摄影,带着相机走走拍拍。或许和女生不一样 ,我开始的时候其实是更倾向于发现风景的,就像是在香港的麦理浩径的第一段和第二段的中间破边洲部分,我更多的是以人物在破边洲的悬崖边上,然后衬托后面的悬崖的美丽壮观。我们在工作中也是一样的, 在我们摄影的时候,我们面临对焦,开始在远方我们或许更多的是把焦点放在人物后面的背景上,或者说是 title,比如说某个人是某个大学、某某大厂的光环,反而忽略了他的本身。后面当你关注在人物身上,你会发现人物的美,你会想办法如何把漂亮的小姐姐这一瞬间记录下来。这个时候其实你更专注的是某一个人,这个转变很重要,你慢慢的发现自己专注自己了,而不是专注后面虚无缥缈的光环和头衔。 在开源社区中,我慢慢学习到了非常多的技巧,比如这里我总结出一篇开源社区的提问技巧:https://nsddd.top/zh/posts/the-art-of-asking-questions-in-open-source-communities/ 我对整个的开源成长也有自己的思考总结,写了这篇关于开源的成长性指南阶段,从我们第一次加入开源项目开始,到最后开源和维护自己的项目,以及商业化成长,可以参考: https://nsddd.top/zh/posts/stage-growth-of-open-source/https://nsddd.top/zh/posts/stage-growth-of-open-source/ 非常推荐阅读 ~ 在加入 OpenIM 的社区一年中,我将自己的开源理解和运营技巧都集成在了 OpenIM 的开源布道上,将 OpenIM 社区带入到了一个顶级的开源社区中来。除此之外,我参与过其他的优秀开源项目的贡献和维护,我会从自己的角度上来介绍如何运营一个优秀顶级的开源社区。 开源不仅是我的热爱,也逐渐成为我的一大优势。在我与开源的互动中,我们相得益彰。 开源除了给个人以及公司带来技术影响力之外,更为重要的是通过开源实现商业化价值,而这部分才是很多开源项目成功的实际驱动力。本文会介绍我对开源的理解,以及着重介绍自己对开源以及开源商业模式做了一个系统的研究,为决策项目是否应该开源、采用何种开源策略以及开源商业化路径提供参考意见。 如果你对我有兴趣,可以关注我的开源的 github 账户: https://github.com/cubxxw 开源商业模式 越是用户付费意愿强的功能,越是要闭源。越是用户觉得好玩的功能,能吸引到大家的功能,越是要开源。 我认为的开源商业模式是什么样的? 开源商业化模式文章后面会总结目前的所有的商业化模式,但是我觉得最主要的商业模式是 open-core 和 open-standard,还有一些非主流的,比如说开源软件免费,但结合硬件组合销售。 我认为: 越是用户付费意愿强的功能,越是要闭源。 越是用户觉得好玩的功能,能吸引到大家的功能,越是要开源。 我认为的开源商业模式是什么样的? 开源商业化模式文章后面会总结目前的所有的商业化模式,但是我觉得最主要的商业模式是 open-core 和 open-standard,还有一些非主流的,比如说开源软件免费,但结合硬件组合销售 开源也有自己的护城河吗? 担心开源后自己的产品被抄袭,开源,作为一个推动技术创新和社区合作的新力量,其商业模式多样,从提供专业支持和服务,到构建围绕核心开源项目的企业级产品。 我认为在开源的护城河上面,关键在于如何利用产品开源的独特价值和社区力量,创建难以复制的竞争优势。 所以基本上就是你要不是有开源 core 产品,作为线索漏斗去吸引你的用户,然后用这来做你整个公司的品牌,然后再做差异化功能的落地实践,然后另一种可能就是类似 MySQL 做咨询顾问的工作。 那么开源产品本身的护城河我理解其实抛开和普通产品护城河区别外,Open standard是今天开源软件商业化更好的一个形态,它对这个公司的技术能力提出了更高的要求。 open core 其实在云时代很难发展,即使是目前 OpenIM 那种做好 传统的 open core 模式在云时代下会比较难,可能难就难在构建好护城河,比如说跟那些云厂商比。各大云厂商,从各方面看,都有巨大优势:它本身就是一个大的流量资源,客户的流量在这里,推广的流量在这里,如果你很不幸,刚好跟这个云厂商贴在同一个赛道,你怎样去获得一个这个优势?这很困难,也是 MongoDB、Elastic、Redis 等开源厂商被逼的修改开源 License 背后的深层次原因。...

April 13, 2024 · 6 分钟 · 1121 字 · 熊鑫伟,我