www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > HelloGitHub

興趣是最好的老師,HelloGitHub 就是幫你找到興趣!

簡介

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

這是一個面向編程新手熱愛編程、對開源社區(qū)感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區(qū)中。

  • 會編程的可以貢獻代碼
  • 不會編程的可以反饋使用這些工具中的 Bug
  • 幫著宣傳你覺得優(yōu)秀的項目
  • Star 項目??

在瀏覽、參與這些項目的過程中,你將學習到更多編程知識、提高編程技巧、找到編程的樂趣。

???? 最后 HelloGitHub[1] 這個項目就誕生了 ????


以下為本期內容|每個月 28 號發(fā)布最新一期|點擊查看往期內容[2]

C 項目

1、tmux:一個終端復用工具,可極大的提高工作效率。

  • 提供了強勁的、易于使用的命令行界面
  • 可橫向和縱向分割窗口
  • 窗格可以自由移動和調整大小,或直接利用四個預設布局之一
  • 可在多個緩沖區(qū)進行復制和粘貼
  • 可通過交互式菜單來選擇窗口、會話及客戶端
  • 等等


長按識別二維碼,直達項目

C# 項目

2、BenchmarkDotNet:功能強大的用于基準測試 .NET 庫

長按識別二維碼,直達項目

C++ 項目

3、CppNet:一個封裝在 Tcp 協(xié)議上的 Proactor 模式 multi-thread 網(wǎng)絡庫。包含 OS 接口調用、回調處理、定時器、緩存管理等,這里有從操作系統(tǒng)到應用層的所有網(wǎng)絡細節(jié),便于初學者學習和實踐。

  • 簡單:只導出了最少量的接口,其聲明都類似系統(tǒng) socket API。對客戶端而言,只新增了一個 buffer 類型
  • 快速:采用性能最優(yōu)的 epoll 和 IOCP 做事件驅動,驚群處理交由內核。每個連接都獨享一個內存池,從內存池中申請的內存都由智能指針管理
  • 清晰:結構上分為事件驅動,會話管理,接口三層,通過回調向上通知。模塊之間職責分工明確,最大的類不超過 500 行代碼


長按識別二維碼,直達項目

4、dbg-macro:打日志是 C++ 開發(fā)中必不可少的一種 debug 方式,dbg-macrorust-lang中 的 dbg 啟發(fā),提供比 printf 和 std::cout 更好的宏函數(shù)。主要有如下特點:

  • 美觀的彩色輸出(當輸出不是交互式終端時,顏色將自動禁用)
  • 兼容 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;}

長按識別二維碼,直達項目


5、CppCon2019:C++ 2019 大會的幻燈片和相關材料集合

長按識別二維碼,直達項目

Go 項目

6、RedisShake:阿里開源的用于 redis 數(shù)據(jù)同步的工具。原理圖如下:

長按識別二維碼,直達項目

7、bigcache:基于 Go 語言的高性能大緩存庫。在 Ubuntu 18.04 LTS,機器配置 i7-6700K CPU @ 4.00GHz with 32GB of RAM 上性能測試結果:

go versiongo version go1.13 linux/amd64
cd caches_bench; go test -bench=. -benchmem -benchtime=4s ./... -timeout 30mgoos: linuxgoarch: amd64pkg: github.com/allegro/bigcache/v2/caches_benchBenchmarkMapSet-8 12999889 376 ns/op 199 B/op 3 allocs/opBenchmarkConcurrentMapSet-8 4355726 1275 ns/op 337 B/op 8 allocs/opBenchmarkFreeCacheSet-8 11068976 703 ns/op 328 B/op 2 allocs/opBenchmarkBigCacheSet-8 10183717 478 ns/op 304 B/op 2 allocs/opBenchmarkMapGet-8 16536015 324 ns/op 23 B/op 1 allocs/opBenchmarkConcurrentMapGet-8 13165708 401 ns/op 24 B/op 2 allocs/opBenchmarkFreeCacheGet-8 10137682 690 ns/op 136 B/op 2 allocs/opBenchmarkBigCacheGet-8 11423854 450 ns/op 152 B/op 4 allocs/opBenchmarkBigCacheSetParallel-8 34233472 148 ns/op 317 B/op 3 allocs/opBenchmarkFreeCacheSetParallel-8 34222654 268 ns/op 350 B/op 3 allocs/opBenchmarkConcurrentMapSetParallel-8 19635688 240 ns/op 200 B/op 6 allocs/opBenchmarkBigCacheGetParallel-8 60547064 86.1 ns/op 152 B/op 4 allocs/opBenchmarkFreeCacheGetParallel-8 50701280 147 ns/op 136 B/op 3 allocs/opBenchmarkConcurrentMapGetParallel-8 27353288 175 ns/op 24 B/op 2 allocs/opPASSok    github.com/allegro/bigcache/v2/caches_bench  256.257s

