从 Linux Mint 到 Manjaro

我一个 Linux Mint 用户,怎么就变成 Manjaro 用户了呢?

自从上次装完 Linux Mint 20 Xfce 以后,我的体验还是不错的,我不需要很臃肿复杂的环境,很多软件对 Ubuntu 系发行版支持确实不错,用起来也算是没什么大问题。直到前段时间手贱安装了 TwistUI,想卸载时发现很难卸载干净,所以决(zhi)定(neng)重装系统,正好时间点在 7 月份中旬,Linux Mint 21 还没有发布,于是需求变成了换个发行版。开始的时候我打算试试 NixOS,在虚拟机上体验了一会,可惜 NixOS 不是 FHS,怕自己用得不太习惯,最后选择了 Manjaro。

阅读全文 »

更新 K8s 对象

在 K8s 更新资源操作有两种形式:Replace 和 Patch。

Replace 形式主要用于替换对象 spec,这是一个 read-then-write 操作,即你要先从 K8s 获取对象,修改 spec,再提交更新。这个过程中对象其他字段不需要特意维护,提交的 apiVersionkindmetadata 中提供的信息会用于确定对象,而 status 则会被 K8s 忽略(如果需要更新 status,需要用专用的操作)。

在对象 metadata 中有一个 resourceVersion 字段,用来追踪持久化对象的变动,每次持久化对象发生变化时 resourceVersion 都会改变。Replace 隐含的竞争策略乐观锁就是依靠这个字段实现的,当操作被提交到 K8s 但 resourceVersion 不匹配时,操作会失败。

Patch 操作直接在对象上修改指定的字段,并且通过 Patch 类型确定修改的方式(合并还是覆盖)。和 Replace 不同的是,Patch 操作竞争策略是 last-write-wins,这也意味着不需要先读取对象就可以修改对象。

阅读全文 »

背景

Go 项目用的是 GitLab CI/CD + Kubernetes 执行器。之前一直有点慢,最近用 ko 优化了一下流程,记录一下。

阅读全文 »

neovim 0.4.4 to 0.6.1

直到 2 月份我用的都是 nvim 0.4.4,去年 0.5 发布的时候没有更新,然后 2 月初直接更新到了 0.6.1,并且把配置改成了 lua,再陆陆续续用了 2 个月,划个水写点东西记一下。

阅读全文 »

说点啥

之前的文章介绍了一下 io_uring 的基本使用流程,实现了打印文本到 stdout,用到的功能比较简单(在 archlinux 的 man 里给了一个更加完整的 stdin/stdout 的 echo 例子)。打印的我是在 5.4 版内核的系统实现的,5.4 的 io_uring 比较简单,支持的 feature 和 op 都不多,目前最新的 5.13 版本,新增了非常多的内容(io_uring.c 文件从 4k 行到 10k 行)。

阅读全文 »

io_uring

syscalls

io_uring 目前通过 3 个 syscall 来实现功能:io_uring_setup, io_uring_enter, io_uring_register

PS: 我目前的 kernel 是 5.4 版本,更完整的内容需要参考最新文档

阅读全文 »

0. 写在前面

之前一直在用 Linux Mint Cinnamon 19.1,考虑到没有 Wayland 加成以及飞行堡垒显卡散热不太行,所以 Linux Mint 20 发布后上车了 Xfce,选择完全重装系统的方式,所以装完以后折腾了一下。

不过系统装了有几天了,按照我的记忆力八成是记不住什么东西的,能回忆多少是多少吧~

阅读全文 »

周末按照 CASPaxos 的论文尝试实现了一下这个算法,CASPaxos 算法本身没有什么困难的地方,Paxos + CAS,主要是算法上几个要点:

  1. prepare/accept 完全和 Paxos 一样,state+value 作为一个 Paxos 算法中的 value 传递。
  2. 对于一个空值,proposer choose value 和 Paxos 相同,对于一个非空值,proposer 认为 prepare 最终状态满足期望状态时,依然可以 choose value。
  3. 新 value 成功写入后,不能认为新 value 就是当前状态的 value,必须有 read 操作才能确定。
  4. read 也要有 accept 步骤的,否则会脏读。
阅读全文 »

问题描述

存在一个 orders 表,有 id, uid, gid 三个字段,查询同时存在 gid 为 1 和 2 的 uid

这里给出了 3 条 sql 语句和相关 EXPLAIN 结果(结果我就不排版了)。

阅读全文 »
0%