扫一扫
关注 HG 公众号
发现更多开源乐趣

第 33 期

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的兴趣。

C 项目

1. json-tutorial

Star 3.5k Watch 211 Fork 2.3k 中文
Milo Yip发起的用 C 从零开始编写 JSON 库教程。大纲:

  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++ 项目

2. LeetCodeAnimation

Star 56.5k Watch 2.4k Fork 10.5k 中文
用动画的形式呈现解 LeetCode 题目的思路

CSS 项目

3. lit

Star 1.8k Watch 46 Fork 92
仅 395 字节的响应式 CSS 框架

Go 项目

4. yeetgif

Star 438 Watch 5 Fork 16 中文
一个命令行工具,用来组合、生成表情的 gif 动图。支持多种模式:旋转、抖动、鬼畜等,可以组合出很魔性的表情
yeetgif

5. ptt-daily-beauty

Star 67 Watch 3 Fork 10 中文
每晚 11 点会自动发送 PTT 论坛(台湾最大论坛) Beauty 板块前 3 名的小姐姐图片。点击订阅
ptt-daily-beauty

6. q

Star 1.2k Watch 22 Fork 52
Golang debug 库,自动打印变量类型并且格式化输出
q

7. tldr

Star 891 Watch 12 Fork 32
Golang tldr 客户端。对比之前推荐过的 Python 版本客户端,Golang 版本速度更快、交互友好、且支持选择搜索结果的展示样式。每当你想要用 tar 解压缩,但是记不住具体参数的时候,tldr 可以拯救世界
tldr

Java 项目

8. xLog

Star 2.0k Watch 54 Fork 289 中文
简单、美观、强大、可扩展的 Android 和 Java 日志库,可同时在多个通道打印日志,如 Logcat、Console 和文件。功能:

  • 全局配置(TAG,各种格式化器...)或基于单条日志的配置
  • 支持打印任意对象以及可自定义的对象格式化器
  • 支持打印无限长的日志(没有 4K 字符的限制)
  • XML 和 JSON 格式化输出
  • 等等

xLog

9. AndroidWM

Star 1.2k Watch 17 Fork 122 中文
一个轻量级的开源 Android 图片水印框架,支持文字水印和图像水印,以及不同的水印样式、位置等。同时可以支持 LSB 空间域隐形数字水印的加载和频域数字水印的加载和检测,适合客户端图片水印添加,移动端图像处理等
AndroidWM

JavaScript 项目

10. better-onetab

Star 834 Watch 40 Fork 133 中文
实用的管理浏览器多标签页面的工具,目前支持 Chrome 以及 FireFox 的扩展。支持标签页储存和标签页分组等功能
better-onetab

11. lint-md

Star 525 Watch 11 Fork 27 中文
用于检查中文 markdown 编写格式规范的命令行工具。方便集成 CI,支持 API 方法调用。对于矫正 markdown 编写格式来说是一个很好的检查工具,基于 AST 的格式规范检测的代码也可以借鉴和学习
lint-md

12. js2image

Star 1.5k Watch 33 Fork 110 中文
将源代码压缩成圣诞树的样子,使用此项目压缩生产环境代码后请注意测试。有兴趣的小伙伴可以尝试扩展出压缩成其它样子,很有意思
js2image

13. swc

Star 8.5k Watch 96 Fork 172
基于 Rust 开发的 Babel 替代品,速度更快,值得关注

Objective-C 项目

14. ish

Star 6.3k Watch 178 Fork 350
在 iOS 上跑 Linux shell,可以通过 linux 命令操作你的 iOS 设备
ish

15. NudeIn

Star 416 Watch 10 Fork 72 中文
基于 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];

    }

}

16. JXCategoryView

Star 4.7k Watch 82 Fork 890 中文
几乎实现了当前所有主流 APP 的分类切换控制效果的库。效果丰富、配置简单,优点:

  • 使用协议封装指示器逻辑,可以为所欲为的自定义指示器效果
  • 提供更加全面丰富、高度自定义的效果
  • 使用子类化管理 cell 样式,逻辑更清晰,扩展更简单

JXCategoryView

17. LongestCocoa

