TypeScript 5.8's new erasableSyntaxOnly flag enforces pure type annotations by disabling enums, name...
这里记录每周值得分享的科技内容,周五发布。([通知] 下周春节假期,周刊休息。) 本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.c...
这里记录每周值得分享的科技内容,周五发布。 本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。 封面图 武汉光谷是今年春节...
一、前言 AI 生成代码,早不是新鲜事了,但是 AI 生成微信小程序,似乎还不多见。 究其原因,大概是小程序的开源项目较少,模型训练不好搞。 上周,我遇到腾讯的同学,得知"腾讯云开发"最近有一个大的...
Introduction I’ve been developing three React state management libraries: Zustand, Jotai, and Valtio...
With this letter, I’m proposing some modification of the publish process of all package managers, an...
动机 在实现 Chrome 插件 Mass Block Twitter 时,需要批量屏蔽 twitter spam 用户,而 twitter 的请求 header 包含的 auth 信息似乎是通过 j...
自从 2023 年底前往日本之后,吾辈就没有再上过一天班。在日本的时候,基本没有考虑过打零工。而回国之后,则开始了间隔性的旅行和躺平。回国的主要目标之一成为独立开发者仍未实现,即使尝试过开发一些东西,...
今天也是来介绍一种性能优化的具体方式,使用二进制存储特定数据,来降低内存占用、后台存储和传输成本。 二进制数据设计 当我们需要描述某种数据的许多状态时,可以考虑使用二进制的方式优化。 简单来说,就是使...
TypeScript is coming to Node 23. Let's break down what that means....
大多数情况下,前端很少遇到性能瓶颈。但如果在大型前端项目、数据量百万千万的场景下,有时候一些毫不起眼的代码习惯也可能会带来性能问题。 今天来简单介绍几种,大家在写代码的时候也可以注意。 代码细节与性能...
인간의 어떤 특성이 유전인지 아닌지 따지려고 들면 이미 틀리고 들어간다고 생각하면 된다. 뱌이러스급으로 돌연변이가 자주 일어나는 종이 아닌 이상 모든 특성은 기본적으로 유전이다. ...
나는 오픈AI에서 $2000로 인공지능 개발자를 냈으면 당연히 구독했겠지만, 코그니션 AI가 만든 $500 짜리 개발자는 별로 고용하고싶지 않았다. 믿음이 안 가는 게 유일한 이유...
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...
在落地羽田机场的时候,飞机玻璃窗内蒙上了薄薄一层雾,忽而又凝结成小水珠滚落,而透过它我看到的是近处地勤和远处塔台的各色灯光,那景象很朦胧、很迷幻,就像是以前攻壳机动队里看过的那种很 Cyberpunk...
背景 最近使用了 ZenFS 在浏览器中模拟文件系统,以在浏览器中像使用 node fs api 一样存储一些文件。但想要可视化的检查当前存储的文件时,却没有一个可以直观的工具来完成。所以就创建了一个...
写在前面 这几天沉迷 Hackergame 2024,现在终于结束了! 🥳 我得了 39 名 / 2460 人(🔝1.5%)。 涉及的编程语言有:Python、C(当然,CTF 题目就是 C 和 p...
之前讲到性能优化,大多数介绍的都是耗时上的一些优化,比如页面打开更快、用户交互响应更快等。不过,在最开始的《前端性能优化–归纳篇》一文中有说过,前端性能优化可以从两个角度来衡量:时间和空间,今天介绍的...
It’s been a couple of years since container queries started landing in browsers… so why isn’t anyone...
身为一名程序员,我们经常会调侃自己每天的工作就是在屎山上拉屎。这里的屎山还有一个更好的名称,叫做技术债务。 技术债务是怎么产生的 我参加过许多不同的项目,而基本上每个项目都会存在或多或少的历史债务。实...
场景 之前发布 Chrome 扩展到 Chrome WebStore 时,WebStore 要求提供几张截图,而且必须是 1280x800 或者 640x400,而如果想要手动调整窗口大小为特定尺寸的...
我们在上一篇《前端性能优化–卡顿心跳检测》一文中介绍过基于requestAnimationFrame的卡顿的检测方案实现,这一篇文章我们将会介绍基于该心跳检测方案,要怎么实现链路追踪,来找到产生卡顿的...
...
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...
前言 最近为 Chrome 开发了可以直接在浏览器运行 TypeScript 的插件 TypeScript Console,需要将代码编辑器集成到 Chrome Devtools 面板。其实要在 We...
요즘 마케팅 전화가 너무 오는데 공정위에서 두낫콜이라는 일괄 거부 서비스를 제공한다고 한다. donotcall.go.kr donotcall.or.kr 이거 두개 본인인증하고...
Of all the latest and greatest CSS features, the “:has” pseudo-class wasn’t exactly at the top of my...
之前在给大家介绍性能相关内容的时候,经常说要给大家讲一些更具体的案例,而不是大的解决方案。 这不,最近刚查到一个数组的性能问题,来给大家分享一下~ 数组解构的性能问题 ES6 的出现,让前端开发小伙伴...
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,...
背景 Poe 是一个 AI 聊天机器人,它支持多种 AI 模型,包括 GPT-4o、Claude 3.5 Sonnet、Gemini Pro 等。还支持各种类型的 Bot,其中 Server Bot ...
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 ...
한동안 잠을 제시간에 못 자서 정말 힘들었는데, 수면 패턴이 다시 회복되었다....
对于一个前端应用,最理想的性能便是任何用户的交互都不会被阻塞、且能及时得到响应。 显然,当我们应用程序里需要处理一些大任务计算的时候,这个理想状态是难以达到的。不过,努力去接近也是我们可以尽量去做好的...
이 글은 두루미스에 올렸다가 옮긴 글입니다. 난 자퇴했지만 대학교에 쓴 돈과 시간이 아깝지 않다. 좋은 사람들 많이 만난 걸로 충분히 뽕 뽑았다고 생각하고, 대학교가 아니었으면...
이 글은 두루미스에 올렸다가 옮긴 글입니다. 지금 당장 생각나는 것만 해도 암기력 수리/논리적 추론 언어 감각 (이해) 언어 감각 (작문) 직관력 공간 지각 능력 ...
听说程序员里存在一个鄙视链,而前端则在鄙视链的最底端。这是因为以前大多数的前端工作内容都相对简单(或许现在也是如此),在大多数人的眼中,前端只需要写写 HTML 和 CSS,编写页面样式便完成了。 如...
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...
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 ...
Introduction I’ve been sharing tips about Jotai on Twitter, calling them “Jotai tips.” As tweets ten...
UI = f(data)(state)...
眼看还有一周的时间 2023 就正式要结束了,在期待与仰望 2024 的到来之前,我先来对今年的我进行一次年终总结吧。...
The limits of my language mean the limits of my world....
Introduction Jotai is developed to solve an extra re-render issue with React Context. A major challe...
...
本文是一篇引导探索式的学习笔记,希望你可以耐心、细心地跟着文章内容的节奏一点点理解,相信你会有一些收获! 刚开始只是想学习一下 TS 的一道常见题:Union to Tuple,把 "a" | "b"...
如果你是一个 TypeScript 常用者,你可能经历过如下这样的场景: Copy interface Base { type: 't1' | 't2' } interface Extend1 e...
【2024 更新】 我发现有越来越多的人喜欢我实现的这套网站方案,我借此机会来正式写一篇教程,来教你如何克隆我的个人博客,部署成你自己的版本。...
作为一名长期的前端开发者,我想聊聊我对前端框架 React.js 和 Vue.js 的一些个人看法以及不同方面的对比。...
偶然在时间线上刷到你的推文,顺着主页翻到了历史的博客。 周日的晚上竟然失眠,久久没能睡着,透过这些记录,看到了一种野蛮生长的魅力。 通过你分享的一些片段,我脑海中构建出来了一个虚拟的,敢想敢做的个体,...
作为一名工程师,要成为优秀的从业者,并不仅仅意味着具备技术实力。在追求卓越的道路上,我们还需要遵循一些原则和价值观。本文将介绍成为优秀工程师的八大法则,希望对广大工程师朋友们有所启发。...
👓 词法分析和语法分析 由于是简单地记录一下这个我花了好久终于想通的知识点,所以我不会在这里长篇大论地展开这两个可以非常深入去聊的话题,只是为了帮助本文读者更好地理解。 词法分析器,英语里一般称为 ...
本文将详细讲述如何添加 RSS 功能到你的 Next.js(app 路由)网站当中。...
A missing feature in system programming....
按钮在如今的网站中随处可见,但不知道你有没有发现,在 macOS 和 Windows 的原生应用中,按钮们都有一个共同点——鼠标放上去不会变成“小手指”。...
我最近发现有人故意超频刷我的接口,直接让我的 Redis 费用飞涨,本文来教你如何用 Upstash 来为你的网站添加限流与 IP 封锁等保护措施。...
From programming, beyond programming....
A beautiful danger....
本文介绍了在响应式系统中,使用 Vue 的 effect 和 watchEffect 函数监听和处理数据变化时,可能会出现 Glitching avoidance(闪烁)的问题。通过调试 Vue 源码...
前言 Hi,这里是三咲智子,Vue 核心团队成员。Vue 3.3 的这次发布主要是为了改进 DX (开发者体验),新增了一些语法糖和宏,以及 TypeScript 上的改善。 泛型组件 在 SFC(...
The old-new-thing....
A new home....
那是个美妙的晚上,老师通知我们前往。 先是不放,后却松绑,最后琴理将要下场。 前排同学异常感伤,后排却开始鼓掌。 学校让我们放弃抵抗,三天之内将我们埋葬。 回忆琴理的日常,我们在这一起生长。 从掌上沈...
这是王山而同志在琴理工作室第一届全体会议上的发言。 各位琴理工作室的同学们,大家期盼的会议现在开始了。 我们的会议包括一百多名学生,拥有全校各学院、各专业的顶尖人才。这就说明,我们的会议是一个团结的会...
...
2022 年三月份,我写过一篇自我介绍的流水账文章,总结了我在大学之前的技术经历。如果还没看过,先去阅读上一篇文章再继续看吧~ 现在是时候来讲讲我与开源的故事流水账了 😎! 初来乍到 2020 年 ...
It has been a while since my last update. And to be fair, 2022 was a very boring and event-less year...
午时 奴才总不过是寻人诉苦。只要这样,也只能这样。 起身,拉开遮光帘,瞄了眼床下,室友都在床上刷手机。 翻个身又躺了会儿,接着就起床去工作室写了一天代码。 待晚上回去时,宿舍剩下的三人买了些啤酒花生,...