Recent Posts

SeaweedFS ec decode missing shard 的问题及解决

这里记录了使用 SeaweedFS 过程中,对于有时出现的 ec.decode volume 失败的情况,所进行的问题重现、分析和解决办法。

问题

在使用 SeaweedFS 过程中 …

Python 函数的位置参数(positional argument)和关键字参数(keyword argument)

在 Python 里,函数的参数默认是 positional-or-keyword,就是说即可以是位置参数,也可以是关键字参数。文档里是这样描述的:

positional-or-keyword: specifies an argument that can be passed either …

Python Turtle 画圆时的圆心位置问题

问题:在使用 turtle.circle() 画圆时,发现圆心在 turtle 的正上方。

这个 API 的参数里没有指定圆心,也不是以当前位置 turtle.position() 为圆心。turtle.circle() 是这 …

Python crypt 模块

Linux 下的用户名和密码是加盐哈希后保存在 /etc/shadow 文件里的。这里 有文件格式的介绍。

Python 标准库里,有一个 crypt 模块,可以用来生 …

Python 内置函数 pow 计算逆元

pow 是 Python 的内置函数,用来进行幂运行:

>>> help(pow)
pow(base, exp, mod=None)
    Equivalent to base**exp with 2 arguments or base**exp % mod with 3 arguments
    ...
>>> pow(5, 3)
125

Python 3.8 版本开始,在同 …

Cache 的组织和过程(VIVT、VIPT、PIPT)

1. VIVT

VA 里的 index 🡲 查找到 cache-line 🡲  VA 里的 tag 比较 :
* hit 🡲 返回(不经过 MMU)
* miss 🡲 [VA->MMU->]PA 访存,写回 cache-line;VA 里的 tag 更新到 cache-line 🡲 返回

有别名问题。

2. VIPT …

椭圆曲线和蒙哥马利算法的一些记录

0. 数论知识

以下有些地方的同余符号用了等号代替,或者省略了 \(\pmod{m}\) 的写法。另外,除非特别说明,代码都是用 Python 实现。

0.1 …

一次性密码算法 One-Time Password (OTP)

很多在线服务出于用户账号安全的考虑,通常要求启用两步验证,即除了密码外,还需要一个实时生成的验证码(比如通过 …

U-Boot SPL 加载后续程序过程中的内存泄漏问题

问题

项目里是这样设计的 U-Boot SPL 加载过程:SPL 会从多种启动设备尝试加载 uImage。加载的顺序是由板卡支持代码里指定的:

文件 …

解决 Windows 10 睡眠唤醒后软件窗口大小和位置有变化的问题

问题

Windows 10 经常碰到这样的情况,从睡眠状态唤醒以后,部分运行中的软件,窗口会被缩小,并且窗口也不在原来的位置,而是 …