#483 — April 25, 2023
How to Process a CSV File Faster in Node with Rust and NAPI-RS — NAPI-RS is a framework for building pre-compiled Node.js addons in Rust. This post looks at using it for practical ends, namely being able to process CSV data with high performance.
Building a Modern gRPC Microservice with Node and Connect — An interesting tutorial that digs into how the engineers at Dopt built a gRPC-powered internal microservice using Node and the Connect suite of gRPC libraries. It’s great to see a tutorial built off of a real, production-level experience.
The Postgres Experience You Always Wanted — “What a different support experience Crunchy is. Every support ticket is valuable. We’re encouraged to ask questions. We’re able to do so much more working with a partner who cares as much about data as we do.” Rob Sullivan, CareRev.
Crunchy Bridge sponsor
🐘 As an aside, if you’re a Postgres user, Postgres Weekly is our sister Postgres-focused newsletter 🙂
Dissecting npm Malware: Five Packages and Their Evil Install Scripts — npm related security continues to be a big topic (hold on to your hats, that’s what the next item is about as well 😆) and a common security vector is the install script that’s run when you install a package.
Gabi Dobocan (Sandworm)
GitHub Introduces npm Package Provenance — As stewards of the official npm registry, GitHub is keen to improve its security. Now, if you build npm packages through GitHub Actions, you can publish the provenance of your package which gives users a way to verify which repo a package was built from (and how).
DeHamer and Harrison (GitHub)
NodeSource and GitHub are partnering up to integrate NodeSource’s certified modules features into GitHub Actions.
We covered Node.js 20’s release last week, but if you want to dig deeper into the new (experimental) permissions model, here are the full docs.
How Postgres Triggers Can Simplify Your Backend Development — A trigger is a special type of function that automatically executes in response to a specific database event, such as a table insertion, deletion, or update, which allows you to offload certain logic to the database itself.
The Mythical Engineer
Building and Dockerizing a Node App with Stateless Architecture — Then deploying it on the Kinsta platform.
How to Install Node.js 20 on Ubuntu 20.04 LTS
🛠 Code & Tools
Linker.js: Access C, C++, Rust and Go Libraries from Node — A dynamic C-shared library linker that provides an interface for accessing any C-shared libraries (which all of C, C++, Rust and Go can produce). Linux only for now.
❤️ Loving console.log Is Easy, but Hate 😡 Losing Context to View Messy Output — Developer productivity tools Wallaby.js, Quokka.js, and Console Ninja show console.log values and errors right next to your code.
SuperTest: HTTP Assertions Made Easy — Got an HTTP API to test? SuperTest provides a fluent API for chaining together requests and expectations. Uses superagent behind the scenes and works with HTTP/2 too.
TJ Holowaychuk et al.
chalk-animation: Colorful Animations in Terminal Output — Provides a variety of different effects for your text, including a rainbow effect, pulsing, and glitchiness.
↳ Map over promises concurrently.
↳ Simple to use local JSON database.
↳ GitHub Action to publish to NPM.
Find Tech Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
↳ Detect the file type of a Buffer/Uint8Array.
↳ XML builder library.
↳ Telegram bot framework.
↳ MongoDB object modeling approach.