获得徽章 10
#青训营笔记创作活动#
1月22日 打卡day13
今日学习《(一)全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构!》
本文通过mysql概述,mysql整体结构剖析,网络连接层,系统服务层,文件系统层,存储引擎层等自顶向下深入剖析了mysql。
1月22日 打卡day13
今日学习《(一)全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构!》
本文通过mysql概述,mysql整体结构剖析,网络连接层,系统服务层,文件系统层,存储引擎层等自顶向下深入剖析了mysql。
展开
评论
点赞
#青训营笔记创作活动#
1月21日 打卡day12
今日学习《为什么我抓不到baidu的数据包》
文章开头通过抓包baidu的数据包,展示了用wireshark抓包的简单操作流程。
HTTPS会对HTTP的URL和Request Body都进行加密,因此直接在filter栏进行过滤http.host == "baidu.com"会一无所获。
HTTPS握手的过程中会先通过非对称机密去交换各种信息,其中就包括3个随机数,再通过这三个随机数去生成对称机密的会话秘钥,后续使用这个会话秘钥去进行对称加密通信。如果能获得这三个随机数就能解密HTTPS的加密数据包。
三个随机数,分别是客户端随机数(client random),服务端随机数(server random)以及pre_master_key。前两个,是明文,第三个是被服务器公钥加密过的,在客户端侧需要通过SSLKEYLOGFILE去导出。
通过设置SSLKEYLOGFILE环境变量,再让curl或chrome会请求HTTPS域名,会让它们在调用TLS库的同时导出对应的sslkey文件。这个文件里包含了三列,其中最重要的是第二列的client random信息以及第三列的pre_master_key。第二列client random用于定位,第三列pre_master_key用于解密。
1月21日 打卡day12
今日学习《为什么我抓不到baidu的数据包》
文章开头通过抓包baidu的数据包,展示了用wireshark抓包的简单操作流程。
HTTPS会对HTTP的URL和Request Body都进行加密,因此直接在filter栏进行过滤http.host == "baidu.com"会一无所获。
HTTPS握手的过程中会先通过非对称机密去交换各种信息,其中就包括3个随机数,再通过这三个随机数去生成对称机密的会话秘钥,后续使用这个会话秘钥去进行对称加密通信。如果能获得这三个随机数就能解密HTTPS的加密数据包。
三个随机数,分别是客户端随机数(client random),服务端随机数(server random)以及pre_master_key。前两个,是明文,第三个是被服务器公钥加密过的,在客户端侧需要通过SSLKEYLOGFILE去导出。
通过设置SSLKEYLOGFILE环境变量,再让curl或chrome会请求HTTPS域名,会让它们在调用TLS库的同时导出对应的sslkey文件。这个文件里包含了三列,其中最重要的是第二列的client random信息以及第三列的pre_master_key。第二列client random用于定位,第三列pre_master_key用于解密。
展开
评论
点赞
#青训营笔记创作活动#
1月20日 打卡day11
今日学习《写出漂亮代码的45个小技巧》
本文主要介绍了怎样使自己的代码更优秀,例如规范命名,规范代码格式,写好注释,不滥用设计模式等,在项目中养成良好的代码习惯会极大提高我们的生产力。
1月20日 打卡day11
今日学习《写出漂亮代码的45个小技巧》
本文主要介绍了怎样使自己的代码更优秀,例如规范命名,规范代码格式,写好注释,不滥用设计模式等,在项目中养成良好的代码习惯会极大提高我们的生产力。
展开
评论
点赞
#青训营笔记创作活动#
1月19日 打卡day10
今日学习《动图图解 | UDP就一定比TCP快吗?》
本文主要介绍了UDP和TCP的区别,socket编程机制,两种传输对异常处理方法,重传机制,流量控制机制,滑动窗口机制,拥塞控制机制,分段机制,乱序重排机制,以及连接机制。
1月19日 打卡day10
今日学习《动图图解 | UDP就一定比TCP快吗?》
本文主要介绍了UDP和TCP的区别,socket编程机制,两种传输对异常处理方法,重传机制,流量控制机制,滑动窗口机制,拥塞控制机制,分段机制,乱序重排机制,以及连接机制。
展开
1
点赞
#青训营笔记创作活动#
1月18日 打卡day9
今日学习《我只是用了个“笨”方法,一个月后不再惧怕英文文档》
本文主要介绍了笨方法跨越英文障碍的落地方法:
1、遇到的 Bug 百度没有结果怎么办
2、中文翻译文献模棱两可怎么办
3、寻找外文文献的发现过程是什么样的
4、如何解决英文文档中的复杂句子
5、如何结合文档学习语法
6、结合实例带你操作“笨”方法找到适合自己的路
1月18日 打卡day9
今日学习《我只是用了个“笨”方法,一个月后不再惧怕英文文档》
本文主要介绍了笨方法跨越英文障碍的落地方法:
1、遇到的 Bug 百度没有结果怎么办
2、中文翻译文献模棱两可怎么办
3、寻找外文文献的发现过程是什么样的
4、如何解决英文文档中的复杂句子
5、如何结合文档学习语法
6、结合实例带你操作“笨”方法找到适合自己的路
展开
评论
点赞
#青训营笔记创作活动#
1月17日 打卡day8
今日学习《Kafka 科普》
本文主要介绍了 Kafka 的一些基本知识,包含 Topic、Partition、消费者、生产者、副本等基本概念,同时也介绍了 Kafka 的版本变迁以及应用实战所必备的知识点,最后以“消息可靠性分析”这个主体结尾,加深对 Kafka 的理解。
1月17日 打卡day8
今日学习《Kafka 科普》
本文主要介绍了 Kafka 的一些基本知识,包含 Topic、Partition、消费者、生产者、副本等基本概念,同时也介绍了 Kafka 的版本变迁以及应用实战所必备的知识点,最后以“消息可靠性分析”这个主体结尾,加深对 Kafka 的理解。
展开
评论
点赞
#青训营笔记创作活动#
1月16日 打卡day7
今日学习《为什么有HTTP协议,还要有websocket协议?》
本文介绍了websocket协议
TCP连接的两端,同一时间里,双方都可以主动向对方发送数据。这就是所谓的全双工。而现在使用最广泛的HTTP1.1,也是基于TCP协议的,同一时间里,客户端和服务器只能有一方主动发数据,这就是所谓的半双工。也就是说,好好的全双工TCP,被HTTP用成了半双工。这是由于HTTP协议设计之初,考虑的是看看网页文本的场景,能做到客户端发起请求再由服务器响应,就够了,根本就没考虑网页游戏这种,客户端和服务器之间都要互相主动发大量数据的场景。所以为了更好的支持这样的场景,我们需要另外一个基于TCP的新协议。于是新的应用层协议websocket就被设计出来了。
1月16日 打卡day7
今日学习《为什么有HTTP协议,还要有websocket协议?》
本文介绍了websocket协议
TCP连接的两端,同一时间里,双方都可以主动向对方发送数据。这就是所谓的全双工。而现在使用最广泛的HTTP1.1,也是基于TCP协议的,同一时间里,客户端和服务器只能有一方主动发数据,这就是所谓的半双工。也就是说,好好的全双工TCP,被HTTP用成了半双工。这是由于HTTP协议设计之初,考虑的是看看网页文本的场景,能做到客户端发起请求再由服务器响应,就够了,根本就没考虑网页游戏这种,客户端和服务器之间都要互相主动发大量数据的场景。所以为了更好的支持这样的场景,我们需要另外一个基于TCP的新协议。于是新的应用层协议websocket就被设计出来了。
展开
评论
点赞
#青训营笔记创作活动#
1月15日 打卡day6
今日学习《刚插上网线,电脑怎么知道自己的IP是什么?》
电脑获取自己IP的过程:
电脑插上网线,联网后会通过DHCP协议动态申请一个IP,同时获得子网掩码,路由器地址等信息。
DHCP分为四个阶段,分别是 Discover,Offer, Request和ACK。如果曾经连过这个网,机器会记录你上次使用的IP,再次连接时优先使用原来的那个IP,因此只需要经历第三第四阶段。
DHCP是应用层协议,考虑到需要支持广播功能,底层使用的是UDP协议,而不是TCP协议。
DHCP分配下来的IP是有可能跟某台手动配置的IP地址重复的。
DHCP得到IP之后还会发3次无偿ARP通告,在确认没有冲突后开始使用这个IP。
1月15日 打卡day6
今日学习《刚插上网线,电脑怎么知道自己的IP是什么?》
电脑获取自己IP的过程:
电脑插上网线,联网后会通过DHCP协议动态申请一个IP,同时获得子网掩码,路由器地址等信息。
DHCP分为四个阶段,分别是 Discover,Offer, Request和ACK。如果曾经连过这个网,机器会记录你上次使用的IP,再次连接时优先使用原来的那个IP,因此只需要经历第三第四阶段。
DHCP是应用层协议,考虑到需要支持广播功能,底层使用的是UDP协议,而不是TCP协议。
DHCP分配下来的IP是有可能跟某台手动配置的IP地址重复的。
DHCP得到IP之后还会发3次无偿ARP通告,在确认没有冲突后开始使用这个IP。
展开
评论
点赞
#青训营笔记创作活动#
1月14日 打卡day5
今日学习《MySQl 索引之道》
本文介绍了索引失效的几种场景,为什么不推荐使用“Select”,作者最后对失效原因进行了总结,以及说明了回表问题怎么优化。
1月14日 打卡day5
今日学习《MySQl 索引之道》
本文介绍了索引失效的几种场景,为什么不推荐使用“Select”,作者最后对失效原因进行了总结,以及说明了回表问题怎么优化。
评论
点赞
#青训营笔记创作活动#
1月13日 打卡day4
今日学习《给想转Go或者Go进阶同学的一些建议》
本文介绍客户端转服务端在编程思维上的转变;再通过软件架构演进史了解了从单体架构到集中式架构,再到目前主流的分布式微服务架构,为大家进阶实战指明了方向。客户端转服务端,最大的挑战是编程思维,思考方式,考虑问题关注点的转变。
1月13日 打卡day4
今日学习《给想转Go或者Go进阶同学的一些建议》
本文介绍客户端转服务端在编程思维上的转变;再通过软件架构演进史了解了从单体架构到集中式架构,再到目前主流的分布式微服务架构,为大家进阶实战指明了方向。客户端转服务端,最大的挑战是编程思维,思考方式,考虑问题关注点的转变。
展开
评论
点赞
#青训营笔记创作活动#
1月12日 打卡day3
今日学习《我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知?
》
本文介绍了InnoDB三层B+树情况下的数据存储量范围为 一百二十多万条 到 将近5亿条,这个跨度还是非常大的,同时作者也计算了一张博客信息表,可以存储 约一千万条 数据。
1月12日 打卡day3
今日学习《我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知?
》
本文介绍了InnoDB三层B+树情况下的数据存储量范围为 一百二十多万条 到 将近5亿条,这个跨度还是非常大的,同时作者也计算了一张博客信息表,可以存储 约一千万条 数据。
展开
评论
点赞
#青训营笔记创作活动#
1月10日 打卡day2
今日学习《看了我常用的IDEA插件,同事也开始悄悄安装了...》
本文介绍了20款IDEA插件,涵盖了大部分应用场景,平时开发的时候基本上也够用了。不过IDEA插件虽然能增强它的功能,给我们提供一站式的开发体验。
1月10日 打卡day2
今日学习《看了我常用的IDEA插件,同事也开始悄悄安装了...》
本文介绍了20款IDEA插件,涵盖了大部分应用场景,平时开发的时候基本上也够用了。不过IDEA插件虽然能增强它的功能,给我们提供一站式的开发体验。
展开
评论
点赞
#青训营笔记创作活动#
1月8日 打卡day1
今日学习
《新来个技术总监,把限流实现的那叫一个优雅,佩服!》
根据限流作用范围,可以分为单机限流和分布式限流;根据限流方式,又分为计数器、滑动窗口、漏桶限令牌桶限流,本文主要讲了各种限流方式的执行方式,特点以及优缺点。
1月8日 打卡day1
今日学习
《新来个技术总监,把限流实现的那叫一个优雅,佩服!》
根据限流作用范围,可以分为单机限流和分布式限流;根据限流方式,又分为计数器、滑动窗口、漏桶限令牌桶限流,本文主要讲了各种限流方式的执行方式,特点以及优缺点。
展开
评论
点赞