Use Nodejs to extend Openresty/Nginx

As known, Node.js is a popular javascript runtime based on V8 and libuv, with many third-party packages managed by npm. How to enable nodejs in openresty, so that we could reuse its rich ecosystem? Check https://github.com/kingluo/lua-resty-ffi/tree/main/examples/nodejs for source code. lua-resty-ffi https://github.com/kingluo/lua-resty-ffi

Implement Grpc Client in Rust for Openresty

Back in 2019, when I work as individual postgresql/nginx consultant. Many clients ask me if they could do hybrid programming in nginx. They said, nginx/openresty is powerful and high performance, but the most significant drawback is it lacks of ecosystem of mainstream programming languages, especially when they have to interact with popular frameworks, e.

Learn Rust From Assembly Code

Rust is a complex programming language, with a lot of concepts. When you find the concept hard to understand, perhaps checking the assembly code would be helpful. It’s my favourite way to learn Rust. Move In Rust, we have to use move in most time.

Json vs Flatbuffers vs Protobuf in Lua

flatBuffers is an efficient cross platform serialization library for C++, C#, C, Go, Java, Kotlin, JavaScript, Lobster, Lua, TypeScript, PHP, Python, Rust and Swift. It was originally created at Google for game development and other performance-critical applications. In lua/luajit, is flatbuffers really faster than json?

My Shell Tips

I work on a remote terminal most of the time. This article collects some tips from my experience. bash multiple line editing Sometimes a complex command consists of multiple lines and you need to edit them before executing it. The lines may be in any format, e.