網站新增了 Web 服務器排行榜、數據庫排行榜javascript
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!html
分享 GitHub 上有趣、入門級的開源項目。前端
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。java
在瀏覽、參與這些項目的過程當中,你將學習到更多編程知識、提升編程技巧、找到編程的樂趣。python
🎉 最後 HelloGitHub 這個項目就誕生了 🎉react
如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容linux
一、obs-studio:由 OBS 項目維護的免費開源流媒體和錄製程序。該程序支持 Windows 七、macOS 10.十、Ubuntu 14.04 操做系統。可用於直播和屏幕錄製,下載地址git
二、Algorithms_C:各類基礎算法、數據結構的 C 語言實現。這個TheAlgorithms 開源組織的項目包含基礎算法的各類編程語言的示例代碼github
三、CppCon2018:CppCon 2018 幻燈片和資料web
四、wxpay:Go 的微信支付 SDK。微信系的 SDK,填補 Go 在微信支付開發界的空白。支持刷卡支付、統一下單、查詢訂單、撤銷訂單、關閉訂單等。示例代碼以下:
// 建立支付帳戶 account1 := wxpay.NewAccount("appid", "mchid", "apiKey", false) account2 := wxpay.NewAccount("appid", "mchid", "apiKey", false) // 新建微信支付客戶端 client := wxpay.NewClient(account1) // 設置證書 account.SetCertData("證書地址") // 設置支付帳戶 client.setAccount(account2) // 設置http請求超時時間 client.SetHttpConnectTimeoutMs(2000) // 設置http讀取信息流超時時間 client.SetHttpReadTimeoutMs(1000) // 更改簽名類型 client.SetSignType(HMACSHA256)
五、thunder:Facebook GraphQL 協議的 Go 語言版本。相比以前的其它 GraphQL 庫,經過反射結構體的 tag 能夠自動生成 schema 給前端,更加便於開發。示例代碼:
// Friend is a small struct representing a person. type Friend struct { FirstName string Last string `graphql:"lastName"` // use a custom name Added time.Date `graphql:"-"` // don't expose over graphql } // FullName builds a friend's full name. func (f *Friend) FullName() string { return fmt.Sprintf("%s %s", f.FirstName, f.Last) } // registerFriend registers custom resolvers on the Friend type. // // Note: registerFriend wouldn't be necessary if the type only // had the default struct field resolvers above. func registerFriend(schema *schemabuilder.Schema) { object := schema.Object("Friend", Friend{}) // fullName is a computed field on the Friend{} object. object.FieldFunc("fullName", Friend.FullName) }
六、wechat-go:微信網頁版 API 的 Go 實現。支持模擬微信網頁版的登陸、聯繫人、消息收發、機器人回覆等功能。示例代碼片斷:
func main() { // 建立session, 一個session對應一個機器人 // 二維碼顯示在終端上 session, err := wxweb.CreateSession(nil, nil, wxweb.TERMINAL_MODE) if err != nil { logs.Error(err) return } // 註冊插件, 全部插件默認是開啓的 faceplusplus.Register(session) replier.Register(session) switcher.Register(session) gifer.Register(session) // 你也能夠本身選擇關閉插件裏的handler(消息處理器) session.HandlerRegister.DisableByName("faceplusplus") // 登陸並接收消息 if err := session.LoginAndServe(false); err != nil { logs.Error("session exit, %s", err) } }
七、gitea:一個極易安裝、運行快速、安裝簡單、使用體驗良好的自建 Git 服務。採用 Go 做爲後端語言,支持 Linux、 macOS、Windows 等,在線Demo。安裝步驟以下:
$ git clone https://github.com/go-gitea/gitea $ cd gitea $ TAGS="bindata" make generate all $ ./gitea web
八、XChart:用於繪製數據的輕量級 Java 庫。示例代碼:
double[] xData = new double[] { 0.0, 1.0, 2.0 }; double[] yData = new double[] { 2.0, 1.0, 0.0 }; // Create Chart XYChart chart = QuickChart.getChart("Sample Chart", "X", "Y", "y(x)", xData, yData); // Show it new SwingWrapper(chart).displayChart(); // Save it BitmapEncoder.saveBitmap(chart, "./Sample_Chart", BitmapFormat.PNG); // or save it in high-res BitmapEncoder.saveBitmapWithDPI(chart, "./Sample_Chart_300_DPI", BitmapFormat.PNG, 300);
九、AndroidAutoSize:學習成本極低的 Android 屏幕適配方案,已被知名 APP 用於線上產品
十、MyPerf4J:一個針對高併發、低延遲應用設計的高性能 Java 性能監控和統計工具。特性:
十一、chrome-plugin-demo:Chrome 插件開發完整教程,可用來學習插件開發
十二、TypeScript-React-Starter:由 Microsoft 建立,該項目詳細介紹瞭如何使用 TS 基於 create-react-app 建立 React 項目模版的步驟。TS 出現使得 JS 具備了強類型語言的嚴謹性,而且還保留了JS的靈活。React 是目前超火的前端框架,二者的結合很是值得學習
1三、d3:D3 的全稱是(Data-Driven Documents),該庫提供了各類簡單易用的函數,大大簡化了 JavaScript 操做數據的難度。該庫的使用是數據可視化必須掌握的技術,入門教程,示例 demo
1四、33-js-concepts:該項目介紹了每一個 Javascript 開發者應該知道的 33 個概念。列舉了 Javascript 中很是常見的 33 個概念,對於深刻了解 Javascript 語言有很大的幫助。中文閱讀
1五、awslogs:一個簡單的命令行工具,用於在本地查詢 Amazon CloudWatch 日誌,強大的支持多實例日誌彙總查看。簡單的查看命令:awslogs get /var/logs/syslog ALL -s1d
1六、CUP:CUP 基礎庫是百度開源的 Python 語言基礎庫,致力將 DEV 從涉及底層操做、Util 操做類解放出來,使其更關注構建 service 上層業務邏輯。
目前已涵蓋了構建一個服務的各個方面,你們能夠從基礎庫的代碼結構、wiki、doc 中進行簡單瞭解。
cup |-- cache.py module 緩存相關模塊 ( Memory cache related module ) |-- decorators.py module python 修飾符,好比 @Singleton 單例模式 (Decorators of python) |-- err.py module 異常 exception 類, Exception classes for CUP |-- __init__.py module 默認__init__.py, Default __init__.py |-- log.py module 打印日誌類,CUP 的打印日誌比較簡潔、規範,設置統1、簡單(cup logging module) |-- mail.py module 發送郵件 ( CUP Email module (send emails)) |-- net package 網絡相關操做( Network operations, such as net handler parameter tuning ) |-- oper.py module 一些混雜操做(Mixin operations) |-- platforms.py module 跨平臺、平臺相關操做函數(Cross-platform operations) |-- res package 資源獲取、實時用量統計等,全部在 /prco 可得到的系統資源、進程、設備等信息 ( Resource usage queries (in /proc)、Prcoess query、etc ) |-- shell package 命令 Shell 操做 pakcage ( Shell Operations、cross-hosts execution ) |-- services package 構建服務支持的類(好比心跳、線程池 based 執行器等等) Heartbeat、Threadpool based executors、file service、etc |-- thirdp package 第三方依賴純 Py 模塊( Third-party modules:pexpect、httplib2 ) |-- timeplus.py module 時間相關的模塊(Time related module) |-- unittest.py module 單元測試支持模塊( Unittest、assert、noseClass ) |-- util package 線程池、可打斷線程、語義豐富的配置文件支持( ThreadPool、Interruptable-Thread、Rich configuration、etc ) |-- version.py module 內部版本文件,CUP Version
1七、supervisor:Python 開發的一個 C/S 服務,是 Linux/Unix 系統下的一個進程管理工具,不支持 Windows 系統。它能夠很方便的監聽、啓動、中止、重啓一個或多個進程。用 Supervisor 管理的進程,當一個進程意外被殺死,supervisort 監聽到進程死後,會自動將它從新啓動,很方便的作到進程自動恢復的功能,提升系統、服務的穩定性,多用於生產環境
1八、gifski-app:Gifski這個開源程序能夠將一系列圖片或一段視頻轉化爲高質量的gif,高質量是這個程序最大的特點,下面咱們將從使用與評價兩個方面來介紹這個程序。Gifski實際上適用於windows,mac以及linux三個平臺,惟一不一樣的是,mac平臺上的gifski內置了視頻分幀工具,所以能夠直接把視頻拖入程序窗口便可生成gif,而其它平臺上則只能使用第三方程序分幀後才能處理,而且要在命令行中運行
1九、zh-google-styleguide:Google 開源項目風格指南 (中文版)
20、README:該項目介紹了 GFM 的語法和示例展現。GitHub 的 Markdown 語法在標準的語法基礎上作了擴充,稱之爲 GitHub Flavored Markdown,簡稱 GFM。友好的 README 是項目的第一印象,這點很重要
2一、puppeteer-api-zh_CN:Puppeteer 中文文檔(與官方保持同步)
2二、quick-SQL-cheatsheet:SQL 速查表,中文查閱
2三、awesome-algorithm:Leetcode 題解及經典算法實現,實現語言包含 Python、Java、C++、JS
2四、nndl:《神經網絡與深度學習》該課程主要介紹神經網絡與深度學習中的基礎知識、主要模型(卷積神經網絡、遞歸神經網絡等)以及在計算機視覺、天然語言處理等領域的應用。在線閱讀
2五、pwc:深度學習、機器學習論文集合(英文)
若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。
歡迎轉載,請註明出處和做者,同時保留聲明。