还在用 Wiki/Confluence?你可能在生产垃圾

不知道你是否也在企业中使用过 Confluence,或者其他类似的 Wiki 工具。刚接触它时,我觉得这玩意儿真不错:功能强大、支持各种排版样式、可以插入图片、视频、图标,还能查看历史版本,使用体验比 Git 轻松太多了。

但慢慢地,我发现了它的一个巨大问题:每个人都可以创建并维护自己的 Wiki 页面

一开始,这种自由看起来是优势。但时间一长,问题就来了:同一个主题的内容,可能会被不同的人写了多个版本。尤其是在项目或产品从一个团队交接到另一个团队时(在外企这是很常见的操作),新团队成员可能不会在原有文档上继续维护,而是习惯另起炉灶,记录自己的理解。

于是,旧的 Wiki 随着人员流动逐渐失效(原作者可能早已离职),新的 Wiki 内容又不够完善甚至有误。这样一来,知识沉淀不仅没有统一,反而更混乱了。

我始终认为 Wiki 工具本身是好的,但如果缺乏统一的管理机制、没有像 Git 那样的 Pull Request 审批流程,那最终它就容易沦为垃圾信息的生产场。

相比之下,开源社区在这方面反而做得很好。

Read More

还在用 pip 和 venv?那你可真落伍了,赶紧体验 uv!

如果你已经习惯了 pip install、手动创建虚拟环境、自己管理 requirements.txt,那你可能会对 uv 有些惊喜。

这是一个由 Astral 团队开发、用 Rust 写的 Python 包管理工具,它不仅能替代 pip、venv、pip-tools 的功能,还带来了更快的依赖解析速度,以及一套更现代的项目管理方式。

uv init 开始,一键创建项目骨架

我们不从 “怎么装 uv” 讲起,而是从 “怎么用 uv 创建一个项目” 开始。

Read More

全程记录|PyCon LT 2025 第三天:AI 能取代你吗?

今天是我参加 PyCon LT 2025 的第三天:AI and ML Day,主题是 LLM 和 Neural Networks。

全部日程可以在这里查看:PyCon LT 2025

AI 的发展确实很快,我也想借这次大会的机会,听一听关于 AI 的相关讨论。虽然因为下午有工作需要回公司处理,只听了上午的议程,但依然有收获。

主要的收获是:AI 已经成为每个人都不能不学习和应用的技术了。

Read More

全程记录|PyCon LT 2025 第二天:被几位女性开发者圈粉了

今天是我参加 PyCon LT 2025 的第二天:Data Day,主题是 Dataframes、Databases、Orchestration。

全部日程可以在这里查看:PyCon LT 2025

这确实是我不太熟悉的领域,但还是希望来听听,看看能不能有所收获,毕竟门票里也包含了这一天的议程。没想到,今天真正打动我的,竟然是几位技术演讲者中的女性讲者——不仅讲得有料,还有热情、风格、甚至让我顺手关注了几个博客……

Read More

全程记录|PyCon LT 2025 第一天:我在异国 Python 大会上的见闻

第一次参加了 Python 的大会,没想到是在国外。

虽然这次的规模和演讲嘉宾的知名度不及即将六月份在捷克举办的 PyCon 欧洲大会,但这也是一次不错的体验。

这次 PyCon LT 2025 一共是三天:

  • 第一天(4月22日)是 Python Day(Web、Cloud、IoT、Security)
  • 第二天(4月23日)是 Data Day(Dataframes、Databases、Orchestration)
  • 第三天(4月24日)是 AI and ML Day(LLM、Neural Networks)

全部的日程可以在这里查看:PyCon LT 2025

Read More

回国休假的一点感慨:北京的夜,好晚

上个月回国休假,结束之后从北京转机飞欧洲。因为我们三口之家行李比较多,就订了首都机场附近的酒店,方便第二天出发。趁着在北京停留的这个晚上,就约了几位大学同学小聚一下。

那天是星期二,我大概下午四五点钟到酒店。感谢北京的同学们的热情招待,也挺不好意思的,让他们下班后还大老远跑来机场这边见我一面。

有一个小感慨就是:北京人下班真的挺晚的。

Read More

微软、NASA 都在用?我用业余时间维护了 4 年的项目破百了

