Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
coco: a simple stackless, single-threaded, and header-only C++20 coroutine library
TL;DR coco is a simple stackless, single-threaded, and header-only C++20 coroutine library that leverages native C++20 coroutines for async/await programming with Go-like channels and waitgroups. https://github.com/kingluo/coco Background Don’t communicate
-
coco: a simple stackless, single-threaded, and header-only C++11 coroutine library
TL;DR coco is a simple stackless, single-threaded, and header-only C++11 coroutine library. https://github.com/kingluo/coco Background Don’t communicate through shared memory, share memory through communication.
-
envoy asynchronous HTTP filter: lua-resty-ffi vs golang filter
In Envoy, both lua-resty-ffi (envoy porting) and the built-in golang filter allow you to use golang to develop asynchronous business logic through goroutine, but which one performs better?
-
Asynchronous nginx response header/body filter
TL;DR In openresty, using ngx.location.capture(), we can achieve high-performance asynchronous processing of upstream responses.
-
burl: A simple but flexible HTTP/3 testing framework based on bash and curl
TL;DR I’ve created a new HTTP/3 testing framework based on bash and curl: https://github.com/kingluo/burl Chinese blog version: https://zhuanlan.zhihu.com/p/675741855 Background A few months ago, when I ported the QUIC patches from the nginx mainline to A…
-
Make lua-resty-ffi run on Envoy
Background Both nginx and envoy are high-performance proxy server software.
-
OpenResty: record the Lua execution time per request in ngx.ctx via LD_PRELOAD
TL;DR How can I log the Lua execution time of each request (excluding time spent on asynchronous IO) in ngx.ctx in a non-intrusive, zero-cost way?
-
HTTP/3 client library for OpenResty
Background HTTP/3 is the third major version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web, complementing the widely-deployed HTTP/1.1 and HTTP/2.
-
Access Windows Active Directory Domain Services with Kerberos Authentication from OpenResty
Background Kerberos is a computer network security protocol that authenticates service requests between two or more trusted hosts across an untrusted network, like the internet.
-
Resolve C static variables of the main executable from the dynamic loaded shared library
As known, nginx modules are static linking.
-
Learn Async Rust From Assembly Code
Asynchronous programming or async for short, is a concurrent programming model supported by an increasing number of programming languages.
-
Java Class Reloading
lua-resty-ffi provides an efficient and generic API to do hybrid programming in openresty with mainstream languages (Go, Python, Java, Rust, Nodejs, etc.). https://github.com/kingluo/lua-resty-ffi I already implement code hot-reload for Python and Nodejs…
-
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.
-
Implement Grpc Client in Rust for Openresty
Back in 2019, when I work as individual postgresql/nginx consultant.
-
Learn Rust From Assembly Code
Rust is a complex programming language, with a lot of concepts.
-
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.
-
My Shell Tips
I work on a remote terminal most of the time.
-
Vim Minimalist
Vim, the god of editor, is popular in developers and hackers.
-
Nginx Blocking
What’s blocking?
-
Analyze Lua Memory Leak With Systemtap
Use systemtap to analyze the memory leak of lua code The memory used by lua code is managed by the GC, not calling malloc/free/mmap directly.
-
Gdb Black Magics
Without questioin, gdb is a brilliant weapon to debug our program.
-
Luajit String Interning
Why string interning?