04 2022 档案

使用TypeScriptToLua+openresty-lua-types+docker-compose nginx hashids 集成使用
摘要:以前我简单说明过hashids 的类型定义,以下是集成使用## 环境准备 详细介绍可以参考 https://www.cnblogs.com/rongfengliang/p/16210941.html 集成hashids dockerfile 安装hashid 使用luarocks FROM open 阅读全文

posted @ 2022-04-30 21:00 荣锋亮 阅读(62) 评论(0) 推荐(0) 编辑

使用TypeScriptToLua+openresty-lua-types+docker-compose 开发nginx 模块服务
摘要:以下核心是一个演示,对于是如何集成的,以前大致有介绍过,通过此主要别大家介绍下如果集成使用 运行环境准备 需要先安装nodejs,docker-compose 参考结构 具体的可以查看github 源码,以下只是示例 运行环境简单说明 version: '3' services: op: build 阅读全文

posted @ 2022-04-30 18:50 荣锋亮 阅读(212) 评论(0) 推荐(0) 编辑

minio 来自官方的一些学习资料-gateway 即将废弃
摘要:具体的可以参考链接,但是官方gateway 即将移除核心代码库是一个比较重要的事情 参考资料 https://resources.min.io/april-2022-newsletter/the-architects-guide-software-defined-object-storagehttp 阅读全文

posted @ 2022-04-28 22:30 荣锋亮 阅读(403) 评论(0) 推荐(0) 编辑

