62

2017 年节点——我写的那些开源软件

 6 years ago
source link: http://www.phodal.com/blog/summary-2017-the-opensource-software/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Posted by: Phodal Huang Dec. 25, 2017, 8:48 p.m.

造轮子,是一个程序员的基本装逼技能。这些轮子可以的来源可以是:

  • 我们日常工作中遇到的一些问题,提出的解决方案。
  • 使用某个开源软件的过程中,发现它不能满足我们的需求
  • 我想开发一个工具,来帮助其它人
  • 无聊,我就是想造个轮子

日子过得很快,作为一个 markdown 程序员,在这一年,我造了一些有意思的轮子;还有一些 markdown 工具。如果你已经很了解我了,那么你可能都已经在 GitHub 上 follow 我了,那么这一年造了什么,你可能也很清楚。

图上的颜色深度,实际上也表明了哪段时间轮子造得比较频繁。比如:

  • 三月份的 Stepping
  • 五月份的 Growth 3.0
  • 十月份的 Serverless 系列
  • 十一月份的 ADR
  • 十二月份的 Dore

那么,就让我来愉快地回顾一下,这一年我做了些什么。

Growth 3.0

GitHub: https://github.com/phodal/growth

Growth 3.0 在现在看来,算是一个 “失败” 的版本,主要的原因是:功能太多,导致多而不精。并且由于开发人手的不足,导致了很多功能难以按时完成。

在这个版本里引入了:

  • LeetCode 试题,适合于地铁思考模式
  • 算法动画学习工具
  • 正则表达式练习
  • 设计模式简介
  • 内置 VS Code 的编辑器

但是核心的内容没有发生多少变动。但是考虑到仍然有大量的用户在使用 Growth,如果能招集到一定的开发人员,那么就会开发下一个版本。

感谢 @travelgeezer、@airt、@chinesedfan、@zld、@entronad 在这个过程中帮忙填坑。

Stepping

GitHub:https://github.com/phodal/stepping

我在 Stepping 项目上花费了大量的时间,它最初是为了解决我在学习领域驱动设计中的 “事件风暴” 而产生的框架。最初其设计思想是通过 DSL 来生成领域模型。

后来,我的脑洞又大开了。我在里面添加了数据库 Schema:

detail: 商品
  model: product
   - id: int (long, md5)
   - name: string (64)
   - number: string (64)
   - manufacturers: string (128)

计划用来对接 Swagger 的 API 生成库,可以直接用来生成对应的代码:

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 0,
            "name": "name",
            "number": 0,
            "manufacturers": "manufacturers"
        }
    ]
}

造着,造着,我就弃坑了。

我终于知道为什么产品经理,每天会有那么 SB 的需求。我的需求看上去一点也不聪明,也很 SB。

Serverless 系列

在我学习 Serverless 的时候,我顺手造了一堆轮子,估计大家都用不到:

  • 基于 Serverless 的微信公共平台: https://github.com/phodal/mp
  • Serverless 事件和错误日志系统: https://github.com/phodal/molog
  • Serverless 表单系统:https://github.com/phodal/moform
  • Serverless 短链服务:https://github.com/phodal/shorter

你可以在我的博客上,或者公众号的历史找到相关的记录。

ADR 可能是我今年把需求控制得最好的项目了——没有额外的功能。不对,还是有一些多余的需求,但是我 “觉得” 还是很有必要的。

ADR 是一个轻量级架构决策记录工具,简单的来说就是使用 Markdown 来记录架构决策记录

GitHub:https://github.com/phodal/adr

它使用 TypeScript 编写,支持 Windows, GNU/Linux, Mac OS、生成 HTML 报表、国际化支持、状态查询 blabla。

在提交了 300+ 次之后,我终于控制自己不再往里面加需求了。我就是一个万恶的产品经理,对自己太残忍了。

作为年底的最后一个大项目,Dore 是一个使用 React Native 实现的 WebView 容器,可以让你在 WebView 调用 React Native 组件。

它算是对我今年工作的一个总结,其初衷是作为迁移 Cordova 的 WebView 应用到 React Native 的 WebView 的基础设施。

GitHub:https://github.com/phodal/dore

在实现 Dore 的这两星期里,在 @travelgeezer 的帮助下(每次需要填坑的时候,我都想到了 @travelgeezer),已经嫁接了二十几个插件。中间,我还写了一些 Objective-C 和 Java 的原生代码。

尽管这个项目不会很成功(我的意思是有很多 star),但是我对它非常满意。

明年,我会造更多的坑。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK