> **高考志愿**、**考研保研**、**副业赚钱**、**职业规划**、**简历优化**,微信欢迎加入[《猴哥成长营》](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. [packj](https://github.com/ossillate-inc/packj) ` Python` `Star:176` Packj(发音为package)是一个命令行(CLI)工具,用于审查开源软件包的风险问题。 这是大规模安全分析平台Packj.dev背后的工具,该平台持续审查软件包并提供免费报告。 #### 2. [vial-gui](https://github.com/vial-kb/vial-gui) ` Python` `Star:378` ![r141Y.png](https://pic1.zhimg.com/80/v2-88b698fd5c6dfff0ed6fad9fbbd276d8_720w.png) Vial是一个开源的跨平台(Windows、Linux和Mac)图形用户界面和QMK分支,用于实时配置你的键盘。 #### 3. [Paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) ` Python` `Star:3.6k` ![r1DHv.png](https://pica.zhimg.com/80/v2-c07ec0c66918a52ad6b0fca8cb0b771e_720w.png) Paperless-ngx是一个文件管理系统,它将你的物理文件转化为可搜索的在线档案,这样你就可以保存,而且节省纸张。 Paperless-ngx从paperless-ng分支出来,在原来的基础上做了很多改进。 #### 4. [selfsupervised-denoising](https://github.com/NVlabs/selfsupervised-denoising) ` Python` `Star:266` ![r1HXq.jpg](https://pic3.zhimg.com/80/v2-3f28c34830876cc43a254150968765ee_720w.jpg) 高质量自监督的深度图像去噪,NeurIPS 2019论文的官方TensorFlow实现。 通过这个项目,可以对一些模糊不清的噪声图像进行去噪。 #### 5. [2048-android](https://github.com/uberspot/2048-android) ` Java` `Star:982` 这是由Gabriele Cirulli制作的2048游戏的安卓移植版,是一款2048这款热门游戏的离线版本。 #### 6. [pocketbase](https://github.com/pocketbase/pocketbase) ` Go` `Star:7.4k` ![PocketBase - open source backend in 1 file](https://pica.zhimg.com/80/v2-93dcaa944fcc3db7f255d2ee1af3e549_720w.png) PocketBase 是一个开源的 Go 后端应用,由以下部分组成: - 嵌入式数据库(SQLite),具有实时订阅功能 - 内置文件和用户管理 - 方便的管理界面 - 简单的REST API #### 7. [pyroscope](https://github.com/pyroscope-io/pyroscope) ` Go` `Star:6.1k` ![Pyroscope GIF Demo](https://pic1.zhimg.com/80/v2-fe1471fa83c56054c00ed4fb5bdbc5dd_720w.png?source=d16d100b) Pyroscope是一个开源的分析析平台,它具有如下功能: - 在你的代码中找到性能问题和瓶颈 - 使用高cardinality标记/标签来分析你的应用程序 - 解决高CPU利用率的问题 - 追踪内存泄漏的问题 - 理解你的应用程序的调用树 - 自动测量你的代码,将分析数据与跟踪联系起来 #### 8. [Concord](https://github.com/Cogmasters/concord) ` C` `Star:295` Concord是一个异步的C99 Discord API库,它具有最小的外部依赖性。 #### 9. [envkey](https://github.com/envkey/envkey) ` JavaScript` `Star:325` 强大的安全应用配置工具,具有如下特性: - 对API密钥和其他秘密进行端到端加密 - 环境变量的实时重载 - 修复了配置泛滥和秘密管理不力的问题 - 防止配置错误,节省时间 #### 10. [wipeClean](https://github.com/JeanJouliaCode/wipeClean) ` JavaScript` `Star:945` ![r1QlM.gif](https://pic1.zhimg.com/80/v2-2639a933a41c3d816d17dee6a2f877e4_720w.gif) 厌倦了老旧而无趣的终端清除命令? wipeClean是一个非常有趣,而且带有动画的终端清除工具。 ## 资源工具 #### 1. [Learn Anything](https://learn-anything.xyz/) ![Learn Anything](https://pic4.zhimg.com/80/v2-f551e783519187760b057de968a079d3_720w.png?source=d16d100b) 用3个关键词概括这款工具: - 组织知识 - 探索联系 - 策划学习路径 输入并搜索你想要学习的主题或者方向,它就可以给出相关的学习资料已经学习路线,这对于想要学习一门新知识却又不知如何下手的同学很有价值。 #### 2. [n8n](https://n8n.io/) ![r1cZ1.png](https://pica.zhimg.com/80/v2-85359231a35dfac3e59605382e11d8bf_720w.png) 一个强大的工作流程自动化工具。 #### 3. [SonarLint](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode) ![rule description](https://picx.zhimg.com/80/v2-799db3e373751e01b419395eb834e8b0_720w.gif?source=d16d100b) SonarLint是一个免费的IDE扩展,它可以让你在编码问题产生之前就解决它们。 就像一个拼写检查器一样,SonarLint可以在你写代码的时候突出显示错误和安全漏洞,并提供明确的补救指导,这样你就可以在提交代码之前解决它们。 VS Code中的SonarLint插件支持对C、C++、HTML、Java、JavaScript、PHP、Python和TypeScript的分析,可以直接从VS Code Marketplace中安装并使用。 #### 4. [gifski](https://gif.ski/) 基于pngquant的一款高质量的GIF编码和转换工具。 #### 5. [Aspect](https://aspect.app/) 从任何网站复制-粘贴元素,能够快速将这些元素设计转换为代码,同步到你的代码库,可以用于快速构建UI。 ## 技术文章 #### 1. [如何在Python中建立一个安全的WebSocket服务器?](https://snyk.io/blog/how-to-build-a-secure-websocket-server-in-python/) 通常情况下,当一个网络应用程序需要从外部服务器获得一些东西时,客户端会向该服务器发送一个请求,服务器会做出回应,随后连接会被关闭。 假设,一个显示股票价格的网络应用,客户端必须反复向服务器请求更新价格以提供最新的价格。这种方法效率很低,因为它不断地破坏HTTP连接,而且也不太理想,因为存储在数据库中的股票的实时价格可能会改变,而应用程序仍然显示旧价格。 然而,通过双向通信,服务器可以在每次信息更新时独立向客户端推送新的股票价格。 工程师们设计了WebSocket协议,以实现这种类型的持久性连接,同时避免了与老式方法一样的问题。 实现WebSocket的一个流行选择是Socket.IO库。 它的主要优势之一是,这个库可以在各种编程语言环境中使用,包括Python。它还为我们在两种环境中提供了更直接和一致的API,而不需要直接使用原始的WebSocket API。 此外,该库使我们能够轻松实现安全措施,如跨源资源共享(CORS)、用户认证和有效载荷大小限制。 #### 2. [没有IDE该怎么Debug?](https://bastien-antoine.fr/2022/06/debugging-python-programs-without-an-ide/) 当编写一个程序时,确保它以应有的方式工作是这个过程的一个关键部分。 这就需要我们必须测试自己的代码,只有当所有测试用例都正常通过才可以。 当使用IDE时,有很好的工具来做这件事,能够放置断点,观察调用堆栈和本地内容...... 但是,有时会发现,在有些环境下,就不能使用这些高度集成的IDE的现代工具,这时候,就要考虑,在没有IDE的情况下,该如何Debug。