今天是《HelloGitHub》月刊 兩週年。當時發佈第一期的時候,根本沒有想到能夠走到如今。前端
這兩年,HelloGitHub 項目有過輝煌的時刻:連續 3 天 GitHub 趨勢首頁、Python 分類名列前茅;一天飆升 300 stars,個人整個首頁都被 star 信息填滿,往下滑了好幾頁;截止到我寫這篇文章,HelloGitHub 項目共有 4k 的 stars、《HelloGitHub》月刊系列博文共 4萬 閱讀量;vue
固然也有想要放棄,斷刊的時候。那段時間工做中的項目嚴重延期幾乎每天加班,可是我沒有斷過一次刊。無論搞到多晚,次日爬起來看到個人文章被你們喜歡和承認。一切都是值得的。起初也有被人質疑的時候、調侃的時候,可是我仍是堅持下來了。java
記得有一次,我開發 HelloGitHub.com 網站,開發完成擡頭一看天都亮了。看着初升的太陽,內心一陣知足。各類上線的雜事弄完,看着本身的網站上線,嘩嘩的請求日誌,那個畫面真的讓人陶醉啊。node
在作 HelloGitHub 項目過程當中,收穫了不少的知識、拓展了本身的視野。發現牛人太多,本身要走的路還有很長。隨着內容的逐漸的增多,不斷的經過技術去優化發刊的過程、信息的獲取途徑。真正感覺到程序帶來的益處和方便,算是學以至用吧。各類小夥伴的鼎力支持,無論怎麼說這個項目能走到如今不是我一我的的功勞,再次謝謝各位 🙏 。python
最後,我會一直把這個項目作下去,分享更多即收穫更多。我但願讓更多人發現編程的樂趣,讓好的項目被更多人發現、使用並參與到其中。webpack
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!nginx
分享 GitHub 上有趣、入門級的開源項目。git
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。程序員
在瀏覽、參與這些項目的過程當中,你將學習到更多編程知識、提升編程技巧、找到編程的樂趣。github
🎉 最後 HelloGitHub 這個項目就誕生了 🎉
如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容
一、reading-code-of-nginx-1.9.2:nginx-1.9.2 源碼通讀分析註釋,帶詳盡函數中文分析註釋以及相關函數流程調用註釋
二、annie:Go 編寫的快速、簡單、乾淨的視頻下載程序。支持嗶哩嗶哩、YouTube 視頻網站
$ annie -c cookies.txt https://www.bilibili.com/video/av20203945/ Site: 嗶哩嗶哩 bilibili.com Title: 【2018拜年祭單品】相遇day by day Type: video Stream: [default] ------------------- Quality: 高清 1080P60 Size: 220.65 MiB (231363071 Bytes) # download with: annie -f default "URL" 16.03 MiB / 220.65 MiB [==>----------------------------] 7.26% 9.65 MiB/s 19s
三、knowledge:Go 知識圖譜
四、PreLoader:Android 頁面在打開後須要在 UI 初始化完成後才能發起網絡請求,以避免網絡請求返回後展現到 UI 時出現錯誤。但這種串行的作法致使頁面的整個初始化時間變長。使用該工具能夠在打開頁面以前預加載數據,而後在頁面 UI 初始化完成後提取預加載好的數據進行展現,從而縮短頁面初始化時間,提高用戶體驗。示例代碼以下:
// 開啓預加載任務 int preLoaderId = PreLoader.preLoad(new Loader()); Intent intent = new Intent(this, PreLoadBeforeLaunchActivity.class); intent.putExtra("preLoaderId", preLoaderId); startActivity(intent); // 預加載任務:模擬網絡接口請求獲取數據 class Loader implements DataLoader<String> { @Override public String loadData() { //此方法在線程池中運行,無需再開子線程去加載數據 try { Thread.sleep(600); } catch (InterruptedException ignored) { } return "data from network server"; } } // 在Activity(或Fragment)中UI初始化完成後開始監聽預加載數據 PreLoader.listenData(preLoaderId, new Listener()); // 數據加載完成後,會調用DataListener.onDataArrived(...)來處理加載後的數據 class Listener implements DataListener<String> { @Override public void onDataArrived(String data) { //此方法在主線程中運行,無需使用Handler切換線程運行 Toast.makeText(activity, data, Toast.LENGTH_SHORT).show(); } }
五、SuperLike:仿今日頭條點贊噴射表情動畫
六、node-in-debugging:《Node.js 調試指南》做者整理了使用 Node.js 開發這幾年的調試經驗和思路
七、chrome-music-lab:Chrome 音樂實驗室是一個網站,讓學習音樂變得更加簡單、好玩。徹底基於Web端,國內可直接訪問、老小皆宜、支持多種樂器,圓你一個音樂夢
八、mpvue:小程序的前端框架。框架基於 Vue.js 核心,修改了 Vue.js 的 runtime 和 compiler 實現。使其能夠運行在小程序環境中,爲小程序開發引入了整套 Vue.js 開發體驗。5 分鐘上手視頻
九、30-seconds-of-code:精選能夠在 30秒 或更短的時間內理解的實用 JavaScript 代碼片斷集合
十、WeChatPlugin-MacOS:Mac 版微信小助手,支持自動回覆、消息防撤回、遠程控制、微信多開、會話置底、免認證登陸、通知快捷回覆等功能
十一、LSAnimator:經過使用 LSAnimator(Objective-C)或者 CoreAnimator(Swift)能夠用少許的代碼實現複雜而又易於維護的動畫,而且彌補了 JHChainableAnimations 的致命缺陷。詳細描述
十二、DzzOffice:一套開源辦公套件,適用於企業、團隊搭建本身的 相似 Google 企業應用套件、微軟 Office365 的企業協同辦公平臺。在線演示
1三、HAipproxy:使用 Scrapy+Redis 實現的高可用分佈式 IP 代理池,爲大型分佈式爬蟲提供高可用低延遲的代理 IP 資源。
from client.py_cli import ProxyFetcher args = dict(host='127.0.0.1', port=6379, password='123456', db=0) # 這裏`zhihu`的意思是,去和`zhihu`相關的代理ip校驗隊列中獲取ip # 這麼作的緣由是同一個代理IP對不一樣網站代理效果不一樣 fetcher = ProxyFetcher('zhihu', strategy='greedy', redis_args=args) # 獲取一個可用代理 print(fetcher.get_proxy()) # 獲取可用代理列表 print(fetcher.get_proxies()) # or print(fetcher.pool)
以知乎爲目標抓取網站,該代理IP池的實際性能測試結果以下:
1四、MovieHeavens:基於 Pyqt4 的電影天堂電影搜索工具,不再用忍受各類廣告和點擊跳轉了
1五、WechatSogou:基於搜狗微信搜索的微信公衆號爬蟲庫,極易上手。示例代碼:
import wechatsogou ws_api = wechatsogou.WechatSogouAPI() ws_api.get_gzh_info('微信名稱')
1六、iina:Mac 下開源多媒體播放器,支持多國語言、高逼格 UI。安裝:brew cask install iina
1七、Interview-Notebook:該項目整理了技術面試中須要掌握的基礎知識,包含了網絡、操做系統、算法、數據庫、Java、分佈式等
1八、blog:螞蟻數據體驗技術團隊的博客
1九、work-in-australia:介紹程序員如何申請到澳洲工做
20、front-end-interview-handbook:與典型的軟件工程師面試不一樣,前端面試對算法的重視比較低。面試會更多考查錯綜複雜的前端知識,像 HTML、CSS、JavaScript 等等。這個項目整理了這些問題,並給出了答案以及參考鏈接。中文版
2一、MachineLearning:ApacheCN 製做的《機器學習實戰》。配套視頻:編碼能力強,建議觀看《機器學習實戰 - 教學版》。 編碼能力弱,建議觀看《機器學習實戰 - 討論版》
2二、tensorflow-docs:TensorFlow Docs 是由掘金翻譯計劃實時維護的 TensorFlow 官方文檔中文版,維護者爲全球各大公司開發人員和各著名高校研究者及學生
2三、DeepLeague:英雄聯盟的機器學習項目,規模不大,適合研究一些 CV 和 ML 的算法應用
若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。
歡迎轉載,請註明出處和做者,同時保留聲明。