how javascript works
这系列文章的开创者是SessionStack的创始人Alexander Zlatkov,最开始应该发布在SessionStack网站的博客上,为他公司引流。
后面SessionStack网站改版,在公司博客里找不到了,但还有继续发布在Medium上。第27篇之前发布在个人频道,从第27篇开始就发布在公司频道sessionstack-blog下。此时作者已经不再是Alexander Zlatkov,是很多其他人,估计是公司开发团队成员。
国内有人翻译了这系列文章的一部分(截止本文撰写时间,翻译了29篇),放在Github上,how-javascript-works。
这个系列一直在更新,截止至目前,已经有75篇。最后一篇#76发布于今年5月。
已完成的文章目录:
- An overview of the engine, the runtime, and the call stack
- Inside Google’s V8 engine + 5 tips on how to write optimized code
- Memory management + how to handle 4 common memory leaks
- The event loop and the rise of Async programming + 5 ways to better coding with async/await
- Deep dive into WebSockets and HTTP/2 with SSE + how to pick the right path
- A comparison with WebAssembly + why in certain cases it’s better to use it over JavaScript
- The building blocks of Web Workers + 5 cases when you should use them
- Service Workers, their life-cycle, and use cases
- The mechanics of Web Push Notifications
- Tracking changes in the DOM using MutationObserver
- The rendering engine and tips to optimize its performance
- Inside the Networking Layer + How to Optimize Its Performance and Security
- Under the hood of CSS and JS animations + how to optimize their performance
- Parsing, Abstract Syntax Trees (ASTs) + 5 tips on how to minimize parse time
- The internals of classes and inheritance + transpiling in Babel and TypeScript
- Storage engines + how to choose the proper storage API
- The internals of Shadow DOM + how to build self-contained components
- WebRTC and the mechanics of peer to peer networking
- Under the hood of custom elements + Best practices on building reusable components
- exceptions + best practices for synchronous and asynchronous code
- 5 types of XSS attacks + tips on preventing them
- CSRF attacks + 7 mitigation strategies
- iterators + tips on gaining advanced control over generators
- Cryptography + how to deal with man-in-the-middle (MITM) attacks
- Functional style and how it compares to other approaches
- Three types of polymorphism
- Regular expressions (RegExp)
- Introduction to Deno
- Creational, Structural, and Behavioural design patterns + 4 best practices
- Modularity and reusability with MVC
- Cross-browser testing + tips for prerelease browsers
- The “this” variable and the execution contextf
- High-performing code + 8 optimization tips
- Debugging overview + 4 tips for async code
- Deep dive into call, apply, and bind
- The evolution of graphics
- Dockerizing a Node.js application
- A deep dive into decorators
- Best practices for data compliance
- Arrays vs Hash Tables
- Proxy and Reflect
- SVG and its use cases (part 1)
- Class static blocks + 6 proposed semantics
- Introduction to Graphs and Trees
- Introduction to PM2, Strongloop, and Forever + 4 tips for Production Process Managers
- Аdvanced SVG capabilities (part 2)
- Тhe publisher-subscriber pattern
- Stacks and Queues + tips for efficient implementation
- Lists vs Blockchain + implementation practices
- The module pattern + comparing CommonJS, AMD, UMD, and ES6 Modules
- The different types of conditional statements + 3 best practices
- The different ways of declaring a function + 5 best practices
- The factory design pattern + 4 use cases
- A guide to build tools + exploring Webpack, Parcel, Rollup, ES Build, and Snowpack
- Building a child process in Node.js
- Streams and their use cases
- understanding Maps and their use cases + 4 advantages compared to Objects
- A deep dive into Webpack
- Recursion in JavaScript, What It Is, and How it is used
- Implementation of gRPC in a Nodejs application
- A deep dive into Vite
- A deep dive into esbuild
- Database Indexing. The Good and Bad Parts
- understanding Snowpack, the next generation JavaScript bundler
- parallelism vs concurrency in JavaScript, what’s the difference?
- Optional chaining and BigInt, new game-changer features for data analysts.
- A complete guide to Events And Event Listeners in JavaScript
- Why you need a CLI and How to build a CLI with JavaScript
- Nodejs Performance And Thread Pool Management
- Understanding modular and functional programming with JavaScript and Firebase…
- A complete guide to asynchronous JavaScript
- Understanding WebSockets in Nodejs with Socket.io
- Deploying a Nodejs application with Kubernetes
- JavaScript Location Object And How Protocols Work
- hat are Task Runners + Introduction to Gulp
关于JS顺便推一下另一本书,《You Dont Know JS》。