長按識別二維碼,直達項目

8、pacgo:基于 Go 實現(xiàn)的終端吃豆人游戲

長按識別二維碼,直達項目

9、go-admin:基于 Golang 語言的數(shù)據(jù)可視化與管理平臺。特性如下:

  • ????高生產效率:10 分鐘內做一個好看的管理后臺
  • ????主題:默認為 adminlte,更多好看的主題正在制作中,歡迎給我們留言
  • ????插件化:提供插件使用,真正實現(xiàn)一個插件解決不了問題,那就兩個
  • ?認證:開箱即用的 rbac 認證系統(tǒng)
  • ??框架支持:支持大部分框架接入,讓你更容易去上手和擴展


長按識別二維碼,直達項目

10、zerolog:一個速度快、專門用于輸出 JSON 格式日志的庫。還在為解析不規(guī)則的日志而煩惱嗎?有了 zerolog 你可以跳起來了!當然它還有低效但可在控制臺輸出漂亮日志的模式,快去試試吧。示例代碼:

ackage main
import ( "github.com/rs/zerolog" "github.com/rs/zerolog/log")
func main() { zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
log.Info().Msg("hello world")}
// Output: {"time":1516134303,"level":"info","message":"hello world"}

長按識別二維碼,直達項目

Java 項目

11、AutoUpdateProject:一個簡單易用、接入方便、UI 多樣的 Android 內實現(xiàn)在線更新的庫。示例代碼:

//更新庫配置UpdateConfig updateConfig = new UpdateConfig()        .setDebug(true)//是否是Debug模式        .setBaseUrl("http://www.cretinzp.com/system/versioninfo")//當 dataSourceType 為 DATA_SOURCE_TYPE_URL 時,配置此接口用于獲取更新信息        .setMethodType(TypeConfig.METHOD_GET)//當 dataSourceType 為 DATA_SOURCE_TYPE_URL 時,設置請求的方法        .setDataSourceType(TypeConfig.DATA_SOURCE_TYPE_URL)//設置獲取更新信息的方式        .setShowNotification(true)//配置更新的過程中是否在通知欄顯示進度        .setNotificationIconRes(R.mipmap.download_icon)//配置通知欄顯示的圖標        .setUiThemeType(TypeConfig.UI_THEME_AUTO)//配置 UI 的樣式,一種有 12 種樣式可供選擇        .setRequestHeaders(null)//當 dataSourceType 為 DATA_SOURCE_TYPE_URL 時,設置請求的請求頭        .setRequestParams(null)//當 dataSourceType 為 DATA_SOURCE_TYPE_URL 時,設置請求的請求參數(shù)        .setCustomActivityClass(CustomActivity.class)//如果你選擇的 UI 樣式為 TypeConfig.UI_THEME_CUSTOM,那么你需要自定義一個 Activity 繼承自 RootActivity 并參照 demo 實現(xiàn)功能,在此處填寫自定義 Activity 的 class        .setModelClass(new UpdateModel());AppUpdateUtils.init(this, updateConfig);

長按識別二維碼,直達項目


12、spring-analysis:Spring 框架源碼講解。包括:spring-core、spring-aop、spring-context、spring-taskspring-mvc 等部分

長按識別二維碼,直達項目


13、eladmin:基于 Spring Boot 2.1.0、Vue 的前后端分離的后臺管理系統(tǒng),支持數(shù)據(jù)字典與數(shù)據(jù)權限管理、一鍵生成前后端代碼、前端菜單動態(tài)路由等?;?Spring Boot2.1.0 框架,涉及的技術棧:非關系數(shù)據(jù)庫 redis、接口測試工具 swagger、druid 數(shù)據(jù)源驅動、郵件依賴(javax.mail)、三方支付和云存儲 SDK、頁面模板引擎 freemarker。技術棧豐富,初學者可以作為實戰(zhàn)項目學習和使用

長按識別二維碼,直達項目


JavaScript 項目

14、nzh:阿拉伯數(shù)字與中文數(shù)字相互轉化的 JS 庫。示例代碼如下:

var nzhcn = Nzh.cn;                 // 使用簡體中文,  另外有 Nzh.hk -- 繁體中文nzhcn.encodeS(100111);              // 轉中文小寫 >> 十萬零一百一十一nzhcn.encodeB(100111);              // 轉中文大寫 >> 壹拾萬零壹佰壹拾壹nzhcn.encodeS("1.23456789e+21");    // 科學記數(shù)法字符串 >> 十二萬三千四百五十六萬萬七千八百九十萬億nzhcn.toMoney("100111.11");         // 轉中文金額 >> 人民幣壹拾萬零壹佰壹拾壹元壹角壹分

長按識別二維碼,直達項目

15、request:JavaScript 簡單、易用的 HTTP 請求客戶端。示例代碼:

