From c7c57bdc27c273840182f9dc6c8497668e385f08 Mon Sep 17 00:00:00 2001
From: xueweihan <595666367@qq.com>
Date: Mon, 27 Sep 2021 22:50:29 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=9A=E3=80=8AHelloGitHub?=
=?UTF-8?q?=E3=80=8B=E7=AC=AC66=E6=9C=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
README_en.md | 1 +
content/35/HelloGitHub35.md | 2 +-
content/58/HelloGitHub58.md | 2 +-
content/65/HelloGitHub65.md | 6 +-
content/66/HelloGitHub66.md | 325 +++++++++++++++++++++++++++++++
content/contributors.md | 2 +-
content/last.md | 370 +++++++++++++++++-------------------
8 files changed, 509 insertions(+), 201 deletions(-)
create mode 100644 content/66/HelloGitHub66.md
diff --git a/README.md b/README.md
index 5e484d9f..eaa0b5f1 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,7 @@ HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。**每月 28 号
| :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
| ------- | ----- | ------------ | ------ | --------- |
+| [第 66 期](/content/66/HelloGitHub66.md) |
| [第 65 期](/content/65/HelloGitHub65.md) | [第 64 期](/content/64/HelloGitHub64.md) | [第 63 期](/content/63/HelloGitHub63.md) | [第 62 期](/content/62/HelloGitHub62.md) | [第 61 期](/content/61/HelloGitHub61.md) |
| [第 60 期](/content/60/HelloGitHub60.md) | [第 59 期](/content/59/HelloGitHub59.md) | [第 58 期](/content/58/HelloGitHub58.md) | [第 57 期](/content/57/HelloGitHub57.md) | [第 56 期](/content/56/HelloGitHub56.md) |
| [第 55 期](/content/55/HelloGitHub55.md) | [第 54 期](/content/54/HelloGitHub54.md) | [第 53 期](/content/53/HelloGitHub53.md) | [第 52 期](/content/52/HelloGitHub52.md) | [第 51 期](/content/51/HelloGitHub51.md) |
@@ -28,7 +29,6 @@ HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。**每月 28 号
| [第 40 期](/content/40/HelloGitHub40.md) | [第 39 期](/content/39/HelloGitHub39.md) | [第 38 期](/content/38/HelloGitHub38.md) | [第 37 期](/content/37/HelloGitHub37.md) | [第 36 期](/content/36/HelloGitHub36.md) |
| [第 35 期](/content/35/HelloGitHub35.md) | [第 34 期](/content/34/HelloGitHub34.md) | [第 33 期](/content/33/HelloGitHub33.md) | [第 32 期](/content/32/HelloGitHub32.md) | [第 31 期](/content/31/HelloGitHub31.md) |
| [第 30 期](/content/30/HelloGitHub30.md) | [第 29 期](/content/29/HelloGitHub29.md) | [第 28 期](/content/28/HelloGitHub28.md) | [第 27 期](/content/27/HelloGitHub27.md) | [第 26 期](/content/26/HelloGitHub26.md) |
-| [第 25 期](/content/25/HelloGitHub25.md) | [第 24 期](/content/24/HelloGitHub24.md) | [第 23 期](/content/23/HelloGitHub23.md) | [第 22 期](/content/22/HelloGitHub22.md) | [第 21 期](/content/21/HelloGitHub21.md) |
| [第 05 期](/content/05/HelloGitHub05.md) | [第 04 期](/content/04/HelloGitHub04.md) | [第 03 期](/content/03/HelloGitHub03.md) | [第 02 期](/content/02/HelloGitHub02.md) | [第 01 期](/content/01/HelloGitHub01.md) |
diff --git a/README_en.md b/README_en.md
index f2d9d180..78d29d51 100644
--- a/README_en.md
+++ b/README_en.md
@@ -23,6 +23,7 @@ The [latest article](https://github.com/521xueweihan/HelloGitHub/blob/master/con
| :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
| ------- | ----- | ------------ | ------ | --------- |
+| [NO.66](/content/66/HelloGitHub66.md) |
| [NO.65](/content/65/HelloGitHub65.md) | [NO.64](/content/64/HelloGitHub64.md) | [NO.63](/content/63/HelloGitHub63.md) | [NO.62](/content/62/HelloGitHub62.md) | [NO.61](/content/61/HelloGitHub61.md) |
| [NO.60](/content/60/HelloGitHub60.md) | [NO.59](/content/59/HelloGitHub59.md) | [NO.58](/content/58/HelloGitHub58.md) | [NO.57](/content/57/HelloGitHub57.md) | [NO.56](/content/56/HelloGitHub56.md) |
| [NO.55](/content/55/HelloGitHub55.md) | [NO.54](/content/54/HelloGitHub54.md) | [NO.53](/content/53/HelloGitHub53.md) | [NO.52](/content/52/HelloGitHub52.md) | [NO.51](/content/51/HelloGitHub51.md) |
diff --git a/content/35/HelloGitHub35.md b/content/35/HelloGitHub35.md
index dff0f25a..8714086c 100644
--- a/content/35/HelloGitHub35.md
+++ b/content/35/HelloGitHub35.md
@@ -136,7 +136,7 @@ $ bash halo-cli.sh -u
🔙 返回目录 🔙
### JavaScript 项目
-11、[Gitter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/kokohuang/Gitter):GitHub 的小程序客户端。UI 设计漂亮,可作为小程序和 GitHub 结合的实战项目学习
+11、[Gitter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nslog11/Gitter):GitHub 的小程序客户端。UI 设计漂亮,可作为小程序和 GitHub 结合的实战项目学习
diff --git a/content/58/HelloGitHub58.md b/content/58/HelloGitHub58.md
index db42c7e7..5562a2f8 100644
--- a/content/58/HelloGitHub58.md
+++ b/content/58/HelloGitHub58.md
@@ -84,7 +84,7 @@ echo 'GET http://localhost:8080' | \
8、[java-design-patterns](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/iluwatar/java-design-patterns):设计模式 Java 的最佳实践,出自开源社区大佬们之手。作为有梦想和追求的 Java 程序员,当然需要会一些设计模式啦。这个项目虽然是英文的但是先看代码和图,尝试理解含义那么英文描述也就能猜得八九不离十了。不要让英语作为你不努力的借口,努力变强吧![在线阅读](https://java-design-patterns.com/)
-9、[apollo](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ctripcorp/apollo):携程开源的分布式配置中心。开箱即用理念发挥到极致,比如:服务器部分基于 Spring Boot 和 Spring Cloud 开发,运行方便无需额外的 Tomcat 应用容器。并且具备配置修改后即时生效、规范的权限、流程治理等特性,适用于微服务配置管理场景
+9、[apollo](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apolloconfig/apollo):携程开源的分布式配置中心。开箱即用理念发挥到极致,比如:服务器部分基于 Spring Boot 和 Spring Cloud 开发,运行方便无需额外的 Tomcat 应用容器。并且具备配置修改后即时生效、规范的权限、流程治理等特性,适用于微服务配置管理场景
diff --git a/content/65/HelloGitHub65.md b/content/65/HelloGitHub65.md
index 4c08019c..e181e057 100644
--- a/content/65/HelloGitHub65.md
+++ b/content/65/HelloGitHub65.md
@@ -157,7 +157,7 @@ redisClient.shutdown();
-15、[milkdown](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Saul-Mirone/milkdown):一款清爽见即所得的 Markdown 编辑器。不同于大多数 Markdown 编辑器它是插件驱动的,类似开源可自由扩展的 Typora。项目由 prosemirror+remark 构建,入门开发者从中可以学习到如何使用 prosemirror 来开发富文本编辑器,以及如何设计一个针对编辑器的插件系统
+15、[milkdown](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Saul-Mirone/milkdown):一款清爽所见即所得的 Markdown 编辑器。不同于大多数 Markdown 编辑器它是插件驱动的,类似开源可自由扩展的 Typora。项目由 prosemirror+remark 构建,入门开发者从中可以学习到如何使用 prosemirror 来开发富文本编辑器,以及如何设计一个针对编辑器的插件系统
```javascript
import { Editor } from '@milkdown/core';
import { commonmark } from '@milkdown/preset-commonmark';
@@ -262,7 +262,7 @@ print(ray.get(futures))
🔙 返回目录 🔙
### Swift 项目
-25、[FlappySwift](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/fullstackio/FlappySwift):用 Swfit 写的愤怒小鸟游戏
+25、[FlappySwift](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/fullstackio/FlappySwift):用 Swfit 写的 Flappy Bird 游戏
@@ -328,7 +328,7 @@ print(ray.get(futures))
- 『上一期』 | 反馈和建议 | 『下一期』
+ 『上一期』 | 反馈和建议 | 『下一期』
---
diff --git a/content/66/HelloGitHub66.md b/content/66/HelloGitHub66.md
new file mode 100644
index 00000000..d7fc9ffb
--- /dev/null
+++ b/content/66/HelloGitHub66.md
@@ -0,0 +1,325 @@
+# 《HelloGitHub》第 66 期
+> 兴趣是最好的老师,**HelloGitHub** 让你对编程感兴趣!
+
+
+
+
+## 目录
+
+**Tips**:如果文中的图刷不出来,可以点击 [这里](https://hellogithub.com/periodical/volume/66/) 获取更好的阅读体验。
+
+- [C 项目](#C-项目)
+- [C# 项目](#C-项目-1)
+- [C++ 项目](#C-项目-2)
+- [CSS 项目](#CSS-项目)
+- [Go 项目](#Go-项目)
+- [Java 项目](#Java-项目)
+- [JavaScript 项目](#JavaScript-项目)
+- [Kotlin 项目](#Kotlin-项目)
+- [Objective-C 项目](#Objective-C-项目)
+- [Python 项目](#Python-项目)
+- [Rust 项目](#Rust-项目)
+- [Swift 项目](#Swift-项目)
+- [其它](#其它)
+- [开源书籍](#开源书籍)
+- [机器学习](#机器学习)
+
+
+- [返回首页](https://github.com/521xueweihan/HelloGitHub#%E5%86%85%E5%AE%B9)
+
+
+
+关注「HelloGitHub」公众号,第一时间收到推送
+
+
+## 内容
+> **以下为本期内容**|每个月 **28** 号更新
+
+### C 项目
+1、[HEX-LINK](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/JingYang1124/HEX-LINK):自制电脑游戏的体感设备。该项目包含制作时需要的硬件设计和全部源码
+```
+.
+├─firmware # 软件(根据自己使用的工具选择如下一种工程即可)
+│ ├─ArduinoIDE_Proj # Arduino IDE版工程
+│ │ ├─Additional_Libraries # 里面的文件夹需要复制到Arduino IDE安装目录下的libraries文件夹
+│ │ ├─Hex_Link_Leonardo # 需要下载至接收端的程序
+│ │ └─Hex_Link_Nano # 需要下载至发送端的程序
+│ ├─Bootloaders # 需要下载至芯片的arduino bootloader
+│ └─Vscode_PlatformIO_Proj # VScode PlatformIO版工程
+│ ├─Hex_Link_Leonardo # 需要下载至接收端的程序
+│ └─Hex_Link_Nano # 需要下载至发送端的程序
+├─hardware # 硬件(PCB工程)
+│ ├─BOM # PCB的物料清单,包含参考的购买链接(链接仅作参考,在其他任何店铺购买相同型号即可)
+│ ├─Hex_Link_Rec # 接收端PCB工程
+│ ├─Hex_Link_Trans # 发送端PCB工程
+│ └─Nano_Jtag_Pin # 转接板:用来烧录Nano bootloader的Jtag口转接板
+├─model # 接收端外壳3维模型
+│ ├─Solidworks_Project # 2018版本Solidworks工程
+│ └─STL_TAP # STL文件,可直接用于3D打印.TAP文件是顶层亚克力板的CNC加工文件
+├─references # 参考文档
+└─tools # 额外的脚本工具
+```
+
+
+
+🔙 返回目录 🔙
+
+### C# 项目
+2、[SteamTools](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/SteamTools-Team/SteamTools):集合多种 Steam 客户端工具的工具箱。该工具支持 Window、Linux、macOS、Android 操作系统,包括游戏库存管理、解锁成就、史低价格、出售库存物品等功能,还有丰富的插件等待你发掘
+
+
+
+3、[xLua](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Tencent/xLua):为 C#、Unity、.Net 等环境增添 Lua 脚本编程的能力,使得 Lua 代码方便地与 C# 相互调用
+```c#
+XLua.LuaEnv luaenv = new XLua.LuaEnv();
+luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')");
+luaenv.Dispose();
+```
+
+
+
+4、[BBDown](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nilaoda/BBDown):命令行哔哩哔哩视频下载工具
+
+
+
+🔙 返回目录 🔙
+
+### C++ 项目
+5、[libqalculate](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Qalculate/libqalculate):使用 C++ 编写的多功能计算器桌面应用、库和 CLI 程序。它易于使用功能强大,支持大型可定制函数库、单位计算和转换、符号计算(包括积分和方程)。作为用户你可以直接在命令行中使用,作为开发者你也可以在自己的项目中使用这个库。官方还制作了 [Qt](https://github.com/Qalculate/qalculate-qt) 和 [GTK](https://github.com/Qalculate/qalculate-gtk) 两个版本的 GUI 计算器应用
+
+
+
+6、[btop](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/aristocratos/btop):界面酷炫的命令行资源监视器。可以显示处理器、内存、磁盘、网络和进程的使用情况和统计信息,还支持鼠标操作
+
+
+
+7、[TinyWebServer](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/qinguoyi/TinyWebServer):Linux 下的 C++ 轻量级 Web 服务器。该项目不仅可以用来搭建 Web 服务,也适合 C++ 初学者作为网络编程实战项目。作者还写了文章讲解相关代码和原理,帮助初学者更好的掌握网络编程相关知识
+
+🔙 返回目录 🔙
+
+### CSS 项目
+8、[css_tricks](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/QiShaoXuan/css_tricks):常用 CSS 样式示例集合
+
+
+
+🔙 返回目录 🔙
+
+### Go 项目
+9、[video-srt-windows](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wxbool/video-srt-windows):自动识别视频语音生成字幕文件的工具。采用 Go+walk 开发所以仅支持 Windows 系统,原理是请求在线语音转文字的服务,超出免费额度需付费。另外还加入了导出字幕文件和翻译功能
+
+
+
+10、[go-daily-lib](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/darjun/go-daily-lib):每天学习一个 Go 语言库。内容包含标准库和三方库,每个库对应一篇介绍和上手的文章
+
+
+
+11、[Open-IM-Server](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/OpenIMSDK/Open-IM-Server):基于 Go 实现的轻量级即时通讯(IM)项目。具有高性能、易扩展、安装简单、私有化部署等特性,同时包含多种客户端 SDK。从服务器到客户端一体的开源即时通讯(IM)解决方案
+
+
+
+12、[go-fly](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/taoshihan1991/go-fly):基于 Go 语言实现的在线客服系统,采用 Gin+MySQL+JWT+WebSocket 等技术栈实现
+
+
+
+13、[viper](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/spf13/viper):用来搞定 Go 应用中配置的库。支持多种配置文件类型、监控并重新加载配置文件、远程读取配置系统等
+```go
+viper.SetConfigName("config") // 配置文件名,不包括后缀
+viper.SetConfigType("yaml") // 配置文件的后缀
+viper.AddConfigPath("/etc/appname/") // 查找配置文件的目录
+viper.AddConfigPath("$HOME/.appname") // 支持查找多个目录
+// 异常处理
+if err := viper.ReadInConfig(); err != nil {
+ if _, ok := err.(viper.ConfigFileNotFoundError); ok {
+ // 如果没有找到配置文件
+ } else {
+ // 找到了配置文件,但出现了其他错误
+ }
+}
+```
+
+
+
+🔙 返回目录 🔙
+
+### Java 项目
+14、[o2oa](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/o2oa/o2oa):国产的 OA 系统。功能齐全支持考勤、会议管理、云盘等,适用于企业 OA、协同办公
+
+
+
+15、[IJPay](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Javen205/IJPay):Java 支付工具库,轻松完成支付模块开发。封装了常用的微信、QQ、支付宝、银联、PayPal 支付等支付方式的各种常用接口。不依赖任何 MVC 框架,轻松接入到 Java 项目
+
+16、[VirtualApp](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/asLody/VirtualApp):Android 系统的沙盒程序,App 虚拟化引擎。它创建了一个虚拟空间,在那里可以任意安装、启动、控制、卸载应用。虚拟空间与外部隔离相当于沙盒环境,可在安卓上实现应用多开、静默安装等黑科技
+
+
+
+🔙 返回目录 🔙
+
+### JavaScript 项目
+17、[sharedb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/share/sharedb):基于 JSON 数据 OT 算法的实时数据库。简单来说就是实时协同数据框架,可用来实现当页面因用户操作发生数据变化时,实时把数据同步展示到其它用户页面上,其中 OT 算法就是解决此协同过程中问题的通用算法。常见的场景比如:多用户之间的状态同步、在线协作文档、离线后数据改动同步等
+
+
+
+18、[30-Days-Of-JavaScript](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Asabeneh/30-Days-Of-JavaScript):30 天 JavaScript 编程挑战。该教程虽然是英文教程但是图文并茂通俗易通,内容循序渐进包含练习题,适合零基础想要学习 JavaScript 的同学
+
+
+
+19、[YesPlayMusic](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/qier222/YesPlayMusic):高颜值的第三方网易云播放器。它不仅拥有简洁美观的外观,还有丰富的功能
+- 支持 Windows/macOS/Linux
+- 私人 FM/每日推荐歌曲
+- 网易云账号登录
+- 歌词显示
+- 自定义快捷键和全局快捷键
+- 等等
+
+
+
+20、[javascript](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/airbnb/javascript):Airbnb 开源的 JavaScript 风格指南。[中文](https://github.com/lin-123/javascript)
+```javascript
+// 采用数组解构
+const arr = [1, 2, 3, 4];
+
+// bad
+const first = arr[0];
+const second = arr[1];
+
+// good
+const [first, second] = arr;
+```
+
+21、[spy-debugger](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wuchangming/spy-debugger):远程调试手机页面和抓包的工具。操作简单仅需手机和电脑在同一个 WIFI 下,即可在实现真机调试页面
+
+
+
+🔙 返回目录 🔙
+
+### Kotlin 项目
+22、[Component](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/xiaojinzi123/Component):Android 的组件化框架,帮助开发者在实现项目组件化。它的强大在于功能齐全、更新及时,支持 Kotlin、AndroidX、RxJava、协程等
+
+🔙 返回目录 🔙
+
+### Objective-C 项目
+23、[iOSInterviewQuestions](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ChenYilong/iOSInterviewQuestions):iOS 面试题集合(附答案)
+
+🔙 返回目录 🔙
+
+### Python 项目
+24、[Pokemon-Terminal](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LazoCoder/Pokemon-Terminal):适用于多种终端的口袋妖怪主题工具。支持 iTerm2、ConEmu、Terminology、Windows 的终端,已经收集了 719 个小精灵
+
+
+
+25、[mypy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/python/mypy):Python 静态类型检查库。既然 Python 是一门动态类型语言,为啥还要检查类型呢?有了静态类型检测则无需运行代码,就可以发现程序中潜在的错误。还可以加入到 `git hook` 中,实现在提交代码前自动检查。详情查看[这篇文章](https://mp.weixin.qq.com/s/K4RGr5NqMFAUKtB0KFPV5g)
+
+26、[CPython-Internals](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zpoint/CPython-Internals):图文并茂的 Python 源码阅读笔记项目。阅读的是比较新的 CPython 3.8 版本,重点是项目一直在更新维护
+```c++
+static void take_gil(PyThreadState *tstate)
+{
+ /* 忽略 */
+ while (_Py_atomic_load_relaxed(&_PyRuntime.ceval.gil.locked)) {
+ /* 只要 gil 是锁住的状态, 进入这个循环 */
+ int timed_out = 0;
+ unsigned long saved_switchnum;
+
+ saved_switchnum = _PyRuntime.ceval.gil.switch_number;
+ /* 释放 gil.mutex, 并在以下两种条件下唤醒
+ 1. 等待 INTERVAL 微秒(默认 5000)
+ 2. 还没有等待到 5000 微秒但是收到了 gil.cond 的信号
+ */
+ COND_TIMED_WAIT(_PyRuntime.ceval.gil.cond, _PyRuntime.ceval.gil.mutex,
+ INTERVAL, timed_out);
+ /* 当前持有 gil.mutex 这把互斥锁 */
+ if (timed_out &&
+ _Py_atomic_load_relaxed(&_PyRuntime.ceval.gil.locked) &&
+ _PyRuntime.ceval.gil.switch_number == saved_switchnum) {
+ /* 如果超过了等待时间, 并且这段等待时间里 gil 的持有者没有变更过, 则尝试让当前持有 gil 的线程进行释放gil
+ 把 gil_drop_request 值设为 1, 持有锁的线程看到这个值的时候, 会尝试放弃 gil */
+ SET_GIL_DROP_REQUEST();
+ }
+ /* 继续回到 while 循环, 检查 gil 是否为锁住状态 */
+ }
+ /* 忽略 */
+}
+```
+
+🔙 返回目录 🔙
+
+### Rust 项目
+27、[nushell](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nushell/nushell):一种更加人性化的新型 shell
+
+
+
+🔙 返回目录 🔙
+
+### Swift 项目
+28、[Clipy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Clipy/Clipy):macOS 的剪贴板扩展应用。支持展示剪贴板历史记录、内容模版等功能
+
+
+
+🔙 返回目录 🔙
+
+### 其它
+29、[QWidgetDemo](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/feiyangqingyun/QWidgetDemo):Qt 编写的示例集合。每个示例都可独立运行、代码简洁易懂,适合初学者学习
+
+
+
+30、[xemu](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/mborgerson/xemu):免费开源的 Xbox 模拟器,支持 Windows、Linux、macOS 系统
+
+
+
+31、[yabai](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/koekeishiya/yabai):适用于 macOS 的平铺式窗口管理器。该工具可以轻松实现窗口平铺不重叠,不用鼠标仅通过键盘移动、调整、切换、全屏、自动布局等管理窗口的操作
+- `Control+Option+A/D`:激活 平铺/浮动 模式
+- `Option+h/j/k/l`:使 左/下/上/右 侧窗口成为活动窗口
+- `Shift+Option+h/j/k/l`:向 左/下/上/右 移动当前活动窗口
+- `Command+Option+n`:创建新桌面,并将当前活动窗口移动至新桌面
+
+
+
+32、[awesome-for-beginners](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/MunGell/awesome-for-beginners):对初学者友好的开源项目集合。如果你想参与到开源项目的建设,可以在这个集合中寻找项目,祝你早日完成第一个贡献(PR)
+
+33、[lifeRestart](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/VickScarlet/lifeRestart):在线文字游戏《人生重开模拟器》。纯文字游戏只需开局选天赋分配初始属性,后面就是看岁月如白驹过隙,转眼就过完了这一生,不满意的话可以轻松重开新的人生。游戏凭借诙谐幽默的文案和出乎意料的结尾,广受好评。[在线试玩](https://liferestart.syaro.io/view/)
+
+
+
+34、[chinese-dos-games](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/rwv/chinese-dos-games):中文 DOS 游戏集合。[在线试玩](https://dos.zczc.cz/)
+
+
+
+🔙 返回目录 🔙
+
+### 开源书籍
+35、[introduction-to-front-end-engineering](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/woai3c/introduction-to-front-end-engineering):一本小书《带你入门前端工程》。该书是作者对过去两年前端工程化实践的经验和心得总结,[在线阅读](https://woai3c.github.io/introduction-to-front-end-engineering/)
+
+36、[pumpkin-book](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/datawhalechina/pumpkin-book):《机器学习公式详解》西瓜书公式推导解析。[在线阅读](https://datawhalechina.github.io/pumpkin-book/)
+
+
+
+🔙 返回目录 🔙
+
+### 机器学习
+37、[invoice](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/guanshuicheng/invoice):增值税发票 OCR 识别项目。包含训练好的模型和微服务,启动后可直接通过接口调用
+
+
+
+38、[GameAISDK](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Tencent/GameAISDK):基于图像识别的 AI 自动化框架,支持吃鸡类、射击类、MOBA 类等游戏类型。内置多种图像识别算法和 AI 算法,不用抠图完全基于图像识别的 AI 训练和框架
+
+
+
+39、[genshin_auto_fish](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/7eu7d7/genshin_auto_fish):基于深度学习的原神手游自动钓鱼工具。其中用 YOLOX 搞定鱼的定位和类型的识别以及鱼竿落点的定位,用 DQN 搞定自适应控制钓鱼过程的点击,让力度落在最佳区域内
+
+🔙 返回目录 🔙
+
+
+
+
+ 『上一期』 | 反馈和建议 | 『下一期』
+
+
+---
+
+ 👉 云主机 4 元/月 | 推荐项目 👈
+ 微信中搜:HelloGitHub 关注公众号
+ 不仅能第一时间收到推送,还有各种回馈粉丝活动
+ 如果文中的图刷不出来,可以点击 这里 获取更好的阅读体验。
+
+
+## 声明
+
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
diff --git a/content/contributors.md b/content/contributors.md
index ab385c30..e7e1b4ba 100644
--- a/content/contributors.md
+++ b/content/contributors.md
@@ -40,4 +40,4 @@
## 贡献者列表
快来加入我们吧,希望尽快写满一整页!**目前共计 367 位贡献者**
-[hellowHuaairen](https://github.com/hellowHuaairen)、[ming995](https://github.com/ming995)、[FrontMage](https://github.com/FrontMage)、[xibinyue](https://github.com/xibinyue)、[Eurus-Holmes](https://github.com/Eurus-Holmes)、[daixiang0](https://github.com/daixiang0)、[nivance](https://github.com/nivance)、[QA_imp](https://www.cnblogs.com/bu1tcat/)、[CoderKo1o](https://github.com/iphone5solo)、[xyyVee](https://github.com/xyyVee)、[zhbzz2007](https://github.com/zhbzz2007)、[ethan-funny](https://github.com/ethan-funny)、[PeoLeser](https://github.com/PeoLeser)、[jp1017](https://github.com/jp1017)、[arronf2e](https://github.com/arronf2e)、[iphone5solo](https://github.com/iphone5solo)、[jkpang](https://github.com/jkpang)、[BruceDone](https://github.com/BruceDone)、[answershuto](https://github.com/answershuto)、[kelekexiao123](https://github.com/kelekexiao123)、[wsdjeg](https://github.com/wsdjeg)、[NoneGG](https://github.com/NoneGG)、[zdhxiong](https://github.com/zdhxiong)、[zhuyingda](https://github.com/zhuyingda)、[xnum](https://github.com/xnum)、[JessYanCoding](https://github.com/JessYanCoding)、[zmrenwu](https://github.com/zmrenwu)、[eatage](https://github.com/eatage)、[tamlok](https://github.com/tamlok)、[pipiliang](https://github.com/pipiliang)、[DIYgod](https://github.com/DIYgod)、[Wlitsoft](https://github.com/Wlitsoft)、[gyh1621](https://github.com/gyh1621)、[crossoverJie](https://github.com/crossoverJie)、[Denon](https://github.com/Denon)、[chinesedfan](https://github.com/chinesedfan)、[joeyguo](https://github.com/joeyguo)、[LRH1993](https://github.com/LRH1993)、[hsluoyz](https://github.com/hsluoyz)、[jhao104](https://github.com/jhao104)、[ResolveWang](https://github.com/ResolveWang)、[asheigithub](https://github.com/asheigithub)、[maning0303](https://github.com/maning0303)、[torchcode](https://github.com/torchcode)、[yan-xz](https://github.com/yan-xz)、[TerryZ](https://github.com/TerryZ)、[trazyn](https://github.com/trazyn)、[hujiulong](https://github.com/hujiulong)、[xcyf008](https://github.com/xcyf008)、[eastseven](https://github.com/eastseven)、[BillWang139967](https://github.com/BillWang139967)、[gee1k(2)](https://github.com/gee1k)、[answershuto](https://github.com/answershuto)、[linguowei](https://github.com/linguowei)、[Rictusempra](https://github.com/Rictusempra)、[Juliiii](https://github.com/Juliiii)、[Kerr1Gan](https://github.com/Kerr1Gan)、[haifenghuang(2)](https://github.com/haifenghuang)、[lilijialiang](https://github.com/lilijialiang)、[Prodesire](https://github.com/Prodesire)、[viclm](https://github.com/viclm)、[wynter-wang](https://github.com/wynter-wang)、[dianbaer](https://github.com/dianbaer)、[biezhi](https://github.com/biezhi)、[itgoyo(5)](https://github.com/itgoyo)、[yhaolpz](https://github.com/yhaolpz)、[smarthadron](https://github.com/smarthadron)、[mapletower](https://github.com/mapletower)、[nicholaslee119](https://github.com/nicholaslee119)、[RitterHou](https://github.com/RitterHou)、[PuShaoWei](https://github.com/PuShaoWei)、[luckybilly(3)](https://github.com/luckybilly)、[doyoyob](https://github.com/doyoyob)、[Qiu800820](https://github.com/Qiu800820)、[zeed-w-beez](https://github.com/zeed-w-beez)、[aOrz](https://github.com/aOrz)、[lt94](https://github.com/lt94)、[Chyroc](https://github.com/Chyroc)、[Lision](https://github.com/Lision)、[fhxsnabi](https://github.com/fhxsnabi)、[CuberL](https://github.com/CuberL)、[tangweikun](https://github.com/tangweikun)、[FrontMage](https://github.com/FrontMage)、[iamjohnnyzhuang](https://github.com/iamjohnnyzhuang)、[aosen](https://github.com/aosen)、[clayclayclay](https://github.com/clayclayclay)、[zazzaz](https://github.com/zazzaz)、[BolexLiu](https://github.com/BolexLiu)、[DotzuX](https://github.com/DotzuX)、[junxiaosong](https://github.com/junxiaosong)、[M-Adoo](https://github.com/M-Adoo)、[zhihaozhang](https://github.com/zhihaozhang)、[starlying](https://github.com/starlying)、[Alinshans](https://github.com/Alinshans)、[HJ-Money](https://github.com/HJ-Money)、[topcss](https://github.com/topcss)、[twhuang-uiuc](https://github.com/twhuang-uiuc)、[maychair](https://github.com/maychair)、[mumuy](https://github.com/mumuy)、[sufuf3](https://github.com/sufuf3)、[succlz123](https://github.com/succlz123)、[sunloj](https://github.com/sunloj)、[HuanHaiLiuXin](https://github.com/HuanHaiLiuXin)、[lijinke666](https://github.com/lijinke666)、[chrislinan](https://github.com/chrislinan)、[ThinkpadNC5](https://github.com/ThinkpadNC5)、[appleboy](https://github.com/appleboy)、[objcoding](https://github.com/objcoding)、[songtianyi](https://github.com/songtianyi)、[simplepeng](https://github.com/simplepeng)、[xia-tong](https://github.com/xia-tong)、[wonderfulsuccess](https://github.com/wonderfulsuccess)、[Qsnh](https://github.com/Qsnh)、[Larry850806](https://github.com/Larry850806)、[NamelessAshone(3)](https://github.com/NamelessAshone)、[pench3r](https://github.com/pench3r)、[hon-key](https://github.com/hon-key)、[huangyz0918](https://github.com/huangyz0918)、[pujiaxin33](https://github.com/pujiaxin33)、[cnwangjie](https://github.com/cnwangjie)、[dada0z](https://github.com/dada0z)、[adrianzhang](https://github.com/adrianzhang)、[Sugar250](https://github.com/Sugar250)、[itisyang(2)](https://github.com/itisyang)、[imageslr](https://github.com/imageslr)、[kaixinbaba(7)](https://github.com/kaixinbaba)、[looly](https://github.com/looly)、[wojs5](https://github.com/wojs5)、[xianhu](https://github.com/xianhu)、[hhxsv5](https://github.com/hhxsv5)、[LanjianNUll](https://github.com/LanjianNUll)、[bestvist](https://github.com/bestvist)、[dntzhang](https://github.com/dntzhang)、[KunMinX(2)](https://github.com/KunMinX)、[afkT](https://github.com/afkT)、[syt123450](https://github.com/syt123450)、[Seaear](https://github.com/Seaear)、[huangjianke](https://github.com/huangjianke)、[howie6879](https://github.com/howie6879)、[teeyog](https://github.com/teeyog)、[zyupo](https://github.com/zyupo)、[my8100](https://github.com/my8100)、[daniel-dx](https://github.com/daniel-dx)、[googege](https://github.com/googege)、[LucienShui](https://github.com/LucienShui)、[mds1455975151](https://github.com/mds1455975151)、[zzugbb](https://github.com/zzugbb)、[qianguyihao](https://github.com/qianguyihao)、[dantangfan](https://github.com/dantangfan)、[wenzhixin](https://github.com/wenzhixin)、[tangdou1(3)](https://github.com/tangdou1)、[inhere](https://github.com/inhere)、[kulics](https://github.com/kulics)、[nosarthur](https://github.com/nosarthur)、[byronz](https://github.com/byronz)、[jdneo](https://github.com/jdneo)、[zhaoolee(2)](https://github.com/zhaoolee)、[hzwer](https://github.com/hzwer)、[xunki](https://github.com/xunki)、[azl397985856(2)](https://github.com/azl397985856)、[96486d9b](https://github.com/96486d9b)、[5A59(2)](https://github.com/5A59)、[prprprus](https://github.com/prprprus)、[EddieIvan01](https://github.com/EddieIvan01)、[ddzy(2)](https://github.com/ddzy)、[mylxsw(2)](https://github.com/mylxsw)、[liyuexing](https://github.com/liyuexing)、[auxten](https://github.com/auxten)、[xmyl](https://github.com/xmyl)、[mintsweet](https://github.com/mintsweet)、[colinlet](https://github.com/colinlet)、[yubozhao](https://github.com/yubozhao)、[vicanso](https://github.com/vicanso)、[AICareless](https://github.com/AICareless)、[LYXmoonstars](https://github.com/LYXmoonstars)、[RobiNexy(3)](https://github.com/RobiNexy)、[buppter(2)](https://github.com/buppter)、[Macr0phag3](https://github.com/Macr0phag3)、[haizhilin2013](https://github.com/haizhilin2013)、[xiaoxiaopingzi](https://github.com/xiaoxiaopingzi)、[WarpPrism](https://github.com/WarpPrism)、[dkzwm](https://github.com/dkzwm)、[wonderbeyond](https://github.com/wonderbeyond)、[Gltina](https://github.com/Gltina)、[2881099(3)](https://github.com/2881099)、[bsharkl(2)](https://github.com/bsharkl)、[xiaochunjimmy](https://github.com/xiaochunjimmy)、[TrustTheBoy](https://github.com/TrustTheBoy)、[layumi](https://github.com/layumi)、[deathearth](https://github.com/deathearth)、[holylovelqq](https://github.com/holylovelqq)、[yhlben](https://github.com/yhlben)、[tony0705](https://github.com/tony0705)、[ZhimingYan](https://github.com/ZhimingYan)、[leaicc(2)](https://github.com/leaicc)、[sugar1569](https://github.com/sugar1569)、[surunzi](https://github.com/surunzi)、[shabake](https://github.com/shabake)、[codexu](https://github.com/codexu)、[CasualJi](https://github.com/CasualJi)、[franklingu](https://github.com/franklingu)、[JacksonWuxs](https://github.com/JacksonWuxs)、[GMWorkStudio](https://github.com/GMWorkStudio)、[timqian](https://github.com/timqian)、[Mckinsey666(2)](https://github.com/Mckinsey666)、[JohnnyTing(3)](https://github.com/JohnnyTing)、[jtyoui](https://github.com/jtyoui)、[xuexiangjys(2)](https://github.com/xuexiangjys)、[guanpengchn](https://github.com/guanpengchn)、[wei(2)](https://github.com/wei)、[QingZ11(2)](https://github.com/QingZ11)、[Yanwenjiepy(3)](https://github.com/Yanwenjiepy)、[Windsooon](https://github.com/Windsooon)、[lsqy](https://github.com/lsqy)、[Q-Angelo](https://github.com/Q-Angelo)、[MZCretin](https://github.com/MZCretin)、[heibaiying](https://github.com/heibaiying)、[caozhiyi](https://github.com/caozhiyi)、[heucoder](https://github.com/heucoder)、[yinxin630](https://github.com/yinxin630)、[westfly](https://github.com/westfly)、[yanghongfei](https://github.com/yanghongfei)、[ListenLove](https://github.com/ListenLove)、[leviding](https://github.com/leviding)、[LeeLejia](https://github.com/LeeLejia)、[LockGit](https://github.com/LockGit)、[KubeOperator(2)](https://github.com/KubeOperator)、[newbee-mall](https://github.com/newbee-mall)、[vortesnail(2)](https://github.com/vortesnail)、[int64ago](https://github.com/int64ago)、[Dom-Wang](https://github.com/Dom-Wang)、[Youthink](https://github.com/Youthink)、[luizyao](https://github.com/luizyao)、[anjoy8](https://github.com/anjoy8)、[waruqi](https://github.com/waruqi)、[xxjwxc(3)](https://github.com/xxjwxc)、[mingzaily](https://github.com/mingzaily)、[yatengLG(2)](https://github.com/yatengLG)、[GatesMa(2)](https://github.com/GatesMa)、[janryWang](https://github.com/janryWang)、[zerosoul(4)](https://github.com/zerosoul)、[sixiaodong123](https://github.com/sixiaodong123)、[ZZY2357](https://github.com/ZZY2357)、[jy03078959](https://github.com/jy03078959)、[monoplasty](https://github.com/monoplasty)、[fantasticsoul](https://github.com/fantasticsoul)、[taojy123(2)](https://github.com/taojy123)、[mayerui](https://github.com/mayerui)、[Linnzh(2)](https://github.com/Linnzh)、[star7th](https://github.com/star7th)、[NaNShaner](https://github.com/NaNShaner)、[moonming](https://github.com/moonming)、[CismonX(2)](https://github.com/CismonX)、[jindaxiang](https://github.com/jindaxiang)、[Light-City](https://github.com/Light-City)、[youngjuning](https://github.com/youngjuning)、[hustcc(2)](https://github.com/hustcc)、[Rapiz1](https://github.com/Rapiz1)、[ithewei(2)](https://github.com/ithewei)、[kateshaowanjou](https://github.com/kateshaowanjou)、[kinglyl](https://github.com/kinglyl)、[pioneerAlone](https://github.com/pioneerAlone)、[TrumanDu](https://github.com/TrumanDu)、[rootsongjc](https://github.com/rootsongjc)、[hungter007](https://github.com/hungter007)、[peacewong](https://github.com/peacewong)、[zhengxiaotian](https://github.com/zhengxiaotian)、[zmister2016](https://github.com/zmister2016)、[mr-kelly](https://github.com/mr-kelly)、[saltbo](https://github.com/saltbo)、[xaboy](https://github.com/xaboy)、[guofei9987(2)](https://github.com/guofei9987)、[Gusabary(2)](https://github.com/Gusabary)、[SelfImpr001](https://github.com/SelfImpr001)、[code6er](https://github.com/code6er)、[HandyControl](https://github.com/HandyOrg/HandyControl)、[hey-hoho](https://github.com/hey-hoho)、[xmuli](https://github.com/xmuli)、[cckuailong(2)](https://github.com/cckuailong)、[lanking520](https://github.com/lanking520)、[oct16](https://github.com/oct16)、[anye931123](https://github.com/anye931123)、[YeDaxia](https://github.com/YeDaxia)、[RainMark](https://github.com/RainMark)、[KFCFans](https://github.com/KFCFans)、[kingyuluk](https://github.com/kingyuluk)、[Summer-andy](https://github.com/Summer-andy)、[qiaojialin](https://github.com/qiaojialin)、[africa1207](https://github.com/africa1207)、[dingpengyu](https://github.com/dingpengyu)、[caofanCPU](https://github.com/caofanCPU)、[YuLeiFuYun](https://github.com/YuLeiFuYun)、[giscafer](https://github.com/giscafer)、[meetbill](https://github.com/meetbill)、[halfrost(2)](https://github.com/halfrost)、[Xunzhuo](https://github.com/Xunzhuo)、[pwwang](https://github.com/pwwang)、[genaller](https://github.com/genaller)、[tangkai-prc](https://github.com/tangkai-prc)、[AppleMonkey2019](https://github.com/AppleMonkey2019)、[longitachi](https://github.com/longitachi)、[parzulpan](https://github.com/parzulpan)、[archibate](https://github.com/archibate)、[loperSeven](https://github.com/loperSeven)、[srcrs](https://github.com/srcrs)、[lanyulei](https://github.com/lanyulei)、[toolgood](https://github.com/toolgood)、[justinzm](https://github.com/justinzm)、[yihong0618](https://github.com/yihong0618)、[aaronxiongli](https://github.com/aaronxiongli)、[Wscats](https://github.com/Wscats)、[elfgzp](https://github.com/elfgzp)、[201206030](https://github.com/201206030)、[buuing](https://github.com/buuing)、[lxyok(3)](https://github.com/lxyok)、[holmes1412](https://github.com/holmes1412)、[kevwan](https://github.com/kevwan)、[SuperMonster003](https://github.com/SuperMonster003)、[sz-p(3)](https://github.com/sz-p)、[tyl569](https://github.com/tyl569)、[ADD-SP(2)](https://github.com/ADD-SP)、[MrXujiang](https://github.com/MrXujiang)、[liumenghua(8)](https://github.com/liumenghua)、[Charmve](https://github.com/Charmve)、[vran-dev](https://github.com/vran-dev)、[dengjiawen8955](https://github.com/dengjiawen8955)、[binggg](https://github.com/binggg)、[madawei2699](https://github.com/madawei2699)、[NewByVector](https://github.com/NewByVector)、[xuzirui20080129](https://github.com/xuzirui20080129)、[chenyueban](https://github.com/chenyueban)、[DuanJiaNing](https://github.com/DuanJiaNing)、[Nick930826](https://github.com/Nick930826)、[sandaawa](https://github.com/sandaawa)、[linwaiwai](https://github.com/linwaiwai)、[click33](https://github.com/click33)、[thyrlian](https://github.com/thyrlian)、[cool-team-official](https://github.com/cool-team-official)、[akai](https://github.com/akai)、[zhaojh329](https://github.com/zhaojh329)、[jwcpp](https://github.com/jwcpp)、[wizjin](https://github.com/wizjin)、[tianwailaike61](https://github.com/tianwailaike61)、[Lojii](https://github.com/Lojii)、[git-hulk](https://github.com/git-hulk)、[kwokronny](https://github.com/kwokronny)、[phith0n](https://github.com/phith0n)、[roseduan](https://github.com/roseduan)、[HDT3213](https://github.com/HDT3213)、[Ayerss](https://github.com/Ayerss)、[fenixsoft](https://github.com/fenixsoft)、[bigfengyu](https://github.com/bigfengyu)、[Chasing66](https://github.com/Chasing66)、[czs108](https://github.com/czs108)、[mefengl](https://github.com/mefengl)、[mao-shonen](https://github.com/mao-shonen)、[Uahh](https://github.com/Uahh)、[tomatopunk](https://github.com/tomatopunk)、[yedf2](https://github.com/yedf2)、[muwoo](https://github.com/muwoo)、[maninhill](https://github.com/maninhill)、[xyz347](https://github.com/xyz347)、[Nayuta403](https://github.com/Nayuta403)、[Saul-Mirone](https://github.com/Saul-Mirone)、[Leooeloel](https://github.com/Leooeloel)、[dyer-li](https://github.com/dyer-li)、[kirinzer](https://github.com/kirinzer)
\ No newline at end of file
+[hellowHuaairen](https://github.com/hellowHuaairen)、[ming995](https://github.com/ming995)、[FrontMage](https://github.com/FrontMage)、[xibinyue](https://github.com/xibinyue)、[Eurus-Holmes](https://github.com/Eurus-Holmes)、[daixiang0](https://github.com/daixiang0)、[nivance](https://github.com/nivance)、[QA_imp](https://www.cnblogs.com/bu1tcat/)、[CoderKo1o](https://github.com/iphone5solo)、[xyyVee](https://github.com/xyyVee)、[zhbzz2007](https://github.com/zhbzz2007)、[ethan-funny](https://github.com/ethan-funny)、[PeoLeser](https://github.com/PeoLeser)、[jp1017](https://github.com/jp1017)、[arronf2e](https://github.com/arronf2e)、[iphone5solo](https://github.com/iphone5solo)、[jkpang](https://github.com/jkpang)、[BruceDone](https://github.com/BruceDone)、[answershuto](https://github.com/answershuto)、[kelekexiao123](https://github.com/kelekexiao123)、[wsdjeg](https://github.com/wsdjeg)、[NoneGG](https://github.com/NoneGG)、[zdhxiong](https://github.com/zdhxiong)、[zhuyingda](https://github.com/zhuyingda)、[xnum](https://github.com/xnum)、[JessYanCoding](https://github.com/JessYanCoding)、[zmrenwu](https://github.com/zmrenwu)、[eatage](https://github.com/eatage)、[tamlok](https://github.com/tamlok)、[pipiliang](https://github.com/pipiliang)、[DIYgod](https://github.com/DIYgod)、[Wlitsoft](https://github.com/Wlitsoft)、[gyh1621](https://github.com/gyh1621)、[crossoverJie](https://github.com/crossoverJie)、[Denon](https://github.com/Denon)、[chinesedfan](https://github.com/chinesedfan)、[joeyguo](https://github.com/joeyguo)、[LRH1993](https://github.com/LRH1993)、[hsluoyz](https://github.com/hsluoyz)、[jhao104](https://github.com/jhao104)、[ResolveWang](https://github.com/ResolveWang)、[asheigithub](https://github.com/asheigithub)、[maning0303](https://github.com/maning0303)、[torchcode](https://github.com/torchcode)、[yan-xz](https://github.com/yan-xz)、[TerryZ](https://github.com/TerryZ)、[trazyn](https://github.com/trazyn)、[hujiulong](https://github.com/hujiulong)、[xcyf008](https://github.com/xcyf008)、[eastseven](https://github.com/eastseven)、[BillWang139967](https://github.com/BillWang139967)、[gee1k(2)](https://github.com/gee1k)、[answershuto](https://github.com/answershuto)、[linguowei](https://github.com/linguowei)、[Rictusempra](https://github.com/Rictusempra)、[Juliiii](https://github.com/Juliiii)、[Kerr1Gan](https://github.com/Kerr1Gan)、[haifenghuang(2)](https://github.com/haifenghuang)、[lilijialiang](https://github.com/lilijialiang)、[Prodesire](https://github.com/Prodesire)、[viclm](https://github.com/viclm)、[wynter-wang](https://github.com/wynter-wang)、[dianbaer](https://github.com/dianbaer)、[biezhi](https://github.com/biezhi)、[itgoyo(5)](https://github.com/itgoyo)、[yhaolpz](https://github.com/yhaolpz)、[smarthadron](https://github.com/smarthadron)、[mapletower](https://github.com/mapletower)、[nicholaslee119](https://github.com/nicholaslee119)、[RitterHou](https://github.com/RitterHou)、[PuShaoWei](https://github.com/PuShaoWei)、[luckybilly(3)](https://github.com/luckybilly)、[doyoyob](https://github.com/doyoyob)、[Qiu800820](https://github.com/Qiu800820)、[zeed-w-beez](https://github.com/zeed-w-beez)、[aOrz](https://github.com/aOrz)、[lt94](https://github.com/lt94)、[Chyroc](https://github.com/Chyroc)、[Lision](https://github.com/Lision)、[fhxsnabi](https://github.com/fhxsnabi)、[CuberL](https://github.com/CuberL)、[tangweikun](https://github.com/tangweikun)、[FrontMage](https://github.com/FrontMage)、[iamjohnnyzhuang](https://github.com/iamjohnnyzhuang)、[aosen](https://github.com/aosen)、[clayclayclay](https://github.com/clayclayclay)、[zazzaz](https://github.com/zazzaz)、[BolexLiu](https://github.com/BolexLiu)、[DotzuX](https://github.com/DotzuX)、[junxiaosong](https://github.com/junxiaosong)、[M-Adoo](https://github.com/M-Adoo)、[zhihaozhang](https://github.com/zhihaozhang)、[starlying](https://github.com/starlying)、[Alinshans](https://github.com/Alinshans)、[HJ-Money](https://github.com/HJ-Money)、[topcss](https://github.com/topcss)、[twhuang-uiuc](https://github.com/twhuang-uiuc)、[maychair](https://github.com/maychair)、[mumuy](https://github.com/mumuy)、[sufuf3](https://github.com/sufuf3)、[succlz123](https://github.com/succlz123)、[sunloj](https://github.com/sunloj)、[HuanHaiLiuXin](https://github.com/HuanHaiLiuXin)、[lijinke666](https://github.com/lijinke666)、[chrislinan](https://github.com/chrislinan)、[ThinkpadNC5](https://github.com/ThinkpadNC5)、[appleboy](https://github.com/appleboy)、[objcoding](https://github.com/objcoding)、[songtianyi](https://github.com/songtianyi)、[simplepeng](https://github.com/simplepeng)、[xia-tong](https://github.com/xia-tong)、[wonderfulsuccess](https://github.com/wonderfulsuccess)、[Qsnh](https://github.com/Qsnh)、[Larry850806](https://github.com/Larry850806)、[NamelessAshone(3)](https://github.com/NamelessAshone)、[pench3r](https://github.com/pench3r)、[hon-key](https://github.com/hon-key)、[huangyz0918](https://github.com/huangyz0918)、[pujiaxin33](https://github.com/pujiaxin33)、[cnwangjie](https://github.com/cnwangjie)、[dada0z](https://github.com/dada0z)、[adrianzhang](https://github.com/adrianzhang)、[Sugar250](https://github.com/Sugar250)、[itisyang(2)](https://github.com/itisyang)、[imageslr](https://github.com/imageslr)、[kaixinbaba(7)](https://github.com/kaixinbaba)、[looly](https://github.com/looly)、[wojs5](https://github.com/wojs5)、[xianhu](https://github.com/xianhu)、[hhxsv5](https://github.com/hhxsv5)、[LanjianNUll](https://github.com/LanjianNUll)、[bestvist](https://github.com/bestvist)、[dntzhang](https://github.com/dntzhang)、[KunMinX(2)](https://github.com/KunMinX)、[afkT](https://github.com/afkT)、[syt123450](https://github.com/syt123450)、[Seaear](https://github.com/Seaear)、[huangjianke](https://github.com/huangjianke)、[howie6879](https://github.com/howie6879)、[teeyog](https://github.com/teeyog)、[zyupo](https://github.com/zyupo)、[my8100](https://github.com/my8100)、[daniel-dx](https://github.com/daniel-dx)、[googege](https://github.com/googege)、[LucienShui](https://github.com/LucienShui)、[mds1455975151](https://github.com/mds1455975151)、[zzugbb](https://github.com/zzugbb)、[qianguyihao](https://github.com/qianguyihao)、[dantangfan](https://github.com/dantangfan)、[wenzhixin](https://github.com/wenzhixin)、[tangdou1(3)](https://github.com/tangdou1)、[inhere](https://github.com/inhere)、[kulics](https://github.com/kulics)、[nosarthur](https://github.com/nosarthur)、[byronz](https://github.com/byronz)、[jdneo](https://github.com/jdneo)、[zhaoolee(2)](https://github.com/zhaoolee)、[hzwer](https://github.com/hzwer)、[xunki](https://github.com/xunki)、[azl397985856(2)](https://github.com/azl397985856)、[96486d9b](https://github.com/96486d9b)、[5A59(2)](https://github.com/5A59)、[prprprus](https://github.com/prprprus)、[EddieIvan01](https://github.com/EddieIvan01)、[ddzy(2)](https://github.com/ddzy)、[mylxsw(2)](https://github.com/mylxsw)、[liyuexing](https://github.com/liyuexing)、[auxten](https://github.com/auxten)、[xmyl](https://github.com/xmyl)、[mintsweet](https://github.com/mintsweet)、[colinlet](https://github.com/colinlet)、[yubozhao](https://github.com/yubozhao)、[vicanso](https://github.com/vicanso)、[AICareless](https://github.com/AICareless)、[LYXmoonstars](https://github.com/LYXmoonstars)、[RobiNexy(3)](https://github.com/RobiNexy)、[buppter(2)](https://github.com/buppter)、[Macr0phag3](https://github.com/Macr0phag3)、[haizhilin2013](https://github.com/haizhilin2013)、[xiaoxiaopingzi](https://github.com/xiaoxiaopingzi)、[WarpPrism](https://github.com/WarpPrism)、[dkzwm](https://github.com/dkzwm)、[wonderbeyond](https://github.com/wonderbeyond)、[Gltina](https://github.com/Gltina)、[2881099(3)](https://github.com/2881099)、[bsharkl(2)](https://github.com/bsharkl)、[xiaochunjimmy](https://github.com/xiaochunjimmy)、[TrustTheBoy](https://github.com/TrustTheBoy)、[layumi](https://github.com/layumi)、[deathearth](https://github.com/deathearth)、[holylovelqq](https://github.com/holylovelqq)、[yhlben](https://github.com/yhlben)、[tony0705](https://github.com/tony0705)、[ZhimingYan](https://github.com/ZhimingYan)、[leaicc(2)](https://github.com/leaicc)、[sugar1569](https://github.com/sugar1569)、[surunzi](https://github.com/surunzi)、[shabake](https://github.com/shabake)、[codexu](https://github.com/codexu)、[CasualJi](https://github.com/CasualJi)、[franklingu](https://github.com/franklingu)、[JacksonWuxs](https://github.com/JacksonWuxs)、[GMWorkStudio](https://github.com/GMWorkStudio)、[timqian](https://github.com/timqian)、[Mckinsey666(2)](https://github.com/Mckinsey666)、[JohnnyTing(3)](https://github.com/JohnnyTing)、[jtyoui](https://github.com/jtyoui)、[xuexiangjys(2)](https://github.com/xuexiangjys)、[guanpengchn](https://github.com/guanpengchn)、[wei(2)](https://github.com/wei)、[QingZ11(2)](https://github.com/QingZ11)、[Yanwenjiepy(3)](https://github.com/Yanwenjiepy)、[Windsooon](https://github.com/Windsooon)、[lsqy](https://github.com/lsqy)、[Q-Angelo](https://github.com/Q-Angelo)、[MZCretin](https://github.com/MZCretin)、[heibaiying](https://github.com/heibaiying)、[caozhiyi](https://github.com/caozhiyi)、[heucoder](https://github.com/heucoder)、[yinxin630](https://github.com/yinxin630)、[westfly](https://github.com/westfly)、[yanghongfei](https://github.com/yanghongfei)、[ListenLove](https://github.com/ListenLove)、[leviding](https://github.com/leviding)、[LeeLejia](https://github.com/LeeLejia)、[LockGit](https://github.com/LockGit)、[KubeOperator(2)](https://github.com/KubeOperator)、[newbee-mall](https://github.com/newbee-mall)、[vortesnail(2)](https://github.com/vortesnail)、[int64ago](https://github.com/int64ago)、[Dom-Wang](https://github.com/Dom-Wang)、[Youthink](https://github.com/Youthink)、[luizyao](https://github.com/luizyao)、[anjoy8](https://github.com/anjoy8)、[waruqi](https://github.com/waruqi)、[xxjwxc(3)](https://github.com/xxjwxc)、[mingzaily](https://github.com/mingzaily)、[yatengLG(2)](https://github.com/yatengLG)、[GatesMa(2)](https://github.com/GatesMa)、[janryWang](https://github.com/janryWang)、[zerosoul(4)](https://github.com/zerosoul)、[sixiaodong123](https://github.com/sixiaodong123)、[ZZY2357](https://github.com/ZZY2357)、[jy03078959](https://github.com/jy03078959)、[monoplasty](https://github.com/monoplasty)、[fantasticsoul](https://github.com/fantasticsoul)、[taojy123(2)](https://github.com/taojy123)、[mayerui](https://github.com/mayerui)、[Linnzh(2)](https://github.com/Linnzh)、[star7th](https://github.com/star7th)、[NaNShaner](https://github.com/NaNShaner)、[moonming](https://github.com/moonming)、[CismonX(2)](https://github.com/CismonX)、[jindaxiang](https://github.com/jindaxiang)、[Light-City](https://github.com/Light-City)、[youngjuning](https://github.com/youngjuning)、[hustcc(2)](https://github.com/hustcc)、[Rapiz1](https://github.com/Rapiz1)、[ithewei(2)](https://github.com/ithewei)、[kateshaowanjou](https://github.com/kateshaowanjou)、[kinglyl](https://github.com/kinglyl)、[pioneerAlone](https://github.com/pioneerAlone)、[TrumanDu](https://github.com/TrumanDu)、[rootsongjc](https://github.com/rootsongjc)、[hungter007](https://github.com/hungter007)、[peacewong](https://github.com/peacewong)、[zhengxiaotian](https://github.com/zhengxiaotian)、[zmister2016](https://github.com/zmister2016)、[mr-kelly](https://github.com/mr-kelly)、[saltbo](https://github.com/saltbo)、[xaboy](https://github.com/xaboy)、[guofei9987(2)](https://github.com/guofei9987)、[Gusabary(2)](https://github.com/Gusabary)、[SelfImpr001](https://github.com/SelfImpr001)、[code6er](https://github.com/code6er)、[HandyControl](https://github.com/HandyOrg/HandyControl)、[hey-hoho](https://github.com/hey-hoho)、[xmuli](https://github.com/xmuli)、[cckuailong(2)](https://github.com/cckuailong)、[lanking520](https://github.com/lanking520)、[oct16](https://github.com/oct16)、[anye931123](https://github.com/anye931123)、[YeDaxia](https://github.com/YeDaxia)、[RainMark](https://github.com/RainMark)、[KFCFans](https://github.com/KFCFans)、[kingyuluk](https://github.com/kingyuluk)、[Summer-andy](https://github.com/Summer-andy)、[qiaojialin](https://github.com/qiaojialin)、[africa1207](https://github.com/africa1207)、[dingpengyu](https://github.com/dingpengyu)、[caofanCPU](https://github.com/caofanCPU)、[YuLeiFuYun](https://github.com/YuLeiFuYun)、[giscafer](https://github.com/giscafer)、[meetbill](https://github.com/meetbill)、[halfrost(2)](https://github.com/halfrost)、[Xunzhuo](https://github.com/Xunzhuo)、[pwwang](https://github.com/pwwang)、[genaller](https://github.com/genaller)、[tangkai-prc](https://github.com/tangkai-prc)、[AppleMonkey2019](https://github.com/AppleMonkey2019)、[longitachi](https://github.com/longitachi)、[parzulpan](https://github.com/parzulpan)、[archibate](https://github.com/archibate)、[loperSeven](https://github.com/loperSeven)、[srcrs](https://github.com/srcrs)、[lanyulei](https://github.com/lanyulei)、[toolgood](https://github.com/toolgood)、[justinzm](https://github.com/justinzm)、[yihong0618](https://github.com/yihong0618)、[aaronxiongli](https://github.com/aaronxiongli)、[Wscats](https://github.com/Wscats)、[elfgzp](https://github.com/elfgzp)、[201206030](https://github.com/201206030)、[buuing](https://github.com/buuing)、[lxyok(3)](https://github.com/lxyok)、[holmes1412](https://github.com/holmes1412)、[kevwan](https://github.com/kevwan)、[SuperMonster003](https://github.com/SuperMonster003)、[sz-p(3)](https://github.com/sz-p)、[tyl569](https://github.com/tyl569)、[ADD-SP(2)](https://github.com/ADD-SP)、[MrXujiang](https://github.com/MrXujiang)、[liumenghua(8)](https://github.com/liumenghua)、[Charmve](https://github.com/Charmve)、[vran-dev](https://github.com/vran-dev)、[dengjiawen8955](https://github.com/dengjiawen8955)、[binggg](https://github.com/binggg)、[madawei2699](https://github.com/madawei2699)、[NewByVector](https://github.com/NewByVector)、[xuzirui20080129](https://github.com/xuzirui20080129)、[chenyueban](https://github.com/chenyueban)、[DuanJiaNing](https://github.com/DuanJiaNing)、[Nick930826](https://github.com/Nick930826)、[sandaawa](https://github.com/sandaawa)、[linwaiwai](https://github.com/linwaiwai)、[click33](https://github.com/click33)、[thyrlian](https://github.com/thyrlian)、[cool-team-official](https://github.com/cool-team-official)、[akai](https://github.com/akai)、[zhaojh329](https://github.com/zhaojh329)、[jwcpp](https://github.com/jwcpp)、[wizjin](https://github.com/wizjin)、[tianwailaike61](https://github.com/tianwailaike61)、[Lojii](https://github.com/Lojii)、[git-hulk](https://github.com/git-hulk)、[kwokronny](https://github.com/kwokronny)、[phith0n](https://github.com/phith0n)、[roseduan](https://github.com/roseduan)、[HDT3213](https://github.com/HDT3213)、[Ayerss](https://github.com/Ayerss)、[fenixsoft](https://github.com/fenixsoft)、[bigfengyu](https://github.com/bigfengyu)、[Chasing66](https://github.com/Chasing66)、[czs108](https://github.com/czs108)、[mefengl](https://github.com/mefengl)、[mao-shonen](https://github.com/mao-shonen)、[Uahh](https://github.com/Uahh)、[tomatopunk](https://github.com/tomatopunk)、[yedf2](https://github.com/yedf2)、[muwoo](https://github.com/muwoo)、[maninhill](https://github.com/maninhill)、[xyz347](https://github.com/xyz347)、[Nayuta403](https://github.com/Nayuta403)、[Saul-Mirone](https://github.com/Saul-Mirone)、[Leooeloel](https://github.com/Leooeloel)、[dyer-li](https://github.com/dyer-li)、[kirinzer](https://github.com/kirinzer)、[colinshin](https://github.com/colinshin)、[skiffer-git](https://github.com/skiffer-git)
\ No newline at end of file
diff --git a/content/last.md b/content/last.md
index 508c245c..d7fc9ffb 100644
--- a/content/last.md
+++ b/content/last.md
@@ -1,4 +1,4 @@
-# 《HelloGitHub》第 65 期
+# 《HelloGitHub》第 66 期
> 兴趣是最好的老师,**HelloGitHub** 让你对编程感兴趣!
@@ -6,7 +6,7 @@
## 目录
-**Tips**:如果文中的图刷不出来,可以点击 [这里](https://hellogithub.com/periodical/volume/65/) 获取更好的阅读体验。
+**Tips**:如果文中的图刷不出来,可以点击 [这里](https://hellogithub.com/periodical/volume/66/) 获取更好的阅读体验。
- [C 项目](#C-项目)
- [C# 项目](#C-项目-1)
@@ -15,7 +15,8 @@
- [Go 项目](#Go-项目)
- [Java 项目](#Java-项目)
- [JavaScript 项目](#JavaScript-项目)
-- [PHP 项目](#PHP-项目)
+- [Kotlin 项目](#Kotlin-项目)
+- [Objective-C 项目](#Objective-C-项目)
- [Python 项目](#Python-项目)
- [Rust 项目](#Rust-项目)
- [Swift 项目](#Swift-项目)
@@ -35,300 +36,281 @@
> **以下为本期内容**|每个月 **28** 号更新
### C 项目
-1、[cpufetch](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Dr-Noob/cpufetch):获取 CPU 信息的命令行工具
+1、[HEX-LINK](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/JingYang1124/HEX-LINK):自制电脑游戏的体感设备。该项目包含制作时需要的硬件设计和全部源码
+```
+.
+├─firmware # 软件(根据自己使用的工具选择如下一种工程即可)
+│ ├─ArduinoIDE_Proj # Arduino IDE版工程
+│ │ ├─Additional_Libraries # 里面的文件夹需要复制到Arduino IDE安装目录下的libraries文件夹
+│ │ ├─Hex_Link_Leonardo # 需要下载至接收端的程序
+│ │ └─Hex_Link_Nano # 需要下载至发送端的程序
+│ ├─Bootloaders # 需要下载至芯片的arduino bootloader
+│ └─Vscode_PlatformIO_Proj # VScode PlatformIO版工程
+│ ├─Hex_Link_Leonardo # 需要下载至接收端的程序
+│ └─Hex_Link_Nano # 需要下载至发送端的程序
+├─hardware # 硬件(PCB工程)
+│ ├─BOM # PCB的物料清单,包含参考的购买链接(链接仅作参考,在其他任何店铺购买相同型号即可)
+│ ├─Hex_Link_Rec # 接收端PCB工程
+│ ├─Hex_Link_Trans # 发送端PCB工程
+│ └─Nano_Jtag_Pin # 转接板:用来烧录Nano bootloader的Jtag口转接板
+├─model # 接收端外壳3维模型
+│ ├─Solidworks_Project # 2018版本Solidworks工程
+│ └─STL_TAP # STL文件,可直接用于3D打印.TAP文件是顶层亚克力板的CNC加工文件
+├─references # 参考文档
+└─tools # 额外的脚本工具
+```
-
+
🔙 返回目录 🔙
### C# 项目
-2、[AduSkin](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/aduskin/AduSkin):一款简约漂亮的 WPF UI 库
+2、[SteamTools](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/SteamTools-Team/SteamTools):集合多种 Steam 客户端工具的工具箱。该工具支持 Window、Linux、macOS、Android 操作系统,包括游戏库存管理、解锁成就、史低价格、出售库存物品等功能,还有丰富的插件等待你发掘
+
+
+
+3、[xLua](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Tencent/xLua):为 C#、Unity、.Net 等环境增添 Lua 脚本编程的能力,使得 Lua 代码方便地与 C# 相互调用
+```c#
+XLua.LuaEnv luaenv = new XLua.LuaEnv();
+luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')");
+luaenv.Dispose();
+```
+
+
-
+4、[BBDown](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nilaoda/BBDown):命令行哔哩哔哩视频下载工具
+
+
🔙 返回目录 🔙
### C++ 项目
-3、[simdjson](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/simdjson/simdjson):每秒可解析千兆字节的高性能 JSON 解析库
+5、[libqalculate](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Qalculate/libqalculate):使用 C++ 编写的多功能计算器桌面应用、库和 CLI 程序。它易于使用功能强大,支持大型可定制函数库、单位计算和转换、符号计算(包括积分和方程)。作为用户你可以直接在命令行中使用,作为开发者你也可以在自己的项目中使用这个库。官方还制作了 [Qt](https://github.com/Qalculate/qalculate-qt) 和 [GTK](https://github.com/Qalculate/qalculate-gtk) 两个版本的 GUI 计算器应用
+
+
-
+6、[btop](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/aristocratos/btop):界面酷炫的命令行资源监视器。可以显示处理器、内存、磁盘、网络和进程的使用情况和统计信息,还支持鼠标操作
-4、[filament](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/google/filament):轻量级实时物理渲染引擎。能够用来做游戏渲染引擎或者音视频编辑工程,当你需要处理 3D 渲染效果,又不想引入庞大的游戏引擎时,可以考虑使用它尤其是 Android 平台
+
-
+7、[TinyWebServer](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/qinguoyi/TinyWebServer):Linux 下的 C++ 轻量级 Web 服务器。该项目不仅可以用来搭建 Web 服务,也适合 C++ 初学者作为网络编程实战项目。作者还写了文章讲解相关代码和原理,帮助初学者更好的掌握网络编程相关知识
🔙 返回目录 🔙
### CSS 项目
-5、[devices.css](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/marvelapp/devices.css):仅用 CSS 实现手机和平板设备的平面模型。机型包含 iPhone、Android、Lumia 和 iPad
-```html
-
-```
+8、[css_tricks](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/QiShaoXuan/css_tricks):常用 CSS 样式示例集合
-
+
🔙 返回目录 🔙
### Go 项目
-6、[lindb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/lindb/lindb):可水平拓展、高性能的分布式时序数据库,支持海量数据存储以及快速并行查询和计算。已在饿了么内部使用,存储了全量的监控数据。每天增量写入 TB 量级,共计 PB 级的数据
+9、[video-srt-windows](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wxbool/video-srt-windows):自动识别视频语音生成字幕文件的工具。采用 Go+walk 开发所以仅支持 Windows 系统,原理是请求在线语音转文字的服务,超出免费额度需付费。另外还加入了导出字幕文件和翻译功能
-
+
-7、[learning_tools](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/hwholiday/learning_tools):作者学习 Go 过程中实践的 Go 代码集合。包含了 Go 语言实用三方库、微服务、数据库、算法等代码片段,虽然内容丰富但缺少分类和梳理。就算这样还是要推荐给寻找 Go 进阶之路的小伙伴,因为内容真的很好
+10、[go-daily-lib](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/darjun/go-daily-lib):每天学习一个 Go 语言库。内容包含标准库和三方库,每个库对应一篇介绍和上手的文章
-
+
-8、[sharingan](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/didi/sharingan):基于 Go 的流量 录制/回放 工具。实现在不影响线上服务的前提下,线下采用线上的真实请求和参数进行测试。特别适合线上重要服务重构后的回归测试,真实流量的测试有助于提早发现问题,避免重大事故
+11、[Open-IM-Server](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/OpenIMSDK/Open-IM-Server):基于 Go 实现的轻量级即时通讯(IM)项目。具有高性能、易扩展、安装简单、私有化部署等特性,同时包含多种客户端 SDK。从服务器到客户端一体的开源即时通讯(IM)解决方案
-
+
-9、[gocron](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ouqiang/gocron):基于 Go 语言实现的轻量级定时任务管理平台。功能:
-- Web 管理界面
-- 定时任务可精确到秒
-- 任务失败可重试,超时强制停止
-- 账户权限控制
-- 等等
+12、[go-fly](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/taoshihan1991/go-fly):基于 Go 语言实现的在线客服系统,采用 Gin+MySQL+JWT+WebSocket 等技术栈实现
-
+
-10、[sealos](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/fanux/sealos):一条命令即可快速部署 Kubernetes(k8s) 集群的工具
+13、[viper](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/spf13/viper):用来搞定 Go 应用中配置的库。支持多种配置文件类型、监控并重新加载配置文件、远程读取配置系统等
+```go
+viper.SetConfigName("config") // 配置文件名,不包括后缀
+viper.SetConfigType("yaml") // 配置文件的后缀
+viper.AddConfigPath("/etc/appname/") // 查找配置文件的目录
+viper.AddConfigPath("$HOME/.appname") // 支持查找多个目录
+// 异常处理
+if err := viper.ReadInConfig(); err != nil {
+ if _, ok := err.(viper.ConfigFileNotFoundError); ok {
+ // 如果没有找到配置文件
+ } else {
+ // 找到了配置文件,但出现了其他错误
+ }
+}
+```
-
+
🔙 返回目录 🔙
### Java 项目
-11、[Android-skin-support](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ximsfei/Android-skin-support):方便好用的 Android 换肤框架
-```java
-@Override
-public void onCreate() {
- super.onCreate();
- SkinCompatManager.withoutActivity(this) // 基础控件换肤初始化
- .addInflater(new SkinMaterialViewInflater()) // material design 控件换肤初始化[可选]
- .addInflater(new SkinConstraintViewInflater()) // ConstraintLayout 控件换肤初始化[可选]
- .addInflater(new SkinCardViewInflater()) // CardView v7 控件换肤初始化[可选]
- .setSkinStatusBarColorEnable(false) // 关闭状态栏换肤,默认打开[可选]
- .setSkinWindowBackgroundEnable(false) // 关闭windowBackground换肤,默认打开[可选]
- .loadSkin();
-}
-```
+14、[o2oa](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/o2oa/o2oa):国产的 OA 系统。功能齐全支持考勤、会议管理、云盘等,适用于企业 OA、协同办公
-
+
-12、[lettuce-core](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/lettuce-io/lettuce-core):线程安全的高级 Java Redis 客户端。基于 Netty 实现了非阻塞 I/O,支持同步、异步、集群、哨兵、管道等功能
-```java
-RedisClient redisClient = RedisClient.create("redis://localhost/0");
-StatefulRedisConnection connection = redisClient.connect();
+15、[IJPay](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Javen205/IJPay):Java 支付工具库,轻松完成支付模块开发。封装了常用的微信、QQ、支付宝、银联、PayPal 支付等支付方式的各种常用接口。不依赖任何 MVC 框架,轻松接入到 Java 项目
-System.out.println("Connected to Redis");
-connection.sync().set("key", "Hello World");
+16、[VirtualApp](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/asLody/VirtualApp):Android 系统的沙盒程序,App 虚拟化引擎。它创建了一个虚拟空间,在那里可以任意安装、启动、控制、卸载应用。虚拟空间与外部隔离相当于沙盒环境,可在安卓上实现应用多开、静默安装等黑科技
-connection.close();
-redisClient.shutdown();
-```
+
🔙 返回目录 🔙
### JavaScript 项目
-13、[didact](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/pomber/didact):教你从零写一个 React 框架。通过一系列的文章和代码,教授如何实现 React 框架,从而能够更好的理解 React 内部原理
+17、[sharedb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/share/sharedb):基于 JSON 数据 OT 算法的实时数据库。简单来说就是实时协同数据框架,可用来实现当页面因用户操作发生数据变化时,实时把数据同步展示到其它用户页面上,其中 OT 算法就是解决此协同过程中问题的通用算法。常见的场景比如:多用户之间的状态同步、在线协作文档、离线后数据改动同步等
-
+
-14、[iDataV](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/yyhsong/iDataV):大屏数据可视化项目集合。[在线查看](https://yyhsong.github.io/iDataV/)
+18、[30-Days-Of-JavaScript](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Asabeneh/30-Days-Of-JavaScript):30 天 JavaScript 编程挑战。该教程虽然是英文教程但是图文并茂通俗易通,内容循序渐进包含练习题,适合零基础想要学习 JavaScript 的同学
-
+
-15、[milkdown](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Saul-Mirone/milkdown):一款清爽见即所得的 Markdown 编辑器。不同于大多数 Markdown 编辑器它是插件驱动的,类似开源可自由扩展的 Typora。项目由 prosemirror+remark 构建,入门开发者从中可以学习到如何使用 prosemirror 来开发富文本编辑器,以及如何设计一个针对编辑器的插件系统
-```javascript
-import { Editor } from '@milkdown/core';
-import { commonmark } from '@milkdown/preset-commonmark';
+19、[YesPlayMusic](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/qier222/YesPlayMusic):高颜值的第三方网易云播放器。它不仅拥有简洁美观的外观,还有丰富的功能
+- 支持 Windows/macOS/Linux
+- 私人 FM/每日推荐歌曲
+- 网易云账号登录
+- 歌词显示
+- 自定义快捷键和全局快捷键
+- 等等
+
+
-import { history } from '@milkdown/plugin-history';
+20、[javascript](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/airbnb/javascript):Airbnb 开源的 JavaScript 风格指南。[中文](https://github.com/lin-123/javascript)
+```javascript
+// 采用数组解构
+const arr = [1, 2, 3, 4];
-// import theme
-import '@milkdown/theme-nord/lib/theme.css';
+// bad
+const first = arr[0];
+const second = arr[1];
-new Editor()
- .use(commonmark)
- .use(history)
- .create();
+// good
+const [first, second] = arr;
```
-
-
-16、[flat](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/netless-io/flat):前后端完全开源、功能丰富的在线教室项目。通过它可以快速完成支持多人视频、语音、白板互动、录制回放等功能的在线教室
+21、[spy-debugger](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wuchangming/spy-debugger):远程调试手机页面和抓包的工具。操作简单仅需手机和电脑在同一个 WIFI 下,即可在实现真机调试页面
-
+
-17、[react-beautiful-dnd](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/atlassian/react-beautiful-dnd):漂亮易用的 React 列表拖拽库
+🔙 返回目录 🔙
-
+### Kotlin 项目
+22、[Component](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/xiaojinzi123/Component):Android 的组件化框架,帮助开发者在实现项目组件化。它的强大在于功能齐全、更新及时,支持 Kotlin、AndroidX、RxJava、协程等
🔙 返回目录 🔙
-### PHP 项目
-18、[icon-workshop](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zhanghuanchong/icon-workshop):移动应用图标生成工具。能够一键生成多种尺寸的 iOS/Android 应用图标和 APP 启动图
-
-
+### Objective-C 项目
+23、[iOSInterviewQuestions](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ChenYilong/iOSInterviewQuestions):iOS 面试题集合(附答案)
🔙 返回目录 🔙
### Python 项目
-19、[moviepy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Zulko/moviepy):用于处理视频的 Python 库,它支持视频剪辑、自定义效果、视频合成、格式转化、插入文字等功能。专于注视频但不局限于此,还支持处理音频和 GIF 图片。虽然现在视频剪辑的工具很丰富,但如果要批量处理视频,用 Python+moviepy 写个脚本应该可以一劳永逸,节省时间
-
-
-
-20、[weiboSpider](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dataabc/weiboSpider):Python 写的微博爬虫,命令行直接启动。支持获取微博用户、内容字段丰富。虽然爬虫的实战项目很多,但能一直更新的很少,因为只要数据源变动爬虫就要跟进迭代。这个项目更新稳定回复问题及时实属不易,希望大家在享受项目带来的便利同时也可以 Star 支持一下
-```
-# 安装
-$ git clone https://github.com/dataabc/weiboSpider.git
-$ cd weiboSpider
-$ pip install -r requirements.txt
-# 启动
-$ python3 -m weibo_spider
-```
-
-21、[pyinstrument](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/joerick/pyinstrument):简单易用的 Python 代码性能分析库,优化 Python 代码的工具。支持 Python 3.7+ 能够分析异步代码,仅需一条命令即可显示具体到函数的耗时,快速指出影响代码性能的地方,帮助提高代码性能让你的代码快人一步
-```
-# 命令模式
-Usage: pyinstrument [options] scriptfile [arg] ...
-# 代码片段模式
-from pyinstrument import Profiler
-
-profiler = Profiler()
-profiler.start()
-# 要分析的代码
-profiler.stop()
-
-profiler.print()
-# 还支持 flask 等 Web 框架
-```
-
-
-
-22、[termpair](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/cs01/termpair):浏览器远程+实时操作命令行的工具。让开发者安全实时的共享终端,特别适合服务器非桌面系统的环境。有了它下次再遇到问题,求助大佬远程协助就方便多了
-```
-# 安装
-pip install termpair
-# 起服务
-termpair serve
-# 生成远程控制终端的链接
-termpair share
-```
-
-
-
-23、[ray](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ray-project/ray):基于 Python 的分布式计算框架,采用动态图计算模型。使用起来很方便可通过装饰器的方式,仅需修改极少的的代码,让原本运行在单机的 Python 代码轻松实现分布式计算。目前多用于机器学习方面
-```python
-import ray
-ray.init()
-
-@ray.remote
-def f(x):
- return x * x
-
-futures = [f.remote(i) for i in range(4)]
-print(ray.get(futures))
+24、[Pokemon-Terminal](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LazoCoder/Pokemon-Terminal):适用于多种终端的口袋妖怪主题工具。支持 iTerm2、ConEmu、Terminology、Windows 的终端,已经收集了 719 个小精灵
+
+
+
+25、[mypy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/python/mypy):Python 静态类型检查库。既然 Python 是一门动态类型语言,为啥还要检查类型呢?有了静态类型检测则无需运行代码,就可以发现程序中潜在的错误。还可以加入到 `git hook` 中,实现在提交代码前自动检查。详情查看[这篇文章](https://mp.weixin.qq.com/s/K4RGr5NqMFAUKtB0KFPV5g)
+
+26、[CPython-Internals](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zpoint/CPython-Internals):图文并茂的 Python 源码阅读笔记项目。阅读的是比较新的 CPython 3.8 版本,重点是项目一直在更新维护
+```c++
+static void take_gil(PyThreadState *tstate)
+{
+ /* 忽略 */
+ while (_Py_atomic_load_relaxed(&_PyRuntime.ceval.gil.locked)) {
+ /* 只要 gil 是锁住的状态, 进入这个循环 */
+ int timed_out = 0;
+ unsigned long saved_switchnum;
+
+ saved_switchnum = _PyRuntime.ceval.gil.switch_number;
+ /* 释放 gil.mutex, 并在以下两种条件下唤醒
+ 1. 等待 INTERVAL 微秒(默认 5000)
+ 2. 还没有等待到 5000 微秒但是收到了 gil.cond 的信号
+ */
+ COND_TIMED_WAIT(_PyRuntime.ceval.gil.cond, _PyRuntime.ceval.gil.mutex,
+ INTERVAL, timed_out);
+ /* 当前持有 gil.mutex 这把互斥锁 */
+ if (timed_out &&
+ _Py_atomic_load_relaxed(&_PyRuntime.ceval.gil.locked) &&
+ _PyRuntime.ceval.gil.switch_number == saved_switchnum) {
+ /* 如果超过了等待时间, 并且这段等待时间里 gil 的持有者没有变更过, 则尝试让当前持有 gil 的线程进行释放gil
+ 把 gil_drop_request 值设为 1, 持有锁的线程看到这个值的时候, 会尝试放弃 gil */
+ SET_GIL_DROP_REQUEST();
+ }
+ /* 继续回到 while 循环, 检查 gil 是否为锁住状态 */
+ }
+ /* 忽略 */
+}
```
-
-
🔙 返回目录 🔙
### Rust 项目
-24、[toydb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/erikgrinaker/toydb):Rust 写的分布式 SQL 数据库实战项目。作为一个学习项目并不适合于生产环境,但通过该项目你可以学习如何用 Rust 实现 Raft 协议、符合 ACID 的事物引擎、SQL 解析、数据持久化等。适合对数据库底层运作原理感兴趣的小伙伴
+27、[nushell](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nushell/nushell):一种更加人性化的新型 shell
-
+
🔙 返回目录 🔙
### Swift 项目
-25、[FlappySwift](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/fullstackio/FlappySwift):用 Swfit 写的愤怒小鸟游戏
+28、[Clipy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Clipy/Clipy):macOS 的剪贴板扩展应用。支持展示剪贴板历史记录、内容模版等功能
-
-
-26、[NetNewsWire](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Ranchero-Software/NetNewsWire):适用于 macOS 和 iOS 的 RSS 阅读器
-
-
+
🔙 返回目录 🔙
### 其它
-27、[insomnia](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Kong/insomnia):基于 Electron 支持 GraphQL、REST、gRPC 的调试工具,请求网络接口的桌面应用。不仅有简约漂亮的界面,还支持 Windows、Linux、macOS 主流操作系统
-
-
+29、[QWidgetDemo](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/feiyangqingyun/QWidgetDemo):Qt 编写的示例集合。每个示例都可独立运行、代码简洁易懂,适合初学者学习
-28、[keframe](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LianjiaTech/keframe):Flutter 流畅度优化组件。通过分帧渲染解决由于构建导致的卡顿问题,适用于复杂列表或者页面切换的场景
+
-
+30、[xemu](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/mborgerson/xemu):免费开源的 Xbox 模拟器,支持 Windows、Linux、macOS 系统
-29、[authpass](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/authpass/authpass):基于 Flutter 开发的适用于所有平台的密码管理器。可通过 Dropbox 等云服务同步数据,支持自动填充密码
+
-
+31、[yabai](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/koekeishiya/yabai):适用于 macOS 的平铺式窗口管理器。该工具可以轻松实现窗口平铺不重叠,不用鼠标仅通过键盘移动、调整、切换、全屏、自动布局等管理窗口的操作
+- `Control+Option+A/D`:激活 平铺/浮动 模式
+- `Option+h/j/k/l`:使 左/下/上/右 侧窗口成为活动窗口
+- `Shift+Option+h/j/k/l`:向 左/下/上/右 移动当前活动窗口
+- `Command+Option+n`:创建新桌面,并将当前活动窗口移动至新桌面
-30、[Unity3DTraining](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/XINCGer/Unity3DTraining):Unity 游戏开发练习项目集合。包含仿写泡泡龙、跑酷、切水果等游戏的源码,还有作者收集的游戏效果源码和相关文章
+
-
+32、[awesome-for-beginners](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/MunGell/awesome-for-beginners):对初学者友好的开源项目集合。如果你想参与到开源项目的建设,可以在这个集合中寻找项目,祝你早日完成第一个贡献(PR)
-31、[QASystemOnMedicalKG](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/liuhuanyong/QASystemOnMedicalKG):从无到有搭建一个医药知识图谱的开源项目。包含信息采集、清理、图谱设计等,并基于图谱实现了自动回答医药相关问题的服务
+33、[lifeRestart](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/VickScarlet/lifeRestart):在线文字游戏《人生重开模拟器》。纯文字游戏只需开局选天赋分配初始属性,后面就是看岁月如白驹过隙,转眼就过完了这一生,不满意的话可以轻松重开新的人生。游戏凭借诙谐幽默的文案和出乎意料的结尾,广受好评。[在线试玩](https://liferestart.syaro.io/view/)
-
+
-32、[macos-virtualbox](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/myspaghetti/macos-virtualbox):帮你在 VirtualBox 上安装 macOS 操作系统的工具。这个工具是一个 Bash 脚本,运行后只需要按回车即可完成安装。目前已支持 Linux 、Windows、macOS 多个主流操作系统,可安装 Catalina (10.15)、Mojave (10.14) 和 High Sierra (10.13) 等多个不同版本的苹果系统
+34、[chinese-dos-games](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/rwv/chinese-dos-games):中文 DOS 游戏集合。[在线试玩](https://dos.zczc.cz/)
-
-
-33、[canvas-special](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/bxm0927/canvas-special):经典的 Canvas 实例集合。包括五子棋、坦克大战、动态背景、动画粒子特效等
-
-
-
-34、[brave-browser](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/brave/brave-browser):快速、干净、开源的网页浏览器。由 JavaScript 的创造者布兰登·艾克基于 Chromium 网页浏览器和 Blink 排版引擎构建,拥有阻止网站追踪的特点并且内置了广告拦截器。支持 Android、Linux、macOS、iOS、Windows 操作系统,可一键导入书签、浏览记录、密码、插件等,无负担享受这片“净土”
-
-
+
🔙 返回目录 🔙
### 开源书籍
-35、[LearnOpenGL-CN](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LearnOpenGL-CN/LearnOpenGL-CN):LearnOpenGL 教程的中文翻译。OpenGL 是一个图形 API,包含了一系列可以操作图形、图像的函数。它需要一个编程语言来工作,教程的示例代码采用 C++ 编程语言。[在线阅读](https://learnopengl-cn.github.io/)
+35、[introduction-to-front-end-engineering](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/woai3c/introduction-to-front-end-engineering):一本小书《带你入门前端工程》。该书是作者对过去两年前端工程化实践的经验和心得总结,[在线阅读](https://woai3c.github.io/introduction-to-front-end-engineering/)
-
+36、[pumpkin-book](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/datawhalechina/pumpkin-book):《机器学习公式详解》西瓜书公式推导解析。[在线阅读](https://datawhalechina.github.io/pumpkin-book/)
-36、[Learn-Web-Hacking](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LyleMi/Learn-Web-Hacking):Web 安全学习笔记,[在线阅读](https://websec.readthedocs.io/zh/latest/)
+
🔙 返回目录 🔙
### 机器学习
-37、[chineseocr_lite](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/DayBreak-u/chineseocr_lite):轻量级中文 OCR 项目,提供将图片上的中文转成字符串的功能
+37、[invoice](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/guanshuicheng/invoice):增值税发票 OCR 识别项目。包含训练好的模型和微服务,启动后可直接通过接口调用
+
+
+
+38、[GameAISDK](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Tencent/GameAISDK):基于图像识别的 AI 自动化框架,支持吃鸡类、射击类、MOBA 类等游戏类型。内置多种图像识别算法和 AI 算法,不用抠图完全基于图像识别的 AI 训练和框架
-
+
-38、[ASRT_SpeechRecognition](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nl8590687/ASRT_SpeechRecognition):基于深度学习的中文语音识别系统
+39、[genshin_auto_fish](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/7eu7d7/genshin_auto_fish):基于深度学习的原神手游自动钓鱼工具。其中用 YOLOX 搞定鱼的定位和类型的识别以及鱼竿落点的定位,用 DQN 搞定自适应控制钓鱼过程的点击,让力度落在最佳区域内
🔙 返回目录 🔙
- 『上一期』 | 反馈和建议 | 『下一期』
+ 『上一期』 | 反馈和建议 | 『下一期』
---
@@ -336,8 +318,8 @@ print(ray.get(futures))
👉 云主机 4 元/月 | 推荐项目 👈
微信中搜:HelloGitHub 关注公众号
不仅能第一时间收到推送,还有各种回馈粉丝活动
- 如果文中的图刷不出来,可以点击 这里 获取更好的阅读体验。
+ 如果文中的图刷不出来,可以点击 这里 获取更好的阅读体验。
## 声明
-
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
\ No newline at end of file
+
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。