forked from 521xueweihan/HelloGitHub
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
da658ac
commit 8a15e82
Showing
3 changed files
with
210 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,204 @@ | ||
# 《HelloGitHub》第 33 期 | ||
>兴趣是最好的老师,**HelloGitHub** 就是帮你找到兴趣! | ||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/01/img/hello-github.jpg) | ||
|
||
## 简介 | ||
分享 GitHub 上有趣、入门级的开源项目。 | ||
|
||
这是一个面向**编程新手**、**热爱编程**、**对开源社区感兴趣** 人群的月刊,月刊的内容包括:**各种编程语言的项目**、**让生活变得更美好的工具**、**书籍、学习笔记、教程等**,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到**开源社区**中。 | ||
- 会编程的可以贡献代码 | ||
- 不会编程的可以反馈使用这些工具中的 Bug | ||
- 帮着宣传你觉得优秀的项目 | ||
- Star 项目⭐️ | ||
|
||
在浏览、参与这些项目的过程中,你将学习到**更多编程知识**、**提高编程技巧**、**找到编程的乐趣**。 | ||
|
||
🎉 最后 [HelloGitHub](https://hellogithub.com) 这个项目就诞生了 🎉 | ||
|
||
--- | ||
> **以下为本期内容**|每个月 **28** 号发布最新一期|[点击查看往期内容](https://github.com/521xueweihan/HelloGitHub#内容) | ||
#### C 项目 | ||
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 库教程。大纲: | ||
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](https://github.com/MisterBooo/LeetCodeAnimation):用动画的形式呈现解 LeetCode 题目的思路 | ||
|
||
#### CSS 项目 | ||
3、[lit](https://github.com/ajusa/lit):仅 395 字节的响应式 CSS 框架 | ||
|
||
#### Go 项目 | ||
4、[yeetgif](https://github.com/sgreben/yeetgif):一个命令行工具,用来组合、生成表情的 gif 动图。支持多种模式:旋转、抖动、鬼畜等,可以组合出很魔性的表情 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/yeetgif.gif) | ||
|
||
5、[ptt-daily-beauty](https://github.com/Larry850806/ptt-daily-beauty):每晚 11 点会自动发送 PTT 论坛(台湾最大论坛) Beauty 板块前 3 名的小姐姐图片。[点击订阅](https://www.daily-beauty.xyz/) | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/ptt-daily-beauty.png) | ||
|
||
6、[q](https://github.com/y0ssar1an/q):Golang debug 库,自动打印变量类型并且格式化输出 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/q.png) | ||
|
||
7、[tldr](https://github.com/isacikgoz/tldr):Golang tldr 客户端。对比之前推荐过的 Python 版本客户端,Golang 版本速度更快、交互友好、且支持选择搜索结果的展示样式。每当你想要用 tar 解压缩,但是记不住具体参数的时候,tldr 可以拯救世界 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/tldr.gif) | ||
|
||
#### Java 项目 | ||
8、[xLog](https://github.com/elvishew/xLog):简单、美观、强大、可扩展的 Android 和 Java 日志库,可同时在多个通道打印日志,如 Logcat、Console 和文件。功能: | ||
- 全局配置(TAG,各种格式化器...)或基于单条日志的配置 | ||
- 支持打印任意对象以及可自定义的对象格式化器 | ||
- 支持打印无限长的日志(没有 4K 字符的限制) | ||
- XML 和 JSON 格式化输出 | ||
- 等等 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/xLog.png) | ||
|
||
9、[AndroidWM](https://github.com/huangyz0918/AndroidWM):一个轻量级的开源 Android 图片水印框架,支持文字水印和图像水印,以及不同的水印样式、位置等。同时可以支持 LSB 空间域隐形数字水印的加载和频域数字水印的加载和检测,适合客户端图片水印添加,移动端图像处理等 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/AndroidWM.png) | ||
|
||
#### JavaScript 项目 | ||
10、[better-onetab](https://github.com/cnwangjie/better-onetab):实用的管理浏览器多标签页面的工具,目前支持 Chrome 以及 FireFox 的扩展。支持标签页储存和标签页分组等功能 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/better-onetab.png) | ||
|
||
11、[lint-md](https://github.com/hustcc/lint-md):用于检查中文 markdown 编写格式规范的命令行工具。方便集成 CI,支持 API 方法调用。对于矫正 markdown 编写格式来说是一个很好的检查工具,基于 AST 的格式规范检测的代码也可以借鉴和学习 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/lint-md.png) | ||
|
||
12、[js2image](https://github.com/xinyu198736/js2image):将源代码压缩成圣诞树的样子,使用此项目压缩生产环境代码后请注意测试。有兴趣的小伙伴可以尝试扩展出压缩成其它样子,很有意思 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/js2image.png) | ||
|
||
13、[swc](https://github.com/swc-project/swc):基于 Rust 开发的 [Babel](https://github.com/babel/babel) 替代品,速度更快,值得关注 | ||
|
||
#### Objective-C 项目 | ||
14、[iSH](https://github.com/tbodt/ish):在 iOS 上跑 Linux shell,可以通过 linux 命令操作你的 iOS 设备 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/ish.png) | ||
|
||
15、[Nudeln](https://github.com/hon-key/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]; | ||
} | ||
} | ||
``` | ||
|
||
16、[JXCategoryView](https://github.com/pujiaxin33/JXCategoryView):几乎实现了当前所有主流 APP 的分类切换控制效果的库。效果丰富、配置简单,优点: | ||
- 使用协议封装指示器逻辑,可以为所欲为的自定义指示器效果 | ||
- 提供更加全面丰富、高度自定义的效果 | ||
- 使用子类化管理 cell 样式,逻辑更清晰,扩展更简单 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/JXCategoryView.gif) | ||
|
||
17、[LongestCocoa](https://github.com/Quotation/LongestCocoa):写 Objective-C 的程序员肯定对冗长的描述性命名风格爱的深切。所以 Cocoa 框架里最长的方法或在常量名有哪些?该项目就是告诉你这些冗长名字都有那些 | ||
|
||
#### PHP 项目 | ||
18、[MeEdu](https://github.com/Qsnh/meedu):开源免费的在线教育系统,支持在线点播、在线电子书、会员收费三大模块。[在线尝试](https://meedu.app/) | ||
|
||
#### Python 项目 | ||
19、[loguru](https://github.com/Delgan/loguru):一个让 Python 记录日志变得简单的库 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/loguru.gif) | ||
|
||
20、[lsbasi](https://github.com/rspivak/lsbasi):用 Python 写一个简单的解释器系列教程 | ||
|
||
21、[mkdocs](https://github.com/mkdocs/mkdocs):用 Python 开发的快速、简单的静态网站生成器,主要是为了构建项目的文档。文档源是 markdown 文件,用法和 Hexo 差不多,可通过一个 YAML 文件进行配置 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/mkdocs.png) | ||
|
||
22、[weixin_crawler](https://github.com/wonderfulsuccess/weixin_crawler):基于 Scrapy、Flask、Echarts、Elasticsearch 等实现的微信公众号文章爬虫。自带 UI 界面、分析报告、搜索功能 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/weixin_crawler.gif) | ||
|
||
#### 其它 | ||
23、[Back-End-Developer-Interview-Questions](https://github.com/arialdomartini/Back-End-Developer-Interview-Questions):《后端开发面试题》[中文](https://github.com/monklof/Back-End-Developer-Interview-Questions) | ||
|
||
24、[weekly](https://github.com/ruanyf/weekly):[阮一峰](https://github.com/ruanyf)技术分享周刊,每周五发布 | ||
|
||
25、[codelf](https://github.com/unbug/codelf):变量命名工具。计算机科学里两件最难的事:缓存失效和命名。该工具支持直接搜索中文,当你查中文的时候,Codelf 会直接查好单词和单词的近义词给你。然后再搜索 Github、Bitbucket、Google Code 等上的开源项目的源码匹配出与这些词汇相关的变量名和函数名。[在线尝试](https://unbug.github.io/codelf/) | ||
|
||
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) | ||
|
||
27、[nginxconfig.io](https://github.com/valentinxxx/nginxconfig.io):在线生成 Nginx 配置文件网站,[在线尝试](https://nginxconfig.io/) | ||
|
||
28、[cool-retro-term](https://github.com/Swordfish90/cool-retro-term):一个终端模拟器,模仿了老式阴极管屏幕的外观和视觉感觉,养眼、轻量且外观可调,支持 Linux、macOS。搭配上 Vim 或 Emacs,即刻获得与上个世纪 hackers 相同的编程体验 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/cool-retro-term.gif) | ||
|
||
#### 开源书籍 | ||
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/) | ||
|
||
30、[ddia](https://github.com/Vonng/ddia):《Designing Data-Intensive Application》中文翻译版(设计数据密集型应用) | ||
|
||
#### 机器学习 | ||
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 时候可同时得到人脸框信息和关键点信息 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/MTCNN_face_detection_alignment.png) | ||
|
||
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 的检测速度非常快,也可以作为一种生产落地的方法,并且现有速度仍有一定的优化空间 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/FaceBoxes.png) | ||
|
||
33、[SSH](https://github.com/mahyarnajibi/SSH):该项目是 ICCV2017 论文 [SSH:Single Stage Headless Face Detector](https://arxiv.org/abs/1708.03979) | ||
作者自己开源的项目,算是官方开源项目,具有一定的权威性。SSH 也算是人脸检测中一个经典的方法,具有较高的精度和较快的速度。项目实现了论文中的很多细节,对复现过程也有详细的讲解,容易实现。美中不足的是论文中的 Pyramid 方式,该项目没有实现 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/SSH.jpeg) | ||
|
||
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 的评测中排在前几位,属于精度较高的人脸检测方法。论文主要解决人脸尺度问题,进一步提升对小脸的检测 | ||
|
||
![](https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/33/img/S3FD_pytorch.png) | ||
|
||
35、[deep-learning-papers-translation](https://github.com/SnailTyan/deep-learning-papers-translation):主要内容是 CV 领域里一些论文的翻译,包括分类、检测、OCR和模型轻量化。不喜欢看英文原版论文的,可以关注该项目 | ||
|
||
|
||
|
||
--- | ||
|
||
## 换种方式阅读 | ||
- **网站:** https://hellogithub.com | ||
- **GitBook:** https://gitbook.hellogithub.com | ||
|
||
## 声明 | ||
如果你发现了好玩、有意义的开源项目 [点击这里](https://github.com/521xueweihan/HelloGitHub/issues/new) 分享你觉得有意思的项目。 | ||
|
||
**欢迎转载,请注明出处和作者,同时保留声明。** |
Oops, something went wrong.