Simon Chan

@yumechan
38 Followers
13 Following
1.2K Posts

在本账号您可能会看到:

* Web 前端: #TypeScript / Solid
* Android 系统开发(?): #Scrcpy / ADB / Shizuku
* Bug 体质:遇到的各种 bug
* 杂项: #Rust / Windows / osu! / Raspberry Pi / 新番

Producthttps://app.tangoapp.dev/welcome
GitHubhttps://github.com/yume-chan/
osu!https://osu.ppy.sh/users/234691
玩了下腾讯的洛克王国:世界
没玩过前作,第一感觉是这什么宝可梦混搭哈利波特,第二感觉是精灵进化之后都好丑
剧情演出简陋,部分过场动画直接放默片
还有某个任务需要一种道具,我之前在地图闲逛的时候已经获得了,但是进到任务里却还是强制引导我再获得一遍
地图交互缺乏细节,例如种植园里有个慢慢旋转的玩具小风车,但是在它上面放一个起风术也不会转起来
感觉制作组就是在完成最低限度的工作
bug 也有一些,例如之前某任务有 bug 现在修复了,特别在任务说明里写着如果剧情异常请重启。但是我没剧情异常只是不想玩了,重开之后反而剧情异常了
优点是剧情很长,正反馈很快,可以一直玩下去,虚幻引擎的优化也不错

GitHub Copilot 上个月取消了年付的选项
变相涨价并且保留后续继续涨价的可能啊

#旧闻

做了个 poc,一开始想的是接入序列化库本身的 ref 和插件系统,这样序列化时不需要我额外扫描一遍 object
但是最后还是改成输入一个 object,进行深度扫描,立刻返回一个异步值被替换成特殊标记的 skeleton,然后通过 async generator 返回 update objects,由使用者自己序列化和传输
这样可以搭配任何序列化库使用(例如如果 object 的其它部分可以被 JSON.stringify 的话甚至不需要第三方序列化库
反序列化也是输入 skeleton object 和 update object,返回还原后的 object
Building a clock with no microcontroller and 6 metres of brass wire

YouTube
原来按空格就能快速标记/展开
”I just beat #MinesweeperOnline in 560 seconds on Expert mode! https://minesweeperonline.com
又掏出扫雷玩了下
#高校舰队 剧场版
太魔幻了
所以说大舰巨炮有什么用,还是要垂发导弹啊
其实还找到一个能流式序列化 Promise 和 async iterator 的库 https://github.com/Neo-Ciber94/seria
但是作者弃坑了,而且它基于 ReadableStream 的实现也是没有背压的
(把它改造成支持背压可能会更简单一些,但是不太信任这个库的基础素质
GitHub - Neo-Ciber94/seria: A library for serialize/deserialize beyond JSON

A library for serialize/deserialize beyond JSON. Contribute to Neo-Ciber94/seria development by creating an account on GitHub.

GitHub

Seroval 似乎是唯一一个支持序列化 ReadableStream 的库
但是有两个问题:
1. 不支持背压
2. 不能取消 https://github.com/lxsmnsyc/seroval/issues/76
仔细看了一下架构感觉 1 是没救了

目前打算基于 devalue 重新造一个轮子,流式序列化就应该返回一个 async iterator:
1. 支持背压
2. 在背压状态下,服务器并不需要把每个 Promise 的状态都发给客户端。比如 Promise A 返回了一个 pending 的 Promise B,但是客户端还在接收上一个包,服务器还在背压状态,当然不需要立即把 Promise B 发给客户端。等背压解除,可能 Promise B 已经 resolve 了,就直接发一个 resolve 状态的 Promise 就行

所以流式序列化肯定是需要 pull style API,就好像 Linux 的 poll 能在很多 socket 中选择一个 ready 的来处理

Stop AsyncIterator/ReadableStream when streaming serialization stops? · Issue #76 · lxsmnsyc/seroval

I'm using Cloudflare Workers, where API can return a ReadableStream (via new Response(new ReadableStream(...), { status: 200 }). But I want to return more complex objects containing ReadableStreams...

GitHub
自己装插座
零线插进火线里
足兆门甲了