豆沙工作室

Build a world better, together.

一般而言,一个定长字符串是这样设计的:开头 4 字节用于保存字符串长度,接下来是字符串本身。这样一个设计是为了可以将多个(足够长的)字符串拼接在一个包里而无需单独传输,在协议本身不能保证包到达的顺序的情况下这样做可以保...

继续阅读

发布

总之,现在看起来应该是没问题了。经过大概两天的探索,现在终于拿到了一部跑着 Android 9.0 + Magisk 的坚果 Pro 了。 该文章是对刷机过程的记录。本文作者没有参与魔趣 ROM 或 Magisk 的开发工作,也与魔趣团队、Magisk 团队或...

继续阅读

发布 2 条评论

先来测试一下 WordPress 里面究竟能不能显示矩阵: $$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} $$ 你应该看到一个包含 1, 2, 3, 4 的 2x2 矩阵。 线性代数的一大用途就是表示一些很几何的东西。然而我们上课...

继续阅读

发布

如果一个模块是异步的,那么不要向其暴露任何你无法包装的同步方法。 有很多时候我们希望一些独立于核心逻辑的模块,或者说插件,能够异步地运行。这样可以最大幅度地利用系统资源。但是有时插件可能会需要访问同步的资源。直...

继续阅读

发布

关于可扩展性的定义,本着不重复造轮子的心态,见 yishuiliunian 的这篇文章。 报数游戏的典型形式是:从 1 开始报数,如果报到某个数以及其倍数(比如 3 及 3 的倍数)那么你报「过」或者其他什么词。这个游戏可以继续扩展,比如...

继续阅读

发布

此文章是来自 bzarg 的此篇文章的本地化改编。内容有删减增改。如需要引用该文章,请务必先阅读原文,并直接引用原文。本文由于添加了个人理解,并不能完全反映,也不保证能够反映原作者的意图。 编者按:下文的「加密货币」在原...

继续阅读

发布