全程记录|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

How to use Jenkins Docker Cloud

Recently, I am working on Jenkins instance migration, this time I started to use Jenkins Docker Cloud insead of use docker { ... } in Jenkinsfile.

Jenkins cloud plugin

First you need to install Jenkins Docker Cloud plugin https://plugins.jenkins.io/docker-plugin/

Jenkins Docker Cloud is a plugin that allows Jenkins to use Docker containers as build agents.

So you need to config a Docker Host with remote API as follows.

Read More

CPython 停止更新 Copyright 了,为什么?

最近逛 CPython 的仓库发现了这个 Issue gh-126133:

Hugo van Kemenade 他作为 Python 3.14 & 3.15 发布经理提出是否可以停止更新 Copyright。

在工作中,我其中的职责之一也是发布,因此我这个想法的提出也非常感兴趣,跟 CPython 项目一样,我们的项目在每年的年初都要更新 Copyright。

下面我们就一起来看看 Hugo 提出的理由以及最终这个想法被 Python 项目法律团队采纳并最终合并到 CPython 的主分支的过程。

Read More

2024 年终总结

时间过得很快,2024 年即将过去。如果不记录下在这一年里发生的事情,过不了多久就很难回想起这一年都发生了什么。按照惯例,这篇年终总结如期而至。

回看自己年初写下的 Flag,有些实现了,有些做了但不是很好,还有一些没有做到。

Read More

我的女儿

女儿已经两岁七个月了,我还没有单独写过一篇关于她的文章。

我的女儿是个好动的小姑娘,每天充满活力,以至于经常我从下班到家六点半一直陪她到半夜十二点多才能停下来睡觉。

今天是周五晚上,十二点半了还是蹦蹦跳跳不想睡觉,终于在凌晨一点钟熄灯睡觉了。但她突然下床要吃苹果。

Read More