Blog

Blog

PHODAL

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

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

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

日子过得很快,作为一个 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 可能是我今年把需求控制得最好的项目了——没有额外的功能。不对,还是有一些多余的需求,但是我 “觉得” 还是很有必要的。

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

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

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

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

Dore

作为年底的最后一个大项目,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),但是我对它非常满意。

明年,我会造更多的坑。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签