08 2020 档案

orika java bean 转换工具试用
摘要:orika 是一个很不错的bean 转换工具包,以下是一个简单的使用 参考代码 MyUser.java /** * Auto-generated: 2020-08-31 10:16:39 * * @author bejson.com (i@bejson.com) * @website http:// 阅读全文

posted @ 2020-08-31 21:22 荣锋亮 阅读(662) 评论(0) 推荐(0) 编辑

graalvm js 内置commonjs 模式试用
摘要:昨天有大概介绍过graalvm 对于commonjs 的支持,以下是简单的试用说明 环境准备 pom.xml 依赖配置 <dependency> <groupId>org.graalvm.truffle</groupId> <artifactId>truffle-api</artifactId> < 阅读全文

posted @ 2020-08-31 13:28 荣锋亮 阅读(1155) 评论(0) 推荐(0) 编辑

graalvm js 与java 类型转换的一些方法
摘要:在基于跨不同语言的通信开发中,数据类型的转换是一个很大的部分,目前来说graalvm 对于java host 类型与js 对象类似的转换还是不够好 java host 对象到js 的操作我们可以通过ProxyObject 以及提供的HostAccess 注解处理 参考模式 js 到java 对象转换 阅读全文

posted @ 2020-08-31 13:26 荣锋亮 阅读(1492) 评论(0) 推荐(0) 编辑

graalvm java map 参数传递js 方法调用
摘要:因为js 有自己的特性,我们一般对于map 参数的传递通过ProxyObject.fromMap 处理,以下是一个demo 基本使用 参考代码 public static void es6Rollup2(Engine engine) throws IOException { Context cont 阅读全文

posted @ 2020-08-30 15:18 荣锋亮 阅读(1397) 评论(0) 推荐(0) 编辑

graalvm 内置require 模块的开启
摘要:实际上graalvm 包含了体验特性的require 支持(commonjs) 配置说明 Map<String, String> options = new HashMap<>(); // Enable CommonJS experimental support. options.put("js.c 阅读全文

posted @ 2020-08-30 13:25 荣锋亮 阅读(577) 评论(0) 推荐(0) 编辑

Calling out from Java to JavaScript (with call back) – leveraging interoperability support of GraalVM
摘要:一篇很不错的java js 调用的文章,参考连接:https://technology.amis.nl/2019/10/24/calling-out-from-java-to-javascript-with-call-back-leveraging-interoperability-support- 阅读全文

posted @ 2020-08-30 10:49 荣锋亮 阅读(152) 评论(0) 推荐(0) 编辑

web开发 api 资源跨域的一种实践
摘要:问题很简单,就是请求接口的跨域,解决方法很多,以下是一个参考玩法,比较符合大家日常的开发模式 参考图 简单说明 都是基于proxy 模式的,这样保障本地以及生产是一致的,同时规避各种api接口访问域名变动的问题,本地基于构建工具提供的 比如webpack 以及parcel。。。,生产基于nginx 阅读全文

posted @ 2020-08-30 10:47 荣锋亮 阅读(236) 评论(0) 推荐(0) 编辑

使用rollup 转换commonjs 模块为es6 模块,方便的支持graalvm 模块兼容
摘要:graalvm 是直接支持es6模块的,以前有写过基于require 模块模式的npm包加载处理(jvm-npm)以下是我们 基于rollup 转换comomjs 模块为es6 模块,方便的扩展java 的能力 场景说明 npm 包含了一个很不错的json-mask 包,但是我们希望java可以直接 阅读全文

posted @ 2020-08-30 09:57 荣锋亮 阅读(2801) 评论(0) 推荐(0) 编辑

使用json-mask 查询json 数据
摘要:我们在处理json 数据的时候很多时候会需要部分json 数据,一般的处理方式是jsonpath,jmeshpath ,jsonselect json-mask 是另外一个不错的选择(很遗憾不是标准,目前只有js 的实现),而且json-mask 的好处是可以保留数据 接口,以下是一个简单的学习 语 阅读全文

posted @ 2020-08-29 15:11 荣锋亮 阅读(501) 评论(0) 推荐(0) 编辑

nginx njs docker 试用
摘要:主要是基于anadeeppolavarapu/nginx-http3:edge docker 镜像,使用比较简单 环境准备 docker-compose 文件 version: "3" services: httpservice: image: ranadeeppolavarapu/nginx-ht 阅读全文

posted @ 2020-08-29 01:30 荣锋亮 阅读(712) 评论(0) 推荐(0) 编辑

使用nginx-prometheus-exporter 监控nginx
摘要:因为nginx 已经提供了stub_status 模块,一般我们可以基于此进行监控,目前官方提供了一个exporter 尽管有一些限制(web必须使用8080)。以下是一个简单的学习使用 环境准备 docker-compose 文件 注意使用了ranadeeppolavarapu 提供的nginx 阅读全文

posted @ 2020-08-29 00:48 荣锋亮 阅读(7913) 评论(0) 推荐(0) 编辑

wso2 关于graphql 的方案
摘要:以下是一张参考图,来自wso2 的方案,具体可以下载软件包试用 参考图 参考资料 https://wso2.com/graphql-apis 阅读全文

posted @ 2020-08-28 09:10 荣锋亮 阅读(261) 评论(0) 推荐(0) 编辑

Meeting Modern Business Needs with GraphQL
摘要:参考资料:https://wso2.com/graphql-apis 主要是wso2 关于graphql api 的思考 What is GraphQL? GraphQL is a query language (for APIs) and runtime to satisfy certain qu 阅读全文

posted @ 2020-08-28 09:05 荣锋亮 阅读(331) 评论(0) 推荐(0) 编辑

使用 jvm-npm 解决 graalvm js common js 模块加载问题
摘要:jvm-npm 是一个很不错的js hack,可以方便的用来解决 java js 引擎的 的npm 问题,以下是一个使用说明 代码说明 项目结构 使用代码 init 主要是npm common 机制的hack public static void init(Engine engine,Context 阅读全文

posted @ 2020-08-27 20:36 荣锋亮 阅读(740) 评论(0) 推荐(0) 编辑

使用webjars + graalvm js 引擎增强业务处理
摘要:机制上比较简单,webjars 是利用了web 容器对于资源解析的特性 META-INF/resources 会自动解析处理,而且我们可以基于此模式实现js 的方便 打包以及版本化管理(这点webjars的设计比较到位),以下是一个简单的尝试,基于 graalvm js 的能力 我们可以比较灵活的扩 阅读全文

posted @ 2020-08-27 17:43 荣锋亮 阅读(464) 评论(0) 推荐(0) 编辑

graalvm js Promise 使用
摘要:graalvm 对于js 的处理也是支持Promise 的,但是我们的java 对象需要实现PromiseExecutor 接口 接口定义 这个是官方文档的说明,但是实际没找到,变通方法可以通过BiConsumer 解决 @FunctionalInterface public interface P 阅读全文

posted @ 2020-08-27 11:10 荣锋亮 阅读(603) 评论(0) 推荐(0) 编辑

graalvm js 加载远端js 文件
摘要:graalvm js 支持了基于远端模式的js 文件加载(当然是处于实验阶段的,生产谨慎使用),以下是一个简单的demo 环境准备 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.o 阅读全文

posted @ 2020-08-27 10:58 荣锋亮 阅读(1185) 评论(0) 推荐(0) 编辑

使用browserify 解决 graalvm js 引擎加载js 模块的问题
摘要:browserify 可以实现模块化处理,同时合并依赖在一个文件中,有好处也有坏处,以下是一个尝试 环境准备 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0. 阅读全文

posted @ 2020-08-26 20:48 荣锋亮 阅读(616) 评论(0) 推荐(0) 编辑

java graalvm js 引擎加载js 模块试用
摘要:graalvm 支持mjs 模块的加载,以下是一个简单的学习demo 环境准备 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h 阅读全文

posted @ 2020-08-26 20:31 荣锋亮 阅读(4128) 评论(0) 推荐(0) 编辑

java 集成graalvm js 引擎
摘要:java 内置的js 引擎nashorn已经是被淘汰的,oracle 比较推荐的是使用graalvm js,以下是一个简单的集成试用 环境准备 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.ap 阅读全文

posted @ 2020-08-26 17:35 荣锋亮 阅读(3666) 评论(0) 推荐(0) 编辑

qlexpress 另外一个表达式引擎
摘要:qlexpress 是阿里开源的一个基于java 的脚本引擎,使用起来还是比较灵活的,以下是一个简单的使用 环境准备 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/ 阅读全文

posted @ 2020-08-26 17:32 荣锋亮 阅读(2344) 评论(0) 推荐(0) 编辑

cratedb 4.2 发布了
摘要:cratedb 4.2 已经发布了,从changelogs 可以看到还是有比较多的更新的,比如pg 协议更好的兼容(更好的支持bi以及数据分析工具) 同时提供了更好的pg内部结构的暴露(还是方便数据分析工具的使用),同时替换nashorn 为graalvm 的js 引擎(更好的js 特性支持) 同时 阅读全文

posted @ 2020-08-26 09:01 荣锋亮 阅读(372) 评论(0) 推荐(0) 编辑

falcon 可靠高性能的构建大规模应用以及微服务的 python web 框架
摘要:falcon 是一个额可靠高性能的构建大规模应用以及微服务的 python web 框架,主要支持的python 版本为3.6+ 可以与wsgi 以及asgi 兼容,而且还支持cpython,以下是一个简单的试用 python 的版本管理基于pyenv,具体使用参考相关文档 环境准备 安装 pyen 阅读全文

posted @ 2020-08-25 20:31 荣锋亮 阅读(1766) 评论(0) 推荐(0) 编辑

Understanding CPU Steal Time - when should you be worried?
摘要:参考资料:https://scoutapm.com/blog/understanding-cpu-steal-time-when-should-you-be-worried Netflix tracks CPU Steal Time closely. In fact, if steal time e 阅读全文

posted @ 2020-08-25 16:51 荣锋亮 阅读(337) 评论(0) 推荐(0) 编辑

ent 项目迁移到facebook
摘要:ent 早起是facebook的一个孵化项目,最近一次发布0.4.0 迁移到了facebook github 组织,这也说明了ent orm 框架的不错,目前演进还是挺好的,而且github 的start 也很多了 参考资料 https://entgo.io/ https://github.com/ 阅读全文

posted @ 2020-08-23 22:07 荣锋亮 阅读(617) 评论(0) 推荐(0) 编辑

bach-sh 不错的batch 测试框架
摘要:很多时候bash 是不太好测试的,bach-sh 提供了灵活的测试支持,后边值得试用下 参考资料 https://github.com/bach-sh/bach 阅读全文

posted @ 2020-08-23 11:21 荣锋亮 阅读(298) 评论(0) 推荐(0) 编辑

mkcert 简单灵活的配置本地开发环境可信的证书
摘要:mkcert 是基于golang 开发的另配置的方便创建本地开发环境的证书 安装 测试使用mac brew install mkcert brew install nss # if you use Firefox 参考使用 说明 mkcert 是一个很不错本地开发话那劲的证书管理工具,很值得使用下, 阅读全文

posted @ 2020-08-23 11:12 荣锋亮 阅读(1391) 评论(0) 推荐(0) 编辑

web-vitals 站点健康metrics npm 包
摘要:web-vitals 是chrome 团队开源的站点健康metrics 包,轻量、使用简单 web-vitals 目前提供的metics CLS (Cumulative Layout Shift) FID (First Input Delay) LCP (Largest Contentful Pai 阅读全文

posted @ 2020-08-23 10:27 荣锋亮 阅读(774) 评论(0) 推荐(0) 编辑

odyssey prometheus 监控
摘要:因为odyssey 兼容pgbouncer,我们可以直接使用pgbouncer的exporter 环境准备 docker-compose 文件 version: "3" services: postgres: image: postgres:12 ports: - "5432:5432" envir 阅读全文

posted @ 2020-08-22 17:33 荣锋亮 阅读(318) 评论(0) 推荐(0) 编辑

odyssey 试用
摘要:以下是odyssey 的一个试用 环境准备 docker-compose 文件 version: "3" services: postgres: image: postgres:12 ports: - "5432:5432" environment: - "POSTGRES_PASSWORD=dal 阅读全文

posted @ 2020-08-22 17:21 荣锋亮 阅读(348) 评论(0) 推荐(0) 编辑

odyssey yandex 开源的生产可用的pg 链接池工具
摘要:odyssey 是yandex开源的基于多线程的pg 链接池以及请求路由工具,已经生产可用,更好的地方是odyssey兼容 PgBouncer,所以基于PgBouncer 的exporter 也是支持odyssey的,很值得试用下 参考资料 https://github.com/yandex/ody 阅读全文

posted @ 2020-08-21 21:02 荣锋亮 阅读(304) 评论(0) 推荐(0) 编辑

nginx-proxy docker 的nginx自动服务发现方案
摘要:registrator containerpilot 都是很不错的基于容器的服务发现以及服务状态管理方案,nginx-proxy 也是一个类似的东西,可以方便的处理服务的nginx proxy 配置 我们基于环境变量配置就可以了 参考使用 version: '2' services: nginx-p 阅读全文

posted @ 2020-08-18 09:41 荣锋亮 阅读(698) 评论(0) 推荐(0) 编辑

golang used for two different module paths 问题解决
摘要:今天在使用go mod 的replace 替换一个包的时候出现了如下问题 used for two different module paths 解决方法 替换两次。。。。,解决方法来自下边的参考资料 参考资料 https://blog.csdn.net/oscarun/article/detail 阅读全文

posted @ 2020-08-17 21:45 荣锋亮 阅读(6743) 评论(0) 推荐(0) 编辑

grafana dashboard 分享的几种处理方法
摘要:prometheus+grafan 已经成为了大家进行系统监控的标配了,但是很多时候我们为了给予用户一个方便的dashboard查看系统 的metrics 请求,可以会进行grafan dashboard 的分享,大家的解决方法可能很多,基于grafana 分享的(需要修改配置)也有 基于grafa 阅读全文

posted @ 2020-08-17 17:48 荣锋亮 阅读(4688) 评论(0) 推荐(0) 编辑

prometheus 自定义服务发现的几种实现方法
摘要:prometheus 具有强大的生态系统,同时也已经内置了好多服务发现的支持(file,consul,k8s,ec2,dns,openstack,....) 自己开发自定义的服务发现机制 官方提供了参考的说明文档,主要的问题是我们需要修改prometheus 的代码,同时自己进行构建,很多时候我们会 阅读全文

posted @ 2020-08-17 13:37 荣锋亮 阅读(1909) 评论(0) 推荐(0) 编辑

wal2json 2.3 dockerfile
摘要:wal2json 发布2.3 版本了,有好多新特性,以下是一个新特性的dokerfile dockerfile FROM postgres:11.2 AS build ENV VERSION 2_3 RUN buildDeps="curl build-essential ca-certificate 阅读全文

posted @ 2020-08-13 22:56 荣锋亮 阅读(508) 评论(1) 推荐(0) 编辑

几个不错的golang proxy包
摘要:主要是关于http/https 流量proxy 的golang 包,可以进行代码复用的 vulcand/oxy 此包包含了一些常用的中间件以及对于proxy 的处理,还是比较强大的,是一个比较完备的http 处理工具包 参考网站:https://github.com/vulcand/oxy elaz 阅读全文

posted @ 2020-08-10 21:02 荣锋亮 阅读(1243) 评论(0) 推荐(0) 编辑

使用正向proxy 连调部署在k8s 中的spring cloud 中的rest服务
摘要:业务需求比较简单,就是希望在本地开发环境测试k8s 中部署的spring cloud 服务 进行调试的几个问题 网络不通 因为容器有自己的网络,spring cloud 中注册的是容器ip,网络不通 我们进行调试的服务不能注册到注册中心 如果我们的服务注册到注册中心了,就会有流量访问,可能会影响线上 阅读全文

posted @ 2020-08-10 20:55 荣锋亮 阅读(702) 评论(0) 推荐(0) 编辑

goflow golang 的基于flow的编程库
摘要:goflow 可以让我们基于flow的模式进行数据的处理,是flow-based 编程指南的golang 参考实现 使用上简单,而且比较高效,同时我们也可以集成kafka 增强flow 的分布式处理能力 参考资料 https://github.com/trustmaster/goflow https 阅读全文

posted @ 2020-08-09 12:03 荣锋亮 阅读(2789) 评论(0) 推荐(1) 编辑

gvm golang 的多版本工具
摘要:gvm 是golang 版本的多版本管理工具,我们可以方便的进行golang 版本切换,还是很不错的,我们如果基于docker 构建 也是一个不错的选择 参考资料 https://github.com/moovweb/gvm 阅读全文

posted @ 2020-08-09 11:52 荣锋亮 阅读(350) 评论(0) 推荐(0) 编辑

jvm-profiler 学习试用
摘要:jvm-profiler 是uber 开源的一个很不错的jvm 性能优化工具,比较强大的是jvm-profiler 设计灵活,可以支持发送 metrcis 到各类中间存储(kafka,file,redis,也可以自己扩展) 支持的特性 调试java 应用的内存使用 调试cpu 以及gc 的使用 调试 阅读全文

posted @ 2020-08-09 11:46 荣锋亮 阅读(774) 评论(0) 推荐(0) 编辑

httpdiff http 请求diff 工具
摘要:httpdiff 是基于golang 编写的http 请求diff 工具,以下是简单的使用 安装 go get github.com/jgrahamc/httpdiff 使用 httpdiff https://www.baidu.com/ https://www.cnblogs.com/ 效果 参考 阅读全文

posted @ 2020-08-09 11:17 荣锋亮 阅读(403) 评论(0) 推荐(0) 编辑

tengine lua 模块docker 镜像集成
摘要:昨天有构建过一个tengine dubbo 模块,以下是关于lua 模块构建的的说明 Dockerfile FROM alpine:3.8 ​ ENV TENGINE_VERSION 2.3.2 ​ # nginx: https://git.io/vSIyj ​ RUN rm -rf /var/ca 阅读全文

posted @ 2020-08-07 11:20 荣锋亮 阅读(767) 评论(0) 推荐(0) 编辑

tengine 支持dubbo 的docker镜像
摘要:tengine 已经支持dubbo了,类似nginx 支持grpc(但是还是有点弱)以下是dockerfile 的制作 具体的使用,后边会有相关的介绍 Dockerfile FROM alpine:3.8 ​ ENV TENGINE_VERSION 2.3.2 ​ # nginx: https:// 阅读全文

posted @ 2020-08-06 19:51 荣锋亮 阅读(485) 评论(0) 推荐(0) 编辑

openresty ngx.location.capture http2 问题
摘要:以前openresty 使用的是http2,同时配置了 ngx.location.capture 是可以的(1.12 版本,有点老),今天升级了openresty 到目前最新版本(1.15.8.1)出现了以下问题 content_by_lua(nginx-index-https.conf:47):5 阅读全文

posted @ 2020-08-04 20:15 荣锋亮 阅读(1151) 评论(0) 推荐(0) 编辑

systemd 使用rc.local 说明
摘要:rc.local 是一个早期的产物用来进行启动配置的管理(还可以进行开机自启动服务的管理)实际上systemd 也是可以直接使用 rc.local ,使用上很简单,就是添加执行权限,同时添加自己的shell 代码就可以了 一些说明 实际上 rc.local 添加了执行权限之后,使用的就是rc-loc 阅读全文

posted @ 2020-08-03 20:53 荣锋亮 阅读(1627) 评论(0) 推荐(0) 编辑

revel golang的全栈开发框架
摘要:revel 是一个golang的全栈web开发框架,支持代码开发阶段的reload,友好的迁移(基于mux支持原有代码的方便迁移) 无状态,内置强大的cache,template,job,参数解析,路由 安装 go get -u github.com/revel/cmd/revel 创建应用 rev 阅读全文

posted @ 2020-08-02 11:19 荣锋亮 阅读(833) 评论(0) 推荐(0) 编辑

mongodb systemd 修改dbpath 相关问题的解方法
摘要:实际上网上大家搜索关于mongo 启动异常的问题,无非是异常启动的,但是如果使用的是rpm 包安装的同时修改了dbpath 可能会 碰到一些其他的问额,主要原因如下 selinux iptables 文件夹权限 解决方法 权限的问题 chow 到mongod 账户,相对比较简单了,可能还会有文件夹不 阅读全文

posted @ 2020-08-01 01:11 荣锋亮 阅读(871) 评论(0) 推荐(0) 编辑

导航