独立周刊2024/05/27

May 27, 2024

产品思路


unleash

Unleash 是一个开源的Feature Flag(功能开关)和实验平台,用于管理和控制软件应用中的功能发布。可以根据自定义的规则进行安全测试和发布新功能,目前 Unleash 提供了一些主流语言的集成框架,可以适用于不同模块的项目。

类似的产品有Launchdarkly、Flagsmith等。

本地编译方法

官方提供了docker的安装方式,这里主要介绍下本地安装的方案。

后端

  1. yarn install 本地安装公共依赖
  2. prepare:backend
    1. yarn:copy-templates:将mustache模板copy到build目录
    2. yarn:build:backend:编译后端代码 /src 到dist目录
  3. yarn local:package:将后端编译结果以及readme、doc等copy到build结果目录 build

前端

  1. yarn build:frontend:编译前端react项目 frontend
  2. 将前端编译结果 frontend/build copy到build目录 build/frontend/

安装

/docker 目录中已经有server启动脚本,执行安装后启动即可(yarn install)。

在package.json中有依赖前面的前后端编译结果

Loading...

本地开发

  1. 本地启动postgres,并创建一个名为unleash的DB。
  2. 修改 src/server-dev.ts 中的DB相关配置。
  3. yarn dev:backend 启动后端
  4. yarn dev:frontend 启动前段

新技能

Loading...

为何要用函数实现interface?因为方便。。。一些业务逻辑场景根本没有数据存储的需求,比如上面的http handler,仅仅需要一个函数就可以解决。引入一个struct会有一定的额外成本。直接使用函数来实现方案上更加简单。

另外也可以使用其他类型来实现interface,比如:

Loading...

所以重点是不要局限于其他语言的class继承机制,一定要实现一个struct来实现interface。go中没有此类限制

 

See all postsSee all posts