《HelloGitHub》第 33 期

公告

歡迎 點擊分享 自薦或發現的開源項目,也可安裝 分享插件 更便捷地推薦有趣的開源項目。javascript

小夥伴們,新的一年就要來了,今年的 Bug 改完了嗎?先看看《HelloGitHub》最新一期月刊壓壓驚,再改吧😁php

《HelloGitHub》第 33 期

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

簡介

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

這是一個面向編程新手熱愛編程對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目讓生活變得更美好的工具書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。java

  • 會編程的能夠貢獻代碼
  • 不會編程的能夠反饋使用這些工具中的 Bug
  • 幫着宣傳你以爲優秀的項目
  • Star 項目⭐️

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

🎉 最後 HelloGitHub 這個項目就誕生了 🎉linux


如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容nginx

C 項目

一、json-tutorial:由Milo Yip發起的用 C 從零開始編寫 JSON 庫教程。大綱:git

  1. 啓程:編譯環境、JSON 簡介、測試驅動、解析器主要函數及各數據結構。
  2. 解析數字:JSON number 的語法
  3. 解析字符串:使用 union 存儲 variant、自動擴展的堆棧、JSON string 的語法、valgrind
  4. Unicode:Unicode 和 UTF-8 的基本知識、JSON string 的 unicode 處理
  5. 解析數組:JSON array 的語法
  6. 解析對象:JSON object 的語法、重構 string 解析函數
  7. 生成器:JSON 生成過程、注意事項。練習完成 JSON 生成器
  8. 訪問與其餘功能:JSON array/object 的訪問及修改

C++ 項目

二、LeetCodeAnimation:用動畫的形式呈現解 LeetCode 題目的思路程序員

CSS 項目

三、lit:僅 395 字節的響應式 CSS 框架

Go 項目

四、yeetgif:一個命令行工具,用來組合、生成表情的 gif 動圖。支持多種模式:旋轉、抖動、鬼畜等,能夠組合出很魔性的表情

五、ptt-daily-beauty:每晚 11 點會自動發送 PTT 論壇(臺灣最大論壇) Beauty 板塊前 3 名的小姐姐圖片。點擊訂閱

六、q:Golang debug 庫,自動打印變量類型而且格式化輸出

七、tldr:Golang tldr 客戶端。對比以前推薦過的 Python 版本客戶端,Golang 版本速度更快、交互友好、且支持選擇搜索結果的展現樣式。每當你想要用 tar 解壓縮,可是記不住具體參數的時候,tldr 能夠拯救世界

Java 項目

八、xLog:簡單、美觀、強大、可擴展的 Android 和 Java 日誌庫,可同時在多個通道打印日誌,如 Logcat、Console 和文件。功能:

  • 全局配置(TAG,各類格式化器...)或基於單條日誌的配置
  • 支持打印任意對象以及可自定義的對象格式化器
  • 支持打印無限長的日誌(沒有 4K 字符的限制)
  • XML 和 JSON 格式化輸出
  • 等等

九、AndroidWM:一個輕量級的開源 Android 圖片水印框架,支持文字水印和圖像水印,以及不一樣的水印樣式、位置等。同時能夠支持 LSB 空間域隱形數字水印的加載和頻域數字水印的加載和檢測,適合客戶端圖片水印添加,移動端圖像處理等

JavaScript 項目

十、better-onetab:實用的管理瀏覽器多標籤頁面的工具,目前支持 Chrome 以及 FireFox 的擴展。支持標籤頁儲存和標籤頁分組等功能

十一、lint-md:用於檢查中文 markdown 編寫格式規範的命令行工具。方便集成 CI,支持 API 方法調用。對於矯正 markdown 編寫格式來講是一個很好的檢查工具,基於 AST 的格式規範檢測的代碼也能夠借鑑和學習

十二、js2image:將源代碼壓縮成聖誕樹的樣子,使用此項目壓縮生產環境代碼後請注意測試。有興趣的小夥伴能夠嘗試擴展出壓縮成其它樣子,頗有意思

1三、swc:基於 Rust 開發的 Babel 替代品,速度更快,值得關注

Objective-C 項目

1四、iSH:在 iOS 上跑 Linux shell,能夠經過 linux 命令操做你的 iOS 設備

1五、Nudeln:基於 UITextView 書寫風格相似於 masonry 的 iOS 端富文本控件。它採用聲明式(鏈式)方法定義富文本控件,與編程式的相比它所需的代碼量更短、更直觀和易用。示例代碼:

#import "NudeIn.h"

/// 聲明控件爲你的成員變量

@property (nonatomic,strong) NudeIn *attrLabel;

/// Do it yourself

_attrLabel = [NudeIn make:^(NUDTextMaker *make) {
    make.text(@"this is a ").font(14).color([UIColor blackColor]).attach();
    make.text(@"BlueLink").font(17).color([UIColor blueColor]).link(self,@selector(linkHandler:)).attach();
    make.text(@", and this is a ").font(14).color([UIColor blackColor]).attach();
    make.text(@"RedLink").font(17).color([UIColor redColor]).link(self,@selector(linkHandler:)).attach();
}];

