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

第 26 期

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

C 项目

1. ttygif

Star 3.2k Watch 62 Fork 184
录制终端.gif
ttygif

C++ 项目

2. TrafficMonitor

Star 5.8k Watch 161 Fork 759 中文
一款用于 Windows 平台的网速监控悬浮窗软件。可以显示当前网速、CPU及内存利用率、任务栏显示、更换皮肤、历史流量统计等功能
TrafficMonitor

CSS 项目

3. CaoMei

Star 841 Watch 25 Fork 55 中文
一套免费、精致的开源图标库。

  • 精心绘制 丨 风格统一、力求像素级的显示
  • 使用高效 丨 资源轻量、灵活、多设备兼容
  • 开源免费 丨 个人私用和商用版权开源免费

CaoMei

4. You-need-to-know-css

Star 1.8k Watch 54 Fork 218 中文
该项目包含了一些常用的 CSS 样式示例和作者阅读《CSS揭秘》的收获分享,适合于想要提高 CSS 技能的同学

Go 项目

5. lgo

Star 1.9k Watch 47 Fork 79
实现像 python 一样的交互式编程,同时整合了 Jupyter Notebook。效果如下:
lgo

6. gopool

Star 42 Watch 2 Fork 8 中文
Golang 分布式的连接池,协程池。内含 Redis Client 连接池实现,特点如下:

  • 提供下游的高可用访问,投票机制摘除下游不健康节点
  • 最小健康比、最大冷却时长可配置
  • 每个下游节点对应一个 channel,保证负载均衡
  • 提供连接池状态监控接口包括总连接数、每个 IP 的连接数

7. go-perfbook

Star 8.1k Watch 355 Fork 422 中文
《关于 Go 性能优化的思考》概述了编写高性能 Go 代码的最佳实践。中文

Java 项目

8. AutoEx

Star 800 Watch 13 Fork 66 中文
帮助 Android 开发者,让项目在崩溃时从异常堆栈中,自动寻找 Stack Overflow 的回答。体积只有 9kb 并且没有依赖其他第三方库。当程序出现异常时会有如下输出:

┌—————————————————————AutoEx——————————————————————
├ 错误类型:android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0056 type #0x12 is not valid。↑详细异常请往上滚动查看↑
├ 推荐参考Stack Overflow上4条同类问题。↓点击下方连接查看↓
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
├ 标题:Android Resources$NotFoundException: Resource ID #0x7f030027
├ 链接:https://stackoverflow.com/questions/21269502/android-resourcesnotfoundexception-resource-id-0x7f030027
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
├ 标题:android.content.res.Resources$NotFoundException: Resource ID #0x7f07007e
├ 链接:https://stackoverflow.com/questions/48161713/android-content-res-resourcesnotfoundexception-resource-id-0x7f07007e
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
├ 标题:App crashes when adding an ImageView?
├ 链接:https://stackoverflow.com/questions/47600747/app-crashes-when-adding-an-imageview
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
├ 标题:XML Android app will not load on phone
├ 链接:https://stackoverflow.com/questions/48310838/xml-android-app-will-not-load-on-phone
└—————————————————————AutoEx——————————————————————

9. javatuples

Star 334 Watch 14 Fork 61
提供了多个方便易用的 Java 元组类。写 Java 代码经常会有需要使用元组的场景,我们经常会用 Array 或者 List 来代替这种实现。但是这不仅不够优雅,并且不够安全(你要放弃泛型来达到可以存放不同类型的数据)。而 javatuples 提供了多个类型安全的、优雅的实现类,大大提升了我们开发的效率以及便捷性。示例代码:

...
String str = ...;
Integer integ = ...;
Double[] doubleArray = ...;
...

// create a tuple
Triplet<String,Integer,Double[]> triplet = Triplet.with(str, integ, doubleArray); 

// fetch data
...
String myStr = triplet.getValue0();
Integer myInteg = triplet.getValue1();
Double[] myDoubleArray = triplet.getValue2();
...

JavaScript 项目

10. javascript-algorithms

Star 57.0k Watch 2.3k Fork 9.1k 中文
包含了多种基于 JavaScript 的算法与数据结构,中文

11. dayjs

Star 24.5k Watch 268 Fork 1.2k
一个轻量的 JavaScript 时间日期处理库。保持和 Moment.js 的 API 设计完全一样。如果你曾经用过 Moment.js,那么你已经知道如何使用 Day.js 了。体积仅有 2kb 是 Moment.js 的轻量化方案,示例代码如下:

dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');

12. tui.calendar

Star 7.8k Watch 159 Fork 601
功能全面的 JavaScript 日程安排日历。虽然项目依赖了 jQuery,但是对于真实项目来说这样做是可以的。此项目适用于多种场景,炫酷的交互和 UI
tui.calendar

13. carbon

Star 22.4k Watch 241 Fork 1.1k 中文
以美观、整洁的方式,展示你的代码片段。同时提供 SVG、PNG 多种方式展示
carbon

14. BizCharts

