---
title: "A journey into Node's internals"
publication: "Node Weekly"
issue: 303
published_at: "2019-08-29"
canonical_url: "https://nodeweekly.com/issues/303"
---

This week's Node.js news, tutorials, and projects       

#303 — August 29, 2019 

[Read on the Web](https://nodeweekly.com/issues/303)   

Being the end of August, it was a _really_ quiet week this week, but we've somehow built a full issue! 😄 However, always feel free to hit reply and send us links to things you've written, released, etc. and we'll be sure to take a look :-)  

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/q4gzlwfgxuj5vxjs93nu.jpg)](https://www.youtube.com/watch?v=LbwUETu7Rgc)   

▶[A Journey Into Node's Internals](https://www.youtube.com/watch?v=LbwUETu7Rgc) — A 45 minute talk covering some of the Node platform’s internals, including a deep dive into the event loop, how it works, what its different phases are, and how it enables non-blocking IO. 

Tamar Twena-Stern   

[Node v12.9.1 (Current) Released](https://nodejs.org/en/blog/release/v12.9.1/) — A patch level release fixing two regressions in the `http` module. 

Node.js Foundation   [![\](https://copm.s3.amazonaws.com/487339a6.jpg)](https://frontendmasters.com/courses/digging-into-node/?utm_source=nodeweekly&utm_medium=email&utm_campaign=diggingnode) 

[New Course: 🔩 Digging into Node.js with Kyle Simpson](https://frontendmasters.com/courses/digging-into-node/?utm_source=nodeweekly&utm_medium=email&utm_campaign=diggingnode) — Learn Node.js piece-by-piece, from building command line scripts, to reading and writing files, to web servers and more...all while using very few libraries and abstractions. 

Frontend Masters sponsor   

[A Practical Guide to Symbols in JavaScript](http://thecodebarbarian.com/a-practical-guide-to-symbols-in-javascript.html) — ES6 introduced symbols as a new primitive type to act as unique identifiers. Here’s a look at their uses. 

Valeri Karpov   

[`npm.community`: The Official `npm` Forum](https://npm.community/) — We first mentioned [its launch a year ago](https://blog.npmjs.org/post/175587538995/announcing-npmcommunity) but in case you’re not aware of it, [npm.community](https://npm.community/) is the place to go for npm-related support, discussion, or to even suggest new features and ideas for the tool. 

npm forum   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1567085438/gviqghidzchwvdvsrdaf.png)](https://feross.org/funding-experiment-recap/)  

[A Recap of the '`funding`' Experiment Which Brought Ads to `npm install`](https://feross.org/funding-experiment-recap/) — If you saw an ‘ad’ in your terminal when installing packages recently, it might have been the `funding` package at play. It was an experiment at raising funds for open source developers by showing a simple text ad during npm package installation. The experiment is now over, however. 

Feross Aboukhadijeh  

💻 Jobs  

[Have You Thought About Being a Web Developer in Robotics?](https://www.veobot.com/jobs/?gh_jid=4341006002) — A unique opportunity to work on a high-powered engineering web application for a computer vision system combining 3D graphics and an intuitive user experience. 

Veo Robotics   

[Node developers are in demand on Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Make a free profile, name your salary, and connect with hiring managers from top employers. 

Vettery  

📚 Articles and Tutorials  

[Understanding and Protecting Against Malicious `npm` Package Lifecycle Scripts](https://medium.com/@kyle_martin/understanding-and-protecting-against-malicious-npm-package-lifecycle-scripts-8b6129619d7c) — Explains the importance of understanding how npm lifecycle scripts such as `preinstall` and `postinstall work`, how they could, (and have been) used maliciously, and some advice on what you can do to avoid trouble. 

Kyle Martin   

[Building a Node API with Stateless Authentication](https://blogg.itverket.no/stateless-authentication-in-node/) — A simple look at implementing stateless authentication with JWTs (JSON Web Tokens). 

Henrik Molnes   

[Build Video for Your Node App in Just Two API Calls](https://get.mux.com/2ZdzCKB) — Mux Video is an API-first platform, powered by data and designed by video experts to make beautiful video possible for every development team. 

Mux sponsor   

▶[Leveraging Angular in Node with NestJS](https://www.youtube.com/watch?v=G6Bll03gVUY) — Bringing the Angular development experience to the back-end. 

Kamil Mysliwiec   

[How the Node Event Loop Polls](https://www.alexhwoods.com/blog/event-loop-polling) — If you’ve ever wondered what `libuv` is.. this will help you grasp the first few steps. 

Alex Woods   

[Running Express on Cloud Functions for Firebase](https://www.jsmonday.dev/articles/26/running-express-js-on-firebase-cloud-functions) — The idea of running Express apps in serverless contexts always takes me a while to understand, but it’s an increasingly popular approach. 

Michele Riva   

[Going Beyond `npm` with Yarn and `pnpm`](https://blog.nicco.io/2019/08/27/going-beyond-npm-meet-yarn-pnpm/) — A quick look at two alternatives to `npm` if you haven’t ventured off that path yet. 

Niccolo Borgioli  

🛠 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/wuiug3dpcly1g476wudi.jpg)](https://github.com/GoogleChromeLabs/ndb)   

[ndb: An Improved Debugging Experience for Node](https://github.com/GoogleChromeLabs/ndb) — Run your Node code with `ndb` and get extra, powerful Node debugging features right in Chrome’s DevTools including editing files and setting breakpoints before modules are loaded. 

Google Chrome Labs   

[Memento: A Developer Tool for Caching HTTP Requests](https://github.com/antoinechalifour/memento) — You’d use this for caching API responses while in development only to either avoid rate limits, guarantee responses, be able to work offline, etc. 

Antoine Chalifour   

[MongoDB Atlas is a Powerful and Reliable Cloud Database. Try Now](https://www.mongodb.com/cloud/atlas/lp/general/try?utm_campaign=cooperpress&utm_source=node&utm_medium=sponsored_newsletter) 

MongoDB Atlas sponsor   

[Feathers 4: A Framework for Real-Time Apps and REST APIs](https://blog.feathersjs.com/introducing-feathers-4-a-framework-for-real-time-apps-and-rest-apis-afff3819055b) — Feathers brings together Node, React Native and the browser in a reasonably novel (for Node) framework based around services and workflows rather than the more traditional routes and controllers. 

David Luecke   

[Web Template Studio 2.0: Generate New Apps from VS Code Wizard-Style](https://blogs.windows.com/windowsdeveloper/2019/08/21/growing-web-template-studio/) — Web Template Studio is an extension, from Microsoft, for Visual Studio Code that simplifies creating new full-stack apps in a ‘wizard’-esque style. It supports Node as a backend (as well as Python’s Flask). 

Lea Akkari (Microsoft)         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://nodeweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://nodeweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
