随机变量 (Random Variable) 是概率 (Probability) 和统计 (Statistics) 的“灵魂”,从数学上讲,Random Variable 是连接 Probability 和 Statistics 的桥梁;从实际上讲,Random Variable 表示我们所关心、期望的东西。例如一批产品的硬度,每个产品的硬度显然是不同的、是随机的,尽管硬度是随机的,但产品的硬度遵循一定的概率规律,这种随机、但却遵循一定概率规律的东西,就是 Random Value。
Mathematics 2
2024
2023
- 交大统计学 重点提示 + 国立阳明交通大学 统计学 重点提示
- 清大计算机网络 重点提示 + 国立清华大学 计算机网络概论 重点提示
之前学校的计网理论课学得云里雾里,对于物理层和数据链路层并没有清晰的逻辑框架,而这学期的计网课设内容为数据链路层和网络层的相关内容,写起来还是云里雾里。虽然最终艰难地把课设水过去了,但是个人认为网络对于 CSer 非常重要,特别是在互联网行业,网络知识是必不可少的。 所以决定寒假重学计网,于是在 HackMD 上冲浪寻找相关资料。然后发现了这篇笔记 110-1 計算機網路 (清大開放式課程),里面提到清大计网主要介绍 L2 ~ L4 一些著名的协议和算法,这完美符合个人的需求,而且该笔记还补充了一些额外的内容,例如 IPv6,所以当即决定搭配这篇笔记来学习清大的计算机网络概论。
Linux 核心: BUILD_BUG_ON_ZERO()
members declared between them are also (non-zero-length) bit-fields, no matter what the sizes of those intervening bit-fields happen to be. +所以 BUILD_BUG_ON_ZERO
宏相当于编译时期的 assert
,因为 assert
是在执行时期才会触发的,对于 Linux 核心来说代价太大了 (想象一下核心运行着突然触发一个 assert
导致当掉 🤣),所以采用了 BUILD_BUG_ON_ZERO
宏在编译时期就进行检查 (莫名有一种 Rust 的风格 🤣)
对于 BUILD_BUG_ON_ZERO
这个宏,C11 提供了 _Static_assert 语法达到相同效果,但是 Linux kernel 自己维护了一套编译工具链 (这个工具链 gcc 版本可能还没接纳 C11 🤣),所以还是使用自己编写的 BUILD_BUG_ON_ZERO
宏。