趣是最好的老師,HelloGitHub 讓你對編程感興趣!
HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
這里有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產生興趣!
以下為本期內容|每個月 28 號更新
1、toybox:該項目將 200 多個常用的 Linux 命令行工具,做成一個可執行文件。從而可以讓 Android 這種原本不支持 Linux 命令的系統,也得以用上 ls、find、ps 等命令。還可以用于快速構建最小的 Linux 環境
2、the_silver_searcher:比 ack 更快的命令行搜索工具。速度快、功能強大、使用簡單,支持 Linux、Windows、macOS 操作系統,還能夠整合進 Vim 和 Emacs 等編輯器
ack test_blah ~/code(8G)/ 104.66s user 4.82s system 99% cpu 1:50.03 total
ag test_blah ~/code(8G)/ 4.67s user 4.58s system 286% cpu 3.227 total
3、WindTerm:支持 SSH/Telnet/Serial/Shell/Sftp 的終端工具。雖然該軟件完全免費,但部分代碼尚未完全開源,對安全敏感的同學可以再觀望下
4、wavefunctioncollapse:基于波函數坍縮 (WFC) 算法,實現的無限城市示例。城市里有房子、樓梯、樹木、連接房屋的通道,你可以在城市中自由移動、跳躍、飛行,但不論你怎么移動都找不到盡頭,因為這座城市會無限延伸
5、NETworkManager:管理和解決網絡問題的工具。它集成了 IP 和端口掃描、WiFi 分析器、跟蹤路由、DNS 查詢等工具
6、ppsspp:能夠運行在 Android 和 PC 上的開源 PSP 模擬器
7、leocad:用來創建虛擬樂高模型的 CAD 工具。適用于 Windows、Linux 和 macOS 系統
8、csshake:用 CSS 實現抖動效果
9、MangoDB:真正開源的 MongoDB 替代品。它底層采用 PostgreSQL 作為存儲引擎,用 Go 語言實現了 MongoDB 協議,所以幾乎兼容所有的 MongoDB 庫,遷移起來毫無負擔。如果你用不到 MongoDB 的高級功能,還受限于它的開源協議,那么這個項目可作為 MongoDB 的開源替代方案。它才剛剛起步,建議觀望一段時間或做足測試再用于生產環境
10、caddy:用 Go 編寫的輕量級 Web 服務器。它相較于 Apache、Nginx 這些知名 Web 服務器,獨特點在于提供了編譯好的可執行文件,實現了真正的開箱即用。無需任何配置即可擁有免費的 HTTPS、自動把 Markdown 文件轉化成 HTML 等人性化的功能。如果是搭建中小型的 Web 服務,它完全夠用而且省時省心
11、croc:可以讓任意兩臺計算機,安全方便地傳輸文件和文件夾的工具。輕松實現端到端加密的跨平臺文件傳輸,還支持多文件傳輸、傳輸中斷和恢復等功能
12、jnativehook:獲取鍵盤和鼠標事件的 Java 庫。輕松監聽按鍵、鼠標移動、點擊等事件
import GlobalScreen;
import NativeHookException;
import NativeMouseWheelEvent;
import NativeMouseWheelListener;
// 鼠標移動
public class GlobalMouseWheelListenerExample implements NativeMouseWheelListener {
public void nativeMouseWheelMoved(NativeMouseWheelEvent e) {
System.out.println("Mosue Wheel Moved: " + e.getWheelRotation());
}
public static void main(String[] args) {
try {
GlobalScreen.registerNativeHook();
}
catch (NativeHookException ex) {
System.err.println("There was a problem registering the native hook.");
System.err.println(ex.getMessage());
ex.printStackTrace();
System.exit(1);
}
GlobalScreen.addNativeMouseWheelListener(new GlobalMouseWheelListenerExample());
}
}
13、spider-flow:用流程圖的方式編寫爬蟲的平臺。無需寫代碼就可以快速完成一個簡單的爬蟲
14、greenDAO:高性能的 Android ORM 庫。擁有體積小、易于使用、支持數據庫加密等特點,通過它 Android 開發者可以采用面向對象的方式操作數據庫,不需要再手寫和拼接 SQL 啦
15、vue-color-avatar:純前端實現的矢量風格頭像生成網站。可以通過搭配不同的素材,生成個性化頭像。該項目使用 Vite + Vue3 開發,能夠幫助前端初學者熟悉 Vue3 語法并掌握項目搭建的相關知識
16、colorfu:自動生成由文字/顏色/圖片/紋理元素組成的壁紙
17、pm2:Node.js 的進程管理工具。它容易上手操作簡單,可以有效地提高 Node.js 程序運行的穩定性,支持自動重啟、負載均衡、不停服務重啟、性能監控等功能,多用于生產環境中管理、監控 Node.js 進程
18、automa:通過圖形化界面拖拽功能模塊,實現瀏覽器自動操作的擴展工具。輕松實現自動填表、截圖、定時執行等操作。讓瀏覽器自動完成預設工作流的插件,從而減少重復性操作提高效率
19、PyWebIO:快速構建 Web 應用的 Python 工具。通過該項目你可在不寫 HTML、CSS、JS 代碼的前提下,僅用 Python 快速完成一個包含數據展示、表單的小型 Web 應用頁面
20、pottery:以 Python 的方式操作 Redis 的庫。忘記那些 Redis 命令吧,只要你知道如何使用 Python 字典,那么你就會用這個庫操作 Redis
>>> from pottery import RedisList
>>> tel = RedisDict({'jack': 4098, 'sape': 4139}, redis=redis, key='tel')
>>> tel['guido'] = 4127
>>> tel
RedisDict{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> tel['jack']
4098
>>> squares = RedisList([1, 4, 9, 16, 25], redis=redis, key='squares')
>>> squares
RedisList[1, 4, 9, 16, 25]
>>> squares[0]
1
21、zulip:完全開源的企業級即時通訊項目。后端采用 Python 語言實現性能足夠強大,功能齊全相當于開源、免費的 Slack,擁有拖拽上傳文件、代碼高亮、Markdown 語法、應用整合、容易接入的 API 等功能,還支持 Web、PC、iOS 和 Android 主流平臺,眾多知名企業都在用,能夠有效地提高團隊溝通和辦公效率。同時該項目對新手用戶友好,如果你想加入一個不錯的 Python 開源項目,推薦你花時間研究下它一定會有所收獲
22、webssh:簡單的 SSH 連接服務器的 Python Web 應用。該項目后端采用 Tornado Web 框架和 Python SSH 庫 paramiko,前端是 TypeScript 寫的命令行前端組件 Xterm.js 實現。整個項目簡單還具有實用價值,可作為 Python Web 的實戰項目學習
23、django-debug-toolbar:Django 的調試工具欄。可顯示當前請求和響應有關的各種調試信息,包括耗時、SQL、配置、性能等信息
1. 安裝:pip install django-debug-toolbar
2. TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"APP_DIRS": True,
# ...
}
]
3. INSTALLED_APPS = [
# ...
"debug_toolbar",
"django.contrib.staticfiles",
# ...
]
4. 增加 __debug__ URL
import debug_toolbar
from django.urls import include, path
urlpatterns = [
# ...
path('__debug__/', include(debug_toolbar.urls)),
]
5. MIDDLEWARE = [
# ...
"debug_toolbar.middleware.DebugToolbarMiddleware",
# ...
]
6. INTERNAL_IPS = [
# ...
"127.0.0.1",
# ...
]
24、hyperfine:命令行基準測試工具。可用來查看和對比命令的耗時,支持多次運行的統計分析、結果導出等功能
25、xcode-dev-cleaner:用于清理各種 Xcode 的緩存數據,釋放存儲空間。注意是清除 Xcode 緩存數據,不是卸載 Xcode 哈
26、toml:更易讀和易于維護的配置文件格式。如果你厭倦了 INI 的局限性、層層嵌套的 JSON 和 YAML 令人心驚膽戰的縮進語法,不防給 TOML 一個機會,它支持多種數據類型、拋棄了縮進和嵌套,而且眾多流行編程語言都有對應的庫。TOML 已經足夠成熟,絕對值得一試
27、waka-readme-stats:自動在 GitHub 個人首頁展示編程時長的工具。該項目通過 WakaTime 記錄用戶在 IDE 的使用時間,統計編程時長和數據,然后采用 GitHub Action 自動獲取并動態更新到 GitHub 個人首頁。輕而易舉地展示自己的編程時長
28、PathPlanning:常見的路徑規劃算法集合。項目包含了 Python 代碼實現、運行過程動畫以及相關論文
29、howdy:為 Linux 系統提供人臉識別解鎖電腦的工具。通過電腦內置的攝像頭和紅外設備,實現了類似 Windows Hello? 風格的身份認證,可用于登陸、鎖屏、sudo 等任何需要輸入密碼的地方
30、The-Open-Book:開源的電子水墨屏閱讀設備。動手能力強的同學可跟著這個項目,從焊電路板開始親手制作出一個類 Kindle 的 4.2 英寸閱讀設備
31、fl_chart:Flutter 圖表庫。它支持折線圖、條形圖、餅圖、散點圖和雷達圖
32、ugo-compiler-book:《從頭開發一個迷你 Go 語言》該書教你從頭實現迷你 Go 語言,內容包含了詞法解析、語法樹構建、函數閉包、接口、CGO 的實現等內容
33、archbase:教科書《計算機體系結構基礎》第三版
34、spring-in-action-v6-translate:《Spring 實戰第 6 版》中文翻譯
35、best_AI_papers_2021:2021 年必看的人工智能論文列表。該項目不是簡單的羅列論文,它不僅包含相關論文的代碼、效果展示,還有深入的文章和講解視頻。通過學習這些前沿的人工智能論文,提前了解 AI 在未來更多可能性
36、AnimeGANv2:可以將圖片和視頻轉換成漫畫風格的工具。采用的是神經風格遷移+生成對抗網絡(GAN)的組合,轉換速度快
感謝您的閱讀,如果覺得內容還不錯的話求贊、求分享,您的每一次支持都將讓 HelloGitHub 變得更好!??
本文為整理自己的github常用star. 免得到時候找個庫都不知道找哪個.
本文包含了nodejs和js.可能還含有一些其他語言的庫
詳情的可以參考我githubStart
ScrollMagic : 視差滾動插件 比較強大 可制定化多
jquery.localScroll :jquery 視差滾動插件 參考域上和美
serverspeeder : 銳速破解版
gm : nodejs圖形處理庫
responsive-nav.js: 同響應式導航欄 但是沒SlickNav好用
gulp-starter : gulp范例
shelljs : nodejs可以執行linux指令
fake2db : python測試數據庫 壓力測試
SlickNav : 響應式導航欄插件
notie : 屏幕內的通知插件
Caporal.js : nodejs快速生成命令行工具
Slideout.js : 移動端/pc端側滑插件
node.bcrypt.js : nodejs加密插件
cdnjs-importer : 參考cdnjs.com這個庫
csshake : css3抖動動畫
countUp.js : 數字加載動畫插件
bounce.js : js快速創建css3動畫
dynamics.js : js物理引擎動畫庫
remote_inspect_web_on_real_device 各種真機遠程調試方法匯總——“真機遠程調試”
spy-debugger : 移動端手機調試插件
ms :毫秒互換/ 轉換成秒/分/時 插件
web_js_css_frame : 前端框架合集介紹 --
ScrollTrigger : 滾動現實 Inview插件 比如進入某個div div需要做什么現實
Clusterize.js : 數據展示插件
Clamp.js : 多行文本溢出省略
dropload : 移動端上啦刷新 下拉加載插件
mobiscroll : 屌炸天的組件庫...但是收費 價格忒貴
flatpickr : flat風格的日歷選擇插件,功能性比較強!
perfect-scrollbar: 簡約但完美的自定義滾動條插件
Vconsole: weui的移動端console...某些特殊的環境下會出問題 比如某x付寶
iview : vue的組件庫..類型與vux
weui.js :weui.io組件js庫
jQuery-Parallax: jquery的鼠標滾動 頁面視差滾動
jsdom: nodejs jsdom引擎
qart.js:前端快速生成二維碼
cors: cors跨域處理問題
gulp-flatten: gulp扁平化組件 取消gulp層級目錄 比如dev/js/a/x1.js => /dist/js/x1.js
iscroll: iscroll無限滾動庫,注意其庫只能有一個子組件 比如div>div1 但是不能有 div>div1+div2
request-promise:request promise版
VueCircleMenu: vue圓形菜單組件
ityped: js打字機效果
swagger-editor: api文檔在線編寫工具
jquery-weui: 微信ui庫 jquery版本 如果同時引入weui,那么需要jquery-weui.css 覆蓋weui的樣式. 如果使用rem布局(flex)請覆蓋jquery-weui的html(font-size) 同時對某些jquery-weui組件進行調整
weui: 微信ui庫
particles.js:前端粒子庫
normalizr:數據結構扁平化庫
docsify:寫文檔用的庫
conversational-form:像聊天一樣填寫biaodn
csspin:純css寫的loading動畫
fecha:時間格式化庫,跟moment.js一樣,但是輕量功能少,用于微信小程序
Remodal:模態框彈出庫
nprogress:頁面頂部很細小的loading條
multer:nodejs的中間件,用來處理form-data
kcptun&&kcptun_gclient:kcptun架構相關庫
colors.js:nodejs讓你的命令行加上特效
pinyin:前端/nodejs漢字轉拼音
json2csv:如名
webuploader:前端文件上傳庫
anyproxy:阿里出品的一款代理工具
sequelize:ORM查詢mysql,關系型數據庫,加快開發效率
stickUp:類似于fixed,根據滾動多少才fixed,可以用來做導航條
plax:視差滾動插件,推薦Parallax.js
scrollMonitor:視差滾動插件 滾輪滾動 .不同于plax
pm2:nodejs部署管理工具
Mock:后臺沒給數據之前偽造一份數據.加快開發效率
nightmare:封裝過的PhantomJS.可以用來做瀏覽器訪問
node-schedule:nodejs定時器工具
colour-schemes:各大IDE,編輯器的樣式配置
store.js:封裝好的前端存儲localStorage,global等等
cropper:jquery圖片裁剪插件
echo:圖片lazyloading加載 懶加載
velocity:js動畫庫插件.增加了css3動畫支持
casperjs:前端UI自動化測試框架
SVG-Loaders:SVG/css3 loading 加載動畫
loaders.css:純css的加載動畫 loading
SpinKit:優雅高效的加載動畫
device.js:判斷目前訪問的瀏覽器
stellar.js:4kstar的視差滾動 滾輪滾動
scrollpath:視差滾動,滾輪滾動.
WOW:滾動到某個div加載某個動畫 依賴animate.css
jquery_lazyload:jquery的懶加載
scrollreveal:視差滾動,優雅高效
zoom.js:前端點擊放大功能
reveal.js:前端做ppt的工具
nodePPT:前端做ppt的工具 國產
Parallax.js:最好的視差滾動插件,支持多個div視差滾動,通過!important來控制position不被覆蓋
skrollr:視差滾動插件..加特效的
fastclick:處理移動端點擊事件
mobileTech:移動端統計
purl&&URI.js:處理url查詢參數
phantomjs&&phantomjs-node:nodejs中的瀏覽器
pageres&pageres-cli:nodejs截圖插件
cheerio:nodejs dom解析庫
node-crawler:封裝好的爬蟲..方便開發而已
SQLiScanner:sql注入查詢
lib-flexible:淘寶flexible解決方案 利用rem
vux:vue.js 狀態管理插件
validate.js:validate.js數據驗證插件
nvm:nodejs版本管理工具
gitignore:git忽略文件庫
plyr:html5 video庫, 已經寫好了樣式,方便拿來使用
normalize.css:格式化瀏覽器
co:異步promise轉為同步 yield
Waves:谷歌設計風格 點擊按鈕會有水波紋
CaptchaBundle:php驗證碼
css3d-engine:css3d引擎
videojs-contrib-hls:videojs中的hls轉換
anime:js動畫庫
editor.md:前端markdown文本編輯器
OwlCarousel:前端滾動插件
gfwlist:防火墻list
sift.js:mongodb的語法查詢json
electron-packager:electron打包工具
者:yeyan1996
轉發鏈接:https://juejin.im/post/5c76843af265da2ddd4a6dd0
*請認真填寫需求信息,我們會在24小時內與您取得聯系。