Modern JavaScript Tutorial is a simple, but detailed explanations with examples and tasks, including: closures, document and events, object oriented programming and more. Everything you need to know to be able to write modern JavaScript code!
Robin Wieruch has recently published a fantastic article that goes into great length about everything you need to know about web applications in modern web development. It's not JavaScript specific and it covers the idea of traditional websites, full-stack web applications, client-side and server-side rendering/routing, single-page applications, code splitting, APIs, microservices, static site generation and more!
“Should I use pixels or rems?”. In this comprehensive blog post, Josh Comeau answers this question once and for all. You'll learn about the accessibility implications, and how to determine the best unit to use in any scenario.
An interesting case study by Renderland showcasing their journey with web performance optimisations. This article covers client and server side rendering, time to first byte, first paint, and other interesting web performance metrics.
Designing good programmatic API is not easy. This article looks into how Database Storage Engines work: Log Structured vs. Page Oriented. It's a bit of an advanced use case but there is definitely a lot to learn about how to think in terms of APIs for these systems.
I have been busy in the last couple of weeks designing an open source workshop that covers iteration in JavaScript and Node.js. It explores generator functions and sync/async iteration protocols and offers tons of examples and exercises. I hope you will enjoy it!
Book of the week
The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt
he Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process-taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.