1 2 3 4 5 ··· 37 下一页

2025年12月6日

摘要: intro std::function颇有类似于python这种动态语言的特性:同一个类型可以容纳函数指针,类对象,lambda表达式等不同类型的调用方法。它既有动态语言的运行时灵活,又有静态语言的编译时安全。 更进一步,不同结构初始化的function可以放在同一个数组中。“数组”又是C/C++语 阅读全文
posted @ 2025-12-06 20:30 tsecer 阅读(6) 评论(0) 推荐(0)

2025年12月2日

摘要: intro vim中编辑一个文件时,如果文件在vim外被修改,那么vim会提示: W11: Warning: File "tsecer.md" has changed since editing started See ":help W11" for more info. [O]K, (L)oad 阅读全文
posted @ 2025-12-02 22:41 tsecer 阅读(8) 评论(0) 推荐(0)

2025年11月5日

摘要: intro 通常C/C++中函数一般不会直接传递一个结构,更多处于性能考虑都会传递一个const类型的结构引用/指针。但是既然语言本身支持这种语法功能,编译器必定就要有对应的实现/规范/标准:否则不同编译器(例如gcc和llvm)生成的二进制文件(lib库)之间就没有办法兼容。特别是聚合类对象(st 阅读全文
posted @ 2025-11-05 19:46 tsecer 阅读(10) 评论(0) 推荐(0)

2025年10月29日

摘要: intro 在阅读k8s的源代码时,发现代码中有一个(一组)很简单粗暴的interface转换:将一个interface(storage对象)尝试向各种类型转换。golang中每个结构的method并不是在结构内定义,在类型转换的时候,运行时只要判断转换源实现了目的类型的所有method就可以成功完 阅读全文
posted @ 2025-10-29 21:22 tsecer 阅读(11) 评论(0) 推荐(0)

2025年10月13日

摘要: intro k8s的service类型主要分为这几种: ClusterIP。 通过一个集群内部IP暴露服务。 NodePort。 在每个Node的IP地址的静态端口侦听(Exposes the Service on each Node's IP at a static port (the NodeP 阅读全文
posted @ 2025-10-13 20:53 tsecer 阅读(14) 评论(0) 推荐(0)

2025年9月18日

摘要: intro vim本质上是在使用终端的控制序列来实现编辑功能:基本的光标移动和字符输出都是需要vim来生成终端的精确控制序列。我们甚至可以把终端本身看成一个和GUI一样的画布,只是GUI系统中画布的基本单位是像素(pixel),而终端的基本单位是"字符"(只是这些字符可以附带一些颜色、下划线之类的属 阅读全文
posted @ 2025-09-18 17:56 tsecer 阅读(13) 评论(0) 推荐(0)

2025年8月10日

摘要: intro 之前看内核代码的时候,只是大致浏览了内核的主要常规流程:也就是正常情况下的正常流程,通常对于异常/边界场景并没有怎么关注。在遇到一些非常规问题时,就会主动或者被动的思考一些边界的异常问题。 内核的一个重要的作用就是进行各种调度(进程运行/阻塞)/同步(资源访问)/分配(内存/CPU)操作 阅读全文
posted @ 2025-08-10 21:44 tsecer 阅读(27) 评论(0) 推荐(0)

2025年7月19日

摘要: intro 在多线程中,数据的安全性和程序的性能之间总是有一个平衡关系:并发控制需要使用锁来同步,而锁又总是可能引入性能损失。为了尽量在数据安全的前提下提高所得性能,linux用户态引入futex锁,内核引入RCU锁,C++中的shared_ptr都在尽量减少锁的损耗。 shared_ptr是C++ 阅读全文
posted @ 2025-07-19 18:08 tsecer 阅读(58) 评论(0) 推荐(0)

2025年6月21日

摘要: intro 从内核的代码可以看到,namespace是在进程创建的时候创建,没有进程引用namespace的时候销毁。反过来说:namespace的创建要依赖进程的创建,不创建进程就没办法创建namespace。 那么这个触发创建namespace的进程从哪里来?特别是POD这种k8s引入的容器的容 阅读全文
posted @ 2025-06-21 19:49 tsecer 阅读(12) 评论(0) 推荐(0)

2025年5月28日

摘要: intro 接触过docker的人都都会听说过,docker的是建立在namespace、cgroup、unionfs三个基础功能之上的。 namespace是linux内核中支持容器化的一个重要组成部分,也就是说:创建容器的时候必定会调用系统调用(syscall)来创建新的namespace。 因 阅读全文
posted @ 2025-05-28 21:30 tsecer 阅读(29) 评论(0) 推荐(0)
1 2 3 4 5 ··· 37 下一页

导航