Star 4.7k Watch 129 Fork 534 中文
蚂蚁出品的基于 React 的图表库。图表样式丰富、使用方便、易扩展、文档齐全,官网

Python 项目

15. redis-faina

Star 1.5k Watch 98 Fork 215
Redis 性能分析器。提供两种模式分析模式:命令实时、读取日志。其原理是使用 Redis MONITOR 命令,将该命令的结果通过管道传递给 redis-faina 脚本,脚本将返回的信息解析,并汇成总成统计信息。具体信息如下所示:

注意:分析非常闲的 redis 实例时,分析的结果可能偏差的很多。
时间单位为微秒:ms = 1.0 × 10^-6 seconds

Overall Stats
========================================
# 总命令数
Lines Processed     10
# QPS
Commands/Sec        1.03       

# 出现最多的 key 的前缀
Top Prefixes                           
========================================
startchart      9   (90.00%)

# 请求最多的key
Top Keys                                
========================================
startchart:521xueweihan/hellogithub     9   (90.00%)

# 请求最多的命令
Top Commands                        
========================================
get     9   (90.00%)

# 请求响应时间的分布
Command Time (microsecs)       
========================================
Median      583914.0
75%         637395.0
90%         5703923.0
99%         5703923.0

# 总耗时最多的命令
Heaviest Commands (microsecs)
========================================
get     9746157.0

# 慢请求列表
Slowest Calls                             
========================================
5703923.0   "get" "startchart:521xueweihan/hellogithub"
637395.0    "get" "startchart:521xueweihan/hellogithub"
633909.0    "get" "startchart:521xueweihan/hellogithub"
583914.0    "get" "startchart:521xueweihan/hellogithub"
569207.0    "get" "startchart:521xueweihan/hellogithub"
548745.0    "get" "startchart:521xueweihan/hellogithub"
545493.0    "get" "startchart:521xueweihan/hellogithub"
523571.0    "get" "startchart:521xueweihan/hellogithub"

16. marshmallow

Star 4.3k Watch 91 Fork 477
使用类似于 ORM 的语法,序列化、反序列化 Python 对象。可以将序列化的对象呈现为标准格式,适用于例如数据校验、返回 HTTP API 的 JSON。示例代码如下:

from datetime import date
from marshmallow import Schema, fields, pprint

class ArtistSchema(Schema):
    name = fields.Str()

class AlbumSchema(Schema):
    title = fields.Str()
    release_date = fields.Date()
    artist = fields.Nested(ArtistSchema())

bowie = dict(name='David Bowie')
album = dict(artist=bowie, title='Hunky Dory', release_date=date(1971, 12, 17))

schema = AlbumSchema()
result = schema.dump(album)
pprint(result, indent=2)
# 输出如下
# { 'artist': {'name': 'David Bowie'},
#   'release_date': '1971-12-17',
#   'title': 'Hunky Dory'}

Rust 项目

17. fd

Star 11.6k Watch 124 Fork 298 中文
一个简单、快速、友好的替代 find 命令的方案
fd

18. rayon

Star 3.4k Watch 88 Fork 219
一个易用、无数据竞争的将顺序迭代器妆化成并行迭代器。简单说就是原本你的数组只能一个一个地遍历,使用这个库可以并发同时从几个 index 开始遍历,同时也能遍历 map 等类似的数据结构

Swift 项目

19. CocoaDebug

Star 3.3k Watch 48 Fork 334 中文
iOS APP 内置调试工具,支持 log 日志查看、网络抓包、沙盒查看等功能,代码零入侵。示例代码:

//Step 1.
#if DEBUG
    import CocoaDebug
#endif

//Step 2.
#if DEBUG
    CocoaDebug.enable()
#endif

//Step 3.
public func print<T>(file: String = #file, function: String = #function, line: Int = #line, _ message: T, color: UIColor = .white) {
    #if DEBUG
        swiftLog(file, function, line, message, color)
    #endif
}

CocoaDebug

其它

20. architect-awesome

Star 39.1k Watch 2.8k Fork 12.4k 中文
《后端架构师技术图谱》

21. a-cartoon-intro-to-redux-cn

Star 742 Watch 18 Fork 96 中文
《看漫画学 Redux》

22. architecture.of.internet-product

Star 16.6k Watch 1.2k Fork 3.8k 中文
知名互联网公司的架构文档

23. public-apis

Star 66.8k Watch 1.9k Fork 7.5k
(英文)用于 Web 开发的公共 API 集合

24. practical-programming-books

Star 3.2k Watch 346 Fork 1.7k 中文
实用的计算机相关技术书籍、入门的实用教程、技术网站、博文集合

开源书籍

25. sicp-py-zh

Star 969 Watch 67 Fork 186 中文
《SICP Python 描述中文版》在线阅读

机器学习

26. AlphaZero_Gomoku

Star 1.8k Watch 96 Fork 621
使用 TensorFlow/Pytorch/Theano 实现 AlphaZero 算法,通过自我对弈从零训练五子棋 AI。实现简单、清晰,适合学习、了解 AlphaGo Zero 背后的关键思想和技术细节
AlphaZero_Gomoku