matplotlib -- the de-facto library of plotting in Python. seaborn -- the golden tool for statistical...
A little while ago, I was trying to animate an element’s background color, so that it cycled through...
AI 时代,我们写作的意义是什么?...
SVG gives us many different primitives to work with, but by far the most powerful is the element. ...
探索终端的历史,以及各种效果的实现方式...
SVGs are one of the most remarkable technologies we have access to on the web. They’re first-class c...
解密 Swift Concurrency 中的隔离究竟是什么东西。...
CSS Keyframe animations are so much more powerful than most developers realize. In this tutorial, I’...
...
One of the most perplexing and befuddling things in CSS for me, for many years, was the behaviour of...
How many HTTP requests do you think Corepack makes when you run corepack use pnpm to use the latest ...
Learn TypeScript cursor-rules for AI development. Covers best practices, JSDoc, structure. Different...
When OpenAI released GPT-4 back in March 2023, they kickstarted the AI revolution. The consensus onl...
...
...
In last year’s macOS Sequoia release, one change attracted a lot of attention: the new periodic conf...
TypeScript announced a full rewrite of TypeScript in Go. In testing, this rewrite has achieved a 10x...
I spent the past few weeks packing as many easter eggs as I could into my latest project, and in thi...
Container queries expand the universe of designs that can be implemented, giving us whole new superp...
TypeScript 5.8's new erasableSyntaxOnly flag enforces pure type annotations by disabling enums, name...
Introduction I’ve been developing three React state management libraries: Zustand, Jotai, and Valtio...
TypeScript is coming to Node 23. Let's break down what that means....
Glassy headers have become a core part of the “slick startup” UI toolkit, but they’re all missing th...
Lots of exciting new features have been landing in CSS recently, and it can be tough trying to figur...
Introduction RSC stands for React Server Component, but in this post, I’ll use RSC to refer to a bro...
It’s been a couple of years since container queries started landing in browsers… so why isn’t anyone...
To quote myself in a most recently yet-to-be-published paper: 💪 The ability of deep neural networks...
I recently launched a brand new version of this blog, and in this post, I share how it’s built! We’l...
Ever since switching to Ghostty, my Home Manager activation has stopped printing its headers as cyan...
Of all the latest and greatest CSS features, the “:has” pseudo-class wasn’t exactly at the top of my...
Introduction In this post, I would like to reflect on my journey in open source software development...
Learn how to extract the type of an array element in TypeScript using the powerful `Array[number]` t...
Learn how to publish a package to npm with a complete setup including, TypeScript, Prettier, Vitest,...
Introduction There was a discussion in our team after releasing Zustand v3 and the brand new Jotai. ...
Enums in TypeScript can be confusing, with differences between numeric and string enums causing unex...
Introduction In this post, I would like to share the story of why I started developing Jotai. While ...
Is TypeScript just a linter? No, but yes....
Introduction In this post, I would like to share the story behind Zustand’s development. To be preci...
It's a massive ship day. We're launching a free TypeScript book, new course, giveaway, price cut, an...
Learn why the order you specify object properties in TypeScript matters and how it can affect type i...
The “Promises” API is a surprisingly tricky part of modern JavaScript. Without the right context, it...
Learn how to use `corepack` to configure package managers in Node.js projects, ensuring you always u...
useDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the...
You can’t make an omelette without cracking a few eggs, and when the core React team unveiled their ...
Learn TypeScript by setting up a pro environment, using advanced IDE features, and mastering type an...
Learn how to strongly type process.env in TypeScript by either augmenting global type or validating ...
Introduction I’ve been sharing tips about Jotai on Twitter, calling them “Jotai tips.” As tweets ten...
Discover when it's appropriate to use TypeScript's `any` type despite its risks. Learn about legitim...
Learn why TypeScript's types don't exist at runtime. Discover how TypeScript compiles down to JavaSc...
Improve React TypeScript performance by replacing type & with interface extends. Boost IDE and tsc s...
In this book teaser, we discuss deriving vs decoupling your types: when building relationships betwe...
Back in the day, centering an element was one of the trickiest things in CSS. As the language has ev...
On the issue of web fonts, I’ve gone back and forth several times for this website. I’ve used IBM Pl...
A few days ago, I came across a quite interesting blog post entitled Weird Things Engineers Believe ...
眼看还有一周的时间 2023 就正式要结束了,在期待与仰望 2024 的到来之前,我先来对今年的我进行一次年终总结吧。...
CSS Grid is an incredibly powerful tool for building layouts on the web, but like all powerful tools...
Introduction Jotai is developed to solve an extra re-render issue with React Context. A major challe...
Introduction Jotai is a powerful library designed for seamless integration with React Suspense. Unli...
Introduction Note: This post focuses on Zustand library’s implementation in TypeScript. It does not ...
【2024 更新】 我发现有越来越多的人喜欢我实现的这套网站方案,我借此机会来正式写一篇教程,来教你如何克隆我的个人博客,部署成你自己的版本。...
作为一名长期的前端开发者,我想聊聊我对前端框架 React.js 和 Vue.js 的一些个人看法以及不同方面的对比。...
作为一名工程师,要成为优秀的从业者,并不仅仅意味着具备技术实力。在追求卓越的道路上,我们还需要遵循一些原则和价值观。本文将介绍成为优秀工程师的八大法则,希望对广大工程师朋友们有所启发。...
本文将详细讲述如何添加 RSS 功能到你的 Next.js(app 路由)网站当中。...
一个在系统编程中被期待已久的特性。...
Demystify the unique concurrency feature in Rust....
按钮在如今的网站中随处可见,但不知道你有没有发现,在 macOS 和 Windows 的原生应用中,按钮们都有一个共同点——鼠标放上去不会变成“小手指”。...
我最近发现有人故意超频刷我的接口,直接让我的 Redis 费用飞涨,本文来教你如何用 Upstash 来为你的网站添加限流与 IP 封锁等保护措施。...
由几个编程相关的例子做出的简明解释。...
陈皓,他直言不讳,他热爱分享,他痴迷技术,他保持原则。他曾是我的导师,也是我的朋友。如今,他离开了这个世界,但他没有离开我们。...
...
The old-new-thing....
Introduction In the world of web frontend development, signals have become a popular topic. At their...
Introduction When I first saw SolidJS and Preact Signals, I thought they are interesting but they ar...
Introduction When Jotai development was started (before releasing v1), it has a simple goal. It opti...
It has been a while since my last update. And to be fair, 2022 was a very boring and event-less year...
Introduction Jotai is a library for React state management. The API (let’s call it v1 API) is design...
...
...
Yep, that’s the title There’s no click-bait. Though I’m at home working remotely, meaning that I hav...
Introduction If someone has already looked into package.json in the jotai library, they may find "ex...
Introduction Recently, I often got asked about this question: Which is recommended, valtio or jotai?...
Hey again. It has been a year since I last talked about building a blog with Notion. A lot has chang...
Introduction In the previous article, we explained how Valtio proxy state works. It tracks mutations...
Introduction I stumbled upon 7GUIS tasks while reading XState Tutorials. This motivated me to challe...
!!! success "🛸 我免费啦" (^^ゞ 从 4 月 1 号开始的十天自我隔离终于结束啦! 不知道大家有没有发现,不过我确实 人在英国,刚下飞机。今天是我十天隔离的最后一天,明天我就正式可以...
!!! bug "🔥" An update in 2022: Revisiting blogging with Notion in 2022. Yup, yup, yup! (Paimon nois...
Welcome 2021. 昨天(2020/1/1)我也才刚刚从北京回家的高铁上下来,现在我坐在刚搬来的新家里,用着陪伴了我快 3 年的机械键盘,写下这份迟到了一天的碎碎念。希望大家不要嫌弃。...
起因 这件事情还要从我校为毕业生收拾行李开始讲起。今年六月末北京疫情复发,这一波直接让我们北京高校毕业生无法返校,个人行李物品必须由学校老师代为整理快递回家。这件事情让同级的同学们非常不满,于是微博知...
After trying many apps, my favorite macOS color picker remains the built in utility. It's only shown...
I had an idea for caching SVG paths. Not the usual kind of async request caching of remote SVGs, but...
If you want to add custom CSS to a website without using a browser extension, you can proxy the site...
SWR is a React hook for data fetching that features a cache for requests. This is generally used to ...
There is no previous sibling selector in CSS. Instead, we can achieve the same behavior by using fle...
It's difficult to transition between themes smoothly. Adding a CSS transition to every element negat...
Nine days after first writing this post, the Next.js team landed support for paths in tsconfig.json ...
The text-decoration: underline CSS property provides insufficient control over the underline styling...
I have trouble falling asleep. Too many ideas and thoughts from a day with too little activity, I su...
Styled System is an excellent alternative to writing ad-hoc style declarations in your React compone...
My crappy superpower is solving difficult problems as I'm falling asleep. Doesn't sound too bad, rig...