阿卡琳 Profile Banner
阿卡琳 Profile
阿卡琳

@magic_akari

1,190
Followers
130
Following
187
Media
775
Statuses

Core member of @swc_rs |All opinions are my own |🦀

Beijing
Joined August 2012
Don't wanna be here? Send us removal request.
@magic_akari
阿卡琳
11 months
Tweet media one
3
46
317
@magic_akari
阿卡琳
3 years
GitHub 上赋予每个编程语言一种颜色,似乎成了一种标准的色盘。我在思考,会不会以后用这种方法表达一种颜色。比如你想说蓝色,你可以说 Go 蓝,但是你想表达更深一点蓝色,你可以选择 TypeScript 蓝和 python 蓝。
Tweet media one
10
34
238
@magic_akari
阿卡琳
11 months
Tweet media one
6
15
241
@magic_akari
阿卡琳
1 year
跳过贝叶斯,SVM,CNN,RNN,甚至 python 都想跳过,那些“直接上手开发 AIGC 上层应用”的口号是不是听起来和“跳过 JavaScript 上手 Vue”一样诱人?我只觉得不合适。
33
18
234
@magic_akari
阿卡琳
1 year
Tweet media one
6
45
178
@magic_akari
阿卡琳
2 years
找到了
Tweet media one
Tweet media two
Tweet media three
11
11
153
@magic_akari
阿卡琳
8 months
年轻人的第一个 v8 commit 合入了 🎉
5
0
133
@magic_akari
阿卡琳
3 years
Tweet media one
3
14
122
@magic_akari
阿卡琳
1 year
在软件工程中,最令人感到沮丧的是不可撤销的技术决策。 小到 referer 这样的 typo,大到一门编程语言的设计实现。 当你的错误成为别人的依赖,为了兼容性,就不得不背负技术债务负重前行。 想要 breaking change?难道要把用户都赶跑吗?
14
6
125
@magic_akari
阿卡琳
11 months
真的有很多人用 iTerm2 吗? 我最常用的是 VSCode 里的内嵌终端,其次是 macOS 自带的 Terminal
75
1
121
@magic_akari
阿卡琳
2 years
xx云这种理科男设计出来的玩意儿,真是要命. 文档里没有几句人话,全是黑话和暗语 SCM BOE PPE TCE PSM MESH...只有他们能懂.正常人不可能看懂. 当前服务所属的服务树节点——看看,全是这种黑话.服务还上树这是人话吗? 弄了半天,一头大汗,也没弄明白. 所谓的教程,是同一帮人写的,用同一套黑话. 不弄了
11
7
79
@magic_akari
阿卡琳
11 months
把简历从 markdown 生成 pdf,有没有什么最方便先进的轮子可以用?
49
6
72
@magic_akari
阿卡琳
9 months
这应该也算是一种前端现代化
Tweet media one
8
1
71
@magic_akari
阿卡琳
9 months
虽然 React 是一个 JavaScript 库,但它的思维模型更类似于运行在以不可变数据流驱动的函数式编程世界中。在编码细节方面,你可以充分发挥 JavaScript 的自由,但在整个组件调度方面,它却遵循自己的一套逻辑。 那些精巧构造的 hooks 和 Suspense 都是在这套逻辑下的产物。
3
2
69
@magic_akari
阿卡琳
10 months
@unixzii 跨窗口通信,本身复杂,鼠标的事件在两个窗口中继更麻烦。如果做出来的只是视觉效果,那就属于受益小的事情。 大家都没有动力去做,只会在脑子里想想。 如果有人做出来了,那确实足够酷,属于最原始最纯粹的好奇心驱动,当然要去看看。
3
2
67
@magic_akari
阿卡琳
2 years
Welcome to Vue2.7
Tweet media one
4
3
62
@magic_akari
阿卡琳
2 years
@im2gua 然而 ffmpeg,qemu 和 quickJS 都是同一个作者。举例子可真是太简单了。
2
3
63
@magic_akari
阿卡琳
2 years
Have you ever created a pull request and fixed more than 10 issues?
Tweet media one
8
4
61
@magic_akari
阿卡琳
3 years
那些透过 JavaScript Bridge 调用 Objective-C 函数的人,是不是感觉在用片假名写英语?
7
5
53
@magic_akari
阿卡琳
3 years
Tweet media one
@magic_akari
阿卡琳
3 years
不要用 TypeScript 里的 enum,烂透了。
Tweet media one
Tweet media two
3
2
16
3
16
56
@magic_akari
阿卡琳
3 years
There is an old saying in China, "calling a deer a horse". Just like what we can do in TypeScript.
Tweet media one
0
7
46
@magic_akari
阿卡琳
1 year
Tweet media one
2
6
39
@magic_akari
阿卡琳
1 year
@xxm459259 当低电量模式关闭的时候,开启低电量模式。
Tweet media one
6
1
36
@magic_akari
阿卡琳
1 year
一个应用从用户视角来看很好很强大,一旦去看了内部实现,乱糟糟的,到处都是不合理的复用拆分合并和妥协。 一个依赖库也是类似,从下游开发者视角看,用起来很顺手,一旦想去改进贡献代码,发现内部很多 TODO FIXME. 仿佛祛魅一样,本来的安心感化为乌有。想重构吗?无数例子又证明千万不要这样做。
4
2
34
@magic_akari
阿卡琳
2 years
你是什么时候发现自己老了? - 曾加的回答 - 知乎
Tweet media one
2
4
33
@magic_akari
阿卡琳
1 year
在推上发的一些奇怪的 JavaScript 代码,就像是从海边捡来的五彩斑斓的贝壳。 只是分享发现的乐趣,并不是鼓励用来出面试题。
0
0
34
@magic_akari
阿卡琳
1 year
Tweet media one
11
0
34
@magic_akari
阿卡琳
1 year
在看一个公开录播课,老师说:最后的成绩是做项目的形式。我们会用一个统一的验证集来跑你的模型。你可以用任何算法改进你的模型,你的识别率几乎就是你的成绩。 这可太有意思了,我当年怎��就没碰到这么好的老师和课程。
2
0
28
@magic_akari
阿卡琳
1 year
JavaScript is awesome.
Tweet media one
1
2
31
@magic_akari
阿卡琳
1 year
@chloerei 类型就像物理公式里的量纲。 类型对了,不一定对。类型错了,那肯定错了。 类型对于程序正确性帮助不大?只是说不能确保正确。 但是它能确保你的错误是错误。
4
0
31
@magic_akari
阿卡琳
2 years
请永远保持学习。停止学习是衰老的特征。
1
3
29
@magic_akari
阿卡琳
11 months
质疑 webpack 理解 webpack 成为 webpack
@rspack_dev
Rspack
11 months
Webpack has lots of little known goodies beneath its big API surface. Lots of people are treating webpack as outdated or legacy tech, but its architecture is still one of the best. We will post a series of 'Do you know webpack?' to explore these jewels. Follow us if you are
1
27
212
3
2
30
@magic_akari
阿卡琳
2 years
This is cool, but does anyone really need this feature?
Tweet media one
4
1
29
@magic_akari
阿卡琳
9 months
回顾2023年,成为了 SWC 成员;尝试了 sovits SVC AI 变声技术;研究了一段时间 WebAssembly; 能留下印象的事情不多,但总体好评。
2
0
30
@magic_akari
阿卡琳
1 year
Rust ちゃん
@sakuraxx0905
𝙢𝙖𝙥𝙡𝙚🪿
1 year
🦀💨
Tweet media one
26
3K
25K
3
2
25
@magic_akari
阿卡琳
3 years
Golang is awesome.
Tweet media one
2
1
25
@magic_akari
阿卡琳
11 months
TIL: import/export name maybe invalid identifier name.
Tweet media one
3
1
26
@magic_akari
阿卡琳
9 months
终于完全把公司的项目完全迁移到 rspack 了。有一种给拖拉机装火箭引擎的感觉。
0
0
25
@magic_akari
阿卡琳
10 months
上级一个接一个跑了。在失业的边缘焦虑。
4
0
25
@magic_akari
阿卡琳
10 months
It works
Tweet media one
1
0
26
@magic_akari
阿卡琳
1 year
尝试理解 tree sitter。 感觉未来一定会有非常好用的工具出现,是基于这个做出来的。
4
0
24
@magic_akari
阿卡琳
1 year
缺乏挑战性。 到现在还没有一次真正把 dp 算法用到生产代码中。
3
0
22
@magic_akari
阿卡琳
2 years
The Rust project occupies a considerable amount of space. it's time to remove some of The iDOLM @STER music to free up additional disk space for the SWC project.
Tweet media one
2
0
22
@magic_akari
阿卡琳
1 year
@JXQNHZr1yUAj5Be 生命周期/所有权要求的偏序结构,和环状数据结构的固有矛盾。
0
1
22
@magic_akari
阿卡琳
1 year
🤔️
Tweet media one
2
0
22
@magic_akari
阿卡琳
1 year
Is there a `set` method for Array?
Tweet media one
3
2
22
@magic_akari
阿卡琳
10 months
Please do not confuse. ESM may have several issues when used as the final output format in the browser. However, it is an EXCELLENT INPUT FORMAT. I believe any bundler would encourage users to input ESM. As for the output format, it may not require much attention.
1
3
21
@magic_akari
阿卡琳
3 years
阅读源代码的时候,不止一次看到这段代码。真的是一个很重要又很著名的算法呢。
Tweet media one
2
4
21
@magic_akari
阿卡琳
11 months
The biggest upgrade 😅
Tweet media one
0
1
19
@magic_akari
阿卡琳
11 months
@cyanvtb 你们研发技术开会,我们前端可以旁听吗?
0
0
19
@magic_akari
阿卡琳
10 months
It's absolutely adorable 🥰. Thanks @rspack_dev
Tweet media one
0
0
20
@magic_akari
阿卡琳
1 year
我大概明白为什么动画里的主角都是高中生大学生了。 社畜哪来的时间可以制造有趣的故事呢? 也只有被送到异世界才能腾出时间做自己喜欢做的事情。
5
0
19
@magic_akari
阿卡琳
1 year
Tweet media one
0
1
19
@magic_akari
阿卡琳
9 months
Rsbuild/Rspack tips for vite users:
Tweet media one
1
1
19
@magic_akari
阿卡琳
3 years
像 svelte 这种,虽然生态位和 React 框架重叠,但是编译行为完全自己控制。 真的是 Web 开发者的浪漫啊。
1
1
17
@magic_akari
阿卡琳
2 years
我有些高估人的学习能力了。长时间持续的高度专注很难。 有点类似嗅觉疲劳,需要切换学习内容才能恢复思维的敏感度。 但是上下文的切换本身也很浪费,需要一点时间才能进入状态。
2
0
17
@magic_akari
阿卡琳
2 years
@ewind1994 @himself_65 Here comes the React!
Tweet media one
2
1
16
@magic_akari
阿卡琳
3 years
今天调了一下午才从坑里爬出来。 一个 POST 请求,body 总是带不上。 API 接口是工具自动生成的,底层又是另一个库用 axios 包了里三层外三层。 一层层拦截打印数据,数据有,Network 面板上就是看不到。 最后发现 axios 用的是 data 而不是 body。 我应该不是第一个,也不会是最后一个遇到这个问题。
2
1
17
@magic_akari
阿卡琳
3 years
不要用 TypeScript 里的 enum,烂透了。
Tweet media one
Tweet media two
3
2
16
@magic_akari
阿卡琳
1 year
@lcMenci 于此同时,我正在把 \0 当作一种 (暂定)feature 来用
Tweet media one
2
0
15
@magic_akari
阿卡琳
1 year
The `break` keyword is shadowed by the switch statement. However, the `continue` keyword still works for the loop statement.
Tweet media one
1
1
15
@magic_akari
阿卡琳
9 months
然而 React 假装自己运行在一个值属性作为第一公民的语言环境里,而 JavaScript 是引用属性的。 包括组件的 props 属性只进行浅比较,也是从这个角度出发的。 如果 record & tuple 提案能继续推进成为现实,补全 JavaScript 的能力,那么 React 应该就不再显得别扭。
1
0
14
@magic_akari
阿卡琳
9 months
Do you know that when performing an intersection operation on function types, the result is function overloading?
Tweet media one
3
0
13
@magic_akari
阿卡琳
2 years
JavaScript 当然有类型,但是不完全有 😅
Tweet media one
1
2
12
@magic_akari
阿卡琳
2 years
和某毒鸡汤恰恰相反。成长最快的时候,才是最开心的时候。那是源自于内心的喜悦与成就感。
1
0
13
@magic_akari
阿卡琳
1 year
大部分语言的 if 表达式都是 if cond { expr1 } else { expr2 } 结果 python 一定要前置 expr1,问题是 if 表达式他是短路运算。 你看到 expr1 在前,cond 在后,和实际运行顺序不一致,心里不慌吗? 如果 expr1 调用可能会报错,而 cond 是安全短路条件,这种一定会慌吧。
5
1
14
@magic_akari
阿卡琳
2 years
@kdy1dev JavaScript is suck.
Tweet media one
Tweet media two
Tweet media three
1
2
11
@magic_akari
阿卡琳
3 years
小提示:在 package.json 的 resolutions 里添加 node-sass: "npm:sass",可能会提升幸福感。
1
1
13
@magic_akari
阿卡琳
9 months
@laike9m @joeerl 如果上课学物理,下课能看见牛顿,或者爱因斯坦发推特,那还挺神奇的。 现在这个时代这个领域发展过于迅速和密集,真是最好的时代。
0
0
13
@magic_akari
阿卡琳
3 years
今天有一个非常符合愚人节气氛的消息。 Types as Comments 的提案在 TC39 会议上进入了 stage 1。 这是一个允许你在 JavaScript 里书写 Type 的提案,就像名字所指,它在运行时会被当作注释。这应该会改善 JavaScript 编码体验。
0
0
12
@magic_akari
阿卡琳
2 years
在"代码不再需要被人类阅读"那个时刻来临之前, 在"你的代码仍然会有人类读者"的当下,为人类写代码吧。性能的事情交给编译器。 向人类解释代码在做什么,假装恰巧它能运行。
@kdy1dev
▲ Donny (강동윤)
2 years
You should prefer readability over performance in almost all cases
35
118
1K
0
0
12
@magic_akari
阿卡琳
2 years
Never expect that you can fix a CI issue in a single commit.
1
0
12
@magic_akari
阿卡琳
2 years
Do not try to find consistency in JavaScript.
Tweet media one
1
1
12
@magic_akari
阿卡琳
3 years
你们写 JavaScript 加分号吗? 是否存在完全灵活的无分号实用语言?(不包括 lisp)
Tweet media one
9
0
12
@magic_akari
阿卡琳
2 years
有时候忍不住会想,如果我英语再好一点,是不是生活就完全不一样了呢。 再胆大一点,自信一些,是不是会有什么变化。
1
0
12
@magic_akari
阿卡琳
2 years
2022年已经过去了
Tweet media one
1
0
11
@magic_akari
阿卡琳
11 months
The rules of JavaScript's ASI are hard.
Tweet media one
3
0
11
@magic_akari
阿卡琳
1 year
编辑器的行和列,都是 1-based,而不是从 0 开始。 为什么?
7
0
11
@magic_akari
阿卡琳
1 year
Sometimes I find that SWC transpilation is incorrect, but the root cause is that JavaScript sucks.
0
2
10
@magic_akari
阿卡琳
2 years
… rust 进步不多,熟练度有提升。但是却收获了很多 JavaScript 奇奇怪怪的知识。
1
0
9
@magic_akari
阿卡琳
1 year
What are the values of a, b, c and d ?
Tweet media one
3
1
10
@magic_akari
阿卡琳
1 year
@lemon_hx 只说 React, 心智模型有极大的改进。 函数式组件让我专注于怎么把输入进来的数据map成view描述。 另外,函数式组件的心智模型非常像立即模式GUI,但实际由 diff 算法起作用,所以仍然是保持模式GUI,最大化性能。
0
0
10
@magic_akari
阿卡琳
3 years
Tweet media one
0
1
9
@magic_akari
阿卡琳
9 months
不得不怀疑 React 是不是借鉴了一些成熟的抽象层面的思想。 而那些蹩脚的限制,也是很可能是因为 JavaScript 本身的机制和隐藏在那层抽象之下的逻辑之间的冲突。 React 的这层抽象,原本应该能够有自己的 DSL,通过语法限制,静态检查就能发现问题。 而不是通过运行两次 useEffect 来暴露问题。
2
0
10
@magic_akari
阿卡琳
2 years
Today I learned: `<div>{...x}</div>` is supported in TypeScript. But Babel treats it as an error.
2
0
9
@magic_akari
阿卡琳
2 years
关于知识笔记,我所知道的有两种形式,一种是带时间可以提醒自己做某事的,类似 TODO 列表的东西。 另一种是可以对外发布文章的,这种文章在整理时对脑内知识的重构就是其价值。 而那种不发布,仅用来当作“课堂随记”的东西,并且暗示自己“以后可以查阅”,我非常怀疑做这种笔记是否有收益。
1
0
9
@magic_akari
阿卡琳
1 year
是不是可以直接写 LLVM IR 然后编译到 WebAssembly?
2
0
9
@magic_akari
阿卡琳
1 year
有 stdout,有 stderr,但是没有 stdinfo。 所以现在的标准做法是,所有 info 类信息都发给 stderr。 有人给 error message 分成很多等级,那么最弱的 info 似乎也是合理的。 唯一有点奇怪的是 stderr 这个名字。
3
1
9
@magic_akari
阿卡琳
1 year
@hd_nvim @chloerei 很多人想要的就是把错误提前,从运行时提到编译期,利用 tag union 把检查内化类型系统里。 Result 模型,就是用类型系统迫使你处理错误,避免某个时刻忘了。 让工具处理,是承认我们自己不够强大,大脑无法同时处理来自不同抽象层面的细节。 而认为自己能把各种细节都装进脑子里的想法还是很自大的。
1
0
9
@magic_akari
阿卡琳
9 months
I keep making this mistake over and over again. I need a lint rule to remind me when I forget to include a `return` keyword.
Tweet media one
3
0
9
@magic_akari
阿卡琳
1 year
@Sepush2 go 连 map filter reduce 都没有,想要就自己循环。不还是有人说,大道至简!
2
0
9
@magic_akari
阿卡琳
2 years
有的人认为技术是纯粹的,掺杂一点点政治都是对其玷污。 ���的人认为技术是自由的,自由表达政治倾向也是其灵魂。 我的建议是,双方都应该坚持践行自己的准则,把自己的信仰坚持到底。千万不要顾及其他人而克制自己,变得“中庸”。
@laike9m_
laike9m
2 years
自由软件打一开始就是政治观点
2
7
61
1
0
9
@magic_akari
阿卡琳
9 months
This is a trick I learned from the Ruff project (potentially come from the Bimoe project). It reduces the impact of breaking changes on downstream users. IMO, this trick can be applied to SWC as well.
Tweet media one
3
0
9
@magic_akari
阿卡琳
1 year
WASM 很有趣,WASM 有很大成长空间。
3
0
9
@magic_akari
阿卡琳
10 months
@isukkaw > Number.isNaN is 10%+ slower. Browsers also optimize and evolve. They may be slow today, but they will become faster tomorrow. However, clear semantics can benefit us immensely, and this remains unchanged.
2
0
9
@magic_akari
阿卡琳
3 years
TIL: if you want to write `const foo = <T>(x: T) => x;` in TSX, the tsc will treat <T> as JSX and report an error. There is a trick to bypass it. use `<T extends any>`. Note: It is also a valid JSX, but why? The code from TypeScript tells the answer.
Tweet media one
0
2
8
@magic_akari
阿卡琳
1 year
TIL: `new` is a keyword for newable or constructable types in TypeScript. But if you really need a property named `new`, use quotes.
Tweet media one
0
0
8
@magic_akari
阿卡琳
2 years
@michaelwong666 相比 full stack,还是 infra engineer 这个称呼更吸引我。
0
0
8
@magic_akari
阿卡琳
2 years
Tweet media one
0
1
8