Ben Chuanlong Du's Blog

It is never too late to learn.

Cargo Build Script Add Wings to Cargo Build

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

  1. build.rs is located in the root directory of the project.

  2. build.rs can be used to directly generate a module or generate some Rust code to be included in another …

Rust Backend Frameworks for gRPC APIs

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

tonic

tonic is a gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility. This library was created to have first class support of async/await and to act …

Tree-Based Data Structures

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

BST vs AVL Tree vs Red-black Tree

  1. BST is not necessarily balanced and has a worst lookup time of O(n).
  2. AVL tree is strictly balanced BST.
  3. Red-black is between BST …

gRPC GraphQL and RESTful APIs

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

GraphQL harder (compared to RESTful and gRPC) to cache.

gRPC has the best performance

but not cannot be used for communication between frontend and backend directly, even thought it is doable …