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

第 33 期

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

C 项目

1. json-tutorial

Star 3.7k Watch 214 Fork 2.4k 中文
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 59.5k Watch 2.5k Fork 11.2k 中文
用动画的形式呈现解 LeetCode 题目的思路

CSS 项目

3. lit

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

Go 项目

4. yeetgif

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

5. ptt-daily-beauty

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

6. q

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

7. tldr

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

Java 项目

8. xLog

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

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

xLog

9. AndroidWM

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

JavaScript 项目

10. better-onetab

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

11. lint-md

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

12. js2image

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

13. swc

Star 9.2k Watch 97 Fork 201
基于 Rust 开发的 Babel 替代品,速度更快,值得关注

Objective-C 项目

14. ish

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

15. NudeIn

Star 445 Watch 10 Fork 78 中文
基于 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.9k Watch 87 Fork 924 中文
几乎实现了当前所有主流 APP 的分类切换控制效果的库。效果丰富、配置简单,优点:

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

JXCategoryView

17. LongestCocoa

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

PHP 项目

18. meedu

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

Python 项目

19. loguru

Star 7.0k Watch 89 Fork 321
一个让 Python 记录日志变得简单的库
loguru

20. lsbasi

Star 1.2k Watch 114 Fork 289
用 Python 写一个简单的解释器系列教程

21. mkdocs

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

其它

22. Back-End-Developer-Interview-Questions

Star 10.4k Watch 453 Fork 1.2k
《后端开发面试题》中文

23. weekly

Star 13.7k Watch 1.4k Fork 1.0k 中文
阮一峰技术分享周刊,每周五发布

24. codelf

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

25. the-art-of-command-line

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

26. nginxconfig.io

Star 11.1k Watch 244 Fork 680
在线生成 Nginx 配置文件网站,在线尝试

27. cool-retro-term

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

开源书籍

28. Cpp_Concurrency_In_Action

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

29. ddia

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

机器学习

30. MTCNN_face_detection_alignment

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

31. SSH

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

32. S3FD.pytorch

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

33. deep-learning-papers-translation

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