【Rust】90 行代码实现 AsyncTeeReader
大家好,好久不见,这里是某昨。 这段 AsyncTeeReader 的代码是我在实现 anni-backend 的时候写的。虽然之后没有用到直接全删了,但个人感觉之后肯定还会有用到的时候,并且在书写这段代码的过程中我也学到了很多东西,故撰写此文以作记录。 代码带简单注释、new、use 和空行一共 90 行,从中或许可以稍微了解一下异步的代码该怎么…
从零开始的 Seedbox 之旅
入站半年感觉慢慢攒上传还是太累了,于是最终还是摸了个盒子。因为是简单摸一下,我就不用一键脚本了。为了装起来方便,系统选的直接就是 ArchLinux。 这篇文章源起于几个月前,现在已经开始吃灰了,所以赶在不续费之前摸完这篇( 安 装 设置系统语言 https://wiki.archlinux.org/index.php/Locale_(%E7%AE…
libass 源码阅读(0)开始
前言 在字幕渲染领域,libass 和 xy-VSFilter 可以说是两架马车。libass 使用 C 语言编写,根据 Google Code 存档的说法,在大多数情况下 libass 的效率比 xy-VSFilter 快 50%。从支持的角度来看,ffmpeg 支持 libass 而非 xy-VSFilter,而 Linux 版本的 Aegis…
[随笔]技术型博客行文迷思(1)
大家好,好久不见,我是某昨。 昨天,或者说是从更久之前,在我寒假里尝试写 libass 源码阅读的时候,再或许是更久之前,在我写林业源码阅读的时候,我就在思考这个问题了。 往窄了说,是「源码阅读系列该怎么写」;往大了讲,就是「技术型博客该怎么写」。 开始 昨天的思考是这样的: 最近一直在思考源码阅读系列的行文风格应该怎么样抛出问题-解决问题的范式是…
thumbnail
浅谈 git fetch 的工作方式
最近写 Anni 的时候遇到一个问题。Anni 的元数据仓库是以 Git 仓库的形式存在的,但对客户端而言这种形式并不方便交互。 如果客户端只是利用 GitHub 的 API 下载 HEAD 的压缩文件,那么仓库和 GitHub 就有了强关联;但如果想要 clone 的话,直接使用 git 命令显然是行不通的,需要一个合适的 Git 实现。 由于客…
Rust std::fmt 格式语法简述
format! 可以说是我们日常格式化字符串过程中最常用的宏了,但每次想要使用相对复杂一点的功能时总要搜索一番,不大方便。因此便有了这篇文章,在学习的同时方便今后的查阅。 本文假定读者已经使用并了解过诸如 println!、format! 这些宏,在有一定基础的条件下从语法层面往下推,介绍 std::fmt 目前支持的格式语法。 格式语法 目前(2…
日亚修改居住国的解决方案
在日亚想购买 Switch 下载版激活码时遇到了问题,系统提示: We are sorry. Something went wrong with your purchase of this product. Any bundle discounts associated with this product will not be applied i…