《HelloGitHub》第 33 期 我不是女神ヾ 2022-04-22 14:56 218阅读 0赞 # 公告 # 欢迎 [点击分享][Link 1] 自荐或发现的开源项目,也可安装 [分享插件][Link 2] 更便捷地推荐有趣的开源项目。 小伙伴们,新的一年就要来了,今年的 Bug 改完了吗?先看看《HelloGitHub》最新一期月刊压压惊,再改吧? # 《HelloGitHub》第 33 期 # > 兴趣是最好的老师,**HelloGitHub** 就是帮你找到兴趣! ![hello-github.jpg][] ## 简介 ## 分享 GitHub 上有趣、入门级的开源项目。 这是一个面向**编程新手**、**热爱编程**、**对开源社区感兴趣** 人群的月刊,月刊的内容包括:**各种编程语言的项目**、**让生活变得更美好的工具**、**书籍、学习笔记、教程等**,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到**开源社区**中。 * 会编程的可以贡献代码 * 不会编程的可以反馈使用这些工具中的 Bug * 帮着宣传你觉得优秀的项目 * Star 项目⭐️ 在浏览、参与这些项目的过程中,你将学习到**更多编程知识**、**提高编程技巧**、**找到编程的乐趣**。 ? 最后 [HelloGitHub][] 这个项目就诞生了 ? -------------------- > **以下为本期内容**|每个月 **28** 号发布最新一期|[点击查看往期内容][Link 3] #### C 项目 #### 1、[json-tutorial][]:由[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][]:用动画的形式呈现解 LeetCode 题目的思路 #### CSS 项目 #### 3、[lit][]:仅 395 字节的响应式 CSS 框架 #### Go 项目 #### 4、[yeetgif][]:一个命令行工具,用来组合、生成表情的 gif 动图。支持多种模式:旋转、抖动、鬼畜等,可以组合出很魔性的表情 ![yeetgif.gif][] 5、[ptt-daily-beauty][]:每晚 11 点会自动发送 PTT 论坛(台湾最大论坛) Beauty 板块前 3 名的小姐姐图片。[点击订阅][Link 4] ![ptt-daily-beauty.png][] 6、[q][]:Golang debug 库,自动打印变量类型并且格式化输出 ![q.png][] 7、[tldr][]:Golang tldr 客户端。对比之前推荐过的 Python 版本客户端,Golang 版本速度更快、交互友好、且支持选择搜索结果的展示样式。每当你想要用 tar 解压缩,但是记不住具体参数的时候,tldr 可以拯救世界 ![tldr.gif][] #### Java 项目 #### 8、[xLog][]:简单、美观、强大、可扩展的 Android 和 Java 日志库,可同时在多个通道打印日志,如 Logcat、Console 和文件。功能: * 全局配置(TAG,各种格式化器...)或基于单条日志的配置 * 支持打印任意对象以及可自定义的对象格式化器 * 支持打印无限长的日志(没有 4K 字符的限制) * XML 和 JSON 格式化输出 * 等等 ![xLog.png][] 9、[AndroidWM][]:一个轻量级的开源 Android 图片水印框架,支持文字水印和图像水印,以及不同的水印样式、位置等。同时可以支持 LSB 空间域隐形数字水印的加载和频域数字水印的加载和检测,适合客户端图片水印添加,移动端图像处理等 ![AndroidWM.png][] #### JavaScript 项目 #### 10、[better-onetab][]:实用的管理浏览器多标签页面的工具,目前支持 Chrome 以及 FireFox 的扩展。支持标签页储存和标签页分组等功能 ![better-onetab.png][] 11、[lint-md][]:用于检查中文 markdown 编写格式规范的命令行工具。方便集成 CI,支持 API 方法调用。对于矫正 markdown 编写格式来说是一个很好的检查工具,基于 AST 的格式规范检测的代码也可以借鉴和学习 ![lint-md.png][] 12、[js2image][]:将源代码压缩成圣诞树的样子,使用此项目压缩生产环境代码后请注意测试。有兴趣的小伙伴可以尝试扩展出压缩成其它样子,很有意思 ![js2image.png][] 13、[swc][]:基于 Rust 开发的 [Babel][] 替代品,速度更快,值得关注 #### Objective-C 项目 #### 14、[iSH][]:在 iOS 上跑 Linux shell,可以通过 linux 命令操作你的 iOS 设备 ![ish.png][] 15、[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][]:几乎实现了当前所有主流 APP 的分类切换控制效果的库。效果丰富、配置简单,优点: * 使用协议封装指示器逻辑,可以为所欲为的自定义指示器效果 * 提供更加全面丰富、高度自定义的效果 * 使用子类化管理 cell 样式,逻辑更清晰,扩展更简单 ![JXCategoryView.gif][] 17、[LongestCocoa][]:写 Objective-C 的程序员肯定对冗长的描述性命名风格爱的深切。所以 Cocoa 框架里最长的方法或在常量名有哪些?该项目就是告诉你这些冗长名字都有那些 #### PHP 项目 #### 18、[MeEdu][]:开源免费的在线教育系统,支持在线点播、在线电子书、会员收费三大模块。[在线尝试][Link 5] #### Python 项目 #### 19、[loguru][]:一个让 Python 记录日志变得简单的库 ![loguru.gif][] 20、[lsbasi][]:用 Python 写一个简单的解释器系列教程 21、[mkdocs][]:用 Python 开发的快速、简单的静态网站生成器,主要是为了构建项目的文档。文档源是 markdown 文件,用法和 Hexo 差不多,可通过一个 YAML 文件进行配置 ![mkdocs.png][] 22、[weixin\_crawler][weixin_crawler]:基于 Scrapy、Flask、Echarts、Elasticsearch 等实现的微信公众号文章爬虫。自带 UI 界面、分析报告、搜索功能 ![weixin\_crawler.gif][weixin_crawler.gif] #### 其它 #### 23、[Back-End-Developer-Interview-Questions][]:《后端开发面试题》[中文][Link 6] 24、[weekly][]:[阮一峰][Link 7]技术分享周刊,每周五发布 25、[codelf][]:变量命名工具。计算机科学里两件最难的事:缓存失效和命名。该工具支持直接搜索中文,当你查中文的时候,Codelf 会直接查好单词和单词的近义词给你。然后再搜索 Github、Bitbucket、Google Code 等上的开源项目的源码匹配出与这些词汇相关的变量名和函数名。[在线尝试][Link 8] 26、[the-art-of-command-line][]:该项目是作者在 Linux 系统上工作时,发现的一些命令行使用技巧的总结。有些技巧非常基础,而另一些则相当复杂,甚至难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了,它们会提高你在编程时的灵活性以及效率。[中文][Link 9] 27、[nginxconfig.io][]:在线生成 Nginx 配置文件网站,[在线尝试][Link 10] 28、[cool-retro-term][]:一个终端模拟器,模仿了老式阴极管屏幕的外观和视觉感觉,养眼、轻量且外观可调,支持 Linux、macOS。搭配上 Vim 或 Emacs,即刻获得与上个世纪 hackers 相同的编程体验 ![cool-retro-term.gif][] #### 开源书籍 #### 29、[Cpp\_Concurrency\_In\_Action][Cpp_Concurrency_In_Action]:《C++ Concurrency in Action》的中文翻译版(C++ 并发编程),[在线阅读][Link 11] 30、[ddia][]:《Designing Data-Intensive Application》中文翻译版(设计数据密集型应用) #### 机器学习 #### 31、[MTCNN\_face\_detection\_alignment][MTCNN_face_detection_alignment]:人脸检测领域经典之作,出自 2016 年 ECCV 一篇[论文][Link 12]。目前在工业应用中落地比较成功,很多公司检测模块运用 MTCNN 或者其加速版,MTCNN 将人脸检测和关键点检测通过一个模型作为 MultiTasks 的方式进行训练,inference 时候可同时得到人脸框信息和关键点信息 ![MTCNN\_face\_detection\_alignment.png][MTCNN_face_detection_alignment.png] 32、[FaceBoxes][]:出自论文 [FaceBoxes: A CPU Real-time Face Detector with High Accuracy][FaceBoxes_ A CPU Real-time Face Detector with High Accuracy],是一种可以在 CPU 上实现实时检测的方法,而且精度不错。该项目是 Caffe 版本,步骤讲解清晰,可以快速复现。鉴于 FaceBoxes 的检测速度非常快,也可以作为一种生产落地的方法,并且现有速度仍有一定的优化空间 ![FaceBoxes.png][] 33、[SSH][]:该项目是 ICCV2017 论文 [SSH:Single Stage Headless Face Detector][SSH_Single Stage Headless Face Detector] 作者自己开源的项目,算是官方开源项目,具有一定的权威性。SSH 也算是人脸检测中一个经典的方法,具有较高的精度和较快的速度。项目实现了论文中的很多细节,对复现过程也有详细的讲解,容易实现。美中不足的是论文中的 Pyramid 方式,该项目没有实现 ![SSH.jpeg][] 34、[S3FD.pytorch][]:该项目是论文 [S3FD:Single Shot Scale-invariant Face Detector][S3FD_Single Shot Scale-invariant Face Detector] 的 pytorch 复现版本。S3FD 目前在 FDDB 的评测中排在前几位,属于精度较高的人脸检测方法。论文主要解决人脸尺度问题,进一步提升对小脸的检测 ![S3FD\_pytorch.png][S3FD_pytorch.png] 35、[deep-learning-papers-translation][]:主要内容是 CV 领域里一些论文的翻译,包括分类、检测、OCR和模型轻量化。不喜欢看英文原版论文的,可以关注该项目 -------------------- ## 换种方式阅读 ## * **网站:** https://hellogithub.com * **GitBook:** https://gitbook.hellogithub.com ## 声明 ## 如果你发现了好玩、有意义的开源项目 [点击这里][Link 1] 分享你觉得有意思的项目。 **欢迎转载,请注明出处和作者,同时保留声明。** [Link 1]: https://github.com/521xueweihan/HelloGitHub/issues/new [Link 2]: https://awesome.fairyever.com/article/chrome-extension.html [hello-github.jpg]: https://raw.githubusercontent.com/521xueweihan/img/master/hellogithub/01/img/hello-github.jpg [HelloGitHub]: https://hellogithub.com/ [Link 3]: https://github.com/521xueweihan/HelloGitHub#%E5%86%85%E5%AE%B9 [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 [LeetCodeAnimation]: https://github.com/MisterBooo/LeetCodeAnimation [lit]: https://github.com/ajusa/lit [yeetgif]: https://github.com/sgreben/yeetgif [yeetgif.gif]: /images/20220327/4e821850ed244cea860ef36349f95fa2.png [ptt-daily-beauty]: https://github.com/Larry850806/ptt-daily-beauty [Link 4]: https://www.daily-beauty.xyz/ [ptt-daily-beauty.png]: /images/20220327/239556a11cd3482d9343f37adb0d7bf8.png [q]: https://github.com/y0ssar1an/q [q.png]: /images/20220327/f694141182624564bf47ae04aded4fca.png [tldr]: https://github.com/isacikgoz/tldr [tldr.gif]: /images/20220327/5cd781ca33ee42c1be4f38113beb313b.png [xLog]: https://github.com/elvishew/xLog [xLog.png]: /images/20220327/e6c8fd112866405ba724e0cc47528809.png [AndroidWM]: https://github.com/huangyz0918/AndroidWM [AndroidWM.png]: /images/20220327/b419def3a5a84494a1b99eb250556b7a.png [better-onetab]: https://github.com/cnwangjie/better-onetab [better-onetab.png]: /images/20220327/7ab040f4a4054dec972e66c29b73e460.png [lint-md]: https://github.com/hustcc/lint-md [lint-md.png]: /images/20220327/eeacc74f6098444291b7562389f2e884.png [js2image]: https://github.com/xinyu198736/js2image [js2image.png]: /images/20220327/3facadbbffcb4ac2ab207ba3330f6a77.png [swc]: https://github.com/swc-project/swc [Babel]: https://github.com/babel/babel [iSH]: https://github.com/tbodt/ish [ish.png]: /images/20220327/f1f7a9e0a55b4421b57ab63f69c6025c.png [Nudeln]: https://github.com/hon-key/Nudeln [JXCategoryView]: https://github.com/pujiaxin33/JXCategoryView [JXCategoryView.gif]: /images/20220327/a4a6513116f84e24bc2f5e18143e8ebf.png [LongestCocoa]: https://github.com/Quotation/LongestCocoa [MeEdu]: https://github.com/Qsnh/meedu [Link 5]: https://meedu.app/ [loguru]: https://github.com/Delgan/loguru [loguru.gif]: /images/20220327/a905b46be8f347d480f59a5158758de0.png [lsbasi]: https://github.com/rspivak/lsbasi [mkdocs]: https://github.com/mkdocs/mkdocs [mkdocs.png]: /images/20220327/60b60f69441e4fc78828a2f99401a776.png [weixin_crawler]: https://github.com/wonderfulsuccess/weixin_crawler [weixin_crawler.gif]: /images/20220327/e996c4b99cc3495da5c12fbbbea8558d.png [Back-End-Developer-Interview-Questions]: https://github.com/arialdomartini/Back-End-Developer-Interview-Questions [Link 6]: https://github.com/monklof/Back-End-Developer-Interview-Questions [weekly]: https://github.com/ruanyf/weekly [Link 7]: https://github.com/ruanyf [codelf]: https://github.com/unbug/codelf [Link 8]: https://unbug.github.io/codelf/ [the-art-of-command-line]: https://github.com/jlevy/the-art-of-command-line [Link 9]: https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md [nginxconfig.io]: https://github.com/valentinxxx/nginxconfig.io [Link 10]: https://nginxconfig.io/ [cool-retro-term]: https://github.com/Swordfish90/cool-retro-term [cool-retro-term.gif]: /images/20220327/550f12ba9d414d85aa8488d853decfe7.png [Cpp_Concurrency_In_Action]: https://github.com/xiaoweiChen/Cpp_Concurrency_In_Action [Link 11]: https://chenxiaowei.gitbooks.io/cpp_concurrency_in_action/ [ddia]: https://github.com/Vonng/ddia [MTCNN_face_detection_alignment]: https://github.com/kpzhang93/MTCNN_face_detection_alignment [Link 12]: https://kpzhang93.github.io/MTCNN_face_detection_alignment/paper/spl.pdf [MTCNN_face_detection_alignment.png]: /images/20220327/bc0e45c35e004a27b122f169c159f5fe.png [FaceBoxes]: https://github.com/zeusees/FaceBoxes [FaceBoxes_ A CPU Real-time Face Detector with High Accuracy]: http://cn.arxiv.org/abs/1708.05234 [FaceBoxes.png]: /images/20220327/6f4fc64e27374286b84ccef53d20782f.png [SSH]: https://github.com/mahyarnajibi/SSH [SSH_Single Stage Headless Face Detector]: https://arxiv.org/abs/1708.03979 [SSH.jpeg]: /images/20220327/c97bce5e34744f74883af7691b5de4aa.png [S3FD.pytorch]: https://github.com/yxlijun/S3FD.pytorch [S3FD_Single Shot Scale-invariant Face Detector]: https://arxiv.org/abs/1708.05237 [S3FD_pytorch.png]: /images/20220327/3fcd7c5275424720bfeee352f0a04fe0.png [deep-learning-papers-translation]: https://github.com/SnailTyan/deep-learning-papers-translation
还没有评论,来说两句吧...