《HelloGitHub》第 48 期


興趣是最好的老師,HelloGitHub 就是幫你找到興趣!

簡介

分享 GitHub 上有趣、入門級的開源項目。

這是一個面向編程新手熱愛編程對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目讓生活變得更美好的工具書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。

  • 會編程的可以貢獻代碼
  • 不會編程的可以反饋使用這些工具中的 Bug
  • 幫着宣傳你覺得優秀的項目
  • Star 項目⭐️

在瀏覽、參與這些項目的過程中,你將學習到更多編程知識提高編程技巧找到編程的樂趣

🎉 最后 HelloGitHub 這個項目就誕生了 🎉


以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容

C 項目

1、DungeonRush:元氣貪吃蛇游戲。作者受到元氣騎士的啟發,基於貪吃蛇進行一些玩法上的創新。該項目適用於 C 語言初學者、第一次嘗試使用跨平台圖形庫的同學,參考本項目就可以寫出一個可玩性高的游戲,收獲滿滿成就感

2、libhv:一個跨平台、簡單易用的非阻塞 IO 事件循環庫。用它可以快速的編寫 HTTP 客戶端/服務端,可提供高性能的 httpd 服務。項目模塊划分清晰,代碼可讀性高,快去看下源代碼吧。示例代碼:

#include "HttpServer.h"

int http_api_echo(HttpRequest* req, HttpResponse* res) {
    res->body = req->body;
    return 0;
}

int main() {
    HttpService service;
    service.base_url = "/v1/api";
    service.AddApi("/echo", HTTP_POST, http_api_echo);

    http_server_t server;
    server.port = 8080;
    server.service = &service;
    http_server_run(&server);
    return 0;
}

3、myscan:開源的多線程 socket 掃描 IP 端口的程序。目前僅支持 Windows 系統,代碼簡單可作為初學者學習項目

命令:
myscan -p Port1[,Port2,Port3...] [-t Thread](default 10) [-d] (DEBUG) StartIp EndIp
例子:
myscan -p 80 192.168.1.1 192.168.1.254
myscan -p 21,22,23,80,443,8080 -t 256 192.168.1.1 192.168.1.254

C++ 項目

4、contour:一個使用 C++ 17 開發的終端模擬器。可在 Windows、Linux 和 MacOS 三大平台使用,支持字體連字 Font Ligatures(例如 Fira Code 字體)、GPU 加速渲染、背景模糊(Win10、KDE)、256 色、True Color 和配色主題

5、milvus:一款開源的、針對海量特征向量的相似性搜索引擎。相比 Faiss 和 SPTAG 這樣的算子庫,Milvus 提供完整的向量數據更新,索引與查詢框架。Milvus 利用 GPU 進行索引加速與查詢加速,能大幅提高單機性能。部署使用簡單,降低了 AI 應用落地的難度

CSS 項目

6、cssgridgenerator:在線通過點擊動態生成基本的 CSS Grid 代碼。在線嘗試

Go 項目

7、gops:展示當前系統運行了那些 Go 程序的工具,同時支持深入分析的參數

# 展示當前運行的所有 Go 程序
$ gops
983   980    uplink-soecks  go1.9   /usr/local/bin/uplink-soecks
52697 52695  gops           go1.10  /Users/jbd/bin/gops
4132  4130   foops        * go1.9   /Users/jbd/bin/foops
51130 51128  gocode         go1.9.2 /Users/jbd/bin/gocode

# 某一個 Go 程序的詳細信息
$ gops <pid>
parent PID:	5985
threads:	27
memory usage:	0.199%
cpu usage:	0.139%
username:	jbd
cmd+args:	/Applications/Splice.app/Contents/Resources/Splice Helper.app/Contents/MacOS/Splice Helper -pid 5985
local/remote:	127.0.0.1:56765 <-> :0 (LISTEN)
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:Go 語言刷 LeetCode。在線閱讀

9、wtf:瞥一眼你的“私人管家”,終端個人信息面板。安裝簡單,還可通過配置文件設置你想看到的信息。設置可能需要花一些時間,但最終效果還是很可以的

Java 項目

