今天是我参加 PyCon LT 2025 的第二天:Data Day,主题是 Dataframes、Databases、Orchestration。
全部日程可以在这里查看:PyCon LT 2025
这确实是我不太熟悉的领域,但还是希望来听听,看看能不能有所收获,毕竟门票里也包含了这一天的议程。没想到,今天真正打动我的,竟然是几位技术演讲者中的女性讲者——不仅讲得有料,还有热情、风格、甚至让我顺手关注了几个博客……
今天是我参加 PyCon LT 2025 的第二天:Data Day,主题是 Dataframes、Databases、Orchestration。
全部日程可以在这里查看:PyCon LT 2025
这确实是我不太熟悉的领域,但还是希望来听听,看看能不能有所收获,毕竟门票里也包含了这一天的议程。没想到,今天真正打动我的,竟然是几位技术演讲者中的女性讲者——不仅讲得有料,还有热情、风格、甚至让我顺手关注了几个博客……
第一次参加了 Python 的大会,没想到是在国外。
虽然这次的规模和演讲嘉宾的知名度不及即将六月份在捷克举办的 PyCon 欧洲大会,但这也是一次不错的体验。
这次 PyCon LT 2025 一共是三天:
全部的日程可以在这里查看:PyCon LT 2025
上个月回国休假,结束之后从北京转机飞欧洲。因为我们三口之家行李比较多,就订了首都机场附近的酒店,方便第二天出发。趁着在北京停留的这个晚上,就约了几位大学同学小聚一下。
那天是星期二,我大概下午四五点钟到酒店。感谢北京的同学们的热情招待,也挺不好意思的,让他们下班后还大老远跑来机场这边见我一面。
有一个小感慨就是:北京人下班真的挺晚的。
上周,我创建并维护的开源项目 cpp-linter-action 迎来了一个小小的里程碑:
🌟 GitHub Star 数突破 100!
虽然这个数字不算大,但对我来说是一个小小的里程碑——这是我第一次有项目在 GitHub 上获得超过 100 个 Star,也可以算是对这个项目的认可,给了我持续维护的动力。
我在这个项目的第一次提交是在 2021 年 4 月 26 日,一晃将近 4 年过去了。回头看看这段时间,挺庆幸自己一直没有闲着,也留下了一些对别人有用的东西。
随着项目不断发展,用户也越来越多。根据粗略估算,目前已经有上千个项目在使用这个 Action。
其中不乏一些知名组织和开源项目,比如:
最重要的是,这个过程让我收获了很多新的技能和知识,也让我保持了一个「业余习惯」:
手机上除了刷微信、抖音,还有 GitHub。
这个项目也成为了我后续工作的一个起点。我后来创建了 cpp-linter 组织,和其他开发者一起维护并发布 clang-tools
的二进制版本和 Docker 镜像。同时也开发了 cpp-linter-hooks,为用户提供 clang-format
和 clang-tidy
的 pre-commit hook,使用起来更加方便。
不谦虚的说:
如果你的项目是用 C/C++ 开发,如果想使用
clang-format
和clang-tidy
,那么 cpp-linter 会是一个绕不开的选项。
最后,欢迎大家提出意见或建议,也欢迎通过 Issue 或 Discussions 与我交流!
如果你觉得这个项目对你有帮助,也欢迎在公众号「DevOps攻城狮」留言或者去 GitHub 点个 Star,支持下这个项目~
—— 写于 2025-04-15 12:49 AM
转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」
昨天想必有些人可能已经遇到 GitHub 无法访问的情况了。
网上有人调侃,说是因为美国加征关税,GitHub 的响应码从 200 升级到了 403。
玩笑归玩笑,GitHub 官方后来给出了说明——是配置错误,目前问题已经修复。
刚好前段时间回国了一趟,再次体验到了快递、外卖、出行、支付等方面的便捷和实惠。唯一不太方便的,就是网络。
更准确地说,是那些很多程序员日常离不开的网站和服务,比如 GitHub、Docker Hub、Docker Desktop,还有 ChatGPT。当然,现在我们也有 DeepSeek 这样的替代品了。
就我个人体验来说,GitHub 在国内是可以访问的,但稳定性不太行。经常是刚打开还能用,过一会就彻底加载不出来了。
工作之外,本来每天晚上能用来自由安排的时间本就不多,但却经常不得不花时间来解决网络问题。
虽然也知道可以改 hosts、或者折腾下科学上网,但我的电脑配置起来始终不是很顺利。
这一通折腾下来,感觉真是累了。有时候甚至不想再打开电脑,只想躺着刷会儿手机。
访问 GitHub 的那点坚持,快磨没了。
算了,就当是放个假吧。
转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」
在日常的开源项目或团队协作中,我们经常会需要一个易于维护、可自动部署的文档系统。
最近在维护自己的开源项目时,我尝试用 Sphinx 来生成文档,并通过 ReadTheDocs 实现了自动构建和托管,整体体验还不错。
记录一下配置过程,希望能帮到有类似需求的朋友。
这两个工具的组合非常适合持续维护和更新文档,而且社区成熟、资料丰富。
在日常工作中,无论是写 README、写博客,还是写项目文档,我们总要选择一种标记语言来排版内容。
目前主流的有两种:Markdown 和 reStructuredText(简称 RST)。
那它们之间到底有什么区别?又该在什么场景下选哪个呢?
最近我将 gitstats 项目的文档从 Markdown 转换为 RST,并发布到 ReadTheDocs 上,这篇文章就来聊聊我的一些实践体会。
回国两个月来,我一直想写一篇文章,来记录一下这两个月来的生活。
但我每次敲击键盘总是写了又改,改了又删。
我时而想写下所有的我能记住的点点滴滴;时而又想写下我临行前的心情,但我不想让家人担心。
这两次出国前,我总爱听赵雷的《我记得》。
这个歌会让我回想起来这每一天,每一周,每一月的生活。
如果你是 VMware 的企业用户,或许你正在考虑脱离 VMware。目前,许多企业用户正在积极寻找替代方案,以降低成本和减少对 VMware 生态的依赖。
很多企业在考虑脱离 VMware,主要原因是:
Broadcom(博通)收购 VMware 带来的影响。2023 年 Broadcom 完成了对 VMware 的收购,并进行了一系列调整,包括:
这些变化导致很多企业开始寻找替代方案,以降低成本并减少对 VMware 生态的依赖。
昨晚,哄完女儿睡觉已经是午夜十二点了。我回到自己的屋里,打开 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 主分支了!
虽然这算不上什么了不起的成就,但却是一个很好的学习过程。比如,通过参与优秀的开源项目,了解他们是如何管理 Issue 和 Pull Request 的,学习他们做得好的地方。这些经验都有可能应用到自己的工作或项目中。
在贡献优秀开源项目的过程中,不仅能提升相关技能,还能与这些优秀的开发者交流,学到新的知识。
从短期来看,或许不会带来直接的收益,但如果这是你真正热爱的事情,那么长期投入一定是值得的。
假如拥有 Python Core Developer 这样的身份认可,在国内可能有助于获得更理想的工作机会。然而,并非所有公司都青睐这种“双时区开发者”(白天工作,晚上开源)。
但如果你的目标是寻找远程工作,或者申请欧美国家的签证,这样的经历无疑会成为一个重要的加分项。
转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」
最近工作之余没怎么贡献代码,主要把时间都用在了评审 EuroPython 2025 (欧洲 Python 2025 大会)的提案上了。
在国内的时候,我从未想过去参与某个活动,并当志愿者服务大家。但是来到欧洲,我突然想多参加点这样的活动。
下面就说说我为什么选择参加志愿者工作,以及最近一周的支援活动有哪些收获和感悟。
Recently, I am working on Jenkins instance migration, this time I started to use Jenkins Docker Cloud insead of use docker { ... }
in Jenkinsfile.
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.