/// 對聲明瞭 link 屬性的部分定義回調
 (void)linkHandler:(NUDAction *)action {
    
    if ([action isKindOfClass:[NUDLinkAction class]]) {
        
        NUDLinkAction *linkAction = (NUDLinkAction *)action;
        
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:linkAction.string message:nil preferredStyle:UIAlertControllerStyleAlert];
    
        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        }]];
        
        [self presentViewController:alertController animated:YES completion:nil];
        
    }
    
}

1六、JXCategoryView:幾乎實現了當前全部主流 APP 的分類切換控制效果的庫。效果豐富、配置簡單,優勢:

  • 使用協議封裝指示器邏輯,能夠隨心所欲的自定義指示器效果
  • 提供更加全面豐富、高度自定義的效果
  • 使用子類化管理 cell 樣式,邏輯更清晰,擴展更簡單

1七、LongestCocoa:寫 Objective-C 的程序員確定對冗長的描述性命名風格愛的深切。因此 Cocoa 框架裏最長的方法或在常量名有哪些?該項目就是告訴你這些冗長名字都有那些

PHP 項目

1八、MeEdu:開源免費的在線教育系統,支持在線點播、在線電子書、會員收費三大模塊。在線嘗試

Python 項目

1九、loguru:一個讓 Python 記錄日誌變得簡單的庫

20、lsbasi:用 Python 寫一個簡單的解釋器系列教程

2一、mkdocs:用 Python 開發的快速、簡單的靜態網站生成器,主要是爲了構建項目的文檔。文檔源是 markdown 文件,用法和 Hexo 差很少,可經過一個 YAML 文件進行配置

2二、weixin_crawler:基於 Scrapy、Flask、Echarts、Elasticsearch 等實現的微信公衆號文章爬蟲。自帶 UI 界面、分析報告、搜索功能

其它

2三、Back-End-Developer-Interview-Questions:《後端開發面試題》中文

2四、weekly阮一峯技術分享週刊,每週五發布

2五、codelf:變量命名工具。計算機科學裏兩件最難的事:緩存失效和命名。該工具支持直接搜索中文,當你查中文的時候,Codelf 會直接查好單詞和單詞的近義詞給你。而後再搜索 Github、Bitbucket、Google Code 等上的開源項目的源碼匹配出與這些詞彙相關的變量名和函數名。在線嘗試

2六、the-art-of-command-line:該項目是做者在 Linux 系統上工做時,發現的一些命令行使用技巧的總結。有些技巧很是基礎,而另外一些則至關複雜,甚至難懂。這篇文章並不長,但當你可以熟練掌握這裏列出的全部技巧時,你就學會了不少關於命令行的東西了,它們會提升你在編程時的靈活性以及效率。中文

2七、nginxconfig.io:在線生成 Nginx 配置文件網站,在線嘗試

2八、cool-retro-term:一個終端模擬器,模仿了老式陰極管屏幕的外觀和視覺感受,養眼、輕量且外觀可調,支持 Linux、macOS。搭配上 Vim 或 Emacs,即刻得到與上個世紀 hackers 相同的編程體驗

開源書籍

2九、Cpp_Concurrency_In_Action:《C++ Concurrency in Action》的中文翻譯版(C++ 併發編程),在線閱讀

30、ddia:《Designing Data-Intensive Application》中文翻譯版(設計數據密集型應用)

機器學習

3一、MTCNN_face_detection_alignment:人臉檢測領域經典之做,出自 2016 年 ECCV 一篇論文。目前在工業應用中落地比較成功,不少公司檢測模塊運用 MTCNN 或者其加速版,MTCNN 將人臉檢測和關鍵點檢測經過一個模型做爲 MultiTasks 的方式進行訓練,inference 時候可同時獲得人臉框信息和關鍵點信息

3二、FaceBoxes:出自論文 FaceBoxes: A CPU Real-time Face Detector with High Accuracy,是一種能夠在 CPU 上實現實時檢測的方法,並且精度不錯。該項目是 Caffe 版本,步驟講解清晰,能夠快速復現。鑑於 FaceBoxes 的檢測速度很是快,也能夠做爲一種生產落地的方法,而且現有速度仍有必定的優化空間

3三、SSH:該項目是 ICCV2017 論文 SSH:Single Stage Headless Face Detector
做者本身開源的項目,算是官方開源項目,具備必定的權威性。SSH 也算是人臉檢測中一個經典的方法,具備較高的精度和較快的速度。項目實現了論文中的不少細節,對復現過程也有詳細的講解,容易實現。美中不足的是論文中的 Pyramid 方式,該項目沒有實現

3四、S3FD.pytorch:該項目是論文 S3FD:Single Shot Scale-invariant Face Detector 的 pytorch 復現版本。S3FD 目前在 FDDB 的評測中排在前幾位,屬於精度較高的人臉檢測方法。論文主要解決人臉尺度問題,進一步提高對小臉的檢測

3五、deep-learning-papers-translation:主要內容是 CV 領域裏一些論文的翻譯,包括分類、檢測、OCR和模型輕量化。不喜歡看英文原版論文的,能夠關注該項目


換種方式閱讀

  • 網站: https://hellogithub.com
  • GitBook: https://gitbook.hellogithub.com

聲明

若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。

歡迎轉載,請註明出處和做者,同時保留聲明。

相關文章
相關標籤/搜索