10、MusicPlayer:一款開源的 Java 桌面版音樂播放器,使用 JavaFX/Java 8 技術開發的項目

11、KafkaCenter:Kafka 集群管理維護、生產消費監控平台

12、incubator-dolphinscheduler:分布式易擴展的可視化 DAG 工作流任務調度系統。致力於解決數據處理流程中錯綜復雜的依賴關系,使調度系統在數據處理流程中開箱即用

JavaScript 項目

13、G2:一套面向常規統計圖表,以數據驅動的高交互可視化圖形語法,具有高度的易用性和擴展性。使用 G2,你可以無需關注圖表各種繁瑣的實現細節,一條語句即可使用 Canvas 或 SVG 構建出各種各樣的可交互的統計圖表。G2 是整個螞蟻金服 AntV 可視化解決方案中的一個環節,主要針對在高交互、高擴展的二維統計圖表

14、honeyed-words-generator:一個“土味情話”在線生成項目。支持生成圖片、分享二維碼,在線訪問。你們先看,我看完被撩到了我先去靜靜

15、gitmoji-cli:Git 交互式客戶端,方便在提交信息中增加 emoji 表情。終於知道別人的提交信息為什么會有表情了,效果如下圖:

16、panolens.js:基於 WebGL 的全景查看庫。效果如下:

![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/48/img/

.gif)

Python 項目

17、iredis:Python 語言寫的支持自動補全、語法高亮、命令提示等的 Redis 命令行客戶端。超好用,真是相見很晚啊

18、python-small-examples:Python 有趣、實用的代碼示例集合。包含:Python 基礎、小技巧、坑、文件操作、機器學習、繪圖等,代碼如下:

# pyecharts 繪制水球圖示例
from pyecharts import options as opts
from pyecharts.charts import Liquid, Page
from pyecharts.globals import SymbolType

def liquid() -> Liquid:
    c = (
        Liquid()
        .add("lq", [0.67, 0.30, 0.15])
        .set_global_opts(title_opts=opts.TitleOpts(title="Liquid"))
    )
    return c

liquid().render('./img/liquid.html')

19、httpx:使用簡單方便,輕松實現異步請求的 HTTP 客戶端(Python 3.8+)。示例代碼:

>>> import httpx
# 同步
>>> r = httpx.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
# 異步
>>> async with httpx.AsyncClient() as client:
>>>     r = await client.get('https://www.example.org/')
>>> r
<Response [200 OK]>

20、rssant:免費開源的 RSS 訂閱項目,服務端是 Django 寫的。你可以自己部署也可以直接使用在線版,遠離嘈雜的推薦、廣告,專注你訂閱的內容

.png)

Ruby 項目

21、homeland:開源免費、不限制商業使用的社區網站系統

其它

22、learnGitBranching:一個 Git 命令可視化學習項目。能夠生動形象的幫助開發人員理解、學習 Git 命令,通過一系列刺激的關卡挑戰,逐步深入的學習 Git 的強大功能。在線嘗試

![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/48/img/

.png)

23、Waking-Up:采用追問形式的后端面試問題總結。提問然后追問是面試常見模式,更加貼近真實面試

24、fucking-algorithm:解 LeetCode 題目集合。號稱“手撕 LeetCode 題目”,雖然之前推薦過不少解題集合,但是這次我還是沒忍住。該項目講究思路指南,解題思路描述清晰,真香啊

25、browser-2020:該項目匯集了瀏覽器鮮為人知的一些功能

機器學習

26、autokeras:Keras 官方出品基於 Keras 的 AutoML 系統。支持 CPU 和 GPU 訓練,傻瓜式 API,3 行代碼就能訓練一個模型。目前支持的任務:圖像分類、圖像回歸、文本分類、結構化數據分類等。將人從手工選擇超參數中解放出來,快速開發原型,官方口號“所有人都能使用機器學習”,官網

# 安裝命令 pip install autokeras
import autokeras as ak

clf = ak.ImageClassifier()
clf.fit(x_train, y_train)
results = clf.predict(x_test)

最后

如果你發現了 GitHub 上有趣的項目,歡迎在 HelloGitHub 項目提 issues 告訴我們。

關注 HelloGitHub 公眾號獲取第一手的更新


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM