> **高考志愿**、**考研保研**、**副业赚钱**、**职业规划**、**简历优化**,微信欢迎加入[《猴哥成长营》](https://www.yuque.com/jackpop/ulig5a/srnochggbsa2eltw?singleDoc#)!

**DevWeekly**收集整理每周优质开发者内容,包括**开源项目**、**资源工具**、**技术文章**等方面。 每周五定期发布,同步更新到 知乎:Jackpop公众号:平凡而诗意 。 欢迎大家投稿,**[提交issue](https://github.com/Jackpopc/DevWeekly/issues)**,推荐或者自荐开源项目/资源/工具/文章~ **订阅方式**: 1. **Star**并收藏项目[DevWeekly](https://github.com/Jackpopc/DevWeekly) 2. 关注 知乎:Jackpop 3. 关注并星标公众号:平凡而诗意 进阶技术,优质资源,实用工具,欢迎关注公众号**平凡而诗意**!

## 开源项目 #### 1. [beaupy](https://github.com/petereon/beaupy) ` Python` `Star:79` 一款用于CLI交互的Python库。 #### 2. [bbot](https://github.com/blacklanternsecurity/bbot) ` Python` `Star:1.4k` ![img](https://picx.zhimg.com/80/v2-33eec7c0c049c9df6de3ee47a669e3d6_720w.png?source=d16d100b) BBOT是一个递归的模块化OSINT框架,灵感来自Spiderfoot,用Python编写。 #### 3. [statsforecast](https://github.com/Nixtla/statsforecast) ` Python` `Star:1.6k` 通过统计和计量经济学模型,进行快速预测的工具。 #### 4. [rescuezilla](https://github.com/rescuezilla/rescuezilla) ` Python` `Star:683` ![img](https://picx.zhimg.com/80/v2-5d309d5e9991e82724a5337121148a43_720w.png?source=d16d100b) 系统恢复的瑞士军刀。 #### 5. [odd-platform](https://github.com/opendatadiscovery/odd-platform) ` Java` `Star:621` 第一个开源数据发现和可观测性平台,让数据从业者的生活变得轻松。 #### 6. [talos](https://github.com/siderolabs/talos) ` Go` `Star:3.5k` talos是用于运行 Kubernetes 的操作系统:安全、不可变且更小。 #### 7. [123elf](https://github.com/taviso/123elf) ` C` `Star:744` ![img](https://pic1.zhimg.com/80/v2-9841866621ebc1897c08350ba6683aca_720w.png?source=d16d100b) Lotus 1-2-3 到 Linux 的本机端口。 #### 8. [pycom](https://github.com/Omyyyy/pycom) ` C++` `Star:1.1k` 一个 Python 编译器,使用 C++编写。 #### 9. [sol-journal](https://github.com/gillkyle/sol-journal) ` JavaScript` `Star:517` ![img](https://picx.zhimg.com/80/v2-d475507c50a520209312b6267571a73f_720w.png?source=d16d100b) Sol Journal是一个简单,最小的日记平台,可以离线和在所有设备上工作。它可以自行托管在 Firebase 上,然后作为 PWA 安装在移动设备上,以便在手机上或桌面设备上轻松访问。 #### 10. [alinea](https://github.com/alineacms/alinea) ` TypeScript` `Star:600` alinea是一个现代的内容管理系统。 ## 资源工具 #### 1. [ctop](https://github.com/bcicen/ctop) ![img](https://picx.zhimg.com/80/v2-6c95f85ae148ee08c06a934560426eb0_720w.gif?source=d16d100b) 容器指标的界面工具,CTOP 提供了多个容器的实时指标监控。 #### 2. [Bottles](https://usebottles.com/) ![img](https://picx.zhimg.com/80/v2-77b7c137d3eeaff6ccdb1edaa30df141_720w.png?source=d16d100b) Bottles的游戏环境经过预配置,以Linux上支持大量Windows视频游戏。 #### 3. [Vue Fabric Editor](https://github.com/nihaojob/vue-fabric-editor) ![img](https://picx.zhimg.com/80/v2-ae0ab22970bc89bbb3d46edaa0c1430b_720w.png?source=d16d100b) 基于fabric.js和Vue的图片编辑器,可自定义字体、素材、设计模板。 #### 4. [helix](https://github.com/helix-editor/helix) ![img](https://pica.zhimg.com/80/v2-02b5f7115f1fba3f085bd160938301d5_720w.png?source=d16d100b) 受Kakoune / Neovim启发的编辑器,用Rust编写。 编辑模型在很大程度上基于Kakoune,在开发过程中大部分设计策略和Kakoune叶类似。 #### 5. [Vim Cheat Sheet](https://vim.rtorr.com/lang/zh_cn) Vim至今还有非常多的忠实用户,但是对大多数初学者来说最大的障碍就是记住各种命令。 这款工具就提供了不同操作对应的Vim命令。 ## 技术文章 #### 1. [“Hello, World!”](https://gynvael.coldwind.pl/?lang=en&id=754) 对于很多程序员来说,学习编程最初都会创建一个程序,在终端上输出“Hello, World!” 未来程序员经典教育之路的第一步是创建一个程序,该程序通常打印在终端中“Hello,World! 根据定义,输出对应的结果,程序本身是微不足道的,这里面比较有价值的是它背后发生的事情。 在本文中,将追溯用 Python 编写并在 Windows 上运行的 “Hello World” 微程序的执行路径,从对高级打印函数的单次调用开始,经过后续解释器、操作系统和图形驱动程序的抽象级别,最后到屏幕上相应像素的显示结束。 事实证明,这条道路本身既不简单也不短。 #### 2. [用二叉搜索来查找编译器错误?](https://bernsteinbear.com/blog/cinder-jit-bisect/) 有时我更改优化传递或代码生成步骤,然后破坏某些内容,我最终得到了一个失败的测试,测试名称或正文给了我足够的线索来修复我的错误。 但在最坏的情况下,可能什么信息都获取不到,因为我把事情搞砸了。这可能表现为异常、失败的断言,甚至是分段错误。 在寻找编译错误过程中,很多同学都不想查看 1000 个不同 Python 函数的源代码、中间表示和组装。这的确是一件非常繁重的工作,最好有一到两个函数来查看和推断。 这时候就可以考虑用二叉搜索的方式来解决这个问题。