songray 最近的时间轴更新
songray

songray

🏢  前端开发工程师
V2EX 第 562248 号会员,加入于 2021-11-18 19:55:55 +08:00
今日活跃度排名 5891
Just for fun.
songray 最近回复了
2 天前
回复了 songray 创建的主题 程序员 LLM 还不如低代码
@matrix1010 去年 12 月才免费开放。
3 天前
回复了 sumtsui 创建的主题 程序员 第一次尝试贡献开源受挫
如果你的 pr 质量很高的话,最好的办法就是 fork 一份,然后到处推销你的 fork 。
等作者受不了了就会 merge 掉(笑

不过老实说,开源最大的意义是你可以随便 fork ,而不是可以提 pr 。
合别人的 pr 很累,所以很多作者就是管杀不管埋。
6 天前
回复了 eypidan 创建的主题 程序员 使用 TypeScript 的类型运行 DOOM
之前尝试过用纯 type 实现 Lua 虚拟机,只能说这玩意全是难点。
举个简单的例子,纯 type 实现 通用的整数加法运算:

// 创建长度为 N 的元组类型
type BuildTuple<N extends number, R extends unknown[] = []> =
R['length'] extends N
? R
: BuildTuple<N, [...R, unknown]>;

// 通过元组长度实现加法
type Add<A extends number, B extends number> =
[...BuildTuple<A>, ...BuildTuple<B>]['length'];

但这玩意最多只能算到 45 ,因为 ts 类型系统有递归限制,默认的类型递归深度限制是 50 。
要突破这个限制就只有把整数转为二进制数组,再从二进制数组转回整数。

这样的限制存在方方面面... 所以这老哥真是神人了。
@murmur 可以再套一次 vite 或者 rsbuild 调 babel 。www
svelte 在引入 runes 之前都是纯编译时的框架,如果用 babel 倒腾 ast 的话怕是要卡出屎来了…
话说为啥要在预处理里嵌入 babel ,你对产物跑 babel 不就行了。
21 天前
回复了 gimp 创建的主题 程序员 求推荐个 Cursor/vscode 写 Golang 代码的主题
tomorrow night
26 天前
回复了 HikariLan 创建的主题 Linux 从进程到协程:计算机的并发编程之路
@James369 无栈协程本身并不包含调度,最基本的无栈协程示例就是生成器,你需要手动决定函数在哪里中断并移交控制权。也就是说控制权在你自己定义的几个函数之间转移。
async-await 那样的“满血无栈协程”则通过事件循环机制来调度。比如你在某个函数里调用了 await ,控制权就会移交到事件循环,事件循环继续执行其他任务,当 await 的操作完成时,事件循环会在适当的时机恢复该协程的执行(比如下一次循环)。
28 天前
回复了 HikariLan 创建的主题 Linux 从进程到协程:计算机的并发编程之路
@Gress 因为有栈协程也是有负担的,你要实现一个完整的的调度器。协程性能的收益必须要对冲掉直接使用多线程的开销才行。
所以互联网时代(高并发)这玩意才大规模流行。
28 天前
回复了 HikariLan 创建的主题 Linux 从进程到协程:计算机的并发编程之路
其实我认为有栈协程和无栈协程这两个名字就不太好,实际上二者都没什么相似之处。
无栈协程本质是程序的挂起和恢复,是一种状态机转换机制,可以是纯编译器实现也可以是纯运行时实现。
而有栈协程就是通过运行时对线程进行模拟,把线程切的更小。

把这两种机制都叫"协程"容易造成混淆,因为它们的实现原理和使用场景都很不同。
我认为无栈协程应该直接叫「异步函数」,而有栈协程应该叫「纤程」或者「用户线程」。
补一下 Hacker News 的讨论地址: https://news.ycombinator.com/item?id=42972062
我认为有一层说的非常好「这是 Linus 的失败,他在 Rust 上模棱两可」。
没有说可以,也没有说绝对不行,而是只允许 Rust 开发驱动这种“不是非常核心的部分”。所以矛盾就转为 Rust 开发者想要更上游,而 Old money 觉得他们不够格。
这甚至可以说是一种鄙视链了,而矛盾的核心就是 Linus 。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4042 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 04:11 · PVG 12:11 · LAX 21:11 · JFK 00:11
Developed with CodeLauncher
♥ Do have faith in what you're doing.