上周,我创建并维护的开源项目 cpp-linter-action 迎来了一个小小的里程碑:

🌟 GitHub Star 数突破 100!

虽然这个数字不算大,但对我来说是一个小小的里程碑——这是我第一次有项目在 GitHub 上获得超过 100 个 Star,也可以算是对这个项目的认可,给了我持续维护的动力。

我在这个项目的第一次提交是在 2021 年 4 月 26 日,一晃将近 4 年过去了。回头看看这段时间,挺庆幸自己一直没有闲着,也留下了一些对别人有用的东西。

随着项目不断发展,用户也越来越多。根据粗略估算,目前已经有上千个项目在使用这个 Action。

其中不乏一些知名组织和开源项目,比如:

  • Microsoft
  • Apache
  • NASA
  • CachyOS
  • nextcloud
  • Jupyter

最重要的是,这个过程让我收获了很多新的技能和知识,也让我保持了一个「业余习惯」:

手机上除了刷微信、抖音,还有 GitHub。

这个项目也成为了我后续工作的一个起点。我后来创建了 cpp-linter 组织,和其他开发者一起维护并发布 clang-tools 的二进制版本和 Docker 镜像。同时也开发了 cpp-linter-hooks,为用户提供 clang-formatclang-tidy 的 pre-commit hook,使用起来更加方便。

不谦虚的说:

如果你的项目是用 C/C++ 开发,如果想使用 clang-formatclang-tidy,那么 cpp-linter 会是一个绕不开的选项。

最后,欢迎大家提出意见或建议,也欢迎通过 IssueDiscussions 与我交流!

如果你觉得这个项目对你有帮助,也欢迎在公众号「DevOps攻城狮」留言或者去 GitHub 点个 Star,支持下这个项目~

—— 写于 2025-04-15 12:49 AM


转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」

访问 GitHub 的那点坚持,快磨没了

昨天想必有些人可能已经遇到 GitHub 无法访问的情况了。

网上有人调侃,说是因为美国加征关税,GitHub 的响应码从 200 升级到了 403。

玩笑归玩笑,GitHub 官方后来给出了说明——是配置错误,目前问题已经修复。

刚好前段时间回国了一趟,再次体验到了快递、外卖、出行、支付等方面的便捷和实惠。唯一不太方便的,就是网络。

更准确地说,是那些很多程序员日常离不开的网站和服务,比如 GitHub、Docker Hub、Docker Desktop,还有 ChatGPT。当然,现在我们也有 DeepSeek 这样的替代品了。

就我个人体验来说,GitHub 在国内是可以访问的,但稳定性不太行。经常是刚打开还能用,过一会就彻底加载不出来了。

工作之外,本来每天晚上能用来自由安排的时间本就不多,但却经常不得不花时间来解决网络问题。

虽然也知道可以改 hosts、或者折腾下科学上网,但我的电脑配置起来始终不是很顺利。

这一通折腾下来,感觉真是累了。有时候甚至不想再打开电脑,只想躺着刷会儿手机。

访问 GitHub 的那点坚持,快磨没了。

算了,就当是放个假吧。


转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」

从零配置 Sphinx + ReadTheDocs:快速部署自动化文档

在日常的开源项目或团队协作中,我们经常会需要一个易于维护、可自动部署的文档系统。

最近在维护自己的开源项目时,我尝试用 Sphinx 来生成文档,并通过 ReadTheDocs 实现了自动构建和托管,整体体验还不错。

记录一下配置过程,希望能帮到有类似需求的朋友。

为什么选择 Sphinx 和 ReadTheDocs

  • Sphinx 是一个用 Python 编写的文档生成工具,最初为 Python 官方文档设计,支持 reStructuredText 和 Markdown(通过插件)。
  • ReadTheDocs 是一个文档托管平台,可以自动从你的 Git 仓库拉取代码、构建并发布文档,支持 webhook 自动触发。

这两个工具的组合非常适合持续维护和更新文档,而且社区成熟、资料丰富。

Read More

Markdown 不香了吗?为什么越来越多 Python 项目用 RST?

在日常工作中,无论是写 README、写博客,还是写项目文档,我们总要选择一种标记语言来排版内容。

目前主流的有两种:MarkdownreStructuredText(简称 RST)

