这里列出的是我的一些兴趣项目。
机器视觉和机器人
RoboMasterPy
RoboMasterPy 是一个适用于机甲大师EP(大疆创新的教育机器人)的Python库和编程框架。RoboMasterPy编程框架抽象了视频流、推送和事件的获取,模块之间的信息通讯, 提供了一个高层的逻辑组织方式,期望降低开发者的心智负担,提升开发效率。
结合OpenCV等工具,我做了一些还算有趣的工作,这篇文章详细解释了怎么将你的机器人小车训练为一名守门员。
娱乐
O’RLY封面生成器
O’RLY(不是O’Reilly)封面工厂是一个娱乐性的书籍封面生成器,支持输入多种语言。
O’RLY 基于Golang和Vue.js实现,编写它的初衷有三个:
- 好玩;
- dev.to上的O RLY Cover Generator不支持英文以外的语言;
- Golang关于图形类、字体类的应用比较少见,值得尝试。
中间件和依赖库
Golang gzip中间件
一个了然无趣,适用于Gin和net/http的gzip中间件。
在几乎所有网络框架中,gzip中间件都是一个基础、常见甚至有些无聊的部分。但是这样基础、不起眼的部分下,还是有一些的复杂性值得考虑:
- 客户端支持解压缩吗?
- 哪些内容类型需要压缩?判断基于MIME还是扩展名?
- 数据流是不是已经压缩过?
- 返回最少要多大才值得压缩?
- 使用哪一个gzip级别?
- 流式传输的返回该如何判断返回大小?
- ……
在实现这个项目时,我学到了不少东西。
Go Etherscan API库
Etherscan.io的Golang绑定, 支持几乎所有功能(accounts, transactions, tokens, contracts, blocks, stats), 所有公共网络(Mainnet, Ropsten, Kovan, Rinkby, Tobalaba)。 本项目只依赖于官方库。
其他
更多项目可以参阅我的Github.