《HelloGitHub》第 25 期
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!
簡介
分享 GitHub 上有趣、入門級的開源項目。
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。
- 會編程的可以貢獻代碼
- 不會編程的可以反饋使用這些工具中的 Bug
- 幫着宣傳你覺得優秀的項目
- Star 項目⭐️
在瀏覽、參與這些項目的過程中,你將學習到更多編程知識、提高編程技巧、找到編程的樂趣。
🎉 最后 HelloGitHub 這個項目就誕生了 🎉
以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容
C 項目
1、swipe-workspace:基於 libinput 實現 Linux 系統下通過二指滑動控制面板,切換屏幕的程序。雖然功能簡單,且不支持全平台。但是十分推薦這種自己動手實現一個實用的功能這種行為,這是非常有成就感的事情
CSS 項目
2、tabler:一套基於 Bootstrap 4 免費開源的 Dashboard 模版
Go 項目
3、dynamo.cli:AWS DynamoDB 是一項快速靈活的 NoSQL 數據庫服務。如果大家使用這個用服務,但又記不住蹩腳的 AWS 客戶端的查詢命令。可以使用這個工具,通過 SQL 命令查詢、操作 Amazon DynamoDB 數據庫
4、mqant:一款基於 Go 語言的簡潔、高性能的分布式游戲服務框架。快速上手文檔,作者闡述了自己為什么選用 Go 作為開發語言和一些設計思路
Java 項目
5、Java-Interview:該項目介紹的內容包含:Java 基礎知識、底層原理、算法詳解、大廠面試真題等
JavaScript 項目
6、battle-city:基於 React 的經典坦克大戰,在線試玩。歡迎感興趣的小伙伴動起手來提交代碼加入到這個項目
7、SVG-Skeleton:通過 SVG 元素去描述去骨骼圖的占位元素。支持 JSX 讓編寫 SVG 無差別化、復用 SVG 片段、類組件化模式。讓交互變得更加人性化,適合當下技術流行趨勢,2KB 的大小根本不必擔心加載問題。示例代碼如下:
import SVGSkeleton from 'svg-skeleton';
const { h, render } = SVGSkeleton;
// 內置 #shining 動畫
const Item = (
<svg width="750" height="191">
<circle cx="95" cy="102" r="63" fill="#edeff0" mask="url(#shining)" ></circle>
<rect width="160" height="35" x="190" y="45" fill="#edeff0" mask="url(#shining)" ></rect>
<rect width="400" height="35" x="190" y="90" fill="#edeff0" mask="url(#shining)" ></rect>
<line x1="0" y1="190" x2="750" y2="190" stroke="#edeff0"></line>
</svg>
);
const Page = ( ( ) => {
let List = [ ];
for ( let i = 0; i < 6; i++ ) {
List.push( ( <Item y={ i == 0 ? 0 : i * 191 } ></Item> ) );
}
return (
<svg width="750" height="1334" fill="#fafafa">
{ List }
</svg>
);
} )( );
render( Page, document.body );
8、vuepress:Vue 官方出品的靜態網站生成器。大家的個人博客是不是要折騰一番了?官方中文文檔
9、zan-proxy:該項目集成了 HTTP 請求轉發、模擬響應數據、自定義 DNS 解析等功能。使得可以本地代碼調試線上頁面,環境再也不是問題。對於處於開發環境“惡劣”的開發者來說是種福音和解脫
10、gcoord:一個處理地理坐標的輕型 JS 庫。由於處理國內對於地理坐標有特殊的政策,導致從 API 得到的地理坐標放在百度地圖或高德地圖上會有數百米的偏移,gcoord 可以將坐標在不同坐標系下轉換,修正偏移。轉換為百度地圖坐標系的示例代碼:
var result = gcoord.transform(
[ 116.403988, 39.914266 ], // 經緯度坐標
gcoord.WGS84, // 當前坐標系
gcoord.BD09 // 目標坐標系
);
console.log( result ); // [ 116.41661560068297, 39.92196580126834 ]
Objective-C 項目
11、RDM:輕松地改變 MacBook Retina 屏幕分辨率的工具
Python 項目
12、Synonyms:中文近義詞工具包。支持自然語言理解的很多任務:文本對齊、推薦算法、相似度計算、語義偏移、關鍵字提取、概念提取、自動摘要、搜索引擎等。示例代碼如下:
import synonyms
synonyms.seg("能量")
13、pook:模擬 HTTP 請求結果的庫,可用於單元測試等場景。采用裝飾器方式調用的示例代碼如下:
import pook
import requests
@pook.get('http://httpbin.org/status/500', reply=204)
@pook.get('http://httpbin.org/status/400', reply=200)
def fetch(url):
return requests.get(url)
res = fetch('http://httpbin.org/status/400')
print('#1 status:', res.status_code)
res = fetch('http://httpbin.org/status/500')
print('#2 status:', res.status_code)
14、incubator-airflow:定時任務管理平台,管理和調度各種離線定時任務,自帶 Web 管理界面。當定時任務量達到百級別的時候,就無法再使用 crontab 有效、方便地管理這些任務了。該項目就是為了解決了這個問題而誕生的
15、wtfpython:(英文)有趣、令人驚訝(坑爹)、鮮為人知的 Python 代碼片段集合
其它
16、javascript-lessons:《JavaScript 闖關記》該教程部分章節精心設計了挑戰關卡
17、linux-insides-zh:Linux 內核揭密
18、awesome-leetcode:該項目收集了各種編程語言的 Leetcode 題解
19、open-source-mac-os-apps:(英文)MacOS 系統上的開源應用集合,並標注了應用通過那種編程語言實現
20、awesome-spider:爬蟲集合,大多為 Python 語言項目
開源書籍
21、modern-cpp-tutorial:《高速上手 C++ 11/14/17》閱讀須知:
- 本書假定讀者已經熟悉了傳統 C++ ,至少在閱讀傳統 C++ 代碼上不具備任何困難。換句話說,那些長期使用傳統 C++ 進行編碼的人、渴望在短時間內迅速了解現代 C++ 特性的人非常適合閱讀本書;
- 本書一定程度上介紹了一些現代 C++ 的黑魔法,但這些魔法畢竟有限,不適合希望進階學習現代 C++ 的讀者,本書的定位系現代 C++ 的快速上手。當然,希望進階學習的讀者可以使用本書來回顧並檢驗自己對現代 C++ 的熟悉度。
22、advanced-go-programming-book:《Go語言高級編程》該書針對 Go 語言有一定經驗,想更加深入了解 Go 語言各種高級用法的開發人員
機器學習
23、pytorch-book:書籍《深度學習框架 PyTorch:入門與實踐》的示例代碼,可以作為一個獨立的 PyTorch 入門指南和教程。內容結構如下圖所示:
24、ChatBotCourse:該項目介紹了如何自己動手做聊天機器人。全面地介紹了所需要的技術:自然語言識別、分詞、語料庫、機器學習等,包含所需的 Java 和 Python 代碼
換種方式閱讀
- 網站: https://hellogithub.com
- GitBook: https://gitbook.hellogithub.com
聲明
如果你發現了好玩、有意義的開源項目 點擊這里 分享你覺得有意思的項目。
歡迎轉載,請注明出處和作者,同時保留聲明。