hashids typescript lua 定义文件另外一种写法
摘要:参考定义 实际上与以前的类似,只是使用上不一样而已 declare module "myhashids" { interface Hashids { encode(...args: number[]):string decode(hashid:string):number[] } interface 阅读全文

posted @ 2022-04-28 00:00 荣锋亮 阅读(36) 评论(0) 推荐(0) 编辑

hashids typescript lua 定义文件
摘要:定义 package.json { "name": "@dalongrong/myhashids", "version": "1.0.0", "main": "index.js", "types": "hashids.d.ts", "license": "MIT", "devDependencies 阅读全文

posted @ 2022-04-26 23:20 荣锋亮 阅读(53) 评论(0) 推荐(0) 编辑

apisix 提供的一些方便的openresty lua 模块
摘要:apisix是基于openresty 开发的,同时自己也开源了不少lua 模块,以下是一个不错的lua 模块 etcd 提供etcd 操作,因为apisix 就是基于etc 管理的 typeof 提供类型检查的 lua-var-nginx-module 基于native 的nginx 变量获取,注意 阅读全文

posted @ 2022-04-26 23:19 荣锋亮 阅读(612) 评论(0) 推荐(0) 编辑

nginx proxy ext.net 应用http 请求异常问题
摘要:在基于nginx 处理ext.net 应用lb 的时候总提示一个异常(状态码正常,但是内容不对) 现象 原因 通过发现是http 请求头的问题,尽管状态码是对的,但是因为请求处理不对,上边的实际上是需要json 格式的,但是ext.net 发现没有包含请求头 所以直接返回了默认信息 解决方法 对于n 阅读全文

posted @ 2022-04-26 13:44 荣锋亮 阅读(76) 评论(0) 推荐(0) 编辑

使用localStorage 的storage event 解决多tab 数据共享问题
摘要:主要学习下使用localStorage 的storage event 解决多tab 数据共享问题 参考代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible 阅读全文

posted @ 2022-04-24 23:10 荣锋亮 阅读(162) 评论(0) 推荐(0) 编辑

多页签websocket 共享
摘要:网上搜索类似的问题方法讲的都很不错,以下是一个简答说明 问题来源 主要是看到atmosphere 的js client 看到支持多页签websocket 共享,比较好奇,顺带看了下实现机制,发现居然是基于了 localStorage的storage event 实现上还是比较巧妙,功能还是很强大的 阅读全文

posted @ 2022-04-24 21:53 荣锋亮 阅读(408) 评论(0) 推荐(0) 编辑

contentlayer 工作原理简单说明
摘要:contentlayer 包含的三大部分 转换内容为数据 结构化松散数据 定义数据类型 处理 转换内容为数据 主要读取外部或者本地的文件数据,然后转换为数据(主要是代码可理解的js 文件) 结构化松散数据 数据是处理schema,让大家可以i更加有信心的处理数据 定义数据类型 当生成数据的时候同时也 阅读全文

posted @ 2022-04-23 22:04 荣锋亮 阅读(137) 评论(0) 推荐(0) 编辑

contentlayer 参考使用
摘要:当前contentlayer 主要支持next,以下是使用next 的试用 创建项目 创建next 项目 npx create-next-app contentlayer-demo 安装contentlayer cd contentlayer-demo yarn add contentlayer n 阅读全文

posted @ 2022-04-23 21:30 荣锋亮 阅读(248) 评论(0) 推荐(0) 编辑

contentlayer 内容转换为数据的工具
摘要:contentlayer 实际上是一个content sdk 可以进行内容的校验以及转换,生成类型安全的json 数据,然后可以方便的集成到我们的应用中 特性 使用js 以及ts ,简单使用import 导入数据,不需要学习新查询语言,目前集成了next 框架,还会有其他的支持 有信心的构建代码,校 阅读全文

posted @ 2022-04-23 19:05 荣锋亮 阅读(103) 评论(0) 推荐(0) 编辑

TypeScriptToLua 类型定义的编写
摘要:_G.d.ts 类似全局定义文件(global.d.ts) 参考 declare namespace me { var dalong_age:number function demo():string function print(...args:any[]):void } 使用 me.print( 阅读全文

posted @ 2022-04-23 13:22 荣锋亮 阅读(177) 评论(0) 推荐(0) 编辑

TypeScriptToLua 一些不错的类型定义包
摘要:以下是一个参考资料,lua-types 包含了lua 的语言特性,比较有用,openresty-lua-types 是一个包含了openresty 的后边可以参考这些开发一些openresty 的模块包,实现方便的openresty 开发 参考资料 https://www.npmjs.com/pac 阅读全文

posted @ 2022-04-23 00:17 荣锋亮 阅读(94) 评论(0) 推荐(0) 编辑

如何编写一个简单的TypeScriptToLua lua 模块定义包
摘要:以下主要说明下简单的编写,对于复杂的后续会介绍(以为lua 语言的特殊性,部分需要依赖其他类型) 一个案例 比如我们有一个lua 模块,包装一个平台认证服务(为了方便openresty 使用的,基于lua+c 开发的) 我们为了方便大家开发方便,提供了基于TypeScriptToLua 的定义包,这 阅读全文

posted @ 2022-04-22 23:40 荣锋亮 阅读(155) 评论(0) 推荐(0) 编辑

spring security nginx https proxy 问题
摘要:spring boot 应用如果使用了nginx 的proxy 对于spring security 可能会存在退出,重定向到http 跨域的问题(但是我们实际是https) 参考解决方法 nginx 配置 proxy_set_header X-Forwarded-For $remote_addr; 阅读全文

posted @ 2022-04-22 21:47 荣锋亮 阅读(442) 评论(0) 推荐(0) 编辑

使用openresty-lua-types+TypeScriptToLua+test-nginx 开发强类型的nginx lua 模块
摘要:参考玩法 参考图 原理简单说明 基于TypeScriptToLua ts 到lua 的能力,结合openresty-lua-types提供的openresty 类型能力可以开发强类型的代码处理本地可以基于test-nginx 进行测试,之后提交到git ,利用ci/cd 实现模块到npm 私服,部署 阅读全文

posted @ 2022-04-17 23:29 荣锋亮 阅读(46) 评论(0) 推荐(0) 编辑

openresty-lua-types openresty typescript 类型定义
摘要:openresty-lua-types 是利用了TypeScriptToLua 搞一个一个openresty ts 定义,原想是自己搞一个,但是看到社区已经有类似的实现了 值得参考学习下,以下是一个简单的试用 参考代码 package.json { "name": "myopenresty-lua" 阅读全文

posted @ 2022-04-17 23:18 荣锋亮 阅读(52) 评论(0) 推荐(0) 编辑

TypeScriptToLua 使用typescript 开发lua 功能试用
摘要:前边有大概简单介绍TypeScriptToLua 以及一些玩法,以下是一个简单的试用,以及一些说明 测试的功能 会测试关于lua 模块集成(纯lua 脚本以及包含c 调用的),以及class 处理 代码说明 代码结构 ├── README.md ├── app.sh ├── package.json 阅读全文

posted @ 2022-04-17 22:59 荣锋亮 阅读(683) 评论(0) 推荐(0) 编辑

TypeScriptToLua npm 集成玩法
摘要:TypeScriptToLua npm 集成要求 格式&限制 不能包含.ts 以及.tsx 源文件 必须使用buildMode为library 推荐添加declaration true 不能使用luaBundle 做为包依赖 package.json 格式定义main 以及types ,需要使用相对 阅读全文

posted @ 2022-04-17 11:59 荣锋亮 阅读(93) 评论(0) 推荐(0) 编辑

使用 TypeScriptToLua 开发lua 应用
摘要:TypeScriptToLua 是一个ts 的lua 转换器,可以将ts 代码转换为lua 语言 优点 支持强大的ts 能力(类型,现有扩展,强类型能力) 官方已经提供了lua 内部类型的ts 定义文件,可以加速代码编写 支持将lua代码包装为npm 模块(类型定义以及lua 代码),可以更好的利用 阅读全文

posted @ 2022-04-16 20:58 荣锋亮 阅读(452) 评论(0) 推荐(0) 编辑

ajax 带token 的文件下载处理
摘要:实际上与带token 的图片处理类似 参考代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta nam 阅读全文

posted @ 2022-04-15 21:37 荣锋亮 阅读(162) 评论(0) 推荐(0) 编辑

nginx 跨域问题解决
摘要:跨域的是一个老生常谈的问题,解决方法很多,但是实际使用中大家的方案可能或多或少都会有点问题 以下是自己的一个参考实践 一般玩法 使用add_header location / { set $cors ""; if ($http_origin ~* (\.mydomain\.com|\.mysecon 阅读全文

posted @ 2022-04-15 21:27 荣锋亮 阅读(1531) 评论(0) 推荐(0) 编辑

node canvas 服务器端canvas 进行图片组合
摘要:有时基于服务器端的image 生成是比较重要的,比如一些安全特性,更好的控制图片的存储,以及图片像素字体,以及还想使用canvas的一些编程能力 参考使用 const { createCanvas, loadImage } = require('canvas') const canvas = cre 阅读全文

posted @ 2022-04-10 22:55 荣锋亮 阅读(641) 评论(0) 推荐(0) 编辑

coolify 使用到的几个nodejs 包
摘要:web 全栈框架 svelte kit 实现ui 以及api 开发 orm 使用了prisma 进行数据访问 ui 组件 tailwindcss 使用率比较高的一个ui 组件库 bullmq 基于redis 的mq (nodejs) p-limit nodejs 异步控制包 get-port 比较方 阅读全文

posted @ 2022-04-10 21:40 荣锋亮 阅读(35) 评论(0) 推荐(0) 编辑

coolify 项目代码结构
摘要:coolify 是基于svelte kit 开发的,项目结构遵循了svelte kit 的布局以及开发模式 参考集成模式 构建说明 coolify 使用了js 的不少新特性,推荐使用node 16 以及以上版本,不然运行会有问题 关于svelte kit 的一些说明 svelte kit 使用了类似 阅读全文

posted @ 2022-04-10 21:09 荣锋亮 阅读(126) 评论(0) 推荐(0) 编辑

coolify haproxy 集成简单说明
摘要:coolify 以前介绍过,是一个开源heroku 以及netlify的替换方案,对于服务的访问层集成了haproxy 进行处理 细节上使用了haproxy 的dataplaneapi 进行处理 api 调用部分 核心是利用了模版引擎mustache 以及直接调用的dataplaneapi 初始化部 阅读全文

posted @ 2022-04-10 13:50 荣锋亮 阅读(143) 评论(0) 推荐(0) 编辑

@webantic/nginx-config-parser nodejs nginx conf 解析以及生成处理包试用
摘要:@webantic/nginx-config-parser 是一个基于nodejs 开发nginx 配置解析工具 参考使用 demo.conf upstream mydemoapp { # simple round-robin server app1:80; server app2:80; chec 阅读全文

posted @ 2022-04-09 21:33 荣锋亮 阅读(196) 评论(0) 推荐(0) 编辑

njs typescript 开发说明
摘要:njs 官方是内置了typescript types 定义的,只是没有发布到npm 官方,目前有几个别人发布的 我自己也构建发布了一个 参考使用 使用typescript 开发一个内容提供服务 typescript 配置 { "include": [ "./src", ], "files": [ " 阅读全文

posted @ 2022-04-09 20:43 荣锋亮 阅读(122) 评论(0) 推荐(0) 编辑

openresty + njs 提升系统nginx 的扩展性
摘要:使用了docker 构建,具体的参考github,已经包含了一个现成的docker镜像dalongrong/openresty-tengine:debug-njs 参考构建 ./configure --add-dynamic-module=path-to-njs/nginx 参考使用 app.js 阅读全文

posted @ 2022-04-09 15:02 荣锋亮 阅读(505) 评论(0) 推荐(0) 编辑

docker sbom方便的软件物料清单扩展
摘要:日益严重的软件安全问题,docker 和anchore 联合开发了一个docker 扩展 sbom (软件物料清单) 内部是基于了开源项目syft,使用简单 参考安装 curl -sSfL https://raw.githubusercontent.com/docker/sbom-cli-plugi 阅读全文

posted @ 2022-04-09 14:31 荣锋亮 阅读(280) 评论(0) 推荐(0) 编辑

基于api +git 的nginx 配置管理
摘要:主要是基于api 以及git 同时结合nginx 配置生成工具,解决nginx 配置管理问题 参考玩法 参考图 流程说明 我们将系统的配置存储到cmdb系统中,基于cmdb系统的webhook 直接开发自己的配置生成服务,然后可以基于本地进行check 对于生成的配置我们提交的git 中,然后利用g 阅读全文

posted @ 2022-04-09 13:28 荣锋亮 阅读(244) 评论(0) 推荐(0) 编辑

openresty modsecurity 一些参考资料
摘要:依赖情况 ngx_http_modsecurity_module ldd ./ngx_http_modsecurity_module.so linux-vdso.so.1 => (0x00007fffb6be9000) libmodsecurity.so.3 => /usr/local/modsec 阅读全文

posted @ 2022-04-08 13:16 荣锋亮 阅读(128) 评论(0) 推荐(0) 编辑

nginx pkg-oss 构建ngx_http_modsecurity_module问题
摘要:此问题并不只是ngx_http_modsecurity_module 的问题,类似直接使用了pcre的都会存在类似的问题 问题 ngx_http_modsecurity_module.c:103:9: error: ‘pcre_free’ undeclared (first use in this 阅读全文

posted @ 2022-04-08 13:15 荣锋亮 阅读(159) 评论(0) 推荐(0) 编辑

基于minio s3 实现自己的yum 私服存储
摘要:参考集成玩法 细节说明 rpm 需要key,可以基于gpg 工具生成,同时我们的repo 可以做为为一个rpm包,方便打开开启使用 默认repo 的rpm格式(可以直接使用fpm制作rpm包) ├── etc │ ├── pki │ │ └── rpm-gpg │ │ └── RPM-GPG-KEY 阅读全文

posted @ 2022-04-06 13:01 荣锋亮 阅读(512) 评论(0) 推荐(0) 编辑

hammerdb 数据库负载以及性能测试工具
摘要:hammerdb 是一个数据库负载以及性能测试工具,自持的数据库不少,比如oracle,sql server,db2,pg,mysql,mariadb 说明 看到hammerdb 是在citusdata 的官方博客,还是值得学习的(包含了ui) 参考资料 https://github.com/TPC 阅读全文

posted @ 2022-04-05 22:28 荣锋亮 阅读(162) 评论(0) 推荐(0) 编辑

简单nginx module 学习
摘要:来自官方文档,主要是学习下构建以及集成 项目结构 一个nginx 模块至少包含一个config 以及模块代码 ├── config └── ngx_foo_module.c 代码 config 关于模块类型、模块名称以及依赖的代码定义,当然也可以包含feature(比如模块依赖的库文件检查等) ng 阅读全文

posted @ 2022-04-05 21:51 荣锋亮 阅读(378) 评论(0) 推荐(0) 编辑

通过火焰图学习nginx upstream 模块的处理
摘要:以下几个图是关于upstream 调用链的 参考环境准备 基于了flamescope 结合perf 文件可以方便的学习 flamescope 准备 version: "3" services: flamescope: image: dalongrong/flamescope ports: - "50 阅读全文

posted @ 2022-04-05 11:42 荣锋亮 阅读(70) 评论(0) 推荐(0) 编辑

nginx 火焰图分析
摘要:主要是简单的学习,基于了openresty 开启了debug,同时保留构建的符号表信息 构建命令 只包含核心部分,其他的具体参考gihtub --with-debug \ --with-cc-opt='-O0 -g' \ 容器集成使用 nginx 配置使用了单进程模式 worker_processe 阅读全文

posted @ 2022-04-04 23:02 荣锋亮 阅读(322) 评论(0) 推荐(0) 编辑

openresty rpm 构建
摘要:预备 perl-Test-Simple.spec 问题 1.302175版本不存在,可以调整为1.302190,可以按需调整 依赖问题 需要依赖zlib,pcre,openssl,等rpm包,需要先构建zib 然后是openssl,然后是pcre,同时构建好之后还需要先安装,然后就能继续构建了 说明 阅读全文

posted @ 2022-04-02 23:54 荣锋亮 阅读(333) 评论(0) 推荐(0) 编辑

基于nginx 的 yum 私服提供
摘要:实际上主要是使用了nginx 进行静态资源的提供,核心还是基于rpm 的功能处理的 处理流程 yum repo 是基于容器构建处理的 生成repo元数据 docker run -it -v $PWD/packages:/opt/packages rpmbuild/centos7 sh sudo -i 阅读全文

posted @ 2022-04-02 23:32 荣锋亮 阅读(84) 评论(0) 推荐(0) 编辑

apm + tracing 一些开源工具参考资料
摘要:内容来自signoz官方博客,可以参考 参考资料 https://signoz.io/blog/distributed-tracing-tools/https://signoz.io/blog/observability-tools/https://signoz.io/blog/apm-tools/ 阅读全文

posted @ 2022-04-01 23:45 荣锋亮 阅读(109) 评论(0) 推荐(0) 编辑

signoz reader 接口定义
摘要:reader 属于signoz的核心,提供了数据的查询处理(包含service,metrics,trace。。。) 参考定义 pkg/query-service/app/interface.go type Reader interface { GetChannel(id string) (*mode 阅读全文

posted @ 2022-04-01 23:13 荣锋亮 阅读(134) 评论(0) 推荐(0) 编辑

signoz 参考架构设计
摘要:参考图 从下图可以看出signoz 主要包含的组件collector 使用了社区的,数据存储基于clickhouse ,对于prometheus 的writer 使用了 query service 处理部分 prometheus 集成 参考图直接嵌入了prometheus,使用了prometheus 阅读全文

posted @ 2022-04-01 22:00 荣锋亮 阅读(1039) 评论(0) 推荐(0) 编辑

导航