2019年10月18日

yugabyte cdc 试用

摘要:目前yugabyte 的cdc 功能处于beta 阶段,应该也快实际可用了,以下是一个简单的试用 环境准备 使用docker-compose docker-compose 文件 version: '2' services: cdc-connector: build: ./ graphql-engin 阅读全文

posted @ 2019-10-18 10:51 荣锋亮 阅读 (2) 评论 (0) 编辑

yugabyte 做为hasura graphql-engine的pg数据引擎

摘要:今天看了下yugabyte 的更新 ,ysql 基本可以生产可用,刚好测试了下与hasura graphql-engine的集成,发现很不错,可以直接运行 环境准备 docker-compose version: '2' services: graphql-engine: image: hasura 阅读全文

posted @ 2019-10-18 10:21 荣锋亮 阅读 (4) 评论 (0) 编辑

2019年10月17日

Aquameta 基于postgresql的web 开发平台

摘要:Aquameta 是一个完全基于pg 开发的web平台 ,目前还在开发中。 当前支持的功能 meta 写入系统信息到pg bundle 基于pg 类似git 的文件系统 filesystem 双向文件系统 event 分布订阅更改api endpoint 将pg 的权限以及数据映射到weeb,并允许 阅读全文

posted @ 2019-10-17 23:00 荣锋亮 阅读 (3) 评论 (0) 编辑

使用google autoservice 自动生成java spi 描述文件

摘要:spi 是一种服务发现的标准,对于开发中我们通常需要编写 META-INF/services 文件夹中定义的类。 google auto 中的autoservice 可以帮助我们生成对应的配置,很方便 环境准备 项目结构 ├── pom.xml └── src ├── main │ ├── java 阅读全文

posted @ 2019-10-17 22:50 荣锋亮 阅读 (4) 评论 (0) 编辑

micronaut 学习 二 创建一个简单的服务

摘要:micronaut 提供的cli 很方便,我们可以快速创建具有所需特性的应用,以下是一个简单的web server app 创建命令 mn create-app hello-world mn create-app hello-world mn create-app hello-world mn cr 阅读全文

posted @ 2019-10-17 16:45 荣锋亮 阅读 (5) 评论 (0) 编辑

micronaut 学习一 基本安装

摘要:一般来说,使用框架就是使用类库同时按照框架的类库套路编写代码,但是从越来越复杂的实际 场景来说,cli以及脚手架工具,可以帮助我们简化好多操作。 以下是micronaut cli 工具的安装以及一个简单试用 windows 系统环境不太方便 安装sdkman 安装命令 curl -s https:/ 阅读全文

posted @ 2019-10-17 09:53 荣锋亮 阅读 (5) 评论 (0) 编辑

roughViz 一个可重用,功能强大的手绘图表组件

摘要:前段时间介绍过一个chart.xkcd 的手绘图表组件,roughViz 是另外一个,同时也提供了 比较多的图表类型,api 参考文档也比较全 支持的图表类型 Bar Horizontal Bar Donut Line Pie Scatter 简单使用 直接使用html 页面 引用组件 <!DOCT 阅读全文

posted @ 2019-10-17 09:13 荣锋亮 阅读 (11) 评论 (0) 编辑

2019年10月16日

sqlg rdbms 上实现的Apache TinkerPop

摘要:sqlg 可以让关系型数据库支持Apache TinkerPop,当前支持的数据库有postgresql,hsqldb,h2,mariadb,mysql,mssqlserver 以下是一个简单的使用 环境准备 postgresql version: "3" services: postgres: i 阅读全文

posted @ 2019-10-16 16:38 荣锋亮 阅读 (3) 评论 (0) 编辑

golang 几个好用的cli package

