早產的《HelloGitHub》第 65 期


興趣是最好的老師,HelloGitHub 讓你對編程感興趣!

簡介

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

這里有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產生興趣!

項目地址:https://github.com/521xueweihan/HelloGitHub

感謝大家點亮的每一個 Star ✨


以下為本期內容|每個月 28 號更新

C 項目

1、cpufetch:獲取 CPU 信息的命令行工具

C# 項目

2、AduSkin:一款簡約漂亮的 WPF UI 庫

C++ 項目

3、simdjson:每秒可解析千兆字節的高性能 JSON 解析庫

4、filament:輕量級實時物理渲染引擎。能夠用來做游戲渲染引擎或者音視頻編輯工程,當你需要處理 3D 渲染效果,又不想引入龐大的游戲引擎時,可以考慮使用它尤其是 Android 平台

CSS 項目

5、devices.css:僅用 CSS 實現手機和平板設備的平面模型。機型包含 iPhone、Android、Lumia 和 iPad

<div class="marvel-device iphone-x">
    <div class="notch">
        <div class="camera"></div>
        <div class="speaker"></div>
    </div>
    <div class="top-bar"></div>
    <div class="sleep"></div>
    <div class="bottom-bar"></div>
    <div class="volume"></div>
    <div class="overflow">
        <div class="shadow shadow--tr"></div>
        <div class="shadow shadow--tl"></div>
        <div class="shadow shadow--br"></div>
        <div class="shadow shadow--bl"></div>
    </div>
    <div class="inner-shadow"></div>
    <div class="screen">
        <!-- Content goes here -->
    </div>
</div>

Go 項目

6、lindb:可水平拓展、高性能的分布式時序數據庫,支持海量數據存儲以及快速並行查詢和計算。已在餓了么內部使用,存儲了全量的監控數據。每天增量寫入 TB 量級,共計 PB 級的數據

7、learning_tools:作者學習 Go 過程中實踐的 Go 代碼集合。包含了 Go 語言實用三方庫、微服務、數據庫、算法等代碼片段,雖然內容豐富但缺少分類和梳理。就算這樣還是要推薦給尋找 Go 進階之路的小伙伴,因為內容真的很好

8、sharingan:基於 Go 的流量 錄制/回放 工具。實現在不影響線上服務的前提下,線下采用線上的真實請求和參數進行測試。特別適合線上重要服務重構后的回歸測試,真實流量的測試有助於提早發現問題,避免重大事故

9、gocron:基於 Go 語言實現的輕量級定時任務管理平台。功能:

  • Web 管理界面
  • 定時任務可精確到秒
  • 任務失敗可重試,超時強制停止
  • 賬戶權限控制
  • 等等

10、sealos:一條命令即可快速部署 Kubernetes(k8s) 集群的工具

Java 項目

11、Android-skin-support:方便好用的 Android 換膚框架

@Override
public void onCreate() {
    super.onCreate();
    SkinCompatManager.withoutActivity(this)                         // 基礎控件換膚初始化
            .addInflater(new SkinMaterialViewInflater())            // material design 控件換膚初始化[可選]
            .addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件換膚初始化[可選]
            .addInflater(new SkinCardViewInflater())                // CardView v7 控件換膚初始化[可選]
            .setSkinStatusBarColorEnable(false)                     // 關閉狀態欄換膚,默認打開[可選]
            .setSkinWindowBackgroundEnable(false)                   // 關閉windowBackground換膚,默認打開[可選]
            .loadSkin();
}

12、lettuce-core:線程安全的高級 Java Redis 客戶端。基於 Netty 實現了非阻塞 I/O,支持同步、異步、集群、哨兵、管道等功能

RedisClient redisClient = RedisClient.create("redis://localhost/0");
StatefulRedisConnection<String, String> connection = redisClient.connect();

System.out.println("Connected to Redis");
connection.sync().set("key", "Hello World");

connection.close();
redisClient.shutdown(); 

JavaScript 項目

13、didact:教你從零寫一個 React 框架。通過一系列的文章和代碼,教授如何實現 React 框架,從而能夠更好的理解 React 內部原理

14、iDataV:大屏數據可視化項目集合。在線查看

15、milkdown:一款清爽見即所得的 Markdown 編輯器。不同於大多數 Markdown 編輯器它是插件驅動的,類似開源可自由擴展的 Typora。項目由 prosemirror+remark 構建,入門開發者從中可以學習到如何使用 prosemirror 來開發富文本編輯器,以及如何設計一個針對編輯器的插件系統

import { Editor } from '@milkdown/core';
import { commonmark } from '@milkdown/preset-commonmark';

import { history } from '@milkdown/plugin-history';

// import theme
import '@milkdown/theme-nord/lib/theme.css';

new Editor()
  .use(commonmark)
  .use(history)
  .create();

16、flat:前后端完全開源、功能豐富的在線教室項目。通過它可以快速完成支持多人視頻、語音、白板互動、錄制回放等功能的在線教室

17、react-beautiful-dnd:漂亮易用的 React 列表拖拽庫

PHP 項目

18、icon-workshop:移動應用圖標生成工具。能夠一鍵生成多種尺寸的 iOS/Android 應用圖標和 APP 啟動圖

Python 項目

