我的精神家园

「保持独立思考」

计算机原理101:高并发服务

计算机原理101: 高并发服务 《计算机底层的秘密》读书笔记 + GPT问答整理 I/O 多路复用 + 事件循环 + 多线程 组件 职责 epoll 高效检测 I/O 准备状态 事件循环 调度任务、协程、回调执行 ...

计算机原理101:什么是协程

计算机原理101: 什么是协程 《计算机底层的秘密》读书笔记 + GPT问答整理 1. 什么是协程? 与普通函数不同的是, 协程能知道自己上一次执行到了哪里。有暂停和恢复的能力。 协程最重要的作用是让程序员以同步的方式来进行异步编程。 2. 协程是如何实现的? 在堆区中申请一块内存用来存放协程的运行时栈帧信息。协程的切换、调度完全发生在用户态, 不需要操作系统介入。...

计算机原理101:进程和线程的区别

计算机原理101: 进程和线程的区别 《计算机底层的秘密》读书笔记 + GPT问答整理 进程是操作系统分配资源的单位, 线程是调度的基本单位, 线程之间共享进程资源。 1.多线程的进程地址空间是什么样的? CPU可以把PC寄存器指向main函数,也可以把PC寄存器指向任何一个函数从而常见一个新的执行流。每个执行流就是一个线程。 每个线程 私有 的部分: 栈(Stac...

计算机原理101:程序是如何运行的

计算机原理101: 程序是如何运行的 《计算机底层的秘密》读书笔记 + GPT问答整理 引子 #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } 你用刚学的C语言写了一段hello word, 编译, 运行, 成功在屏幕print了出来。这背后都隐藏了哪些细节...

马斯克传

读完马斯克传,一方面感受到了马斯克连续创业的激情和干劲,另一方面也认识到了他对员工以及身边人的高要求。 印象深刻的是他在被PayPal董事会背叛赶出后, 没有和这些人翻脸, 而是大度和解。这也为后来他面临2008年经济危机, PayPal这些人伸出橄榄枝埋下了伏笔。 “我为暴风骤雨而生, 风平浪静不适合我” 他认为作为工程师, 核心就是要通过钻研物理学最基本的原理来解决一切问题。...

原则

瑞 达利欧 导言 不管我一生中取得了多大的成功, 其主要原因都不是我知道多少事情,而是我知道在无知的情况下自己应该怎么做。 独立思考并决定:1)你想要什么;2)事实是什么;3)面对事实,你如何实现自己的愿望 你在生活中将面临无数的选择,而你做出选择的方式将反应你的原则 我认为成功的关键在于,既知道如何努力追求很多东西,也知道如何正确的失败。“正确的失败”是指,能够...

Go语言核心编程

李文塔著 1. 基本数据类型 str 1 2 3 4 5 6 7 8 var a = "hello, word" b := a[0] c := a[1:] d := []byte(a) // 字节数组 e := []rune(a) // unicode的字符数组 for i, v := range a{ fmt.Println(i, v) } 字符串...

人生的枷锁

毛姆 菲利普,最终还是摆脱了“远大理想”对自己的束缚, 并意识到自己最渴望的, 其实就是大部人所经历的,一个男人来到世上,干活,结婚,生儿育女,最后悄然去世。和金庸小说不同的是,主人公在历经人生坎坷、世间冷暖之后, 没有练成绝世武功,没有出人头地,有的只是对人生枷锁的思考, 菲利普先后摆脱了宗教的奴役,后来又突破了俗世对成功的定义,最后还甘愿放弃了环世界旅行的远大理想,因为他意识到,...

我是猫

夏目簌石 对于《我是猫》一书, 断断续续读了两个月, 但读完发现全书并没有一根主线, 纯闲聊性质的。 好在闲聊的内容还算有趣。最喜欢里边对于侦探和小偷的比喻。 他们当中的某些人,一看到我就感慨“什么时候能跟猫一样轻松就好了”。 想轻松很简单。没有人逼着他非要这么忙。明明是自己制造出一堆乱七八糟的事情给自己,到头来还抱怨真痛苦真痛苦,就像自己升起一堆火,到头来嚷着热死了热死了...

UNIX网络编程卷I

卷1: 套接字联网API(第三版) 第1章 简介 客户和服务器通常是用户进程,而TCP和IP协议通常是内核中协议栈的一部分。 如果数据量很大, 我们就不能确保一次read调用能返回服务器的整个应答。因此从TCP套接字读取数据时,我们总是需要把read编写在某个循环中, 当read返回0(表明对端关闭连接)或负值(表明发生错误)时终止循环。这里重要的概念是TCP本身并不提供...