Skip to content

Commit 8a15e82

Browse files
committed
发布:《HelloGitHub》第33期
1 parent da658ac commit 8a15e82

File tree

3 files changed

+210
-4
lines changed

3 files changed

+210
-4
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
希望通过本项目能够有更多人加入到**开源社区**、回馈社区。让有趣、有价值的项目被更多的人发现、关注、参与、贡献。在参与这些项目的过程中,你将学习到**更多编程知识**📚 、**提高编程技巧**💻 、**找到编程的乐趣**🎮 。
1616

1717
## 内容
18-
**每月 28 号**发布[最新一期](/content/32/HelloGitHub32.md)[贡献者列表](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md) | [官网](https://hellogithub.com)
18+
**每月 28 号**发布[最新一期](/content/33/HelloGitHub33.md)[贡献者列表](https://github.com/521xueweihan/HelloGitHub/blob/master/content/contributors.md) | [官网](https://hellogithub.com)
1919

2020
| :squirrel: | :jack_o_lantern: | :beer: | :fish_cake: | :octocat: |
2121
| ------- | ----- | ------------ | ------ | --------- |
22-
| [第 32 期](/content/32/HelloGitHub32.md) | [第 31 期](/content/31/HelloGitHub31.md) |
22+
| [33 期](/content/33/HelloGitHub33.md) | [32 期](/content/32/HelloGitHub32.md) | [第 31 期](/content/31/HelloGitHub31.md) |
2323
| [第 30 期](/content/30/HelloGitHub30.md) | [第 29 期](/content/29/HelloGitHub29.md) | [第 28 期](/content/28/HelloGitHub28.md) | [第 27 期](/content/27/HelloGitHub27.md) | [第 26 期](/content/26/HelloGitHub26.md) |
2424
| [第 25 期](/content/25/HelloGitHub25.md) | [第 24 期](/content/24/HelloGitHub24.md) | [第 23 期](/content/23/HelloGitHub23.md) | [第 22 期](/content/22/HelloGitHub22.md) | [第 21 期](/content/21/HelloGitHub21.md) |
2525
| [第 20 期](/content/20/HelloGitHub20.md) | [第 19 期](/content/19/HelloGitHub19.md) | [第 18 期](/content/18/HelloGitHub18.md) | [第 17 期](/content/17/HelloGitHub17.md) | [第 16 期](/content/16/HelloGitHub16.md) |

content/33/HelloGitHub33.md

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
# 《HelloGitHub》第 33 期
2+
>兴趣是最好的老师,**HelloGitHub** 就是帮你找到兴趣!
3+
4+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/01/img/hello-github.jpg)
5+
6+
## 简介
7+
分享 GitHub 上有趣、入门级的开源项目。
8+
9+
这是一个面向**编程新手****热爱编程****对开源社区感兴趣** 人群的月刊,月刊的内容包括:**各种编程语言的项目****让生活变得更美好的工具****书籍、学习笔记、教程等**,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到**开源社区**中。
10+
- 会编程的可以贡献代码
11+
- 不会编程的可以反馈使用这些工具中的 Bug
12+
- 帮着宣传你觉得优秀的项目
13+
- Star 项目⭐️
14+
15+
在浏览、参与这些项目的过程中,你将学习到**更多编程知识****提高编程技巧****找到编程的乐趣**
16+
17+
🎉 最后 [HelloGitHub](https://hellogithub.com) 这个项目就诞生了 🎉
18+
19+
---
20+
> **以下为本期内容**|每个月 **28** 号发布最新一期|[点击查看往期内容](https://github.com/521xueweihan/HelloGitHub#内容)
21+
22+
#### C 项目
23+
1、[json-tutorial](https://github.com/miloyip/json-tutorial):由[Milo Yip](https://github.com/miloyip/json-tutorial#%E5%85%B3%E4%BA%8E%E4%BD%9C%E8%80%85)发起的用 C 从零开始编写 JSON 库教程。大纲:
24+
1. 启程:编译环境、JSON 简介、测试驱动、解析器主要函数及各数据结构。
25+
2. 解析数字:JSON number 的语法
26+
3. 解析字符串:使用 union 存储 variant、自动扩展的堆栈、JSON string 的语法、valgrind
27+
4. Unicode:Unicode 和 UTF-8 的基本知识、JSON string 的 unicode 处理
28+
5. 解析数组:JSON array 的语法
29+
6. 解析对象:JSON object 的语法、重构 string 解析函数
30+
7. 生成器:JSON 生成过程、注意事项。练习完成 JSON 生成器
31+
8. 访问与其他功能:JSON array/object 的访问及修改
32+
33+
#### C++ 项目
34+
2、[LeetCodeAnimation](https://github.com/MisterBooo/LeetCodeAnimation):用动画的形式呈现解 LeetCode 题目的思路
35+
36+
#### CSS 项目
37+
3、[lit](https://github.com/ajusa/lit):仅 395 字节的响应式 CSS 框架
38+
39+
#### Go 项目
40+
4、[yeetgif](https://github.com/sgreben/yeetgif):一个命令行工具,用来组合、生成表情的 gif 动图。支持多种模式:旋转、抖动、鬼畜等,可以组合出很魔性的表情
41+
42+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/yeetgif.gif)
43+
44+
5、[ptt-daily-beauty](https://github.com/Larry850806/ptt-daily-beauty):每晚 11 点会自动发送 PTT 论坛(台湾最大论坛) Beauty 板块前 3 名的小姐姐图片。[点击订阅](https://www.daily-beauty.xyz/)
45+
46+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/ptt-daily-beauty.png)
47+
48+
6、[q](https://github.com/y0ssar1an/q):Golang debug 库,自动打印变量类型并且格式化输出
49+
50+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/q.png)
51+
52+
7、[tldr](https://github.com/isacikgoz/tldr):Golang tldr 客户端。对比之前推荐过的 Python 版本客户端,Golang 版本速度更快、交互友好、且支持选择搜索结果的展示样式。每当你想要用 tar 解压缩,但是记不住具体参数的时候,tldr 可以拯救世界
53+
54+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/tldr.gif)
55+
56+
#### Java 项目
57+
8、[xLog](https://github.com/elvishew/xLog):简单、美观、强大、可扩展的 Android 和 Java 日志库,可同时在多个通道打印日志,如 Logcat、Console 和文件。功能:
58+
- 全局配置(TAG,各种格式化器...)或基于单条日志的配置
59+
- 支持打印任意对象以及可自定义的对象格式化器
60+
- 支持打印无限长的日志(没有 4K 字符的限制)
61+
- XML 和 JSON 格式化输出
62+
- 等等
63+
64+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/xLog.png)
65+
66+
9、[AndroidWM](https://github.com/huangyz0918/AndroidWM):一个轻量级的开源 Android 图片水印框架,支持文字水印和图像水印,以及不同的水印样式、位置等。同时可以支持 LSB 空间域隐形数字水印的加载和频域数字水印的加载和检测,适合客户端图片水印添加,移动端图像处理等
67+
68+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/AndroidWM.png)
69+
70+
#### JavaScript 项目
71+
10、[better-onetab](https://github.com/cnwangjie/better-onetab):实用的管理浏览器多标签页面的工具,目前支持 Chrome 以及 FireFox 的扩展。支持标签页储存和标签页分组等功能
72+
73+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/better-onetab.png)
74+
75+
11、[lint-md](https://github.com/hustcc/lint-md):用于检查中文 markdown 编写格式规范的命令行工具。方便集成 CI,支持 API 方法调用。对于矫正 markdown 编写格式来说是一个很好的检查工具,基于 AST 的格式规范检测的代码也可以借鉴和学习
76+
77+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/lint-md.png)
78+
79+
12、[js2image](https://github.com/xinyu198736/js2image):将源代码压缩成圣诞树的样子,使用此项目压缩生产环境代码后请注意测试。有兴趣的小伙伴可以尝试扩展出压缩成其它样子,很有意思
80+
81+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/js2image.png)
82+
83+
13、[swc](https://github.com/swc-project/swc):基于 Rust 开发的 [Babel](https://github.com/babel/babel) 替代品,速度更快,值得关注
84+
85+
#### Objective-C 项目
86+
14、[iSH](https://github.com/tbodt/ish):在 iOS 上跑 Linux shell,可以通过 linux 命令操作你的 iOS 设备
87+
88+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/ish.png)
89+
90+
15、[Nudeln](https://github.com/hon-key/Nudeln):基于 UITextView 书写风格类似于 masonry 的 iOS 端富文本控件。它采用声明式(链式)方法定义富文本控件,与编程式的相比它所需的代码量更短、更直观和易用。示例代码:
91+
```
92+
#import "NudeIn.h"
93+
94+
/// 声明控件为你的成员变量
95+
96+
@property (nonatomic,strong) NudeIn *attrLabel;
97+
98+
/// Do it yourself
99+
100+
_attrLabel = [NudeIn make:^(NUDTextMaker *make) {
101+
make.text(@"this is a ").font(14).color([UIColor blackColor]).attach();
102+
make.text(@"BlueLink").font(17).color([UIColor blueColor]).link(self,@selector(linkHandler:)).attach();
103+
make.text(@", and this is a ").font(14).color([UIColor blackColor]).attach();
104+
make.text(@"RedLink").font(17).color([UIColor redColor]).link(self,@selector(linkHandler:)).attach();
105+
}];
106+
107+
/// 对声明了 link 属性的部分定义回调
108+
(void)linkHandler:(NUDAction *)action {
109+
110+
if ([action isKindOfClass:[NUDLinkAction class]]) {
111+
112+
NUDLinkAction *linkAction = (NUDLinkAction *)action;
113+
114+
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:linkAction.string message:nil preferredStyle:UIAlertControllerStyleAlert];
115+
116+
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
117+
}]];
118+
119+
[self presentViewController:alertController animated:YES completion:nil];
120+
121+
}
122+
123+
}
124+
```
125+
126+
16、[JXCategoryView](https://github.com/pujiaxin33/JXCategoryView):几乎实现了当前所有主流 APP 的分类切换控制效果的库。效果丰富、配置简单,优点:
127+
- 使用协议封装指示器逻辑,可以为所欲为的自定义指示器效果
128+
- 提供更加全面丰富、高度自定义的效果
129+
- 使用子类化管理 cell 样式,逻辑更清晰,扩展更简单
130+
131+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/JXCategoryView.gif)
132+
133+
17、[LongestCocoa](https://github.com/Quotation/LongestCocoa):写 Objective-C 的程序员肯定对冗长的描述性命名风格爱的深切。所以 Cocoa 框架里最长的方法或在常量名有哪些?该项目就是告诉你这些冗长名字都有那些
134+
135+
#### PHP 项目
136+
18、[MeEdu](https://github.com/Qsnh/meedu):开源免费的在线教育系统,支持在线点播、在线电子书、会员收费三大模块。[在线尝试](https://meedu.app/)
137+
138+
#### Python 项目
139+
19、[loguru](https://github.com/Delgan/loguru):一个让 Python 记录日志变得简单的库
140+
141+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/loguru.gif)
142+
143+
20、[lsbasi](https://github.com/rspivak/lsbasi):用 Python 写一个简单的解释器系列教程
144+
145+
21、[mkdocs](https://github.com/mkdocs/mkdocs):用 Python 开发的快速、简单的静态网站生成器,主要是为了构建项目的文档。文档源是 markdown 文件,用法和 Hexo 差不多,可通过一个 YAML 文件进行配置
146+
147+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/mkdocs.png)
148+
149+
22、[weixin_crawler](https://github.com/wonderfulsuccess/weixin_crawler):基于 Scrapy、Flask、Echarts、Elasticsearch 等实现的微信公众号文章爬虫。自带 UI 界面、分析报告、搜索功能
150+
151+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/weixin_crawler.gif)
152+
153+
#### 其它
154+
23、[Back-End-Developer-Interview-Questions](https://github.com/arialdomartini/Back-End-Developer-Interview-Questions):《后端开发面试题》[中文](https://github.com/monklof/Back-End-Developer-Interview-Questions)
155+
156+
24、[weekly](https://github.com/ruanyf/weekly)[阮一峰](https://github.com/ruanyf)技术分享周刊,每周五发布
157+
158+
25、[codelf](https://github.com/unbug/codelf):变量命名工具。计算机科学里两件最难的事:缓存失效和命名。该工具支持直接搜索中文,当你查中文的时候,Codelf 会直接查好单词和单词的近义词给你。然后再搜索 Github、Bitbucket、Google Code 等上的开源项目的源码匹配出与这些词汇相关的变量名和函数名。[在线尝试](https://unbug.github.io/codelf/)
159+
160+
26、[the-art-of-command-line](https://github.com/jlevy/the-art-of-command-line):该项目是作者在 Linux 系统上工作时,发现的一些命令行使用技巧的总结。有些技巧非常基础,而另一些则相当复杂,甚至难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了,它们会提高你在编程时的灵活性以及效率。[中文](https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md)
161+
162+
27、[nginxconfig.io](https://github.com/valentinxxx/nginxconfig.io):在线生成 Nginx 配置文件网站,[在线尝试](https://nginxconfig.io/)
163+
164+
28、[cool-retro-term](https://github.com/Swordfish90/cool-retro-term):一个终端模拟器,模仿了老式阴极管屏幕的外观和视觉感觉,养眼、轻量且外观可调,支持 Linux、macOS。搭配上 Vim 或 Emacs,即刻获得与上个世纪 hackers 相同的编程体验
165+
166+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/cool-retro-term.gif)
167+
168+
#### 开源书籍
169+
29、[Cpp_Concurrency_In_Action](https://github.com/xiaoweiChen/Cpp_Concurrency_In_Action):《C++ Concurrency in Action》的中文翻译版(C++ 并发编程),[在线阅读](https://chenxiaowei.gitbooks.io/cpp_concurrency_in_action/)
170+
171+
30、[ddia](https://github.com/Vonng/ddia):《Designing Data-Intensive Application》中文翻译版(设计数据密集型应用)
172+
173+
#### 机器学习
174+
31、[MTCNN_face_detection_alignment](https://github.com/kpzhang93/MTCNN_face_detection_alignment):人脸检测领域经典之作,出自 2016 年 ECCV 一篇[论文](https://kpzhang93.github.io/MTCNN_face_detection_alignment/paper/spl.pdf)。目前在工业应用中落地比较成功,很多公司检测模块运用 MTCNN 或者其加速版,MTCNN 将人脸检测和关键点检测通过一个模型作为 MultiTasks 的方式进行训练,inference 时候可同时得到人脸框信息和关键点信息
175+
176+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/MTCNN_face_detection_alignment.png)
177+
178+
32、[FaceBoxes](https://github.com/zeusees/FaceBoxes):出自论文 [FaceBoxes: A CPU Real-time Face Detector with High Accuracy](http://cn.arxiv.org/abs/1708.05234),是一种可以在 CPU 上实现实时检测的方法,而且精度不错。该项目是 Caffe 版本,步骤讲解清晰,可以快速复现。鉴于 FaceBoxes 的检测速度非常快,也可以作为一种生产落地的方法,并且现有速度仍有一定的优化空间
179+
180+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/FaceBoxes.png)
181+
182+
33、[SSH](https://github.com/mahyarnajibi/SSH):该项目是 ICCV2017 论文 [SSH:Single Stage Headless Face Detector](https://arxiv.org/abs/1708.03979)
183+
作者自己开源的项目,算是官方开源项目,具有一定的权威性。SSH 也算是人脸检测中一个经典的方法,具有较高的精度和较快的速度。项目实现了论文中的很多细节,对复现过程也有详细的讲解,容易实现。美中不足的是论文中的 Pyramid 方式,该项目没有实现
184+
185+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/SSH.jpeg)
186+
187+
34、[S3FD.pytorch](https://github.com/yxlijun/S3FD.pytorch):该项目是论文 [S3FD:Single Shot Scale-invariant Face Detector](https://arxiv.org/abs/1708.05237) 的 pytorch 复现版本。S3FD 目前在 FDDB 的评测中排在前几位,属于精度较高的人脸检测方法。论文主要解决人脸尺度问题,进一步提升对小脸的检测
188+
189+
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/S3FD_pytorch.png)
190+
191+
35、[deep-learning-papers-translation](https://github.com/SnailTyan/deep-learning-papers-translation):主要内容是 CV 领域里一些论文的翻译,包括分类、检测、OCR和模型轻量化。不喜欢看英文原版论文的,可以关注该项目
192+
193+
194+
195+
---
196+
197+
## 换种方式阅读
198+
- **网站:** https://hellogithub.com
199+
- **GitBook:** https://gitbook.hellogithub.com
200+
201+
## 声明
202+
如果你发现了好玩、有意义的开源项目 [点击这里](https://github.com/521xueweihan/HelloGitHub/issues/new) 分享你觉得有意思的项目。
203+
204+
**欢迎转载,请注明出处和作者,同时保留声明。**

0 commit comments

Comments
 (0)