BFS与图论问题建模

在 DP 问题中我们将会着重的关注状态转移方程,同样地,在使用 BFS 对某些问题进行图论模型建模时,我们同样会关注状态转移。 »

C指针与内存

C 语言指针真正精髓的地方在于指针可以进行加减法,这一点极大的提升了程序的对指针使用的灵活性,同时也带来了不小的学习负担。正是因为 C 语言指针可运算,才奠定了如今 C 语言的地位。 »

Linux 阻塞与唤醒实现原理

在前面的文件 I/O 文章中,我们有提到 Linux 文件 I/O 支持阻塞和非阻塞的数据读取方式,当采用阻塞方式进行 I/O 时,进程将会阻塞在read()或者write()系统调用上,直到文件可读或者是内核缓冲区可写。这些阻塞与唤醒的实现与内核调度紧密相关,Linux 内核使用等待队列和完成量来实现该功能。 注: 本篇文章所用Linux内核源码版本为v5.8 »

Kubernetes-Informer

Kubernetes 声明式API的核心就在于用户提交的YAML文件表示期望状态,Kubernetes 需要根据该期望状态与集群实际状态进行对比,并根据对比的结果作出相应的操作。期望状态由 APIServer 保存在 Etcd 中,Kubernetes 对资源进行调谐时,是否均需要通过 APIServer 查询 Etcd 来获取期望状态呢? »

Python 虚拟机

我们常说 Python 一是门解释型语言,只需要敲下 python code.py 就可以运行编写的代码,而无需使用类似于 javac 或者 gcc 进行编译。那么,Python 解释器是真的一行一行读取 Python 源代码而后执行吗? 实际上,Python 在执行程序时和 Java、C# 一样,都是先将源码进行编译生成字节码,然后由虚拟机进行执行,只不过 Python 解释器把这两步合二为一了而已。 »

VXLAN—构建Overlay容器网络

由于 VLAN 实现中的 VLAN ID 仅有12位,只能划分4096个虚拟局域网网段,对于云计算等领域而言,其用户远远不止4096个。并且,VLAN 依赖于交换机等物理设备的实现,一旦升级物理设备,集群网络可能需要重新配置。因此,基于上述的限制,VMware、Cisco 等大型网络企业推出了 VXLAN 解决方案。 »