19、moviepy:用於處理視頻的 Python 庫,它支持視頻剪輯、自定義效果、視頻合成、格式轉化、插入文字等功能。專於注視頻但不局限於此,還支持處理音頻和 GIF 圖片。雖然現在視頻剪輯的工具很豐富,但如果要批量處理視頻,用 Python+moviepy 寫個腳本應該可以一勞永逸,節省時間

20、weiboSpider:Python 寫的微博爬蟲,命令行直接啟動。支持獲取微博用戶、內容字段豐富。雖然爬蟲的實戰項目很多,但能一直更新的很少,因為只要數據源變動爬蟲就要跟進迭代。這個項目更新穩定回復問題及時實屬不易,希望大家在享受項目帶來的便利同時也可以 Star 支持一下

# 安裝
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
# 啟動
$ python3 -m weibo_spider

21、pyinstrument:簡單易用的 Python 代碼性能分析庫,優化 Python 代碼的工具。支持 Python 3.7+ 能夠分析異步代碼,僅需一條命令即可顯示具體到函數的耗時,快速指出影響代碼性能的地方,幫助提高代碼性能讓你的代碼快人一步

# 命令模式
Usage: pyinstrument [options] scriptfile [arg] ...
# 代碼片段模式
from pyinstrument import Profiler

profiler = Profiler()
profiler.start()
# 要分析的代碼
profiler.stop()

profiler.print()
# 還支持 flask 等 Web 框架

22、termpair:瀏覽器遠程+實時操作命令行的工具。讓開發者安全實時的共享終端,特別適合服務器非桌面系統的環境。有了它下次再遇到問題,求助大佬遠程協助就方便多了

# 安裝
pip install termpair
# 起服務
termpair serve
# 生成遠程控制終端的鏈接
termpair share

23、ray:基於 Python 的分布式計算框架,采用動態圖計算模型。使用起來很方便可通過裝飾器的方式,僅需修改極少的的代碼,讓原本運行在單機的 Python 代碼輕松實現分布式計算。目前多用於機器學習方面

import ray
ray.init()

@ray.remote
def f(x):
    return x * x

futures = [f.remote(i) for i in range(4)]
print(ray.get(futures))

Rust 項目

24、toydb:Rust 寫的分布式 SQL 數據庫實戰項目。作為一個學習項目並不適合於生產環境,但通過該項目你可以學習如何用 Rust 實現 Raft 協議、符合 ACID 的事物引擎、SQL 解析、數據持久化等。適合對數據庫底層運作原理感興趣的小伙伴

Swift 項目

25、FlappySwift:用 Swfit 寫的 Flappy Bird 游戲

26、NetNewsWire:適用於 macOS 和 iOS 的 RSS 閱讀器

其它

27、insomnia:基於 Electron 支持 GraphQL、REST、gRPC 的調試工具,請求網絡接口的桌面應用。不僅有簡約漂亮的界面,還支持 Windows、Linux、macOS 主流操作系統

28、keframe:Flutter 流暢度優化組件。通過分幀渲染解決由於構建導致的卡頓問題,適用於復雜列表或者頁面切換的場景

29、authpass:基於 Flutter 開發的適用於所有平台的密碼管理器。可通過 Dropbox 等雲服務同步數據,支持自動填充密碼

30、Unity3DTraining:Unity 游戲開發練習項目集合。包含仿寫泡泡龍、跑酷、切水果等游戲的源碼,還有作者收集的游戲效果源碼和相關文章

31、QASystemOnMedicalKG:從無到有搭建一個醫葯知識圖譜的開源項目。包含信息采集、清理、圖譜設計等,並基於圖譜實現了自動回答醫葯相關問題的服務

32、macos-virtualbox:幫你在 VirtualBox 上安裝 macOS 操作系統的工具。這個工具是一個 Bash 腳本,運行后只需要按回車即可完成安裝。目前已支持 Linux 、Windows、macOS 多個主流操作系統,可安裝 Catalina (10.15)、Mojave (10.14) 和 High Sierra (10.13) 等多個不同版本的蘋果系統

33、canvas-special:經典的 Canvas 實例集合。包括五子棋、坦克大戰、動態背景、動畫粒子特效等

34、brave-browser:快速、干凈、開源的網頁瀏覽器。由 JavaScript 的創造者布蘭登·艾克基於 Chromium 網頁瀏覽器和 Blink 排版引擎構建,擁有阻止網站追蹤的特點並且內置了廣告攔截器。支持 Android、Linux、macOS、iOS、Windows 操作系統,可一鍵導入書簽、瀏覽記錄、密碼、插件等,無負擔享受這片“凈土”

開源書籍

35、LearnOpenGL-CN:LearnOpenGL 教程的中文翻譯。OpenGL 是一個圖形 API,包含了一系列可以操作圖形、圖像的函數。它需要一個編程語言來工作,教程的示例代碼采用 C++ 編程語言。在線閱讀

36、Learn-Web-Hacking:Web 安全學習筆記,在線閱讀

機器學習

37、chineseocr_lite:輕量級中文 OCR 項目,提供將圖片上的中文轉成字符串的功能

38、ASRT_SpeechRecognition:基於深度學習的中文語音識別系統


如果你發現了 GitHub 上有趣的項目,就分享給大家伙吧。

以上就是本期的所有內容了,看完還不過癮?

關注 HelloGitHub 公眾號不僅可以收到第一時間的更新。點擊菜單欄->往期->月刊

往期月刊所有的內容盡收眼底一次看過癮!還有更多開源項目的介紹和寶藏項目等待你的發現。


免責聲明!

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



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