Kubernetes 源码剖析 — kubelet 启动流程

本文代码基于Kubernetes v1.21.2, commit sha 为 092fbfbf53427de67cac1e9fa54aaa09a28371d7 Kubernetes 的命令行代码入口在 cmd/kubelet/组件名称.go 的文件中。命令行所使用的框架为 spf13/cobra。如没有特殊情况都是按照 设置随机数种子值 创建 cobra.Command 调用 command.Execute »

如果 Bug 会隐身

今天要来讲一个魔幻的故事。这个故事发生在约两年前,在 Review 别人代码的时候发现了一个神奇的事情,有一个字符我能看到,但是周围的同时不能看到。为了还原这种场景,请看下面的代码: 为什么脚本的输出是 incorrect 呢? 因为这个脚本中有一个神奇的字符[],就是中括号内的那个。你看不到不需要觉得奇怪,这并不是一个类似于皇帝的新衣的故事。为了验证这个字符的存在,可以使用 Hexdump 来校验 $ hexdump -C t.py 00000000 69 »

关于我减重25KG这档事

分享一下本人的减重经历和体会。犹豫再三还是决定放出图 减重的一个核心原则就是:消耗热量大于摄入热量 。我们可以通过运动提升我们的消耗热量,通过控制饮食来减少摄入热量。如果采用控制饮食而不运动的方式,那么一旦恢复以前的饮食状态,那么还是会重新进入摄入热量大于消耗热量的状态 下面会分为几个方面来说一下这半年来我采用的一些做法 饮食篇 营养成分表 减少食量 减少碳水摄入 料理方法 间歇性断食/生酮 增加肉类的摄入 运动篇 户外运动 室内运动 HITT 左旋肉碱 心理篇 卡路里的罪恶感 枯燥乏味 »

Rust: closure with static lifetime bound

近日使用 winit 这个 crate 的时候,遇到了这么一个问题:EventLoop 的 run 方法的参数是一个 closure,并且它具有 static 的 lifetime bound。方法签名如下 // https://docs.rs/winit/0.25.0/src/winit/ »

ANSI Escape Sequences

本文是科普向的文章,介绍了 Ansi Escape Sequences 在日常编码生活中的作用 Ansi Escape Sequences 可以用于控制 cursor 的位置,颜色;字体样式以及作为 Terminal 的控制命令使用。所有序列都以 ESC 字符开头,第二个字符则是所在分类的标识。 ESC 字符等价于 Ctrl-Key: ^[ 八进制: \033 Unicode: »

口腔诊疗体验

本文记录了 3 月份在上海看牙齿的经历。n 个月前的某一天,本人发现左下后方的牙齿(第二臼齿)产生龋坏,缺了一点,但是一直没有管这个事情。因为现在比较闲,所以就去就医了,地点是同济口腔医院 P.S. 如果发现牙齿有问题,最好尽快就医! 挂号 这里需要提一下为啥去同济口腔。根据某乎上面的某排名,上海公立口腔医院排名分别是:九院,同济,十院...三者均可以在网上预约,但是实际看下来, »

锤子和勺子的 N 种用法

Hammerspoon 是 Mac 上一款自动化工具。提供了丰富的 API,可以让用户通过 Lua 脚本来访问系统功能,包括但不限于剪贴板、窗口、键盘事件、文件系统、电池、屏幕、Wi-Fi 等。每一个扩展插件称之为 Spoon,因为项目本身是开源的,所以社区上有许多现成的 Spoon。具体可以参考 官方 Spoon 仓库 »