Simon Chan

@yumechan
38 Followers
13 Following
1.1K 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

从 2016 年开始偶尔写 C++ 但是从来没仔细研究过 move semantics 和 rvalue reference 到底是什么东西
不过这个演讲水平一般,就好像上学的时候老师做的 PPT,全是字,然后老师就照着字念一遍,学完也是知其然不知其所以然
最后 Q&A 的时候有人问 return value optimization 是怎么工作的他的回答就不对

https://www.youtube.com/watch?v=szU5b972F7E

Back to Basics: Move Semantics - Ben Saks - CppCon 2025

YouTube
最近在玩 Sword Art Online: Infinity Moment
(一个 2013 年的 PSP 游戏
它画文字描边的方式就是把文字贴图向 8 个方向偏移 1 像素画 8 次
还以为商业游戏会有很优雅的方式,比如计算出文字的路径然后向外扩展 1 像素
(不过这游戏里文字是贴图,可能也没法这样做
但是问题是,如果用贴图替换功能把原来 9 像素的点阵字体换成两倍大小的 18 像素,描边中间就有空隙了
(绘制的时候移动 1 像素实际在贴图里移动了 2 像素
它本身的 9 像素字体看起来实在有点累

#Solid 遇到一个奇怪的问题,大致上是

setStore("children", <Show when={condition()} fallback="fallback">content</Show>)

但是 condition 改变的时候 Show 不更新
原因是 Show 实际返回的是一个 function (createMemo),然后 setStore 看到第二个参数是个 function 会直接执行,所以 children 被设置成了一个静态值

第一个是老问题,setStore 设置一个 function 类型的值的语义有歧义
但是这里要再加上 Solid 强行声明 Show 的返回值是 JSX.Element,所以更难想到会是第一个问题

#Chrome DevTools 不能显示 request body 是 ReadableStream 的网络请求
甚至没有任何地方显示这个请求有 request body
(可以用这个方法隐藏接口的参数

https://issues.chromium.org/issues/462462574#comment5

Chromium

我一直以为 DWARF 是正常的缩写
结果只是为了和 ELF 对应硬造出来的吗

表情包操作符
(MS 罪大恶极把 ^ 给用了
C++ 反射看起来好强啊

#cpp

#火星

高通修改内核启动参数时未校验用户输入允许禁用 SELinux
小米的系统服务允许以 root 用户启动任意程序
合起来就成了无需解锁 BL 的临时 root
适用所有 8 Gen 2 以上,安全补丁 2 月前的 HyperOS 3 设备

https://www.starin.top/post/6b848dfbc923/

#Android #Security #Xiaomi

小米/红米纯手机端免解锁 ROOT 教程(KernelSU + LSPosed)

Hexo Theme Redefine, Redefine Your Hexo Journey.

StarIn
C++ Insights

#include <type_traits> #include <cassert> template<typename T> auto getValue(T t) { if constexpr(s

GitHub - yume-chan/h264bsd: A WebAssembly H.264 Decoder.

A WebAssembly H.264 Decoder. Contribute to yume-chan/h264bsd development by creating an account on GitHub.

GitHub

这个 libavc 用起来太迷了
它的 API 就像 ioctl,只有一个方法,传递不同的 request object(包括 request code)和 response object
(这个我写了个 C++ template function 能简化一些
然后它支持两种内存管理方式,demo 里全混在一起,反正我也看不懂 AI 也看不懂,根本不知道要按什么顺序调用 request

#cpp