const request = require('request');request('https://hellogithub.com', function (error, response, body) {  console.error('error:', error); // 如果請求發(fā)生錯誤將被打印  console.log('statusCode:', response && response.statusCode); // 輸出返回的狀態(tài)碼  console.log('body:', body); // 輸出返回的 HTML });

長按識別二維碼,直達項目

16、SandDance:微軟開源的數(shù)據(jù)可視化庫。使用單元可視化,將數(shù)據(jù)庫中的行一對一映射到屏幕中。在進行數(shù)據(jù)交互時,視圖可無縫平滑過渡,展示效果炫酷

長按識別二維碼,直達項目

17、chart-race-react:一個簡單易用的 Bar Chart Race(長條圖賽跑動畫) React 組件。示例代碼:

import ReactDOM from 'react-dom';import BarChart from 'chart-race-react';
ReactDOM.render(<BarChart ></BarChart>document.getElementById('root'));

長按識別二維碼,直達項目

18、fiora:一個功能豐富、支持多端的在線聊天室。它界面小清新,支持基本的聊天功能的同時還有好玩的消息朗讀功能。項目上基于 TypeScript + React 16.9 代碼邏輯清晰、注釋較為完善,適合用來學習 node.js、 TypeScript、React 等技術

長按識別二維碼,直達項目


Python 項目

19、TagUI-Python:一個 Python 自動化操作的庫。比如:自動打開網(wǎng)頁并截圖,示例代碼:

t.init()t.url('https://www.google.com')t.type('q', 'decentralization[enter]')t.snap('page', 'results.png')t.close()

長按識別二維碼,直達項目


Ruby 項目

20、shift:一個 Ruby 語言寫的在線 MySQL 數(shù)據(jù)庫遷移工具


長按識別二維碼,直達項目


Swift 項目

21、Percent:讓 Swift 語言支持百分比類型,消除精度缺失的煩惱。示例代碼:

import Percent
10% + 5.5%//=> 15.5%-10% / 2//=> -5%

長按識別二維碼,直達項目

其它

22、curlconverter:把 curl 命令轉化成各語言的代碼的工具,支持 Python、JavaScript、PHP、R、Go 等語言。

長按識別二維碼,直達項目


23、hub:通過命令行的方式來操作 GitHub,支持絕大多數(shù)的操作。比如:創(chuàng)建遠程倉庫、刪除遠程倉庫、提交 PR、管理 issue 等,常用操作:

  • 創(chuàng)建遠程倉庫:hub create github-repository
  • 刪除遠程倉庫:hub delete github-repository
  • fork 項目:hub fork

長按識別二維碼,直達項目

24、cascadia-code:微軟開源的一套等寬字體,有趣的是可以組合字符創(chuàng)建新的字形。組合效果如下:

長按識別二維碼,直達項目

25、Administrative-divisions-of-China:中國行政區(qū)劃(五級):省級、地級、縣級、鄉(xiāng)級和村級的數(shù)據(jù)集和爬蟲程序

長按識別二維碼,直達項目

26、vim-airline:一個讓每個 Vim 窗口的底部,都有一個漂亮狀態(tài)行的插件。展示信息和效果如下圖:

長按識別二維碼,直達項目


源書籍

27、python_ebook:Python 編程相關的電子書資源集合項目

長按識別二維碼,直達項目

28、book:(英文)《Cosmic Python》講述如何管理復雜性的 Pythonic 應用程序結構的書籍

長按識別二維碼,直達項目

教程

29、BigData-Notes:大數(shù)據(jù)入門教程,該教程介紹了大數(shù)據(jù)常用技術棧的基礎和核心知識。內容涵蓋:Hadoop、Spark、Storm、HBase、Hive、ZooKeeper、Kafka 等

長按識別二維碼,直達項目

機器學習

30、Ultra-Light-Fast-Generic-Face-Detector-1MB:1MB 大小的輕量級人臉檢測模型。該模型是針對邊緣計算設備,基于 libfacedetection 替換壓縮網(wǎng)絡設計實現(xiàn)

長按識別二維碼,直達項目

31、dimensionality_reduction_alo_codes:該項目使用 Python 實現(xiàn)了 11 種經典的數(shù)據(jù)抽?。〝?shù)據(jù)降維)算法。同時附有相關資料、展示效果,適用于機器學習初學者和剛剛入坑數(shù)據(jù)挖掘的小伙伴

長按識別二維碼,直達項目

參考資料

[1]HelloGitHub: https://hellogithub.com
[2]點擊查看往期內容: https://github.com/521xueweihan/HelloGitHub#內容


關注公眾號加入交流群,一起討論有趣的技術話題


如果你發(fā)現(xiàn)了 GitHub 上有趣的項目,歡迎在 HelloGitHub 項目提 issues 告訴我們。


“閱讀原文”獲取更多信息、“在看”讓本文被更多人看到、“贊賞”支持我們。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