Star 407 Watch 8 Fork 10
写 Objective-C 的程序员肯定对冗长的描述性命名风格爱的深切。所以 Cocoa 框架里最长的方法或在常量名有哪些?该项目就是告诉你这些冗长名字都有那些

PHP 项目

18. meedu

Star 1.8k Watch 83 Fork 549 中文
开源免费的在线教育系统,支持在线点播、在线电子书、会员收费三大模块。在线尝试

Python 项目

19. loguru

Star 6.4k Watch 87 Fork 291
一个让 Python 记录日志变得简单的库
loguru

20. lsbasi

Star 1.1k Watch 113 Fork 275
用 Python 写一个简单的解释器系列教程

21. mkdocs

Star 10.4k Watch 225 Fork 1.5k
用 Python 开发的快速、简单的静态网站生成器,主要是为了构建项目的文档。文档源是 markdown 文件,用法和 Hexo 差不多,可通过一个 YAML 文件进行配置
mkdocs

其它

22. Back-End-Developer-Interview-Questions

Star 10.1k Watch 440 Fork 1.1k
《后端开发面试题》中文

23. weekly

Star 13.1k Watch 1.3k Fork 978 中文
阮一峰技术分享周刊,每周五发布

24. codelf

Star 9.9k Watch 237 Fork 736 中文
变量命名工具。计算机科学里两件最难的事:缓存失效和命名。该工具支持直接搜索中文,当你查中文的时候,Codelf 会直接查好单词和单词的近义词给你。然后再搜索 Github、Bitbucket、Google Code 等上的开源项目的源码匹配出与这些词汇相关的变量名和函数名。在线尝试

25. the-art-of-command-line

Star 78.0k Watch 2.5k Fork 9.0k 中文
该项目是作者在 Linux 系统上工作时,发现的一些命令行使用技巧的总结。有些技巧非常基础,而另一些则相当复杂,甚至难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了,它们会提高你在编程时的灵活性以及效率。中文

26. nginxconfig.io

Star 10.7k Watch 240 Fork 654
在线生成 Nginx 配置文件网站,在线尝试

27. cool-retro-term

Star 12.8k Watch 314 Fork 559
一个终端模拟器,模仿了老式阴极管屏幕的外观和视觉感觉,养眼、轻量且外观可调,支持 Linux、macOS。搭配上 Vim 或 Emacs,即刻获得与上个世纪 hackers 相同的编程体验
cool-retro-term

开源书籍

28. Cpp_Concurrency_In_Action

Star 1.2k Watch 125 Fork 423 中文
《C++ Concurrency in Action》的中文翻译版(C++ 并发编程),在线阅读

29. ddia

Star 4.8k Watch 267 Fork 1.2k 中文
《Designing Data-Intensive Application》中文翻译版(设计数据密集型应用)

机器学习

30. MTCNN_face_detection_alignment

Star 2.4k Watch 152 Fork 964
人脸检测领域经典之作,出自 2016 年 ECCV 一篇论文。目前在工业应用中落地比较成功,很多公司检测模块运用 MTCNN 或者其加速版,MTCNN 将人脸检测和关键点检测通过一个模型作为 MultiTasks 的方式进行训练,inference 时候可同时得到人脸框信息和关键点信息
MTCNN_face_detection_alignment

31. SSH

Star 779 Watch 45 Fork 282
该项目是 ICCV2017 论文 SSH:Single Stage Headless Face Detector 作者自己开源的项目,算是官方开源项目,具有一定的权威性。SSH 也算是人脸检测中一个经典的方法,具有较高的精度和较快的速度。项目实现了论文中的很多细节,对复现过程也有详细的讲解,容易实现。美中不足的是论文中的 Pyramid 方式,该项目没有实现
SSH

32. S3FD.pytorch

Star 189 Watch 10 Fork 43
该项目是论文 S3FD:Single Shot Scale-invariant Face Detector 的 pytorch 复现版本。S3FD 目前在 FDDB 的评测中排在前几位,属于精度较高的人脸检测方法。论文主要解决人脸尺度问题,进一步提升对小脸的检测
S3FD.pytorch

33. deep-learning-papers-translation

Star 2.9k Watch 166 Fork 1.0k 中文
主要内容是 CV 领域里一些论文的翻译,包括分类、检测、OCR和模型轻量化。不喜欢看英文原版论文的,可以关注该项目