Instagram 的 ID 生成策略是经过精心设计过的。1 每一秒 Instagram 都会收到无数用户上传的照片,在内部使用 [[PostgreSQL]] 分片存储到不同的服务器上。
这就产生了一个问题,要设计一个唯一 ID 生成方法用来标记系统中发布的每一张图片。
系统唯一 ID 需要满足如下条件:
ID 应该是时间有序的,一组照片 ID 列表不再需要外部信息就可以排序(UUID 就不合适,因为完全无序)
ID 最好是 64bit ,可以节省存储空间,索引也可以更小,也方便存储到 Redis 这样的系统中
系统应该尽可能少引入外
Read more ...
下面是一次 vim 的组内介绍的大纲。记录一下。
大纲
Vim 多模式编辑器
Normal mode
Insert mode
Visual mode
Command mode
插入模式
i 进入 insert mode,在光标为之前进入插入模式
I 行首非空字符前插入 , I 等同于 `^i`
s 删除光标下字符,并进入 insert mode, 等同于 `cl`
S 删除光标所在一行,并进入 insert mode 行首 , 等同于 `^C`
a 光标之后进入 insert mode
A 光标移动到行尾并进入 insert mode , 等
Read more ...
计算机中通常所说的寄存器 Register 一般指的是 CPU 中的寄存器,用来暂存 CPU 处理所需要的指令,数据等等。 Vim 中同样也有寄存器的概念,使用的方式和概念也和 CPU 是非常类似的。
Vim 的寄存器可以看成 Vim 中额外用来存储信息的区域,虽然看不见,但是如果使用 x, s, y, p 等等命令的时候都无意识的使用到了 Vim 的寄存器 (register).
Vim 中每一个 register 都可以通过添加双引号的方式来访问,比如 "a 来访问 a 寄存器。
可以通过选择然后使用 y 来将内容放到寄存器中,比如 "ay 来
Read more ...
balenaEtcher 开源跨平台镜像写入工具
balenaEtcher 是一个开源的跨平台镜像写入工具,可以将操作系统镜像文件安全写入到 SD 卡或者 USB 设备(比如 U 盘中),由 balena 公司开发,大大简化了镜像文件烧录的过程。无论是需要安装 Linux 发行版,或者是制作树莓派系统盘,或者安装 Proxmox VE,还是制作 Ventoy 多系统启动盘,balenaEtcher 都可以以最简单的方式完成。
eu 顶级域名的限制和问题排查
前两天有客户在我的 EV Hosting 购买了一个 .eu 的域名,但是在管理 .eu 域名的过程中。我发现 .eu 的域名在管理上有很多特殊的限制和限制。
搭建 Claude Code 中转服务
Claude Relay Service 是一个开源服务的 Claude Code 镜像服务,主要用于“中转”(relay)和管理多个 Claude Code 账号,使开发团队或个人可以最大化每个账号的使用配额,通过统一入口自动进行负载均衡和账号切换,从而有效规避单一账号因速率限制或额度问题导致的服务中断。