摘要:cli 开发在golang 的软件开发中占用很大,同时开源的比较好用的cli也很多,以下是整理的几个cli github.com/spf13/cobra 这个比较有名了, 好多框架都使用了这个 以下是一个简单的使用 代码 package main ​ import ( "github.com/spf 阅读全文

posted @ 2019-10-16 14:27 荣锋亮 阅读 (11) 评论 (0) 编辑

2019年10月15日

ent 基本使用十九 事务处理

摘要:ent 生成的代码中client 提供了比较全的事务处理 启动单个事务进行处理 // GenTx generates group of entities in a transaction. func GenTx(ctx context.Context, client *ent.Client) err 阅读全文

posted @ 2019-10-15 16:00 荣锋亮 阅读 (2) 评论 (0) 编辑

ent 基本使用十四 edge

摘要:edge 在ent 中属于比较核心,同时也是功能最强大的,ent 提供了比较强大的关系模型 快速使用 参考图 以上包含了两个通过边定义的关系 pets/owner: user package schema ​ import ( "github.com/facebookincubator/ent" " 阅读全文

posted @ 2019-10-15 14:02 荣锋亮 阅读 (7) 评论 (0) 编辑

ent 基本使用十八 查询谓词

摘要:ent 生成的代码包含了比较完整的查询谓词 字段谓词 Bool: =, != Numeric: =, !=, >, <, >=, <=, IN, NOT IN Time: =, !=, >, <, >=, <= IN, NOT IN String: =, !=, >, <, >=, <= IN, N 阅读全文

posted @ 2019-10-15 13:50 荣锋亮 阅读 (2) 评论 (0) 编辑

ent 基本使用十七 分页与排序

摘要:ent 提供了方便的数据分页以及排序处理 limit 分页 users, err := client.User. Query(). Limit(n). All(ctx) users, err := client.User. Query(). Limit(n). All(ctx) users, err 阅读全文

posted @ 2019-10-15 13:42 荣锋亮 阅读 (3) 评论 (0) 编辑

ent 基本使用十六 聚合

摘要:ent 提供了聚合处理 一个group by + 聚合的处理(age以及name字段) package main ​ import ( "context" ​ "<project>/ent" "<project>/ent/user" ) ​ func Do(ctx context.Context, 阅读全文

posted @ 2019-10-15 13:39 荣锋亮 阅读 (5) 评论 (0) 编辑

ent 基本使用十五 一个图遍历的例子

摘要:以下是来自官方的一个user group pet 的查询demo 参考关系图 环境准备 docker-compose mysql 环境 version: "3" services: mysql: image: mysql:5.7.16 ports: - 3306:3306 command: --ch 阅读全文

posted @ 2019-10-15 13:33 荣锋亮 阅读 (6) 评论 (0) 编辑

ent 基本使用十三 debug 模式

摘要:ent 生成的代码client 包中包含了一个方便的方法Debug(), 记得昨天我为了查看生成的sql 查询通过配置mysql 启用慢查询,同时设置记录慢查询为0,实际上client Debug 方法使用了builder 的模式,我们通过Debug 方法 可以直接就方便的输出生成的sql 参考代码 阅读全文

posted @ 2019-10-15 11:21 荣锋亮 阅读 (8) 评论 (0) 编辑

ent 基本使用十二 字段

摘要:字段或者属性,在schema中是定点的属性,比如user 包含4个字段age,name,username,created_at 图表展示如下: 代码描述 package schema ​ import ( "time" ​ "github.com/facebookincubator/ent" "gi 阅读全文

posted @ 2019-10-15 10:15 荣锋亮 阅读 (5) 评论 (0) 编辑

ent 基本使用十一 sql.DB 集成

摘要:这个功能是github中大家提的比较多的一个,所以官方也暴露了相关的api 配置sql.DB 一种方式 package main ​ import ( "time" ​ "<your_project>/ent" "github.com/facebookincubator/ent/dialect/sq 阅读全文

posted @ 2019-10-15 09:23 荣锋亮 阅读 (6) 评论 (0) 编辑

ent 基本使用十 数据库迁移

摘要:ent 提供了便捷的数据库迁移处理,我们可以直接使用生成的代码进行操作,同时代码也提供了比较全的运行选项 默认迁移处理 我们通过create 进行资源创建,默认是append-only 模式 ,以为着只会创建新的表以及索引 ,同时添加列到表,或者 扩展现有列的数据类型 if err := clien 阅读全文

posted @ 2019-10-15 09:18 荣锋亮 阅读 (7) 评论 (0) 编辑

ent 基本使用九 代码生成

摘要:ent 提供了cli 工具,可以方便我们进行schema 以及代码生成,同时目前提供的cli已经够用了 安装 cli go get github.com/facebookincubator/ent/cmd/entc go get github.com/facebookincubator/ent/cm 阅读全文

posted @ 2019-10-15 08:54 荣锋亮 阅读 (6) 评论 (0) 编辑

2019年10月14日

ent 基本使用八 索引

摘要:我们可以在ent 的schema 中定义index 可以方便的控制数据约束,使用索引可以加速我们的访问以及数据的唯一性处理 配置字段索引 多字段索引 package schema ​ import ( "github.com/facebookincubator/ent" "github.com/fa 阅读全文

posted @ 2019-10-14 23:03 荣锋亮 阅读 (7) 评论 (0) 编辑

ent 基本使用七 Config

摘要:通过config 我们可以自定义表相关的选项 参考配置 package schema ​ import ( "github.com/facebookincubator/ent" "github.com/facebookincubator/ent/schema/field" ) ​ type User 阅读全文

posted @ 2019-10-14 21:21 荣锋亮 阅读 (5) 评论 (0) 编辑

ent 基本使用六 Mixin

摘要:ent 的Mixin 可以让我们服用已有的schema Mixin 接口说明 type Mixin interface { Fields() []ent.Field } type Mixin interface { Fields() []ent.Field } type Mixin interfac 阅读全文

posted @ 2019-10-14 21:13 荣锋亮 阅读 (6) 评论 (0) 编辑

ent 基本使用五 schema介绍

摘要:ent 提供了自动生成schema 但是,我们可以基于生成schema 进行扩展,schema 主要包含以下配置 实体的字段(或者属性)比如 user 的name 以及age 实体的边(关系),比如user 的groups user 的friends 数据库选项,所以以及唯一索引 一个简单的sche 阅读全文

posted @ 2019-10-14 21:02 荣锋亮 阅读 (4) 评论 (0) 编辑

ent 基本使用四 图遍历查询

摘要:接上文,我们已经创建了基本的关系以及表实体,以下是通过图方式的查询 参考关系图 代码处理 创建图数据 func CreateGraph(ctx context.Context, client *ent.Client) error { // first, create the users. a8m, 阅读全文

posted @ 2019-10-14 20:45 荣锋亮 阅读 (6) 评论 (0) 编辑

ent 基本使用 三 边(关系处理)

摘要:ent 提供了图查询的能力,实际上在关系数据库中的表现就是relation,以下代码接前文 添加边(关系) 添加schema entc init Car Group entc init Car Group entc init Car Group entc init Car Group entc in 阅读全文

posted @ 2019-10-14 19:39 荣锋亮 阅读 (8) 评论 (0) 编辑

ent 基本使用 二 简单create && query

摘要:接上文,前边我们了解了关于基本代码生成以及schema 迁移的学习,下边我们看看基本的数据操作 参考代码: https://github.com/rongfengliang/ent-demo 环境准备 mysql 数据库 使用docker-compose 运行 使用docker-compose 运行 阅读全文

posted @ 2019-10-14 14:01 荣锋亮 阅读 (8) 评论 (0) 编辑

2019年10月13日

ent 基本使用 一 schema 迁移

摘要:ent 是 facebook 开源的golang orm 框架,简单强大,以下是一个简单使用 环境准备 安装ent 工具 go get github.com/facebookincubator/ent/cmd/entc go get github.com/facebookincubator/ent/ 阅读全文

posted @ 2019-10-13 21:37 荣锋亮 阅读 (9) 评论 (0) 编辑

ent facebook 开源的golang orm 框架

摘要:ent 是facebook 开源的golang orm 框架,简单强大,具有提下特性 schema 即代码 方便的图遍历 静态类型以及显示api 多种存储引擎支持(当前是mysql,sqlite,以及Gremlin) 说明 ent 的官方文档也是很详细的,为为了提供代码生成,和graphql开发方式 阅读全文

posted @ 2019-10-13 21:01 荣锋亮 阅读 (17) 评论 (0) 编辑

fastify nodejs框架

摘要:fastify是一个快速低开销的nodjs web 框架,使用简单,扩展灵活,包含了基于扩展的开发方式, 同时官方为了方便开发plugin,提取了通用部分,方便模块化,同时我们可以在路由中添加schema 方便的进行数据的校验(基于json schema),生态也很不错,已经提供了好多扩展插件 参考 阅读全文

posted @ 2019-10-13 14:00 荣锋亮 阅读 (5) 评论 (0) 编辑

blessed-contrib 开发终端dashboard 的几点说明

摘要:以前有说过blessed-contrib 这个很不错的终端dashboard 开发框架,以下是使用中的一些问题 中文编码 模式是不支持中文编码的,但是 我们可以在初始化的时候指定unicode编码 screen = blessed.screen({fullUnicode:true}), screen 阅读全文

posted @ 2019-10-13 12:19 荣锋亮 阅读 (9) 评论 (0) 编辑

2019年10月11日

使用blessed-contrib 开发专业的终端dashboard

摘要:blessed-contrib 是blessed 的一个扩展包,以前有说过blessed(一个方便的开发cli 的工具) 我们使用blessed-contrib可以开发专业的终端dashboard 功能强大,组件丰富 以下是来自官方demo的一个有运行 clone 代码 git clone http 阅读全文

posted @ 2019-10-11 22:19 荣锋亮 阅读 (21) 评论 (0) 编辑

2019年10月9日

rushjs来自微软的单体仓库管理工具

摘要:rushjs 是来自微软的单体仓库管理工具 ,与lerna 类似但是使用上稍显复杂 安装 npm install -g @microsoft/rush npm install -g @microsoft/rush npm install -g @microsoft/rush npm install 阅读全文

posted @ 2019-10-09 10:12 荣锋亮 阅读 (43) 评论 (0) 编辑

2019年10月8日

typedi 强大的javascript以及typescript 依赖注入框架

摘要:typedi 是typestack团队提供的依赖注入解决方案,对于typescript 我们可以使用注解的开发方式,官方的文档也比较详细 javascript 使用 基于函数的服务注入 var Service = require("typedi").Service; var Container = 阅读全文

posted @ 2019-10-08 19:56 荣锋亮 阅读 (9) 评论 (0) 编辑

使用overnightjs typescript 注解开发expressjs 应用

摘要:overnightjs 提供了基于注解的expressjs应用开发,包含了比较全的express 开发支持,使用简单,以下是一个简单的试用 项目准备 项目使用pkg 进行了打包处理 初始化 yarn init -y yarn init -y yarn init -y yarn init -y yar 阅读全文

posted @ 2019-10-08 15:09 荣锋亮 阅读 (18) 评论 (0) 编辑

2019年10月7日

class-transformer 方便的json 对象转class

摘要:在我们日常web开发中经常碰到需要json 到类的处理,因为json 就是普通的数据,没有处理能力,class 具有业务处理能力, 但是需要数据的支持,class-transformer 刚好做为了一个桥接的工具 ,我们可以通过rest api 获取rest数据,然后通过类库 转换为class,直接 阅读全文

posted @ 2019-10-07 10:54 荣锋亮 阅读 (22) 评论 (0) 编辑

isopod dsl 框架管理kubernetes 配置

摘要:isopod 是一个包含了丰富能力的dsl 框架我们可以不用编写yaml 文件来进行k8s 管理 说明 语法类似python,目前移植内置了一些不错的功能kube 方法 vault 集成,helm 集成,同时包含了一些工具了(base64,uuid....) 参考资料 https://github. 阅读全文

posted @ 2019-10-07 10:45 荣锋亮 阅读 (12) 评论 (0) 编辑

cloudevents js sdk 简单试用

摘要:cloudevents 目前官方提供了不同语言的sdk,以下是js 的简单学习试用,从目前来说更新不是很好 clone 代码 git clone https://github.com/cloudevents/sdk-javascript.git git clone https://github.co 阅读全文

posted @ 2019-10-07 10:33 荣锋亮 阅读 (10) 评论 (0) 编辑

AsyncAPI 几个方便的工具

摘要:AsyncAPI 类似openapi 也提供了一些周边工具 editor 类似openapi 的,但是目前官方已经不推荐使用了,推荐使用playground,以下是构建一个容器镜像 clone 代码 git clone https://github.com/asyncapi/editor.git g 阅读全文

posted @ 2019-10-07 10:03 荣锋亮 阅读 (14) 评论 (0) 编辑

2019年10月6日

AsyncAPI 试用

摘要:AsyncAPI 提供了类似openapi的代码生成,以下demo,来自官方,只是目前官方的generator有些问题以下 同时说明运行中的一些问题 环境准备 主要是安装依赖组件 npm install -g asyncapi-generator mqtt npm install -g asynca 阅读全文

posted @ 2019-10-06 14:52 荣锋亮 阅读 (12) 评论 (0) 编辑

导航