Home

2022.07.18 - Vite 3.0 is out!

Pi

Ping Xia

July 18, 20225 min read

Title: 2022.07.18 – Vite 3.0 Is Out!

This Week’s Highlights

Vite 3.0 is out!https://vitejs.dev/blog/announcing-vite3.html
Sixteen months after the V2 launch, we’re thrilled to announce Vite 3. We’ve decided to ship a new major version of Vite at least once a year to stay in step with Node.js’s end‑of‑life schedule, and to give us a regular chance to review the API and provide a short migration path for projects in the ecosystem.

Scratch is a big dealhttps://www.bryanbraun.com/2022/07/16/scratch-is-a-big-deal/
While most of us weren’t paying attention, Scratch has evolved from a kids‑focused programming language into a massive online community of self‑directed, student programmers. Usage has doubled since the pandemic began, and the language is now overtaking “real” languages such as TypeScript and Rust in popularity rankings. It represents more than 50 years of effort by programmers and educators, standing on the shoulders of giants like Logo and LEGO Mindstorms. Look up constructionism (a learning theory that emphasizes learning through making) if you’re curious!

The dream is over for China’s tech workershttps://restofworld.org/2022/china-tech-layoffs/
A government crackdown and an economic slowdown have triggered massive layoffs, but some workers are relieved to escape the grueling “996” work culture (9 am–9 pm, six days a week).

From Bootcamp Grad to Software Engineerhttps://www.simplethread.com/blog-post-from-bootcamp-grad-to-software-engineer/
Every good software engineer—no matter how experienced or credentialed—learns a huge amount each year. That’s just how the industry works at its current stage of immaturity. So beyond the specific skill set you list on an application, what I’m looking for is a continuous‑learning mindset, proof that you can keep growing, and evidence that you’ll become the great developer you have the potential to be.

Functional programming is finally going mainstreamhttps://github.com/readme/featured/functional-programming
OBJECT‑ORIENTED AND IMPERATIVE PROGRAMMING AREN’T GOING AWAY, BUT FUNCTIONAL PROGRAMMING IS FINDING ITS WAY INTO MORE CODEBASES. Related: Functional Programming 101 (https://github.com/readme/guides/functional-programming-basics).

Stack Exchange sites are getting prettier faster: Introducing Themeshttps://stackoverflow.blog/2022/07/11/stack-exchange-sites-are-getting-prettier-faster-introducing-themes/
Our April Fools joke had a nice side effect: it’s now easier to give each Stack Exchange site its own visual identity. Related: The many faces of themeable design systems (https://bradfrost.com/blog/post/the-many-faces-of-themeable-design-systems/).

Deep Reads

The joy of Variable Fonts: getting started on the Frontendhttps://evilmartians.com/chronicles/the-joy-of-variable-fonts-getting-started-on-the-frontend
In this article we take a deep look at setting up variable fonts on the frontend—how to load them properly, configure settings, avoid common pitfalls, and more. Read on and learn!

CSS complexity – it’s complicatedhttps://www.projectwallace.com/blog/css-complexity
I think Project Wallace is the most powerful tool for exploring your CSS, but I also believe browser vendors need to step up their game. Google Chrome made a good start with its CSS Overview, yet the topic remains largely overlooked, and developers are looking for ways to understand their CSS beyond just the colors and fonts.

Applying SOLID principles in Reacthttps://konstantinlebedev.com/solid-in-react/https://www.projectwallace.com/
The good news is that software‑design principles such as SOLID are language‑agnostic and highly abstract. If we squint enough and take a few liberties with interpretation, we can apply them to our more functional React code. So let’s be a bit creative.

聊聊分布式锁https://mp.weixin.qq.com/s/-N4x6EkxwAYDGdJhwvmZLw
Distributed locks based on ZooKeeper are suited for high‑reliability (high‑availability) scenarios where concurrency isn’t massive; Redis‑based distributed locks fit cases with very high concurrency and performance demands, where reliability can be compensated by other measures. MySQL‑based distributed locks usually suffer from a single‑point‑of‑failure issue and put a lot of load on the database under high‑traffic conditions.

Custom ESM loaders: Who, what, when, where, why, howhttps://dev.to/jakobjingleheimer/custom-esm-loaders-who-what-when-where-why-how-4i1o
Custom loaders are a powerful mechanism for controlling how an application loads modules—whether data, files, or anything else. This article outlines real‑world use cases. End users will typically consume them via packages, but knowing how they work can be handy, and building a small, simple one‑off loader is easy (most loaders I’ve seen or written are about 20 lines of code, many fewer).

Why do so many brands change their logos and look like everyone else?https://velvetshark.com/articles/why-do-brands-change-their-logos-and-look-like-everyone-else
A few months ago I got an email from Revolut (a British fintech) proudly unveiling its new logo. Revolut had previously had a distinct, instantly recognizable mark. They replaced it with… something I was sure I’d seen before.

Advice for the next dozen Rust GUIshttps://raphlinus.github.io/rust/gui/2022/07/15/next-dozen-guis.html
The motivations for building GUIs in Rust remain strong. While Electron continues to gain momentum—especially for desktop use cases—there’s a clear desire for a less resource‑hungry alternative. That said, no consensus has emerged on what that alternative should look like. Moreover, the ecosystem suffers from fragmentation at the infrastructure level. Fragmentation isn’t entirely negative; specialization can yield solutions better suited to specific problems rather than a one‑size‑fits‑all approach. Related: How I went about learning Rust (https://eli.thegreenplace.net/2022/how-i-went-about-learning-rust/) and Let’s Code Tetris with Rust, WASM, and React (https://www.youtube.com/watch?v=_lAr7JveRVE).

3 Reasons an Inefficient Cache Is Worse Than No Cache at Allhttps://thenewstack.io/3-reasons-an-inefficient-cache-is-worse-than-no-cache-at-all/
At its core, database caching is a straightforward concept: placing an in‑memory datastore in front of (or beside) a database that serves as the system of record. Caching lets organizations keep frequently requested data in fast RAM, boosting performance by reducing calls to slower disk‑ or flash‑based databases that persist system data. This efficiency yields huge performance gains.

Resolving Conflicts Between Designers and Engineershttps://www.smashingmagazine.com/2022/07/resolving-conflicts-designers-engineers/
In this article, Scott H… (content truncated)


Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.