From 7400bd9052b10b4246a439623b97124445bf2c95 Mon Sep 17 00:00:00 2001 From: xueweihan <595666367@qq.com> Date: Sat, 28 Jan 2023 08:27:11 +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=AC82=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- README_en.md | 2 +- content/HelloGitHub27.md | 2 +- content/HelloGitHub37.md | 22 +-- content/HelloGitHub39.md | 2 +- content/HelloGitHub49.md | 2 +- content/HelloGitHub50.md | 2 +- content/HelloGitHub66.md | 2 +- content/HelloGitHub68.md | 2 +- content/HelloGitHub81.md | 2 +- content/HelloGitHub82.md | 374 +++++++++++++++++++++++++++++++++++++++ 11 files changed, 394 insertions(+), 20 deletions(-) create mode 100644 content/HelloGitHub82.md diff --git a/README.md b/README.md index 3cd0b37..cb6e6a6 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。**每月 28 号 | :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: | | ------- | ----- | ------------ | ------ | --------- | -| [第 81 期](/content/HelloGitHub81.md) | +| [第 82 期](/content/HelloGitHub82.md) | [第 81 期](/content/HelloGitHub81.md) | | [第 80 期](/content/HelloGitHub80.md) | [第 79 期](/content/HelloGitHub79.md) | [第 78 期](/content/HelloGitHub78.md) | [第 77 期](/content/HelloGitHub77.md) | [第 76 期](/content/HelloGitHub76.md) | | [第 75 期](/content/HelloGitHub75.md) | [第 74 期](/content/HelloGitHub74.md) | [第 73 期](/content/HelloGitHub73.md) | [第 72 期](/content/HelloGitHub72.md) | [第 71 期](/content/HelloGitHub71.md) | | [第 70 期](/content/HelloGitHub70.md) | [第 69 期](/content/HelloGitHub69.md) | [第 68 期](/content/HelloGitHub68.md) | [第 67 期](/content/HelloGitHub67.md) | [第 66 期](/content/HelloGitHub66.md) | diff --git a/README_en.md b/README_en.md index 363bc4e..55e3400 100644 --- a/README_en.md +++ b/README_en.md @@ -23,7 +23,7 @@ Will be released on the **28th of each month**| [Contributors](https://github.co | :card_index: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: | | ------- | ----- | ------------ | ------ | --------- | -| [NO.81](/content/HelloGitHub81.md) | +| [NO.82](/content/HelloGitHub82.md) | [NO.81](/content/HelloGitHub81.md) | | [NO.80](/content/HelloGitHub80.md) | [NO.79](/content/HelloGitHub79.md) | [NO.78](/content/HelloGitHub78.md) | [NO.77](/content/HelloGitHub77.md) | [NO.76](/content/HelloGitHub76.md) | | [NO.75](/content/HelloGitHub75.md) | [NO.74](/content/HelloGitHub74.md) | [NO.73](/content/HelloGitHub73.md) | [NO.72](/content/HelloGitHub72.md) | [NO.71](/content/HelloGitHub71.md) | | [NO.70](/content/HelloGitHub70.md) | [NO.69](/content/HelloGitHub69.md) | [NO.68](/content/HelloGitHub68.md) | [NO.67](/content/HelloGitHub67.md) | [NO.66](/content/HelloGitHub66.md) | diff --git a/content/HelloGitHub27.md b/content/HelloGitHub27.md index 5cd63ef..17f8e79 100644 --- a/content/HelloGitHub27.md +++ b/content/HelloGitHub27.md @@ -48,7 +48,7 @@ 3、[apollo](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ApolloAuto/apollo):百度自主研发、开源的全面开放自动驾驶平台。它将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统 -4、[incubator-brpc](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/incubator-brpc):百度开源的 RPC 框架,拥有超过 100 万个实例和 500 多种服务 +4、[brpc](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/brpc):百度开源的 RPC 框架,拥有超过 100 万个实例和 500 多种服务 5、[MyTinySTL](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Alinshans/MyTinySTL):用 C++11 实现的小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合新手学习与参考。示例代码如下: diff --git a/content/HelloGitHub37.md b/content/HelloGitHub37.md index a48125c..a2bd843 100644 --- a/content/HelloGitHub37.md +++ b/content/HelloGitHub37.md @@ -51,7 +51,17 @@ 3、[akutan](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/eBay/akutan):eBay 开源的分布式图数据库,少数依然支持 SparQL 的图数据库 -4、[docker-slim](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/docker-slim/docker-slim):自动缩减 docker 镜像的体积的工具。大幅度缩减 docker 镜像的体积,方便分发,使用命令 `docker-slim build --http-probe your-name/your-app`。比如 Node.js 镜像缩减后的对比: +4、[kratos](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/go-kratos/kratos):哔哩哔哩开源的一套 Go 微服务框架,包含大量微服务相关框架及工具。解决了 gin 在微服务场景下的一些适配和微服务本身的一系列生态,[快速开始](https://github.com/bilibili/kratos/blob/master/doc/wiki-cn/quickstart.md) + + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/37/165041732.gif' style="max-width:80%; max-height=80%;"></img></p> + +5、[overlord](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/bilibili/overlord):基于 Go 语言编写的 memcache 和 redis&cluster 的代理及集群管理平台。致力于提供自动化高可用的缓存服务解决方案。自带图形界面的缓存集群管理程序,[安装步骤](https://github.com/bilibili/overlord/blob/master/doc/wiki-cn/platform-deploy.md) + + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/37/121465286.png' style="max-width:80%; max-height=80%;"></img></p> + +6、[slim](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/slimtoolkit/slim):自动缩减 docker 镜像的体积的工具。大幅度缩减 docker 镜像的体积,方便分发,使用命令 `docker-slim build --http-probe your-name/your-app`。比如 Node.js 镜像缩减后的对比: ``` from ubuntu:14.04 - 432MB => 14MB (缩减了 30.85 倍) @@ -61,16 +71,6 @@ from node:alpine - 66.7MB => 34.7MB (缩减了 1.92 倍) ``` -5、[kratos](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/go-kratos/kratos):哔哩哔哩开源的一套 Go 微服务框架,包含大量微服务相关框架及工具。解决了 gin 在微服务场景下的一些适配和微服务本身的一系列生态,[快速开始](https://github.com/bilibili/kratos/blob/master/doc/wiki-cn/quickstart.md) - - -<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/37/165041732.gif' style="max-width:80%; max-height=80%;"></img></p> - -6、[overlord](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/bilibili/overlord):基于 Go 语言编写的 memcache 和 redis&cluster 的代理及集群管理平台。致力于提供自动化高可用的缓存服务解决方案。自带图形界面的缓存集群管理程序,[安装步骤](https://github.com/bilibili/overlord/blob/master/doc/wiki-cn/platform-deploy.md) - - -<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/37/121465286.png' style="max-width:80%; max-height=80%;"></img></p> - <p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> ### Java 项目 diff --git a/content/HelloGitHub39.md b/content/HelloGitHub39.md index a43eb36..b3cdf7d 100644 --- a/content/HelloGitHub39.md +++ b/content/HelloGitHub39.md @@ -57,7 +57,7 @@ var t3 = fsql.Select<Xxx>() <p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> ### C++ 项目 -2、[marksentence](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/gltina/marksentence):这是一个在托福听力中标记句子的工具(即精听工具)。在听力时可文本对照,并且对听力音频中没听懂片段进行标记,并选择标记理由,方便日后的反复复习 +2、[marksentence](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/leihui6/marksentence):这是一个在托福听力中标记句子的工具(即精听工具)。在听力时可文本对照,并且对听力音频中没听懂片段进行标记,并选择标记理由,方便日后的反复复习 <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/39/183042464.gif' style="max-width:80%; max-height=80%;"></img></p> diff --git a/content/HelloGitHub49.md b/content/HelloGitHub49.md index 4bc7b81..2af8c68 100644 --- a/content/HelloGitHub49.md +++ b/content/HelloGitHub49.md @@ -102,7 +102,7 @@ <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/49/45808756.gif' style="max-width:80%; max-height=80%;"></img></p> -12、[incubator-linkis](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/incubator-linkis):一款支持多种计算存储引擎的企业级计算中间件。打通了 Spark、TiSpark、Hive 等存储引擎,提供统一作业执行服务,支持提交 SQL、PySpark、HQL 等各种脚本的计算请求 +12、[linkis](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/apache/linkis):一款支持多种计算存储引擎的企业级计算中间件。打通了 Spark、TiSpark、Hive 等存储引擎,提供统一作业执行服务,支持提交 SQL、PySpark、HQL 等各种脚本的计算请求 <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/49/198368711.png' style="max-width:80%; max-height=80%;"></img></p> diff --git a/content/HelloGitHub50.md b/content/HelloGitHub50.md index 9390e29..ee5fc3d 100644 --- a/content/HelloGitHub50.md +++ b/content/HelloGitHub50.md @@ -71,7 +71,7 @@ <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img2/master/hellogithub/50/160253491.png' style="max-width:80%; max-height=80%;"></img></p> -7、[uptoc](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/saltbo/uptoc):一个基于 Go 的静态博客部署到云存储的工具。静态博客不论是部署在 GitHubPages 还是 Netlify 等平台都存在国内访问速度慢的问题,解决这个问题最好的办法就是部署在国内的云存储,如腾讯云 COS、阿里云 OSS、七牛云等。借助该工具可以快速上传到上述云存储平台,加快你的静态博客访问速度 +7、[uptoc](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/bonaysoft/uptoc):一个基于 Go 的静态博客部署到云存储的工具。静态博客不论是部署在 GitHubPages 还是 Netlify 等平台都存在国内访问速度慢的问题,解决这个问题最好的办法就是部署在国内的云存储,如腾讯云 COS、阿里云 OSS、七牛云等。借助该工具可以快速上传到上述云存储平台,加快你的静态博客访问速度 ```bash # 安装 curl -sSf http://uptoc.saltbo.cn/install.sh | sh diff --git a/content/HelloGitHub66.md b/content/HelloGitHub66.md index 258507c..92836e1 100644 --- a/content/HelloGitHub66.md +++ b/content/HelloGitHub66.md @@ -303,7 +303,7 @@ static void take_gil(PyThreadState *tstate) <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img2/master/hellogithub/66/212790745.gif' style="max-width:80%; max-height=80%;"></img></p> -33、[xemu](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/mborgerson/xemu):免费开源的 Xbox 模拟器,支持 Windows、Linux、macOS 系统 +33、[xemu](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/xemu-project/xemu):免费开源的 Xbox 模拟器,支持 Windows、Linux、macOS 系统 <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img2/master/hellogithub/66/241270996.png' style="max-width:80%; max-height=80%;"></img></p> diff --git a/content/HelloGitHub68.md b/content/HelloGitHub68.md index 42a02b6..cdfbcb4 100644 --- a/content/HelloGitHub68.md +++ b/content/HelloGitHub68.md @@ -260,7 +260,7 @@ RedisList[1, 4, 9, 16, 25] <p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> ### 其它 -26、[fl_chart](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/imaNNeoFighT/fl_chart):Flutter 图表库。它支持折线图、条形图、饼图、散点图和雷达图 +26、[fl_chart](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/imaNNeo/fl_chart):Flutter 图表库。它支持折线图、条形图、饼图、散点图和雷达图 <p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img2/master/hellogithub/68/186255460.png' style="max-width:80%; max-height=80%;"></img></p> diff --git a/content/HelloGitHub81.md b/content/HelloGitHub81.md index 8364893..883a2bd 100644 --- a/content/HelloGitHub81.md +++ b/content/HelloGitHub81.md @@ -300,7 +300,7 @@ for i in range(10): <p align="center"> - <a href="https://github.com/521xueweihan/HelloGitHub/blob/master/content/HelloGitHub80.md">『上一期』</a> | <a href='https://github.com/521xueweihan/HelloGitHub/issues/899'>反馈和建议</a> | 『下一期』 + <a href="https://github.com/521xueweihan/HelloGitHub/blob/master/content/HelloGitHub80.md">『上一期』</a> | <a href='https://github.com/521xueweihan/HelloGitHub/issues/899'>反馈和建议</a> | <a href="https://github.com/521xueweihan/HelloGitHub/blob/master/content/HelloGitHub82.md">『下一期』</a> </p> --- diff --git a/content/HelloGitHub82.md b/content/HelloGitHub82.md new file mode 100644 index 0000000..04a84d7 --- /dev/null +++ b/content/HelloGitHub82.md @@ -0,0 +1,374 @@ +# 《HelloGitHub》第 82 期 +> 兴趣是最好的老师,**HelloGitHub** 让你对编程感兴趣! +<p align="center"> + <img src='https://raw.githubusercontent.com/521xueweihan/img_logo/master/logo/cover.jpg' style="max-width:100%;"></img> +</p> + +## 目录 + +**Tips**:如果文中的图刷不出来,可以点击 [这里](https://hellogithub.com/periodical/volume/82/) 获取更好的阅读体验。 + +- [C 项目](#C-项目) +- [C# 项目](#C-项目-1) +- [C++ 项目](#C-项目-2) +- [CSS 项目](#CSS-项目) +- [Go 项目](#Go-项目) +- [Java 项目](#Java-项目) +- [JavaScript 项目](#JavaScript-项目) +- [Python 项目](#Python-项目) +- [Ruby 项目](#Ruby-项目) +- [Rust 项目](#Rust-项目) +- [Swift 项目](#Swift-项目) +- [其它](#其它) +- [开源书籍](#开源书籍) +- [机器学习](#机器学习) + + +- [返回首页](https://github.com/521xueweihan/HelloGitHub#%E5%86%85%E5%AE%B9) + +<p align="center"> + <img src="https://raw.githubusercontent.com/521xueweihan/img_logo/master/logo/weixin.png" style="max-width:30%;"></img><br> +关注「HelloGitHub」公众号,第一时间收到推送 +</p> + +## 内容 +> **以下为本期内容**|每个月 **28** 号更新 + +### C 项目 +1、[bare-metal-programming-guide](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/cpq/bare-metal-programming-guide):裸机编程指南。这是一份教你如何在不依赖 IDE 的情况下,进行单片机开发的教程。内容先是介绍了寄存器、向量表、启动代码、链接脚本等知识点,最后实现了一个带设备仪表盘的 Web 服务器。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/537042935.png' style="max-width:80%; max-height=80%;"></img></p> + +2、[sumatrapdf](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/sumatrapdfreader/sumatrapdf):免费小巧的开源 PDF 阅读器。这是一款体积小、占用内存少、启动速度快的 Windows PDF 阅读工具,拥有日常所需的所有功能和简约大方的界面,这一切不多不少刚刚好。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/6041301.png' style="max-width:80%; max-height=80%;"></img></p> + +3、[ZSWatch](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/jakkra/ZSWatch):自制开源智能手表。该项目是基于开源 Zephyr 的智能手表,设备包含了一个分辨率为 240x240 的 IPS TFT 圆形屏幕和 3 个按钮(上一页/下一页/进入),支持计步、血氧仪、心率仪、蓝牙等功能。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/529594820.gif' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### C# 项目 +4、[carnac](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Code52/carnac):用于展示键盘按键操作的工具。这是一款能够在桌面实时显示键盘操作记录的工具,多用于演示应用、录制教程等场景,适用于 Windows 7 及以上的操作系统。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/3429434.gif' style="max-width:80%; max-height=80%;"></img></p> + +5、[downkyi](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/leiurayer/downkyi):一款多功能的 B 站视频下载工具。这是一款简单易用的哔哩哔哩视频下载工具,它拥有简洁的操作界面,使用起来十分方便。支持批量下载、音视频提取、去水印等功能。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/324473895.png' style="max-width:80%; max-height=80%;"></img></p> + +6、[SeeSharpSnake](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/MichalStrehovsky/SeeSharpSnake):用 C# 写一个小于 8KB 的贪吃蛇。这个项目的重点不是教你如何用 C# 写出一个贪吃蛇游戏,而是讲解怎么将编译后的 C# 贪吃蛇程序,从最初的 65MB 精简成 8KB 大小、可以独立运行的应用。 +```shell +# To build the 4.7 MB version of the game +dotnet publish -r win-x64 -c Release /p:Mode=CoreRT +# To build the 4.3 MB version of the game +dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-Moderate +# To build the 3.0 MB version of the game +dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-High +# To build the 1.2 MB version of the game +dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-ReflectionFree +# To build the 10 kB version of the game +dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-NoRuntime +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/231551119.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### C++ 项目 +7、[cpp-httplib](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/yhirose/cpp-httplib):一个文件的 C++ HTTP/HTTPS 库。这是一个用 C++11 写的仅头文件、跨平台的 HTTP/HTTPS 服务器端和客户端库,使用时十分方便,只需在代码中引入 `httplib.h` 文件。 +```c++ +#define CPPHTTPLIB_OPENSSL_SUPPORT +#include "path/to/httplib.h" + +// HTTPS +httplib::Client cli("https://hellogithub.com"); + +auto res = cli.Get("/periodical"); +res->status; +res->body; +``` + +8、[Ripes](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/mortbopet/Ripes):RISC-V 的模拟器和汇编编辑器。该项目可以通过图形化的方式,展示机器代码在各种微架构上运行的过程,可用于探索不同的高速缓存设计对性能的影响等问题。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/108505982.gif' style="max-width:80%; max-height=80%;"></img></p> + +9、[SFML](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/SFML/SFML):简单高效的 C++ 多媒体库。这是一个可用来简化游戏和多媒体应用开发的 C++ 库,因其上手门槛低和良好的生态,成为了众多 C++ 新手入门图形化开发的首选。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/1524684.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### CSS 项目 +10、[css](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/primer/css):GitHub 开源的设计系统。由 GitHub 设计团队开源和维护的项目,包含了 GitHub 的界面设计原则、使用指南和开箱即用的 UI 组件。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/32551735.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### Go 项目 +11、[d2](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/terrastruct/d2):一种可将文本转换为图表的脚本语言。该项目是一种图表脚本语言,可将文本转换为图表。你只需描述想要的图表,它就会生成对应的图像。 +```shell +echo 'x -> y' > input.d2 +d2 -w input.d2 out.svg +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/533087958.gif' style="max-width:80%; max-height=80%;"></img></p> + +12、[grpcurl](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/fullstorydev/grpcurl):类似 cURL 但用于 gRPC 的工具。一款实现与 gRPC 服务器交互的命令行工具,可以轻松请求 gRPC 服务,就像 gRPC 版的 cURL 一样好用。 +``` +# 安装 +brew install grpcurl +# 使用 +grpcurl grpc.server.com:443 my.custom.server.Service/Method +``` + +13、[shifu](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Edgenesis/shifu):一款云原生物联网开发框架。这是一个生产级别的物联网平台,它可以将物联网(IoT)设备,封装成 K8s 的最小的可部署的计算单元(pod),直接将设备的能力和数据通过 API 开放出来,让物联网应用的开发变得更加简单。 +```shell +cd shifu +# 在集群中安装 Shifu +kubectl apply -f pkg/k8s/crd/install/shifu_install.yml +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/394207324.png' style="max-width:80%; max-height=80%;"></img></p> + +14、[writefreely](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/writefreely/writefreely):一起写作并建立一个社区。这是一个 Go 写的博客平台,除了能够创建基于 Markdown、极简的独立博客之外,还可以建立类似博客园的博客社区。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/86956808.png' style="max-width:80%; max-height=80%;"></img></p> + +15、[yao](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/YaoApp/yao):一款 Go 写的应用引擎。通过该项目最快几分钟,就能从零构建出一套系统,适合用于开发接口服务、管理后台、数据可视化平台、自建低代码平台等系统。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/403559729.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### Java 项目 +16、[HummerRisk](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/HummerRisk/HummerRisk):云原生安全检测平台。该项目用非侵入的方式,解决云原生环境的安全和治理问题。支持主流公/私有云资源的安全检测、漏洞扫描、一键获取报告等功能。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/499359479.gif' style="max-width:80%; max-height=80%;"></img></p> + +17、[HydraLab](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/microsoft/HydraLab):开源的智能移动云测平台。这是一个基于 Spring Boot+React 构建的云测服务,它部署简单开箱即用,支持在线管理测试设备、执行测试用例、测试结果可视化等功能。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/486525050.png' style="max-width:80%; max-height=80%;"></img></p> + +18、[neo4j](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/neo4j/neo4j):目前最流行的图数据库。它是一款采用 Java 和 Scala 语言开发的原生图数据库,专属的查询语言 Cypher,能够直观且高效地查询和处理数据之间的关系。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/6650539.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### JavaScript 项目 +19、[html2canvas](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/niklasvh/html2canvas):实现浏览器内截屏的 JavaScript 库。该项目可以让你在浏览器内对整个网页或部分内容进行截图,原理是通过读取 DOM 和样式,将当前页面渲染成一个画布图像。 +```javascript +html2canvas(document.querySelector("#capture")).then(canvas => { + document.body.appendChild(canvas) +}); +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/2056312.gif' style="max-width:80%; max-height=80%;"></img></p> + +20、[JavaScript-Algorithms](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/sisterAn/JavaScript-Algorithms):教你从零构建前端算法体系。学习算法不仅是为了面试,也是每个前端进阶必备的技能之一。该项目包含了前端的进阶算法、常见面试题、手写源码等,帮你构建完整的数据结构和算法的知识体系。 + +21、[pomotroid](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Splode/pomotroid):视觉上令人愉悦的番茄时钟。这是一款 Vue 写的拥有超高颜值的番茄计时器,支持自定义时间、回合数、提示音、桌面通知等功能。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/119006816.png' style="max-width:80%; max-height=80%;"></img></p> + +22、[satori](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/vercel/satori):能够将 HTML 和 CSS 转换为 SVG 的库。由 Vercel 团队开源的可根据 HTML 和 CSS 代码生成 SVG 图像的库。支持 JSX 语法,使用起来十分方便和顺手。 +```typescript +import satori from 'satori' + +const svg = await satori( + <div style={{ color: 'black' }}>hello, world</div>, + { + width: 600, + height: 400, + fonts: [ + { + name: 'Roboto', + data: robotoArrayBuffer, + weight: 400, + style: 'normal', + }, + ], + }, +) +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/452769633.png' style="max-width:80%; max-height=80%;"></img></p> + +23、[underscore](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/jashkenas/underscore):强大的 JavaScript 函数库。该库提供了 100 多个实用的函数,包括常用的 map、filter、reduce、invoke 以及更专业的辅助函数,比如函数绑定、JavaScript 模板功能、创建快速索引等,让我们可以更加方便地在 JavaScript 中实现函数式编程。 +```javascript +// countBy +_.countBy([1, 2, 3, 4, 5], function(num) { + return num % 2 == 0 ? 'even': 'odd'; +}); +// 输出:{odd: 3, even: 2} +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/349241.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### Python 项目 +24、[bandit](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/PyCQA/bandit):查找 Python 代码中常见安全问题的工具。该项目是 PyCQA 出品的 Python 代码检测工具,知名的 isort 和 flake8 就是他们开源的。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/131129792.png' style="max-width:80%; max-height=80%;"></img></p> + +25、[devguide](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/python/devguide):CPython 开发人员指南。这份指南来自 Python 官方,介绍了如何为 CPython 做贡献,适用于任何阶段的贡献者。 + +26、[Django-Styleguide](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/HackSoftware/Django-Styleguide):Django 使用姿势指南。这是一份 Django 编码风格指南,它来自于一线团队的多年经验总结,希望能够帮助你构建出更好的 Django 应用程序。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/142351241.png' style="max-width:80%; max-height=80%;"></img></p> + +27、[numpy-100](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/rougier/numpy-100):Numpy 的练习册。该项目包含了 100 个关于 Python 常用的数据处理库 Numpy 的练习和解决方案。 +```python +# How to sum a small array faster than np.sum? (★★☆) + +Z = np.arange(10) +np.add.reduce(Z) +``` + +28、[prefect](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/PrefectHQ/prefect):Python 的数据流编排平台。如果将获取、清洗、处理数据的程序当作一个个分散的任务,该项目可以将这些任务整合到工作流中,实现在一个 Web 平台部署、安排和监控它们的执行。 +```python +from prefect import flow, task + +@task +def say_hello(): + print("Hello, World! I'm HelloGitHub!") + +@flow("Prefect Flow"): +def h_flow(): + say_hello() + +# run the flow! +h_flow() # "Hello, World! I'm HelloGitHub!" +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/139199684.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### Ruby 项目 +29、[YouPlot](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/red-data-tools/YouPlot):Ruby 写的命令行数据可视化工具。该项目能够在终端里将数据转化成彩色的图表,支持条形图、直方图、箱型图等类型的图表。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/283230219.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### Rust 项目 +30、[ChatGPT](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/lencx/ChatGPT):第三方的 ChatGPT 桌面应用。把 ChatGPT 放到你的桌面,支持快捷键、斜杠命令、划词搜索、导出记录等实用的功能,适用于 macOS、Windows、Linux 操作系统。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/575340621.png' style="max-width:80%; max-height=80%;"></img></p> + +31、[gitui](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/extrawurst/gitui):带界面的 Git 命令行工具。该项目为 git 提供了终端界面,让用户可以更加顺畅地使用 git。交互式的操作提示,让你无需再记忆大量的 git 命令。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/247725846.gif' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### Swift 项目 +32、[vimac](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/dexterleng/vimac):用键盘代替鼠标的 macOS 应用。它可以让用户实现仅通过键盘操作苹果电脑,支持两种操作模式。 +- 激活模式:将屏幕上可点击的位置,映射成键盘按键 +- 滚动模式:使用 HJKL 按键,可完成区域滚动 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/206583780.gif' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### 其它 +33、[cdn-up-and-running](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/leandromoreira/cdn-up-and-running):从零开始构建 CDN 的教程。为了让你在实战中学习 CDN 的工作原理,这里会从创建一个单一的后端服务开始,逐渐扩展到多个节点、模拟延迟、可视化、可测试的 CDN 服务。因为设计 CDN 会涉及 Nginx、Lua、Docker、Grafana 等知识点,所以学习该教程需要有一定的编程基础。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/441214263.png' style="max-width:80%; max-height=80%;"></img></p> + +34、[fluentui-emoji](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/microsoft/fluentui-emoji):一套可爱的 emoji 表情。该项目是微软开源的一套精致、可爱的 emoji 表情包。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/390896426.png' style="max-width:80%; max-height=80%;"></img></p> + +35、[k8s_PaaS](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/ben1234560/k8s_PaaS):教你用 K8s 部署一套完整服务的教程。通过该教程你可以学习到如何部署 Kubernetes 集群,以及在此基础上搭建由 Apollo、Jenkins、Prometheus 等服务组成的完整的软件研发和部署平台。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/294880855.png' style="max-width:80%; max-height=80%;"></img></p> + +36、[pi-apps](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/Botspot/pi-apps):最受欢迎的树莓派应用商店。这是一款完全免费、开源的树莓派应用商店,它安装简单使用方便,内置了 200 多个应用程序,支持 32 位和 64 位的 Raspberry Pi OS。 +```shell +# 下载 +git clone https://github.com/Botspot/pi-apps +# 安装 +~/pi-apps/install +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/297820951.png' style="max-width:80%; max-height=80%;"></img></p> + +37、[smiley-sans](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/atelier-anchor/smiley-sans):一款完全开源、精雕细琢的中文黑体。这款字体名为「得意黑」,整体字身窄而斜,细节融入了取法手绘美术字的特殊造型。支持简体中文常用字、拉丁字母、阿拉伯数字和各种标点符号。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/564785929.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### 开源书籍 +38、[essential-netty-in-action](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/waylau/essential-netty-in-action):《Netty 实战》精简版。该书是《Netty in Action》的中文精简版,带你快速掌握 Netty。 + +39、[time-as-a-friend](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/xiaolai/time-as-a-friend):《把时间当作朋友》。做事不一定要图快,马跑起来比骆驼快,但骆驼一生走过的路却是马的两倍。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/175853072.png' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + +### 机器学习 +40、[annotated_deep_learning_paper_implementations](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/labmlai/annotated_deep_learning_paper_implementations):深度学习论文的实现集合。这是一个关于神经网络和相关算法 PyTorch 实现的集合,代码里还包含逐行的注释。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/290091948.png' style="max-width:80%; max-height=80%;"></img></p> + +41、[Chinese-CLIP](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/OFA-Sys/Chinese-CLIP):OpenAI CLIP 模型中文预训练版本。该项目使用了大规模的中文数据进行训练(~2亿图文数据),提供了多个规模的预训练模型和技术报告,让使用者仅通过几行代码就能完成中文图文特征提取和图文检索。 +```python +import torch +from PIL import Image + +import cn_clip.clip as clip +from cn_clip.clip import load_from_name, available_models +print("Available models:", available_models()) +# Available models: ['ViT-B-16', 'ViT-L-14', 'ViT-L-14-336', 'ViT-H-14', 'RN50'] + +device = "cuda" if torch.cuda.is_available() else "cpu" +model, preprocess = load_from_name("ViT-B-16", device=device, download_root='./') +model.eval() +image = preprocess(Image.open("examples/pokemon.jpeg")).unsqueeze(0).to(device) +text = clip.tokenize(["杰尼龟", "妙蛙种子", "小火龙", "皮卡丘"]).to(device) + +with torch.no_grad(): + image_features = model.encode_image(image) + text_features = model.encode_text(text) + # 对特征进行归一化,请使用归一化后的图文特征用于下游任务 + image_features /= image_features.norm(dim=-1, keepdim=True) + text_features /= text_features.norm(dim=-1, keepdim=True) + + logits_per_image, logits_per_text = model.get_similarity(image, text) + probs = logits_per_image.softmax(dim=-1).cpu().numpy() + +print("Label probs:", probs) # 图文匹配概率 [[1.268734e-03 5.436878e-02 6.795761e-04 9.436829e-01]] +``` + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/511745849.png' style="max-width:80%; max-height=80%;"></img></p> + +42、[KuiperInfer](https://hellogithub.com/periodical/statistics/click/?target=https://github.com/zjhellofss/KuiperInfer):从零编写深度学习推理框架的教程。手把手教你用 C++ 写出一个深度学习推理框架,项目整体风格和结构借鉴了Caffe。初学者通过该教程不仅可以了解深度学习框架背后的知识,还能够学会如何上手一个中等规模的 C++ 项目。 + +<p align="center"><img src='https://raw.githubusercontent.com/521xueweihan/img3/master/hellogithub/82/568649213.jpg' style="max-width:80%; max-height=80%;"></img></p> + +<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br> + + + +<p align="center"> + <a href="https://github.com/521xueweihan/HelloGitHub/blob/master/content/HelloGitHub81.md">『上一期』</a> | <a href='https://github.com/521xueweihan/HelloGitHub/issues/899'>反馈和建议</a> | 『下一期』 +</p> + +--- +<p align="center"> + 👉 <a href='https://github.com/521xueweihan/HelloGitHub/issues/new'>推荐项目</a> 👈<br> + 微信中搜:<strong>HelloGitHub</strong> 关注公众号<br> + 不仅能第一时间收到推送,还有各种回馈粉丝活动<br> + 如果文中的图刷不出来,可以点击 <a href='https://hellogithub.com/periodical/volume/82/'>这里</a> 获取更好的阅读体验。 +</p> + +## 声明 +<a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh"><img alt="知识共享许可协议" style="border-width: 0" src="https://licensebuttons.net/l/by-nc-nd/4.0/88x31.png"></a><br>本作品采用 <a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh">署名-非商业性使用-禁止演绎 4.0 国际</a> 进行许可。