大家好,我是 Rocky0429,一個最近老在 GitHub 上閑逛的蒟蒻...
特別慚愧的是,雖然我很早就知道 GitHub,但是學會逛 GitHub 的時間特別晚。當時一方面是因為菜,看着這種全是英文的東西難受,不知道該怎么去玩,另一方面是一直在搞 ACM,沒有做一些工程類的項目,所以想當然的以為和 GitHub 也沒什么關系(當然這種想法是錯誤的)。
后來自己花了一個星期看完了 Python 的基礎知識,就想着找點項目看一看,學一學,練一練,這個時候我才真正的去了解 GitHub,開始了在 GitHub 的瞎逛之旅,在開始之初,隨之而來的問題是我不知道哪些項目當時還是新手的我,哪些項目是好項目,哪些項目好玩有價值。
雖然現在我已經在 GitHub 上逛的相當流暢,但我還是想如果有一個東西可以收集這些對新手友好的東西,那么我當時可以少走更多的彎路,節省更多的時間吧。
那么有這么一個東西么?
有的,而且已經做了三年多,這就是HelloGitHub,一個分享 GitHub 上有趣,入門級的開源項目。
在項目中,內容每月 28 號以月刊的形式更新發布,主要是面向編程新手、熱愛編程、對開源社區感興趣人群的項目。更新的內容主要包括:各種語言的流行項目、入門級項目、讓生活變得更美好的工具、書籍、學習心得筆記、企業級項目等。
這些項目都有一些共同的特征,那就是很酷,非常容易上手的項目,編程的魅力和便捷體驗起來就是這么簡單。
再次給出 GitHub 地址:
https://github.com/521xueweihan/HelloGitHub
下面我們就來看看,這個項目具體包括啥,我們以最新的月刊(43 期)為例。
0x00 簡介
0x01 目錄
0x02 內容
每個類型的項目我們挑一個來看。
C 項目
tmux:一個終端復用工具,可極大的提高工作效率。
提供了強勁的、易於使用的命令行界面;
可橫向和縱向分割窗口;
窗格可以自由移動和調整大小,或直接利用四個預設布局之一;
可在多個緩沖區進行復制和粘貼;
可通過交互式菜單來選擇窗口、會話及客戶端;
等等。
C# 項目
BenchmarkDotNet:功能強大的用於基准測試 .NET 庫。
C++ 項目
dbg-macro:打日志是 C++ 開發中必不可少的一種 debug 方式,dbg-macro 受 rust-lang 中 的 dbg 啟發,提供比 printf 和 std::cout 更好的宏函數。主要有如下特點:
美觀的彩色輸出(當輸出不是交互式終端時,顏色將自動禁用);
兼容 C++11,並且是 header-only;
支持基礎類型和 STL 容器類型的輸出;
除了基本信息外,還輸出變量名和類型;
啟用 DBG_MACRO_DISABLE 生成 release 版。
#include <vector>
#include <dbg.h>
// You can use "dbg(..)" in expressions:
int factorial(int n) {
if (dbg(n <= 1)) {
return dbg(1);
} else {
return dbg(n * factorial(n - 1));
}
}
int main() {
std::string message = "hello";
dbg(message); // [example.cpp:15 (main)] message = "hello" (std::string)
const int a = 2;
const int b = dbg(3 * a) + 1; // [example.cpp:18 (main)] 3 * a = 6 (int)
std::vector<int> numbers{b, 13, 42};
dbg(numbers); // [example.cpp:21 (main)] numbers = {7, 13, 42} (size: 3) (std::vector<int>)
dbg("this line is executed"); // [example.cpp:23 (main)] this line is executed
factorial(4);
return 0;
}
Go 項目
go-admin:基於 Golang 語言的數據可視化與管理平台。特性如下:
🚀
高生產效率:10 分鍾內做一個好看的管理后台;
🎨
主題:默認為 adminlte,更多好看的主題正在制作中,歡迎給我們留言;
🔢
插件化:提供插件使用,真正實現一個插件解決不了問題,那就兩個;
✅
認證:開箱即用的 rbac 認證系統;
⚙️
框架支持:支持大部分框架接入,讓你更容易去上手和擴展。
Java 項目
eladmin:基於 Spring Boot 2.1.0、Vue 的前后端分離的后台管理系統,支持數據字典與數據權限管理、一鍵生成前后端代碼、前端菜單動態路由等。基於 Spring Boot2.1.0 框架,涉及的技術棧:非關系數據庫 redis、接口測試工具 swagger、druid 數據源驅動、郵件依賴(javax.mail)、三方支付和雲存儲 SDK、頁面模板引擎 freemarker。技術棧豐富,初學者可以作為實戰項目學習和使用。
JavaScript
chart-race-react:一個簡單易用的 Bar Chart Race(長條圖賽跑動畫) React 組件。示例代碼:
import ReactDOM from 'react-dom';
import BarChart from 'chart-race-react';
ReactDOM.render(<BarChart />, document.getElementById('root'));
Python 項目
TagUI-Python:一個 Python 自動化操作的庫。比如:自動打開網頁並截圖,示例代碼:
t.init()
t.url('https://www.google.com')
t.type('q', 'decentralization[enter]')
t.snap('page', 'results.png')
t.close()
Ruby 項目
shift:一個 Ruby 語言寫的在線 MySQL 數據庫遷移工具。
Swift 項目
Percent:讓 Swift 語言支持百分比類型,消除精度缺失的煩惱。示例代碼:
import Percent
10% + 5.5%
//=> 15.5%
-10% / 2
//=> -5%
其他
cascadia-code:微軟開源的一套等寬字體,有趣的是可以組合字符創建新的字形。組合效果如下:
開源書籍
python_ebook:Python 編程相關的電子書資源集合項目。
book:(英文)《Cosmic Python》講述如何管理復雜性的 Pythonic 應用程序結構的書籍。
教程
BigData-Notes:大數據入門教程,該教程介紹了大數據常用技術棧的基礎和核心知識。內容涵蓋:Hadoop、Spark、Storm、HBase、Hive、ZooKeeper、Kafka 等。
機器學習
dimensionality_reduction_alo_codes:該項目使用 Python 實現了 11 種經典的數據抽取(數據降維)算法。同時附有相關資料、展示效果,適用於機器學習初學者和剛剛入坑數據挖掘的小伙伴。
0x03 寫在之后
以上,就是今天分享的內容,希望更多的人能夠知道 HelloGitHub 這個項目,內容已經在這了,萬事俱備,差的就是你學習的驅動力和對作者 Star 的支持了。
讓走在開源路上的開發者不再孤單,讓想進入開源世界的人不再畏懼。
看完有所收獲?點個在看,讓更多人可以看到~謝謝啦!
今天的分享就到這,拜里個拜~
❤️ 看完有所收獲?希望愛學習的你不要吝嗇三連擊喲[點贊 + 收藏 + 評論]~
❤️可以關注我的原創公眾號:「Python空間」,更多優質的技術文章第一時間更新。最后送你新人大禮包一份,關注微信公眾號,后台回復:“掘金” 即可獲取!
作者Info:
【作者】:Rocky0429
【原創公眾號】:Python空間。
【簡介】:CSDN 博客專家, 985 計算機在讀研究生,ACM 退役狗 & 亞洲區域賽銀獎划水選手。這是一個堅持原創的技術公眾號,每天堅持推送各種 Python 基礎/進階文章,數據分析,爬蟲實戰,數據結構與算法,不定期分享各類資源。
【轉載說明】:轉載請說明出處,謝謝合作!~