那它们之间到底有什么区别?又该在什么场景下选哪个呢?

最近我将 gitstats 项目的文档从 Markdown 转换为 RST,并发布到 ReadTheDocs 上,这篇文章就来聊聊我的一些实践体会。

Read More

我记得——回国两月琐忆

回国两个月来,我一直想写一篇文章,来记录一下这两个月来的生活。

但我每次敲击键盘总是写了又改,改了又删。

我时而想写下所有的我能记住的点点滴滴;时而又想写下我临行前的心情,但我不想让家人担心。

这两次出国前,我总爱听赵雷的《我记得》。

这个歌会让我回想起来这每一天,每一周,每一月的生活。

Read More

为什么越来越多的企业用户开始放弃 VMware?

背景

如果你是 VMware 的企业用户,或许你正在考虑脱离 VMware。目前,许多企业用户正在积极寻找替代方案,以降低成本和减少对 VMware 生态的依赖。

很多企业在考虑脱离 VMware,主要原因是:

Broadcom(博通)收购 VMware 带来的影响。2023 年 Broadcom 完成了对 VMware 的收购,并进行了一系列调整,包括:

  • 取消部分产品的永久许可证,强推订阅模式(Subscription)。
  • 价格上涨,使得许多企业的成本大幅增加。
  • 砍掉了一些非核心产品和合作计划,让部分企业和合作伙伴感到不安。

这些变化导致很多企业开始寻找替代方案,以降低成本并减少对 VMware 生态的依赖。

替代方案

Read More

一觉醒来,我的 PR 已经被 Merge 到 CPython 主分支了!

昨晚,哄完女儿睡觉已经是午夜十二点了。我回到自己的屋里,打开 GitHub,看看当晚有没有什么可以贡献的项目。

这次,我决定去 CPython 的 Issue 区找找有没有适合自己的贡献机会。

CPython 就是大名鼎鼎的 Python 编程语言的官方代码仓库。

其实,早就想找机会为 CPython 贡献代码,但一直没能迈出第一步。这次,我想用自己的方式寻找突破口。

这种想法的启发,来自 Tian Gao(GitHub ID:gaogaotiantian),他是 Python 的 Core Developer(核心开发者),专注于维护 pdb,并曾跻身 Python 贡献排行榜 #94 名。他可能是唯一一个前 100 名的中国开发者。

于是,我筛选了一些自己感兴趣的类别,当然就是 Infra 和 DevOps 相关的问题。很快,我找到了一张合适的 Issue,修改代码、测试、提交 Pull Request,然后就去睡觉了。

今天早上醒来,我发现我的 PR 已经被 Merge 到 CPython 主分支了!

第一个 CPython PR

虽然这算不上什么了不起的成就,但却是一个很好的学习过程。比如,通过参与优秀的开源项目,了解他们是如何管理 Issue 和 Pull Request 的,学习他们做得好的地方。这些经验都有可能应用到自己的工作或项目中。

在贡献优秀开源项目的过程中,不仅能提升相关技能,还能与这些优秀的开发者交流,学到新的知识。

从短期来看,或许不会带来直接的收益,但如果这是你真正热爱的事情,那么长期投入一定是值得的。

假如拥有 Python Core Developer 这样的身份认可,在国内可能有助于获得更理想的工作机会。然而,并非所有公司都青睐这种“双时区开发者”(白天工作,晚上开源)。

但如果你的目标是寻找远程工作,或者申请欧美国家的签证,这样的经历无疑会成为一个重要的加分项。


转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」

为什么我选择参与 EuroPython 2025 评审?

最近工作之余没怎么贡献代码,主要把时间都用在了评审 EuroPython 2025 (欧洲 Python 2025 大会)的提案上了。

EuroPython 2025

在国内的时候,我从未想过去参与某个活动,并当志愿者服务大家。但是来到欧洲,我突然想多参加点这样的活动。

下面就说说我为什么选择参加志愿者工作,以及最近一周的支援活动有哪些收获和感悟。

Read More

🚀 gitstats 升级来袭:支持 JSON 输出、多平台兼容、代码重构!

大家好!自从上次发文宣布开始维护 gitstats 以来,我一直在不断地改进这个项目,下面是这两个月的主要更新内容:

✨ 新增功能与改进

Read More