获得徽章 1
- #青训营笔记创作活动#
2023年1月4日 day15
其实我觉得网络原理从下往上看看,就是 遇到问题 解决问题, 从底层开始一步一步加中间层,实现隔离,但是从上往下看,看的是这个应用需要什么,我们可以利用下层提供什么服务,然后在看下层为什么能提供这样的服务,一步一步庖丁解牛,直至底层. 个人感觉这篇写的十分有意思,发现他还有中下,明天看看.展开评论点赞 - #青训营笔记创作活动#
2023年1月3日 day14
Https,在传输过程中,会对消息体和url进行加密,然后我们可以通过获取的第三个随机数来确定我们的对话密钥已达到解密消息体的数据。评论点赞 - #青训营笔记创作活动#
2023年1月1日 day13
1.总结工具类 2. 封装复杂逻辑 3. 拥有性能优化的嗅觉 4. 打印好日志 5. 兼容老的接口评论点赞 - #青训营笔记创作活动#
2022年12月31日 day12
这是我自己写的一篇文章,结合书籍,将自己的理解都放在注释中了,mutex的woken标志位刚开始看十分难理解!!!评论点赞 - #青训营笔记创作活动#
2022年12月30日 day11
今天学习了chan的源码,知道了为什么 nil <- 或者 <- nil 会阻塞,也知道了为什么 向已经close的chan发送数据会panic,读已经关闭的返回nil.评论点赞 - #青训营笔记创作活动#
2022年12月29日 day10
tcp 为了实现可靠性,需要做重传,乱序重排,流量控制,拥塞控制等,而udp不需要,所以一般情况下udp是比tcp快,但是如果upd+重传机制,在传输的包大的情况下,丢了一个包,这种情况下就是tcp比较快了,因为tcp 只需要传丢的那一个包,udp需要传全部.展开评论点赞 - #青训营笔记创作活动#
2022年12月27日 day9
今天学习了undo日志,从中了解到undo日志格式以及如何存储undo日志,为了实现mvcc,又划分了两种不同的格式,插入和删除等明天阅读完mvcc之后一起写个总结!评论点赞 - #青训营笔记创作活动#
2022年12月27日 day8
今天阅读了 undo log日志章节, 了解了 lsn 的相关含义,以前一直困扰我当 脏页更新失败,如何恢复的问题现在也解开了!
首先我们崩溃恢复需要 注意两个值,一个 是上一个检查点的lsn(checkpoint_lsn) 一个其在log file的位置也就是 offset,这两个在我们的 log file 第一个块中有,然后取出其他两个 checkpoing块的 lsn 的较大者,我们就可以从他开始更新.
1. hash(spaceid+page num) 放在一个槽,如果冲突拉链法.
2. 跳过更新过的(如果脏页被刷到磁盘了 那么file header的lsn就会是flush list中的newest_lsn,比较这个 newest_lsn 和 当前redo log 的lsn)
这样我们就可以恢复了展开评论点赞 - #青训营笔记创作活动#
2022年12月26日 day7
1. 使用笨方法,记笔记,这点还是感触较深,记下来以后很好的反馈以后的自己.
2. 遇到bug 抛弃 百度,走向 谷歌
3. 翻译模棱两可(ambiguity),多个线上词典找不同.
4.解决英文文档中的复杂句子 拆分 + 逐一破解.展开评论点赞 - #青训营笔记创作活动#
2022年12月25日 day 7
1. websocket 建立连接是基于 http 协议的
a. tcp 3 次握手
b. http get 请求
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Key: T2a6wZlAwhgQNqruZ2YUyg==\r\n
c. 服务端响应
HTTP/1.1 101 Switching Protocols\r\n
Sec-WebSocket-Accept: iBJKv/ALIW2DobfoA4dmr3JHBCY=\r\n
客户端拿到这个会和 (将自己发出的key用公开算法加密得到的值) 相比较
Upgrade: websocket\r\n
Connection: Upgrade\r\n
d. 之后会进行websocket 协议的通信
2. websocket 协议字段
opcode: 1 text 2 bin 8 close
payload 长度:
a. 首先会读第一个 7bit, 如果发现 <126 那么不会读后面
b. 126(0x7E) 读16bit
c. = 127 读64bit展开评论点赞