diff --git a/README.md b/README.md
index 42135f89..c6d8f8ea 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@
| :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
| ------- | ----- | ------------ | ------ | --------- |
-| [第 54 期](/content/54/HelloGitHub54.md) | [第 53 期](/content/53/HelloGitHub53.md) | [第 52 期](/content/52/HelloGitHub52.md) | [第 51 期](/content/51/HelloGitHub51.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) |
| [第 50 期](/content/50/HelloGitHub50.md) | [第 49 期](/content/49/HelloGitHub49.md) | [第 48 期](/content/48/HelloGitHub48.md) | [第 47 期](/content/47/HelloGitHub47.md) | [第 46 期](/content/46/HelloGitHub46.md) |
| [第 45 期](/content/45/HelloGitHub45.md) | [第 44 期](/content/44/HelloGitHub44.md) | [第 43 期](/content/43/HelloGitHub43.md) | [第 42 期](/content/42/HelloGitHub42.md) | [第 41 期](/content/41/HelloGitHub41.md) |
| [第 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) |
diff --git a/README_en.md b/README_en.md
index d1cebe82..40eba062 100644
--- a/README_en.md
+++ b/README_en.md
@@ -23,7 +23,7 @@ The [latest article](https://github.com/521xueweihan/HelloGitHub/blob/master/con
| :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
| ------- | ----- | ------------ | ------ | --------- |
-| [NO.54](/content/54/HelloGitHub54.md) | [NO.53](/content/53/HelloGitHub53.md) | [NO.52](/content/52/HelloGitHub52.md) | [NO.51](/content/51/HelloGitHub51.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) |
| [NO.50](/content/50/HelloGitHub50.md) | [NO.49](/content/49/HelloGitHub49.md) | [NO.48](/content/48/HelloGitHub48.md) | [NO.47](/content/47/HelloGitHub47.md) | [NO.46](/content/46/HelloGitHub46.md) |
| [NO.45](/content/45/HelloGitHub45.md) | [NO.44](/content/44/HelloGitHub44.md) | [NO.43](/content/43/HelloGitHub43.md) | [NO.42](/content/42/HelloGitHub42.md) | [NO.41](/content/41/HelloGitHub41.md) |
| [NO.40](/content/40/HelloGitHub40.md) | [NO.39](/content/39/HelloGitHub39.md) | [NO.38](/content/38/HelloGitHub38.md) | [NO.37](/content/37/HelloGitHub37.md) | [NO.36](/content/36/HelloGitHub36.md) |
diff --git a/content/01/HelloGitHub01.md b/content/01/HelloGitHub01.md
index 2f41fa55..3ef11018 100644
--- a/content/01/HelloGitHub01.md
+++ b/content/01/HelloGitHub01.md
@@ -112,7 +112,7 @@
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/02/HelloGitHub02.md b/content/02/HelloGitHub02.md
index 0336c847..9712c6f3 100644
--- a/content/02/HelloGitHub02.md
+++ b/content/02/HelloGitHub02.md
@@ -158,7 +158,7 @@ if __name__ == '__main__':
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/03/HelloGitHub03.md b/content/03/HelloGitHub03.md
index 1d11c73a..71989f93 100644
--- a/content/03/HelloGitHub03.md
+++ b/content/03/HelloGitHub03.md
@@ -99,7 +99,7 @@
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/04/HelloGitHub04.md b/content/04/HelloGitHub04.md
index d00cc948..b23cdf2f 100644
--- a/content/04/HelloGitHub04.md
+++ b/content/04/HelloGitHub04.md
@@ -97,7 +97,7 @@
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/05/HelloGitHub05.md b/content/05/HelloGitHub05.md
index 50dde9c8..dfb9cf7f 100644
--- a/content/05/HelloGitHub05.md
+++ b/content/05/HelloGitHub05.md
@@ -121,7 +121,7 @@ $pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_ASCI
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/06/HelloGitHub06.md b/content/06/HelloGitHub06.md
index e7659bc2..710765a3 100644
--- a/content/06/HelloGitHub06.md
+++ b/content/06/HelloGitHub06.md
@@ -162,7 +162,7 @@ brew install mercurial
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/07/HelloGitHub07.md b/content/07/HelloGitHub07.md
index bc3eab9c..ef807252 100644
--- a/content/07/HelloGitHub07.md
+++ b/content/07/HelloGitHub07.md
@@ -177,7 +177,7 @@ ua.random
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/08/HelloGitHub08.md b/content/08/HelloGitHub08.md
index 39fd2d9a..d6f280d0 100644
--- a/content/08/HelloGitHub08.md
+++ b/content/08/HelloGitHub08.md
@@ -236,7 +236,7 @@ finally:
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/09/HelloGitHub09.md b/content/09/HelloGitHub09.md
index b1645ecf..da6a941b 100644
--- a/content/09/HelloGitHub09.md
+++ b/content/09/HelloGitHub09.md
@@ -166,7 +166,7 @@ ngrok http 8000
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/10/HelloGitHub10.md b/content/10/HelloGitHub10.md
index 865a63e0..8e38b0b5 100644
--- a/content/10/HelloGitHub10.md
+++ b/content/10/HelloGitHub10.md
@@ -185,7 +185,7 @@
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/11/HelloGitHub11.md b/content/11/HelloGitHub11.md
index 2628886f..fbbd550b 100644
--- a/content/11/HelloGitHub11.md
+++ b/content/11/HelloGitHub11.md
@@ -160,7 +160,7 @@ print ifconfig("eth0")
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/12/HelloGitHub12.md b/content/12/HelloGitHub12.md
index 3db2cfd0..d75b3c94 100644
--- a/content/12/HelloGitHub12.md
+++ b/content/12/HelloGitHub12.md
@@ -186,7 +186,7 @@ Hello Google!
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/13/HelloGitHub13.md b/content/13/HelloGitHub13.md
index 15cadc10..9845da51 100644
--- a/content/13/HelloGitHub13.md
+++ b/content/13/HelloGitHub13.md
@@ -223,7 +223,7 @@ Request failed
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/14/HelloGitHub14.md b/content/14/HelloGitHub14.md
index 898973f5..2658b6e7 100644
--- a/content/14/HelloGitHub14.md
+++ b/content/14/HelloGitHub14.md
@@ -163,7 +163,7 @@ gcc -g -O2 testSearcher.c ip2region.c
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/15/HelloGitHub15.md b/content/15/HelloGitHub15.md
index 8b638412..133353cd 100644
--- a/content/15/HelloGitHub15.md
+++ b/content/15/HelloGitHub15.md
@@ -183,7 +183,7 @@ def test():
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/16/HelloGitHub16.md b/content/16/HelloGitHub16.md
index e5477510..dae7a8f9 100644
--- a/content/16/HelloGitHub16.md
+++ b/content/16/HelloGitHub16.md
@@ -100,7 +100,7 @@ namespace WeixinSDK.Test.Fake
🔙 返回目录 🔙
### C++ 项目
-4、[vnote](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/tamlok/vnote):Markdown 编辑软件。舒适的 Markdown 编辑体验,Vim 操作模式,编辑时代码块高亮
+4、[vnote](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/vnotex/vnote):Markdown 编辑软件。舒适的 Markdown 编辑体验,Vim 操作模式,编辑时代码块高亮
@@ -199,7 +199,7 @@ namespace WeixinSDK.Test.Fake
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/17/HelloGitHub17.md b/content/17/HelloGitHub17.md
index 09097065..cedd4633 100644
--- a/content/17/HelloGitHub17.md
+++ b/content/17/HelloGitHub17.md
@@ -172,7 +172,7 @@
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/18/HelloGitHub18.md b/content/18/HelloGitHub18.md
index 82bafc95..140e6209 100644
--- a/content/18/HelloGitHub18.md
+++ b/content/18/HelloGitHub18.md
@@ -299,7 +299,7 @@ fake.province()
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/19/HelloGitHub19.md b/content/19/HelloGitHub19.md
index 0945bea1..a37c5ff2 100644
--- a/content/19/HelloGitHub19.md
+++ b/content/19/HelloGitHub19.md
@@ -200,7 +200,7 @@ itchat.send('Hello, filehelper', toUserName='filehelper')
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/20/HelloGitHub20.md b/content/20/HelloGitHub20.md
index 6e11b0ec..16d6df5c 100644
--- a/content/20/HelloGitHub20.md
+++ b/content/20/HelloGitHub20.md
@@ -215,7 +215,7 @@ Parallel(n_jobs=1)(delayed(sqrt)(i**2) for i in range(10))
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/21/HelloGitHub21.md b/content/21/HelloGitHub21.md
index 2987b0f0..e6edefee 100644
--- a/content/21/HelloGitHub21.md
+++ b/content/21/HelloGitHub21.md
@@ -213,7 +213,7 @@ print(", ".join(seg_list))
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/22/HelloGitHub22.md b/content/22/HelloGitHub22.md
index aa7c7474..7db72640 100644
--- a/content/22/HelloGitHub22.md
+++ b/content/22/HelloGitHub22.md
@@ -175,7 +175,7 @@ for i in tqdm(range(10000)):
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/23/HelloGitHub23.md b/content/23/HelloGitHub23.md
index 0bd776a8..5e4c1aa1 100644
--- a/content/23/HelloGitHub23.md
+++ b/content/23/HelloGitHub23.md
@@ -179,7 +179,7 @@ fetch('/url').then(res => {}).catch(err => {})
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/24/HelloGitHub24.md b/content/24/HelloGitHub24.md
index 955aba01..5f3c2fa0 100644
--- a/content/24/HelloGitHub24.md
+++ b/content/24/HelloGitHub24.md
@@ -217,7 +217,7 @@ ws_api.get_gzh_info('微信名称')
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/25/HelloGitHub25.md b/content/25/HelloGitHub25.md
index 404fa63e..797753c1 100644
--- a/content/25/HelloGitHub25.md
+++ b/content/25/HelloGitHub25.md
@@ -212,7 +212,7 @@ print('#2 status:', res.status_code)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/26/HelloGitHub26.md b/content/26/HelloGitHub26.md
index 0502e952..a66c350f 100644
--- a/content/26/HelloGitHub26.md
+++ b/content/26/HelloGitHub26.md
@@ -296,7 +296,7 @@ public func print(file: String = #file, function: String = #function, line: I
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/27/HelloGitHub27.md b/content/27/HelloGitHub27.md
index e8abb482..e03e93d7 100644
--- a/content/27/HelloGitHub27.md
+++ b/content/27/HelloGitHub27.md
@@ -216,7 +216,7 @@ def get_data(url):
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/28/HelloGitHub28.md b/content/28/HelloGitHub28.md
index 10dc7619..0d347546 100644
--- a/content/28/HelloGitHub28.md
+++ b/content/28/HelloGitHub28.md
@@ -223,7 +223,7 @@ graph.read(data);
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/29/HelloGitHub29.md b/content/29/HelloGitHub29.md
index 53ade24a..4d676060 100644
--- a/content/29/HelloGitHub29.md
+++ b/content/29/HelloGitHub29.md
@@ -252,7 +252,7 @@ ReactDOM.render(
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/30/HelloGitHub30.md b/content/30/HelloGitHub30.md
index 580f55f7..87cda2f0 100644
--- a/content/30/HelloGitHub30.md
+++ b/content/30/HelloGitHub30.md
@@ -186,7 +186,7 @@ print(s)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/31/HelloGitHub31.md b/content/31/HelloGitHub31.md
index ccb429a7..949bf25c 100644
--- a/content/31/HelloGitHub31.md
+++ b/content/31/HelloGitHub31.md
@@ -230,7 +230,7 @@ cup
22、[quick-SQL-cheatsheet](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/enochtangg/quick-SQL-cheatsheet):SQL 速查表,[中文查阅](https://github.com/enochtangg/quick-SQL-cheatsheet/blob/master/README_zh-hans.md)
-23、[awesome-algorithm](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apachecn/awesome-algorithm):Leetcode 题解及经典算法实现,实现语言包含 Python、Java、C++、JS
+23、[algo-zh](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apachecn/algo-zh):Leetcode 题解及经典算法实现,实现语言包含 Python、Java、C++、JS
🔙 返回目录 🔙
@@ -250,7 +250,7 @@ cup
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/32/HelloGitHub32.md b/content/32/HelloGitHub32.md
index 1624526b..03d2fa12 100644
--- a/content/32/HelloGitHub32.md
+++ b/content/32/HelloGitHub32.md
@@ -312,7 +312,7 @@ python run.py
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/33/HelloGitHub33.md b/content/33/HelloGitHub33.md
index e2586437..22725cfe 100644
--- a/content/33/HelloGitHub33.md
+++ b/content/33/HelloGitHub33.md
@@ -111,7 +111,7 @@
-12、[js2image](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/xinyu198736/js2image):将源代码压缩成圣诞树的样子,使用此项目压缩生产环境代码后请注意测试。有兴趣的小伙伴可以尝试扩展出压缩成其它样子,很有意思
+12、[js2image](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/yu-tou/js2image):将源代码压缩成圣诞树的样子,使用此项目压缩生产环境代码后请注意测试。有兴趣的小伙伴可以尝试扩展出压缩成其它样子,很有意思
@@ -240,7 +240,7 @@ _attrLabel = [NudeIn make:^(NUDTextMaker *make) {
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/34/HelloGitHub34.md b/content/34/HelloGitHub34.md
index 118d7e2e..8d30231e 100644
--- a/content/34/HelloGitHub34.md
+++ b/content/34/HelloGitHub34.md
@@ -355,7 +355,7 @@ segments_tensors = torch.tensor([segments_ids])
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/35/HelloGitHub35.md b/content/35/HelloGitHub35.md
index 3d06845a..0c549571 100644
--- a/content/35/HelloGitHub35.md
+++ b/content/35/HelloGitHub35.md
@@ -281,7 +281,7 @@ doc.sentences[0].print_dependencies()
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/36/HelloGitHub36.md b/content/36/HelloGitHub36.md
index b0c296e8..09901cdc 100644
--- a/content/36/HelloGitHub36.md
+++ b/content/36/HelloGitHub36.md
@@ -322,7 +322,7 @@ render( )
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/37/HelloGitHub37.md b/content/37/HelloGitHub37.md
index bb64152a..94930509 100644
--- a/content/37/HelloGitHub37.md
+++ b/content/37/HelloGitHub37.md
@@ -249,7 +249,7 @@ pyxel.run(update, draw)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/38/HelloGitHub38.md b/content/38/HelloGitHub38.md
index 136e3a70..f2f7bcb6 100644
--- a/content/38/HelloGitHub38.md
+++ b/content/38/HelloGitHub38.md
@@ -296,7 +296,7 @@ class IrisClassifier(BentoService):
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/39/HelloGitHub39.md b/content/39/HelloGitHub39.md
index 0d8dbf6d..8ce681ee 100644
--- a/content/39/HelloGitHub39.md
+++ b/content/39/HelloGitHub39.md
@@ -317,7 +317,7 @@ dropout(input_) # RETURNS: torch.FloatTensor (6x3x10)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/40/HelloGitHub40.md b/content/40/HelloGitHub40.md
index 855d608b..dd498442 100644
--- a/content/40/HelloGitHub40.md
+++ b/content/40/HelloGitHub40.md
@@ -340,7 +340,7 @@ forward(input_ids, token_type_ids=None, attention_mask=None, masked_lm_labels=No
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/41/HelloGitHub41.md b/content/41/HelloGitHub41.md
index e1f3862b..c8e6e483 100644
--- a/content/41/HelloGitHub41.md
+++ b/content/41/HelloGitHub41.md
@@ -294,7 +294,7 @@ RestClient.post( url,
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/42/HelloGitHub42.md b/content/42/HelloGitHub42.md
index 9affa599..1d4c5c68 100644
--- a/content/42/HelloGitHub42.md
+++ b/content/42/HelloGitHub42.md
@@ -290,7 +290,7 @@ array([[4.43336608e-03, 9.95215198e-01, 3.51419231e-04, 1.68657851e-08]])
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/43/HelloGitHub43.md b/content/43/HelloGitHub43.md
index 93eb2ad0..9b535317 100644
--- a/content/43/HelloGitHub43.md
+++ b/content/43/HelloGitHub43.md
@@ -334,7 +334,7 @@ import Percent
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/44/HelloGitHub44.md b/content/44/HelloGitHub44.md
index ac72107b..89fecf4c 100644
--- a/content/44/HelloGitHub44.md
+++ b/content/44/HelloGitHub44.md
@@ -252,7 +252,7 @@ do {
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/45/HelloGitHub45.md b/content/45/HelloGitHub45.md
index 6d76f6f7..e740c525 100644
--- a/content/45/HelloGitHub45.md
+++ b/content/45/HelloGitHub45.md
@@ -443,7 +443,7 @@ face_landmarks_list = face_recognition.face_landmarks(image)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/46/HelloGitHub46.md b/content/46/HelloGitHub46.md
index e95ad744..43e4df45 100644
--- a/content/46/HelloGitHub46.md
+++ b/content/46/HelloGitHub46.md
@@ -330,7 +330,7 @@ print(text)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/47/HelloGitHub47.md b/content/47/HelloGitHub47.md
index e445d5bd..af708bbf 100644
--- a/content/47/HelloGitHub47.md
+++ b/content/47/HelloGitHub47.md
@@ -246,7 +246,7 @@ print(bond_df)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/48/HelloGitHub48.md b/content/48/HelloGitHub48.md
index e6d5b228..96067bab 100644
--- a/content/48/HelloGitHub48.md
+++ b/content/48/HelloGitHub48.md
@@ -119,7 +119,7 @@ local/remote: 127.0.0.1:56765 <-> 127.0.0.1:50955 (ESTABLISHED)
local/remote: 100.76.175.164:52353 <-> 54.241.191.232:443 (ESTABLISHED)
```
-8、[awesome-golang-leetcode](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/kylesliu/awesome-golang-leetcode):Go 语言刷 LeetCode。[在线阅读](https://leetcode.gin.sh/)
+8、[awesome-golang-algorithm](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/kylesliu/awesome-golang-algorithm):Go 语言刷 LeetCode。[在线阅读](https://leetcode.gin.sh/)
9、[wtf](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wtfutil/wtf):瞥一眼你的“私人管家”,终端个人信息面板。安装简单,还可通过配置文件设置你想看到的信息。设置可能需要花一些时间,但最终效果还是很可以的
@@ -249,7 +249,7 @@ results = clf.predict(x_test)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/49/HelloGitHub49.md b/content/49/HelloGitHub49.md
index 10534abe..b96d8e4e 100644
--- a/content/49/HelloGitHub49.md
+++ b/content/49/HelloGitHub49.md
@@ -225,7 +225,7 @@ let _ = "19 Nov 2015 22:20:40 +0100".toRSS(alt: true)
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/50/HelloGitHub50.md b/content/50/HelloGitHub50.md
index 2af92cc1..b4c934fa 100644
--- a/content/50/HelloGitHub50.md
+++ b/content/50/HelloGitHub50.md
@@ -311,7 +311,7 @@ best_points, best_distance = ga_tsp.run()
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/51/HelloGitHub51.md b/content/51/HelloGitHub51.md
index 7ebfdc2f..54a3c2d2 100644
--- a/content/51/HelloGitHub51.md
+++ b/content/51/HelloGitHub51.md
@@ -259,7 +259,7 @@ python py2sec.py -d example/ -m test1.py,bbb/
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/52/HelloGitHub52.md b/content/52/HelloGitHub52.md
index 52c3ad83..ded76166 100644
--- a/content/52/HelloGitHub52.md
+++ b/content/52/HelloGitHub52.md
@@ -118,7 +118,7 @@ int main()
-12、[incubator-iotdb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/incubator-iotdb):清华大学软件学院自主研发并开源的时间序列数据管理引擎。能够有效应对工业物联网领域时间序列数量多、写入频率高、数据乱序到达、秒级聚合等场景。官方网站有系统设计文档和使用手册,作为初学者,可以系统的学习数据库系统的完整设计和实现。在 IoTDB 社区可以与国内用户直接交流、收集需求、设计功能、性能优化,每个改进点都可以看到直接效果。还可以体验 Apache 开源软件的工作模式,与世界各地的开发者交流想法,也有机会成为 Apache Committer、PMC 等
+12、[iotdb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/iotdb):清华大学软件学院自主研发并开源的时间序列数据管理引擎。能够有效应对工业物联网领域时间序列数量多、写入频率高、数据乱序到达、秒级聚合等场景。官方网站有系统设计文档和使用手册,作为初学者,可以系统的学习数据库系统的完整设计和实现。在 IoTDB 社区可以与国内用户直接交流、收集需求、设计功能、性能优化,每个改进点都可以看到直接效果。还可以体验 Apache 开源软件的工作模式,与世界各地的开发者交流想法,也有机会成为 Apache Committer、PMC 等
@@ -261,7 +261,7 @@ DATABASE_PASSWORD = os.getenv("DATABASE_PASSWORD")
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/53/HelloGitHub53.md b/content/53/HelloGitHub53.md
index 98038a7c..ae6abdd7 100644
--- a/content/53/HelloGitHub53.md
+++ b/content/53/HelloGitHub53.md
@@ -251,13 +251,13 @@ points & bars
- 『上一期』 | 反馈和建议 | 『下一期』
+ 『上一期』 | 反馈和建议 | 『下一期』
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/54/HelloGitHub54.md b/content/54/HelloGitHub54.md
index cbea3331..2c55c382 100644
--- a/content/54/HelloGitHub54.md
+++ b/content/54/HelloGitHub54.md
@@ -55,7 +55,7 @@
2、[dotnet-docker](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dotnet/dotnet-docker):.NET Core 和 Tools 的 Docker 镜像
3、[machinelearning](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dotnet/machinelearning):微软开源的 C# 机器学习框架。支持的机器学习类任务:分类、回归、聚类等,[教程和视频](https://dotnet.microsoft.com/learn/ml-dotnet)。示例代码:
-```C#
+```C
var dataPath = "sentiment.csv";
var mlContext = new MLContext();
var loader = mlContext.Data.CreateTextLoader(new[]
@@ -108,7 +108,7 @@ int main()
🔙 返回目录 🔙
### Go 项目
-6、[go-micro](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/micro/go-micro):一款 Go 插件化的基础框架。我只知道它是个 Go 微服务框架,基于它可以快速构建微服务。示例代码如图所示
+6、[go-micro](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/asim/go-micro):一款 Go 插件化的基础框架。我只知道它是个 Go 微服务框架,基于它可以快速构建微服务。示例代码如图所示:
@@ -123,7 +123,7 @@ Socket:pgweb --url "postgres:///database?host=/absolute/path/to/unix/socket/di
-8、[go-admin](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wenjianzhang/go-admin):基于 Gin+Vue+Element UI 的前后端分离权限管理系统。文档齐全、还有视频教程适合新手学习,特点:
+8、[go-admin](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/go-admin-team/go-admin):基于 Gin+Vue+Element UI 的前后端分离权限管理系统。文档齐全、还有视频教程适合新手学习,特点:
- 遵循 RESTful API 设计规范
- 基于 Gin Web API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪 ID 等)
- 支持 Swagger 文档
@@ -268,7 +268,7 @@ for i in range(1000000):
20、[learn-python3](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/jerry-git/learn-python3):一份 Python3 的教程,请查收。该教程采用 Jupyter notebooks 形式,便于运行和阅读。并且还包含了练习题,对新手友好。缺点的话就是英文的教程,但是我都能看懂你肯定也可以
-21、[Computer-Networking-A-Top-Down-Approach-NOTES](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES):《计算机网络-自顶向下方法》编程作业。包含问题和 Python 代码解答,Wireshark 实验部分为官方文档的翻译。
+21、[Computer-Networking-A-Top-Down-Approach-NOTES](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES):《计算机网络-自顶向下方法》编程作业。包含问题和 Python 代码解答,Wireshark 实验部分为官方文档的翻译
🔙 返回目录 🔙
@@ -376,13 +376,13 @@ ac.showPhotoLibrary(sender: self)
- 『上一期』 | 反馈和建议 | 『下一期』
+ 『上一期』 | 反馈和建议 | 『下一期』
---
👉 点击赞助 | 点击推荐项目 👈
- 关注公众号:HelloGitHub
+ 微信中搜:HelloGitHub 关注公众号
"第一时间收到推送及更多内容"
diff --git a/content/55/HelloGitHub55.md b/content/55/HelloGitHub55.md
new file mode 100644
index 00000000..c4805df7
--- /dev/null
+++ b/content/55/HelloGitHub55.md
@@ -0,0 +1,334 @@
+# 《HelloGitHub》第 55 期
+>兴趣是最好的老师,**HelloGitHub** 就是帮你找到兴趣!
+
+
+
+
+## 简介
+分享 GitHub 上有趣、入门级的开源项目。
+
+这是一个面向**编程新手**、**热爱编程**、**对开源社区感兴趣** 人群的月刊,月刊的内容包括:**各种编程语言的项目**、**让生活变得更美好的工具**、**书籍、学习笔记、教程等**,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到**开源社区**中。
+- 会编程的可以贡献代码
+- 不会编程的可以反馈使用这些工具中的 Bug
+- 帮着宣传你觉得优秀的项目
+- Star 项目⭐️
+
+在浏览、参与这些项目的过程中,你将学习到**更多编程知识**、**提高编程技巧**、**找到编程的乐趣**。
+
+🎉 最后 HelloGitHub 这个项目就诞生了 🎉
+
+## 目录
+- [C 项目](#C-项目)
+- [C# 项目](#C-项目-1)
+- [C++ 项目](#C-项目-2)
+- [CSS 项目](#CSS-项目)
+- [Go 项目](#Go-项目)
+- [Java 项目](#Java-项目)
+- [JavaScript 项目](#JavaScript-项目)
+- [Python 项目](#Python-项目)
+- [Swift 项目](#Swift-项目)
+- [其它](#其它)
+- [开源书籍](#开源书籍)
+- [机器学习](#机器学习)
+
+
+- [返回首页](https://github.com/521xueweihan/HelloGitHub#%E5%86%85%E5%AE%B9)
+
+**Tips**:如果文中的图刷不出来,可以向我们[反馈](https://github.com/521xueweihan/HelloGitHub/issues/899)。也可以访问 [官网](https://hellogithub.com/) 获取更好的阅读体验。
+
+
+
+欢迎关注 HelloGitHub 公众号
+
+
+## 内容
+> **以下为本期内容**|每个月 **28** 号发布最新一期
+
+### C 项目
+1、[htop](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/htop-dev/htop):交互式进程查看工具,可代替 top 命令。用了这库后,我基本不用 top 命令了
+
+
+
+🔙 返回目录 🔙
+
+### C# 项目
+2、[ToolGood.Words](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/toolgood/ToolGood.Words):一款高性能非法词、敏感词检测库。还支持繁体简体互换、获取拼音首字母、获取拼音字母、拼音模糊搜索等功能
+```C#
+string s = "中国|国人|zg人";
+string test = "我是中国人";
+
+StringSearch iwords = new StringSearch();
+iwords.SetKeywords(s.Split('|'));
+
+var b = iwords.ContainsAny(test);
+Assert.AreEqual(true, b);
+
+var f = iwords.FindFirst(test);
+Assert.AreEqual("中国", f);
+
+var all = iwords.FindAll(test);
+Assert.AreEqual("中国", all[0]);
+Assert.AreEqual("国人", all[1]);
+Assert.AreEqual(2, all.Count);
+
+var str = iwords.Replace(test, '*');
+Assert.AreEqual("我是***", str);
+```
+
+🔙 返回目录 🔙
+
+### C++ 项目
+3、[workflow](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/sogou/workflow):搜狗开源的 C++ 服务器引擎。支撑搜狗几乎所有后端 C++ 在线服务,包括所有搜索服务、云输入法、广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数 C++ 后端开发需求
+
+🔙 返回目录 🔙
+
+### CSS 项目
+4、[flexboxfroggy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/thomaspark/flexboxfroggy):一个帮助学习 CSS flexbox 知识的在线游戏。游戏一共 24 关,通俗易懂的解释了 flex 布局。适合初学者,并且支持中文,可以在 settings 中选择语言。[在线试玩](https://flexboxfroggy.com/)
+
+
+
+🔙 返回目录 🔙
+
+### Go 项目
+5、[go-diagrams](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/blushft/go-diagrams):用 Go 语言画架构图的工具。想画架构图不知道用什么工具?会 Go 的小伙伴可以试试这个库,通过编写 Go 代码来绘制架构图,接口使用方便,但文档太简单了。示例代码:
+```go
+d, err := diagram.New(diagram.Filename("app"), diagram.Label("App"), diagram.Direction("LR"))
+if err != nil {
+ log.Fatal(err)
+}
+
+dns := gcp.Network.Dns(diagram.NodeLabel("DNS"))
+lb := gcp.Network.LoadBalancing(diagram.NodeLabel("NLB"))
+cache := gcp.Database.Memorystore(diagram.NodeLabel("Cache"))
+db := gcp.Database.Sql(diagram.NodeLabel("Database"))
+
+dc := diagram.NewGroup("GCP")
+dc.NewGroup("services").
+ Label("Service Layer").
+ Add(
+ gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 1")),
+ gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 2")),
+ gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 3")),
+ ).
+ ConnectAllFrom(lb.ID(), diagram.Forward()).
+ ConnectAllTo(cache.ID(), diagram.Forward())
+
+dc.NewGroup("data").Label("Data Layer").Add(cache, db).Connect(cache, db)
+
+d.Connect(dns, lb, diagram.Forward()).Group(dc)
+
+if err := d.Render(); err != nil {
+ log.Fatal(err)
+}
+```
+
+
+
+6、[gorched](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zladovan/gorched):Go 语言写的终端游戏 Scorched Earth。它让我想起了“百战天虫”这款游戏,有同龄人吗?一起来回味下
+
+
+
+7、[ali](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nakabonne/ali):能够实时展示分析的压力测试工具。现在压测工具有很多,这款的亮点在于可以在终端实时展示压测过程的曲线。一条命令搞定启动:`ali 地址`
+
+
+
+8、[ferry](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/lanyulei/ferry):基于 Gin + Vue + Element UI 前后端分离的工单系统。该系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等功能, 帮助减少跨部门之间的沟通,提升工作效率与工作质量,减少不必要的工作量与人为出错率
+
+
+
+🔙 返回目录 🔙
+
+### Java 项目
+9、[retrofit-spring-boot-starter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LianjiaTech/retrofit-spring-boot-starter):一个适用于 Spring Boot 项目的轻量级 HTTP Web 框架。使用简单方便,支持接口化的方式发送 HTTP 请求。底层使用 Retrofit 实现,并支持了诸多功能特性增强,极大简化开发
+```java
+/**
+* 定义接口
+**/
+@RetrofitClient(baseUrl = "${test.baseUrl}")
+public interface HttpApi {
+
+ @GET("person")
+ Result getPerson(@Query("id") Long id);
+}
+
+/**
+* 注入使用
+**/
+@Service
+public class TestService {
+ @Autowired
+ private HttpApi httpApi;
+
+ public void test() {
+ // 通过httpApi发起http请求
+ }
+}
+```
+
+10、[jmeter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/jmeter):Apache 开源的压力测试工具。提供 GUI 操作界面就是可以点点点操作,也可以写脚本提高测试的自动化,它还不局限于 Web 测试,支持更多压力测试场景。我身边 97% 从事测试相关工作的人都用过它,要不要来看看它的源码?纯 Java 实现
+
+
+
+11、[mybatis-plus](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/baomidou/mybatis-plus):一款好用的 Java 操作数据库框架。MyBatis 增强工具包,提供了一些高效、实用、快捷的功能,使用它可以有效地节省您的开发时间。比如切换数据源,只需修改配置文件
+```java
+List userList = userMapper.selectList(
+ new QueryWrapper()
+ .lambda()
+ .ge(User::getAge, 18)
+);
+```
+
+
+
+12、[BilibiliTask](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/srcrs/BilibiliTask):哔哩哔哩定时自动完成任务项目。该项目借助 GitHub Action 自动完成:每日任务、投币、直播签到等,还可以把运行结果推送到微信,是一个解决重复劳动的有趣项目。按照项目首页的教程,花点时间就能配置好,一劳永逸
+
+
+
+🔙 返回目录 🔙
+
+### JavaScript 项目
+13、[zooming](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/kingdido999/zooming):纯 JS 实现支持移动端的图像缩放库
+
+
+
+14、[AnotherRedisDesktopManager](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/qishibo/AnotherRedisDesktopManager):一款支持多语言、多平台的 redis 桌面管理工具。对比目前其它同类型工具,它拥有更丰富的功能、更高的稳定性和性能,支持集群等功能
+
+
+
+15、[beeplay](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/watilde/beeplay):让你可以用 JS 写一首“歌”的库。[在线尝试](http://watilde.github.io/beeplay/),实例代码:
+```javascript
+var beeplay = require('beeplay')
+
+beeplay()
+ .play(null, 2)
+ .play('D#5', 1/4).play('E5', 1/4).play('F#5', 1/2)
+ .play('B5', 1/2).play('D#5', 1/4).play('E5', 1/4)
+ .play('F#5', 1/4).play('B5', 1/4).play('C#6', 1/4).play('D#6', 1/4)
+ .play('C#6', 1/4).play('A#5', 1/4).play('B5', 1/2)
+ .play('F#5', 1/2).play('D#5', 1/4).play('E5', 1/4)
+ .play('F#5', 1/2).play('B5', 1/2)
+ .play('C#6', 1/4).play('A#5', 1/4).play('B5', 1/4).play('C#6', 1/4)
+ .play('E6', 1/4).play('D#6', 1/4).play('E6', 1/4).play('C#6', 1/4);
+```
+
+16、[vant](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/youzan/vant):由有赞前端团队开源的移动端组件库。目前官方提供了 Vue 版本和微信小程序版本,并由社区团队维护 React 版本。有完善的中英文文档和示例,60+ 高质量组件,90%+ 单元测试覆盖率,持续维护 4 年以上
+
+
+
+17、[Bilibili-Evolved](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/the1812/Bilibili-Evolved):哔哩哔哩增强浏览器插件。安装插件后可支持:下载视频、删除广告、夜间模式等
+
+
+
+🔙 返回目录 🔙
+
+### Python 项目
+18、[asciinema](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/asciinema/asciinema):终端记录工具。忘记录屏软件吧,纯文本的录制终端操作的工具。安装简单、使用方便,且生成的记录文件极小,但需要配合 JS 文件播放
+
+
+
+19、[playwright-python](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/microsoft/playwright-python):微软开源的浏览器自动化工具,可以用 Python 语言操作浏览器啦。支持 Linux、macOS、Windows 系统下的 Chromium、Firefox 和 WebKit 浏览器
+
+
+
+20、[wagtail](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wagtail/wagtail):目前最强大的开源 Django CMS(内容管理系统)之一。我很少用“最”这个字眼,节省时间就聊聊它惊艳到我的点吧。首先该项目更新、迭代活跃,其次项目首页提到的功能都是免费的,没有付费解锁的骚操作。wagtail 专注于内容管理,不束缚前端实现。有趣的 StreamField 技术让你的内容变得灵活且不失结构,竟然还支持 A/B 测试,最后 Google、NASA 他们都在用这个项目
+
+
+
+21、[redis-memory-analyzer](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/gamenet/redis-memory-analyzer):Redis 实时内存分析工具。我比较好奇它是怎么实时获取 redis 中 key 的情况和信息,就看了下源码 `scanner.py` 文件。发现是采用 `scan_iter` 方法,控制扫描 key 返回的量。然后通过 `yield` 减少内存占用量,最后再加上 `register_script` 方法调用 Lua 脚本或` pipeline` 方法提高获取 key 信息的效率。分析后感觉这个工具可适用在数据量较大的情况,实时性要求在秒或者分钟级的场景下
+
+
+
+22、[practical-python](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dabeaz-course/practical-python):大佬 David Beazley 开源的 Python 免费入门级教程。他是《Python Cookbook 第三版》、《Python 参考手册》的作者,教程经过实际的教学实践、包含课后练习题。[在线学习](https://dabeaz-course.github.io/practical-python/Notes/Contents.html),教程目录如下:
+
+
+
+🔙 返回目录 🔙
+
+### Swift 项目
+23、[stats](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/exelban/stats):macOS 菜单栏上的监控工具。支持 CPU、GPU、内存、网络等监控和多语言
+
+
+
+🔙 返回目录 🔙
+
+### 其它
+24、[ZY-Player](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Hunlongyu/ZY-Player):免费无广告、高颜值+多平台的桌面视频资源播放器。功能如下:
+- 全平台支持 Windows、Mac、Linux
+- 视频源支持自定义, 支持导入/导出
+- 播放历史, 自动跳转历史进度
+- 支持精简模式, 摸鱼划水
+- 显示豆瓣评分
+
+
+
+25、[keysim](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/crsnbrt/keysim):键盘配色预览工具。“定制”这个操作一听就很贵,下单之前先这个工具先看看效果吧,避免浪费钱。[在线尝试](https://keyboardsimulator.xyz/)
+
+
+
+26、[tabler-icons](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/tabler/tabler-icons):一组免费开源的图标。目前共有 850+ 个图标,我觉得都挺好看的,您觉得呢?
+
+
+
+27、[socialify](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wei/socialify):一键自动生成 GitHub 仓库头图。很多 GitHub 开源项目的作者不会用 PS,想要制作一张项目推广图就很困难,Socialify 就是帮你解决这个头疼的问题。[在线尝试](https://socialify.git.ci/)
+
+
+
+🔙 返回目录 🔙
+
+### 开源书籍
+28、[Mastering_Go_ZH_CN](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/hantmac/Mastering_Go_ZH_CN):《Mastering Go》的中文翻译版《玩转 Go》。[在线阅读](https://wskdsgcf.gitbook.io/mastering-go-zh-cn/)
+
+29、[A-Philosophy-of-Software-Design-zh](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/gdut-yy/A-Philosophy-of-Software-Design-zh):《软件设计的哲学》中文翻译。[在线阅读](https://gdut_yy.gitee.io/doc-aposd/)
+
+🔙 返回目录 🔙
+
+### 机器学习
+30、[video-object-removal](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zllrunning/video-object-removal):通过 Pytorch 实现绘制一个边界框,即可删除视频中要删除的对象。下图是演示操作,框中红色是抹掉的部分,删除前后的效果对比图可进到项目首页查看
+
+
+
+31、[mlflow](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/mlflow/mlflow):一个简化机器学习开发的平台,支持跟踪实验、代码打包、部署模型等。它提供了一套轻量级的 API,可与目前主流机器学习 TensorFlow、PyTorch、XGBoost 等库轻松整合
+```python
+# 安装:$ pip install mlflow
+# 启动:$ mlflow ui
+# 示例代码
+import mlflow
+mlflow.keras.autolog()
+# other keras code
+...
+```
+
+
+
+32、[snownlp](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/isnowfy/snownlp):一个 Python 写的自然语言处理库。使用简单、功能强大,支持中文分词、词性标注、情感分析等
+```python
+from snownlp import SnowNLP
+
+s = SnowNLP(u'这个东西真心很赞')
+s.words # [u'这个', u'东西', u'真心',
+ # u'很', u'赞']
+s.tags # [(u'这个', u'r'), (u'东西', u'n'),
+ # (u'真心', u'd'), (u'很', u'd'),
+ # (u'赞', u'Vg')]
+s.sentiments # 0.9769663402895832 positive的概率
+```
+
+🔙 返回目录 🔙
+
+
+
+
+ 『上一期』 | 反馈和建议 | 『下一期』
+
+
+---
+
+ 👉 点击赞助 | 点击推荐项目 👈
+ 微信中搜:HelloGitHub 关注公众号
+ "第一时间收到推送及更多内容"
+
+
+
+
+## 声明
+ 本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。
diff --git a/content/contributors.md b/content/contributors.md
index ca1e1974..7377e351 100644
--- a/content/contributors.md
+++ b/content/contributors.md
@@ -37,8 +37,8 @@
## 贡献者列表
-快来加入我们吧,希望尽快写满一整页!**目前共计 300 位贡献者**
+快来加入我们吧,希望尽快写满一整页!**目前共计 307 位贡献者**
-[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(5)](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](https://github.com/wei)、[QingZ11(2)](https://github.com/QingZ11)、[Yanwenjiepy](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](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](https://github.com/guofei9987)、[Gusabary](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)
\ No newline at end of file
+[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](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](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](https://github.com/guofei9987)、[Gusabary](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)、[SekiBetu](https://github.com/SekiBetu)、[lanyulei](https://github.com/lanyulei)、[toolgood](https://github.com/toolgood)
\ No newline at end of file
diff --git a/content/last.md b/content/last.md
index 002386fb..f4ef00a5 100644
--- a/content/last.md
+++ b/content/last.md
@@ -1,4 +1,4 @@
-# 《HelloGitHub》第 54 期
+# 《HelloGitHub》第 55 期
>兴趣是最好的老师,**HelloGitHub** 就是帮你找到兴趣!
@@ -25,16 +25,16 @@
- [Go 项目](#Go-项目)
- [Java 项目](#Java-项目)
- [JavaScript 项目](#JavaScript-项目)
-- [Kotlin 项目](#Kotlin-项目)
- [Python 项目](#Python-项目)
-- [Rust 项目](#Rust-项目)
- [Swift 项目](#Swift-项目)
- [其它](#其它)
- [开源书籍](#开源书籍)
- [机器学习](#机器学习)
-**Tips**:如果文中的图刷不出来,可以向我们反馈。也可以访问 [官网](https://hellogithub.com/) 获取更好的阅读体验。
+- [返回首页](https://github.com/521xueweihan/HelloGitHub#%E5%86%85%E5%AE%B9)
+
+**Tips**:如果文中的图刷不出来,可以向我们[反馈](https://github.com/521xueweihan/HelloGitHub/issues/899)。也可以访问 [官网](https://hellogithub.com/) 获取更好的阅读体验。
@@ -45,342 +45,288 @@
> **以下为本期内容**|每个月 **28** 号发布最新一期
### C 项目
-1、[libevent](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/libevent/libevent):C 语言实现的轻量级、高性能事件通知库。基于事件驱动,支持多种 I/O 多路复用技术:epoll、poll、select、kqueue 等。libevent 就是这些系统基础库的统一封装,提供更高级的 API 并解决跨平台的问题
+1、[htop](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/htop-dev/htop):交互式进程查看工具,可代替 top 命令。用了这库后,我基本不用 top 命令了
+
+
🔙 返回目录 🔙
### C# 项目
-2、[dotnet-docker](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dotnet/dotnet-docker):.NET Core 和 Tools 的 Docker 镜像
-
-3、[machinelearning](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dotnet/machinelearning):微软开源的 C# 机器学习框架。支持的机器学习类任务:分类、回归、聚类等,[教程和视频](https://dotnet.microsoft.com/learn/ml-dotnet)。示例代码:
+2、[ToolGood.Words](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/toolgood/ToolGood.Words):一款高性能非法词、敏感词检测库。还支持繁体简体互换、获取拼音首字母、获取拼音字母、拼音模糊搜索等功能
```C#
-var dataPath = "sentiment.csv";
-var mlContext = new MLContext();
-var loader = mlContext.Data.CreateTextLoader(new[]
- {
- new TextLoader.Column("SentimentText", DataKind.String, 1),
- new TextLoader.Column("Label", DataKind.Boolean, 0),
- },
- hasHeader: true,
- separatorChar: ',');
-var data = loader.Load(dataPath);
-var learningPipeline = mlContext.Transforms.Text.FeaturizeText("Features", "SentimentText")
- .Append(mlContext.BinaryClassification.Trainers.FastTree());
-var model = learningPipeline.Fit(data);
-
-var predictionEngine = mlContext.Model.CreatePredictionEngine(model);
-var prediction = predictionEngine.Predict(new SentimentData
-{
- SentimentText = "Today is a great day!"
-});
-Console.WriteLine("prediction: " + prediction.Prediction);
+string s = "中国|国人|zg人";
+string test = "我是中国人";
+
+StringSearch iwords = new StringSearch();
+iwords.SetKeywords(s.Split('|'));
+
+var b = iwords.ContainsAny(test);
+Assert.AreEqual(true, b);
+
+var f = iwords.FindFirst(test);
+Assert.AreEqual("中国", f);
+
+var all = iwords.FindAll(test);
+Assert.AreEqual("中国", all[0]);
+Assert.AreEqual("国人", all[1]);
+Assert.AreEqual(2, all.Count);
+
+var str = iwords.Replace(test, '*');
+Assert.AreEqual("我是***", str);
```
🔙 返回目录 🔙
### C++ 项目
-4、[drogon](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/an-tao/drogon):一款 C++ 的异步非阻塞高性能 Web 框架。功能强大、上手容易,使得用 C++ 语言构建各种类型的高性能 Web 应用,变得更加方便。示例代码:
-```C++
-#include
-using namespace drogon;
-int main()
-{
- app().setLogPath("./")
- .setLogLevel(trantor::Logger::kWarn)
- .addListener("0.0.0.0", 80)
- .setThreadNum(16)
- .enableRunAsDaemon()
- .run();
-}
-```
-
-
+3、[workflow](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/sogou/workflow):搜狗开源的 C++ 服务器引擎。支撑搜狗几乎所有后端 C++ 在线服务,包括所有搜索服务、云输入法、广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数 C++ 后端开发需求
🔙 返回目录 🔙
### CSS 项目
-5、[css-diner](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/flukeout/css-diner):通过游戏方式在线学习 CSS 选择器知识。初学者可以通过简单的动画界面,学习 CSS 多种选择器语法是如何筛选出页面的元素,虽然是英文网站但还算通俗易懂。[在线尝试](https://flukeout.github.io/)
+4、[flexboxfroggy](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/thomaspark/flexboxfroggy):一个帮助学习 CSS flexbox 知识的在线游戏。游戏一共 24 关,通俗易懂的解释了 flex 布局。适合初学者,并且支持中文,可以在 settings 中选择语言。[在线试玩](https://flexboxfroggy.com/)
-
+
🔙 返回目录 🔙
### Go 项目
-6、[go-micro](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/micro/go-micro):一款 Go 插件化的基础框架。我只知道它是个 Go 微服务框架,基于它可以快速构建微服务。示例代码如图所示
+5、[go-diagrams](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/blushft/go-diagrams):用 Go 语言画架构图的工具。想画架构图不知道用什么工具?会 Go 的小伙伴可以试试这个库,通过编写 Go 代码来绘制架构图,接口使用方便,但文档太简单了。示例代码:
+```go
+d, err := diagram.New(diagram.Filename("app"), diagram.Label("App"), diagram.Direction("LR"))
+if err != nil {
+ log.Fatal(err)
+}
-
+dns := gcp.Network.Dns(diagram.NodeLabel("DNS"))
+lb := gcp.Network.LoadBalancing(diagram.NodeLabel("NLB"))
+cache := gcp.Database.Memorystore(diagram.NodeLabel("Cache"))
+db := gcp.Database.Sql(diagram.NodeLabel("Database"))
-7、[pgweb](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/sosedoff/pgweb):基于 Go 实现的跨平台 PostgreSQL 数据库管理工具。通过本地起服务+浏览器的方式解决了跨平台的问题,启动命令:
-```
-三种方式:
+dc := diagram.NewGroup("GCP")
+dc.NewGroup("services").
+ Label("Service Layer").
+ Add(
+ gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 1")),
+ gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 2")),
+ gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 3")),
+ ).
+ ConnectAllFrom(lb.ID(), diagram.Forward()).
+ ConnectAllTo(cache.ID(), diagram.Forward())
-参数:pgweb --host localhost --user myuser --db mydb
-URL:pgweb --url postgres://user:password@host:port/database?sslmode=[mode]
-Socket:pgweb --url "postgres:///database?host=/absolute/path/to/unix/socket/dir"
-```
+dc.NewGroup("data").Label("Data Layer").Add(cache, db).Connect(cache, db)
-
+d.Connect(dns, lb, diagram.Forward()).Group(dc)
-8、[go-admin](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wenjianzhang/go-admin):基于 Gin+Vue+Element UI 的前后端分离权限管理系统。文档齐全、还有视频教程适合新手学习,特点:
-- 遵循 RESTful API 设计规范
-- 基于 Gin Web API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪 ID 等)
-- 支持 Swagger 文档
-- 等等
+if err := d.Render(); err != nil {
+ log.Fatal(err)
+}
+```
-
+
-9、[now](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/jinzhu/now):Go 语言的时间工具库。项目简单、代码易懂,示例代码丰富:
-```go
-import "github.com/jinzhu/now"
-
-time.Now() // 2013-11-18 17:51:49.123456789 Mon
-
-now.BeginningOfMinute() // 2013-11-18 17:51:00 Mon
-now.BeginningOfHour() // 2013-11-18 17:00:00 Mon
-now.BeginningOfDay() // 2013-11-18 00:00:00 Mon
-now.BeginningOfWeek() // 2013-11-17 00:00:00 Sun
-now.BeginningOfMonth() // 2013-11-01 00:00:00 Fri
-now.BeginningOfQuarter() // 2013-10-01 00:00:00 Tue
-now.BeginningOfYear() // 2013-01-01 00:00:00 Tue
-
-now.WeekStartDay = time.Monday // Set Monday as first day, default is Sunday
-now.BeginningOfWeek() // 2013-11-18 00:00:00 Mon
-
-now.EndOfMinute() // 2013-11-18 17:51:59.999999999 Mon
-now.EndOfHour() // 2013-11-18 17:59:59.999999999 Mon
-now.EndOfDay() // 2013-11-18 23:59:59.999999999 Mon
-now.EndOfWeek() // 2013-11-23 23:59:59.999999999 Sat
-now.EndOfMonth() // 2013-11-30 23:59:59.999999999 Sat
-now.EndOfQuarter() // 2013-12-31 23:59:59.999999999 Tue
-now.EndOfYear() // 2013-12-31 23:59:59.999999999 Tue
-
-now.WeekStartDay = time.Monday // Set Monday as first day, default is Sunday
-now.EndOfWeek() // 2013-11-24 23:59:59.999999999 Sun
-```
+6、[gorched](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zladovan/gorched):Go 语言写的终端游戏 Scorched Earth。它让我想起了“百战天虫”这款游戏,有同龄人吗?一起来回味下
-🔙 返回目录 🔙
+
-### Java 项目
-10、[roncoo-pay](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/roncoo/roncoo-pay):开源的 Java 互联网业务支付系统。拥有独立的账户体系、用户体系、支付接入体系、支付交易体系、对账清结算体系等,想学习支付相关技术的同学可以看看这个项目。项目结构如下:
-```
-roncoo-pay
-|
-├── roncoo-pay-app-notify //商户通知模块
-|
-├── roncoo-pay-app-order-polling //订单轮询模块
-|
-├── roncoo-pay-app-reconciliation //交易对账模块
-|
-├── roncoo-pay-app-settlement //交易结算模块
-|
-├── roncoo-pay-common-core //公共基础模块,不需要单独部署
-|
-├── roncoo-pay-service //核心业务模块,不需要单独部署
-|
-├── roncoo-pay-web-boss //运营后台模块
-|
-├── roncoo-pay-web-gateway //支付网关模块
-|
-├── roncoo-pay-web-merchant //商户后台模块
-|
-├── roncoo-pay-web-sample-shop //模拟商城模块
-```
+7、[ali](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nakabonne/ali):能够实时展示分析的压力测试工具。现在压测工具有很多,这款的亮点在于可以在终端实时展示压测过程的曲线。一条命令搞定启动:`ali 地址`
+
+
-11、[screw](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/pingfangushi/screw):简单好用的数据库表结构文档生成工具
+8、[ferry](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/lanyulei/ferry):基于 Gin + Vue + Element UI 前后端分离的工单系统。该系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等功能, 帮助减少跨部门之间的沟通,提升工作效率与工作质量,减少不必要的工作量与人为出错率
-
+
🔙 返回目录 🔙
-### JavaScript 项目
-12、[tesseract.js](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/naptha/tesseract.js):支持多种语言的文字识别的 JS 库,能够方便、准确的把图片中的文字解析提取出来(就能复制了)。基于 Tesseract OCR 引擎实现的 JS 版本,方便前端实现文字识别功能和在浏览器中直接使用。[在线尝试](https://tesseract.projectnaptha.com/)
+### Java 项目
+9、[retrofit-spring-boot-starter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/LianjiaTech/retrofit-spring-boot-starter):一个适用于 Spring Boot 项目的轻量级 HTTP Web 框架。使用简单方便,支持接口化的方式发送 HTTP 请求。底层使用 Retrofit 实现,并支持了诸多功能特性增强,极大简化开发
+```java
+/**
+* 定义接口
+**/
+@RetrofitClient(baseUrl = "${test.baseUrl}")
+public interface HttpApi {
+
+ @GET("person")
+ Result getPerson(@Query("id") Long id);
+}
-
+/**
+* 注入使用
+**/
+@Service
+public class TestService {
+ @Autowired
+ private HttpApi httpApi;
+
+ public void test() {
+ // 通过httpApi发起http请求
+ }
+}
+```
-13、[mind-elixir-core](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ssshooter/mind-elixir-core):一款免费开源的思维导图 JS 库。[在线尝试](https://mindelixir.ink/#/)
+10、[jmeter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/jmeter):Apache 开源的压力测试工具。提供 GUI 操作界面就是可以点点点操作,也可以写脚本提高测试的自动化,它还不局限于 Web 测试,支持更多压力测试场景。我身边 97% 从事测试相关工作的人都用过它,要不要来看看它的源码?纯 Java 实现
-
+
-14、[IconPark](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/bytedance/IconPark):该开源库提供了 1200+ 高质量图标,还有一个界面便于定制图标。强大之处是可以通过改变一个 SVG 文件的属性来变换出多种主题,支持导出 SVG、PNG、Vue 和 React 图标组件等。极大的方便了设计师和开发者,让他们有更多时间逛 HG 了
+11、[mybatis-plus](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/baomidou/mybatis-plus):一款好用的 Java 操作数据库框架。MyBatis 增强工具包,提供了一些高效、实用、快捷的功能,使用它可以有效地节省您的开发时间。比如切换数据源,只需修改配置文件
+```java
+List userList = userMapper.selectList(
+ new QueryWrapper()
+ .lambda()
+ .ge(User::getAge, 18)
+);
+```
-
+
-15、[next](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/alibaba-fusion/next):一套企业级中后台 UI 解决方案,致力于解决设计师与前端在工作协同、产品体验一致性、开发效率方面的问题。就是设计师修改颜色之类的,可以生成一个 NPM 主题包,前端拿到这个包就可以直接还原设计师的设计
+12、[BilibiliTask](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/srcrs/BilibiliTask):哔哩哔哩定时自动完成任务项目。该项目借助 GitHub Action 自动完成:每日任务、投币、直播签到等,还可以把运行结果推送到微信,是一个解决重复劳动的有趣项目。按照项目首页的教程,花点时间就能配置好,一劳永逸
-
+
🔙 返回目录 🔙
-### Kotlin 项目
-16、[DateTimePicker](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/loperSeven/DateTimePicker):一个简约、漂亮的日期时间选择器。支持 100% 自定义 UI,内置日期时间选择弹窗基于 Google BottomSheetDialog
+### JavaScript 项目
+13、[zooming](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/kingdido999/zooming):纯 JS 实现支持移动端的图像缩放库
-
+
-🔙 返回目录 🔙
+14、[AnotherRedisDesktopManager](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/qishibo/AnotherRedisDesktopManager):一款支持多语言、多平台的 redis 桌面管理工具。对比目前其它同类型工具,它拥有更丰富的功能、更高的稳定性和性能,支持集群等功能
-### Python 项目
-17、[real-live](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/parzulpan/real-live):一个网络直播聚合平台,能够观看视频直播、高清电视和收听广播电台等。目前支持 30+ 个视频直播、50+ 个高清电视频道和 70+ 个广播电台,比较全面的 Web 项目,用到的技术栈:
-- 前端/客户端:Qt、Vue、Flutter 等
-- 后端:MySQL、Redis、Kafka/RabbitMQ、Elasticsearch 等
+
-
+15、[beeplay](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/watilde/beeplay):让你可以用 JS 写一首“歌”的库。[在线尝试](http://watilde.github.io/beeplay/),实例代码:
+```javascript
+var beeplay = require('beeplay')
-18、[taichi](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/taichi-dev/taichi):一个高性能图形学编程框架。它可以将你编写的 Python 代码转换成高效的汇编代码,在多 CPU 和 GPU 上运行,相当于是在用 Python 的语法写着色器。Taichi 解决了图形学配环境难,代码移植性差等问题,只需 `pip install taichi` 即可安装,编写的程序在 Windows、Linux、OSX 上均可运行,降低了新手学习图形学的门槛。示例代码:
-```python
-import taichi as ti
-
-ti.init(arch=ti.gpu) # 指定编译后的函数在 GPU 上执行
+beeplay()
+ .play(null, 2)
+ .play('D#5', 1/4).play('E5', 1/4).play('F#5', 1/2)
+ .play('B5', 1/2).play('D#5', 1/4).play('E5', 1/4)
+ .play('F#5', 1/4).play('B5', 1/4).play('C#6', 1/4).play('D#6', 1/4)
+ .play('C#6', 1/4).play('A#5', 1/4).play('B5', 1/2)
+ .play('F#5', 1/2).play('D#5', 1/4).play('E5', 1/4)
+ .play('F#5', 1/2).play('B5', 1/2)
+ .play('C#6', 1/4).play('A#5', 1/4).play('B5', 1/4).play('C#6', 1/4)
+ .play('E6', 1/4).play('D#6', 1/4).play('E6', 1/4).play('C#6', 1/4);
+```
-n = 320
-pixels = ti.field(dtype=float, shape=(n * 2, n)) # 提前声明数组存储类型,大小
+16、[vant](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/youzan/vant):由有赞前端团队开源的移动端组件库。目前官方提供了 Vue 版本和微信小程序版本,并由社区团队维护 React 版本。有完善的中英文文档和示例,60+ 高质量组件,90%+ 单元测试覆盖率,持续维护 4 年以上
+
-@ti.func # 该函数将是被调用的过程函数
-def complex_sqr(z):
- return ti.Vector([z[0]**2 - z[1]**2, z[1] * z[0] * 2])
+17、[Bilibili-Evolved](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/the1812/Bilibili-Evolved):哔哩哔哩增强浏览器插件。安装插件后可支持:下载视频、删除广告、夜间模式等
+
-@ti.kernel # 该函数将被 Taichi 编译
-def paint(t: float):
- for i, j in pixels: # 最外层循环会自动并行化
- c = ti.Vector([-0.8, ti.cos(t) * 0.2])
- z = ti.Vector([i / n - 1, j / n - 0.5]) * 2
- iterations = 0
- while z.norm() < 20 and iterations < 50: # 其他语法和原生 Python 基本一致
- z = complex_sqr(z) + c
- iterations += 1
- pixels[i, j] = 1 - iterations * 0.02
+🔙 返回目录 🔙
+### Python 项目
+18、[asciinema](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/asciinema/asciinema):终端记录工具。忘记录屏软件吧,纯文本的录制终端操作的工具。安装简单、使用方便,且生成的记录文件极小,但需要配合 JS 文件播放
-gui = ti.GUI("Julia Set", res=(n * 2, n))
+
-for i in range(1000000):
- paint(i * 0.03)
- gui.set_image(pixels)
- gui.show()
-```
+19、[playwright-python](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/microsoft/playwright-python):微软开源的浏览器自动化工具,可以用 Python 语言操作浏览器啦。支持 Linux、macOS、Windows 系统下的 Chromium、Firefox 和 WebKit 浏览器
-
+
-19、[readthedocs.org](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/readthedocs/readthedocs.org):知名文档社区网站(readthedocs.org)的开源源码。该网站上托管了:Scrapy、requests、bootstrap-datepicker 等知名库的文档,我看了下项目是基于 Django 开发的,文件有些多看起来需要点耐心
+20、[wagtail](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wagtail/wagtail):目前最强大的开源 Django CMS(内容管理系统)之一。我很少用“最”这个字眼,节省时间就聊聊它惊艳到我的点吧。首先该项目更新、迭代活跃,其次项目首页提到的功能都是免费的,没有付费解锁的骚操作。wagtail 专注于内容管理,不束缚前端实现。有趣的 StreamField 技术让你的内容变得灵活且不失结构,竟然还支持 A/B 测试,最后 Google、NASA 他们都在用这个项目
-20、[learn-python3](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/jerry-git/learn-python3):一份 Python3 的教程,请查收。该教程采用 Jupyter notebooks 形式,便于运行和阅读。并且还包含了练习题,对新手友好。缺点的话就是英文的教程,但是我都能看懂你肯定也可以
+
-21、[Computer-Networking-A-Top-Down-Approach-NOTES](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES):《计算机网络-自顶向下方法》编程作业。包含问题和 Python 代码解答,Wireshark 实验部分为官方文档的翻译
+21、[redis-memory-analyzer](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/gamenet/redis-memory-analyzer):Redis 实时内存分析工具。我比较好奇它是怎么实时获取 redis 中 key 的情况和信息,就看了下源码 `scanner.py` 文件。发现是采用 `scan_iter` 方法,控制扫描 key 返回的量。然后通过 `yield` 减少内存占用量,最后再加上 `register_script` 方法调用 Lua 脚本或` pipeline` 方法提高获取 key 信息的效率。分析后感觉这个工具可适用在数据量较大的情况,实时性要求在秒或者分钟级的场景下
-🔙 返回目录 🔙
+
-### Rust 项目
-22、[rustlings](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/rust-lang/rustlings):该项目通过一个个简单练习小 demo,让初学者学习 Rust 的语法。通过简单的命令即可安装本项目,然后修改每个小练习,达到编译通过或者目标输出,通过后会进入下一关,有种闯关的成就感。运行方法:
-```
-安装:
-git clone https://github.com/rust-lang/rustlings
-cd rustlings
-git checkout tags/4.0.0 # or whatever the latest version is (find out at https://github.com/rust-lang/rustlings/releases/latest)
-cargo install --force --path .
-
-安装完后,运行:
-rustlings watch
-```
+22、[practical-python](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dabeaz-course/practical-python):大佬 David Beazley 开源的 Python 免费入门级教程。他是《Python Cookbook 第三版》、《Python 参考手册》的作者,教程经过实际的教学实践、包含课后练习题。[在线学习](https://dabeaz-course.github.io/practical-python/Notes/Contents.html),教程目录如下:
-
+
🔙 返回目录 🔙
### Swift 项目
-23、[ZLPhotoBrowser](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/longitachi/ZLPhotoBrowser):轻量级照片选择框架。它使用简单、功能丰富,支持预览/相册内拍照及录视频、拖拽/滑动选择、编辑裁剪图片/视频等功能。示例代码:
-```swift
-// 使用起来非常简单
-let ac = ZLPhotoPreviewSheet()
-ac.selectImageBlock = { [weak self] (images, assets, isOriginal) in
- // your code
-}
-// 快速选择方法
-ac.showPreview(animate: true, sender: self)
-// 进入相册选择方法
-ac.showPhotoLibrary(sender: self)
-```
+23、[stats](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/exelban/stats):macOS 菜单栏上的监控工具。支持 CPU、GPU、内存、网络等监控和多语言
-
+
🔙 返回目录 🔙
### 其它
-24、[Halfrost-Field](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/halfrost/Halfrost-Field):前阿里巴巴资深后端工程师“霜神”的技术博客,分享前、后端的技术干货。作者日常工作语言是 Go,在进入阿里巴巴之前,做了几年前端工作。文章内容包含:机器学习、Go、JS、iOS、网络协议等系列
-
-
+24、[ZY-Player](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Hunlongyu/ZY-Player):免费无广告、高颜值+多平台的桌面视频资源播放器。功能如下:
+- 全平台支持 Windows、Mac、Linux
+- 视频源支持自定义, 支持导入/导出
+- 播放历史, 自动跳转历史进度
+- 支持精简模式, 摸鱼划水
+- 显示豆瓣评分
-25、[ntfstool](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ntfstool/ntfstool):一款为苹果电脑提供 NTFS 读写支持的免费工具。有了它就可以很方便的在苹果电脑上读写,从 Windows 系统拷贝数据的 U 盘和移动硬盘等。[安装说明](https://github.com/ntfstool/ntfstool/blob/master/README-CN.md)
+
-
+25、[keysim](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/crsnbrt/keysim):键盘配色预览工具。“定制”这个操作一听就很贵,下单之前先这个工具先看看效果吧,避免浪费钱。[在线尝试](https://keyboardsimulator.xyz/)
-26、[hexo-theme-matery](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/blinkfox/hexo-theme-matery):一款采用 Material Design 和响应式设计的 Hexo 博客主题。特点:
-- 响应式设计,博客在桌面端、平板、手机等设备上均能很好的展现
-- 首页轮播文章及每天动态切换 Banner 图片
-- 时间轴式的归档页
-- 词云的标签页和雷达图的分类页
-- 丰富的关于我页面(包括关于我、文章统计图、我的项目、我的技能、相册等)
-- 支持文章置顶和文章打赏
-- 等等
+
-
-
-27、[highlight.js](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/highlightjs/highlight.js):让网页上的代码实现高亮的 JS 库,给代码点颜色瞧瞧。支持多种编程语言和样式,使用简单。示例代码:
-```html
-
-
-
-...
-```
+26、[tabler-icons](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/tabler/tabler-icons):一组免费开源的图标。目前共有 850+ 个图标,我觉得都挺好看的,您觉得呢?
-
+
-28、[lite](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/rxi/lite):一款用 Lua 编写的超级轻量级的文本编辑器。在 Windows 下的 exe 文件虽然只有 300KB 左右,但颜值、功能和速度却一点都不差,甚至还支持使用自定义插件、配色主题等功能。小而美的文本编辑器
+27、[socialify](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wei/socialify):一键自动生成 GitHub 仓库头图。很多 GitHub 开源项目的作者不会用 PS,想要制作一张项目推广图就很困难,Socialify 就是帮你解决这个头疼的问题。[在线尝试](https://socialify.git.ci/)
-
-
-29、[L-ink_Card](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/peng-zhihui/L-ink_Card):该项目包含了制作一个迷你 NFC 智能卡的代码和教程。野生钢铁侠稚晖出品的[演示视频](https://www.bilibili.com/video/BV1Cf4y1y7KT/),他还制作了很多别的有趣的东西,大家可以去看看很有意思
-
-
+
🔙 返回目录 🔙
### 开源书籍
-30、[trpl-zh-cn](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/KaiserY/trpl-zh-cn):《Rust 程序设计语言(第二版)》中文翻译。[在线阅读](https://kaisery.github.io/trpl-zh-cn/)
-
-
+28、[Mastering_Go_ZH_CN](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/hantmac/Mastering_Go_ZH_CN):《Mastering Go》的中文翻译版《玩转 Go》。[在线阅读](https://wskdsgcf.gitbook.io/mastering-go-zh-cn/)
-31、[jshistory-cn](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/doodlewind/jshistory-cn):《JavaScript 20 年》中文版。[在线阅读](https://cn.history.js.org/)
-
-
+29、[A-Philosophy-of-Software-Design-zh](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/gdut-yy/A-Philosophy-of-Software-Design-zh):《软件设计的哲学》中文翻译。[在线阅读](https://gdut_yy.gitee.io/doc-aposd/)
🔙 返回目录 🔙
### 机器学习
-32、[nsfw-filter](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/nsfw-filter/nsfw-filter):基于 tensefow.js 实现的过滤 NSFW(裸露、暴力等)图片的浏览器插件
-
-
+30、[video-object-removal](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zllrunning/video-object-removal):通过 Pytorch 实现绘制一个边界框,即可删除视频中要删除的对象。下图是演示操作,框中红色是抹掉的部分,删除前后的效果对比图可进到项目首页查看
-33、[computervision-recipes](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/microsoft/computervision-recipes):计算机视觉系统最佳实践,包含各种 CV 示例项目。示例使用 PytTorch 深度学习库+ Jupyter 文件,涵盖:图像分类、相似、识别、追踪等方面,适合对图像方面感兴趣的小伙伴阅读和学习
+
-
+31、[mlflow](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/mlflow/mlflow):一个简化机器学习开发的平台,支持跟踪实验、代码打包、部署模型等。它提供了一套轻量级的 API,可与目前主流机器学习 TensorFlow、PyTorch、XGBoost 等库轻松整合
+```python
+# 安装:$ pip install mlflow
+# 启动:$ mlflow ui
+# 示例代码
+import mlflow
+mlflow.keras.autolog()
+# other keras code
+...
+```
-34、[seq2seq-couplet](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/wb14123/seq2seq-couplet):基于深度学习的对对联项目,你出上联它自动生成下联。我尝试了下,对得三观很正,还挺有意思。[在线尝试](https://ai.binwang.me/couplet/)
+
-
+32、[snownlp](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/isnowfy/snownlp):一个 Python 写的自然语言处理库。使用简单、功能强大,支持中文分词、词性标注、情感分析等
+```python
+from snownlp import SnowNLP
+
+s = SnowNLP(u'这个东西真心很赞')
+s.words # [u'这个', u'东西', u'真心',
+ # u'很', u'赞']
+s.tags # [(u'这个', u'r'), (u'东西', u'n'),
+ # (u'真心', u'd'), (u'很', u'd'),
+ # (u'赞', u'Vg')]
+s.sentiments # 0.9769663402895832 positive的概率
+```
🔙 返回目录 🔙
- 『上一期』 | 反馈和建议 | 『下一期』
+ 『上一期』 | 反馈和建议 | 『下一期』
---
- 看完了,还不够?<科技爱好者周刊> 。还不过瘾,那就看看 <往期内容> 吧。
- 点击分享发现的有趣项目
+ 👉 点击赞助 | 点击推荐项目 👈
+ 关注公众号:HelloGitHub
+ "第一时间收到推送及更多内容"
+