获得徽章 1
#青训营笔记创作活动#
1月31日 打卡day13
MySQL整体架构:连接层、服务层、存储引擎层、文件系统层
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上。
1月31日 打卡day13
MySQL整体架构:连接层、服务层、存储引擎层、文件系统层
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上。
展开
评论
点赞
#青训营笔记创作活动#
1月30日 打卡day12
为什么抓不到百度的包?
因为访问的是HTTPS协议的baidu.com。HTTP协议里的Host和实际发送的request body都会被加密。
虽然加密了,如果想筛选还是可以筛的。 HTTPS握手中的Client Hello阶段,里面有个扩展server_name,会记录你想访问的是哪个网站,通过下面的筛选条件可以将它过滤出来。
443是HTTPS的服务器端口号,HTTP用的是80端口
HTTPS可以用TLS或者SSL啥的进行加密。
1月30日 打卡day12
为什么抓不到百度的包?
因为访问的是HTTPS协议的baidu.com。HTTP协议里的Host和实际发送的request body都会被加密。
虽然加密了,如果想筛选还是可以筛的。 HTTPS握手中的Client Hello阶段,里面有个扩展server_name,会记录你想访问的是哪个网站,通过下面的筛选条件可以将它过滤出来。
443是HTTPS的服务器端口号,HTTP用的是80端口
HTTPS可以用TLS或者SSL啥的进行加密。
展开
评论
点赞
#青训营笔记创作活动#
1月29日 打卡day11写出漂亮代码的好多小技巧!!!
规范命名、代码格式,写好注释,方法别太长,统一返回值,统一异常处理,尽量不传递、不返回null值,尽量使用工具类,类和方法单一职责,尽量使用聚合/组合代替继承,使用设计模式优化代码,面向接口编程,考虑线程安全问题,慎用异步,需要什么字段select什么字段,不循环调用数据库,减小锁的粒度。。。
1月29日 打卡day11写出漂亮代码的好多小技巧!!!
规范命名、代码格式,写好注释,方法别太长,统一返回值,统一异常处理,尽量不传递、不返回null值,尽量使用工具类,类和方法单一职责,尽量使用聚合/组合代替继承,使用设计模式优化代码,面向接口编程,考虑线程安全问题,慎用异步,需要什么字段select什么字段,不循环调用数据库,减小锁的粒度。。。
展开
评论
点赞
#青训营笔记创作活动#
1月27日 打卡day10
传入的是SOCK_STREAM,是指使用字节流传输数据,说白了就是TCP协议。
如果传入的是SOCK_DGRAM,是指使用数据报传输数据,也就是UDP协议。
fd是指socket句柄,可以理解为socket的身份证号。通过这个fd你可以在内核中找到唯一的socket结构。
异常情况处理:重传机制、流量控制机制、滑动窗口机制、拥塞控制机制、分段机制、乱序重排机制、连接机制。
实际上大部分情况下UDP比TCP快
1月27日 打卡day10
传入的是SOCK_STREAM,是指使用字节流传输数据,说白了就是TCP协议。
如果传入的是SOCK_DGRAM,是指使用数据报传输数据,也就是UDP协议。
fd是指socket句柄,可以理解为socket的身份证号。通过这个fd你可以在内核中找到唯一的socket结构。
异常情况处理:重传机制、流量控制机制、滑动窗口机制、拥塞控制机制、分段机制、乱序重排机制、连接机制。
实际上大部分情况下UDP比TCP快
展开
评论
点赞
#青训营笔记创作活动#
1月25日 打卡day9
遇到bug怎么百度:用必应国际版;Stack Overflow;微软技术栈的工程师或者是产品经理,可以考虑使用 MSDN;
中文翻译不准确:translate.google.cn
找外文文献:书中找书-》文献中找文献
英文文档复杂句子:拆分
1月25日 打卡day9
遇到bug怎么百度:用必应国际版;Stack Overflow;微软技术栈的工程师或者是产品经理,可以考虑使用 MSDN;
中文翻译不准确:translate.google.cn
找外文文献:书中找书-》文献中找文献
英文文档复杂句子:拆分
展开
评论
点赞
#青训营笔记创作活动#
1月24日 打卡day8
Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。
1月24日 打卡day8
Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。
评论
点赞
#青训营笔记创作活动#
1月19日 打卡day7
网页点个按钮,前端发一次http请求,网站返回一次http响应
服务器主动发消息给客户端的场景:
使用http不断轮询:网页的前端代码里不断定时发HTTP请求到服务器,服务器收到请求后给客户端响应消息。伪服务器推模式
长轮询:发起一个请求,在较长时间内等待服务器响应的机制,就是所谓的长训轮机制。消息队列RocketMQ中,消费者去取数据时,也用到了这种方式。
服务器推送技术 comet:在用户不感知的情况下,服务器将数据推送给浏览器的技术
上面提到的两种解决方案,本质上,其实还是客户端主动去取数据。
浏览器在TCP三次握手建立连接之后,都统一使用HTTP协议先进行一次通信。
WebSocket:基于TCP的协议,支持全双工。
1月19日 打卡day7
网页点个按钮,前端发一次http请求,网站返回一次http响应
服务器主动发消息给客户端的场景:
使用http不断轮询:网页的前端代码里不断定时发HTTP请求到服务器,服务器收到请求后给客户端响应消息。伪服务器推模式
长轮询:发起一个请求,在较长时间内等待服务器响应的机制,就是所谓的长训轮机制。消息队列RocketMQ中,消费者去取数据时,也用到了这种方式。
服务器推送技术 comet:在用户不感知的情况下,服务器将数据推送给浏览器的技术
上面提到的两种解决方案,本质上,其实还是客户端主动去取数据。
浏览器在TCP三次握手建立连接之后,都统一使用HTTP协议先进行一次通信。
WebSocket:基于TCP的协议,支持全双工。
展开
评论
点赞
#青训营笔记创作活动#
1月18日 打卡day6
获取IP的方式是通过DHCP 动态主机配置协议。
DHCP的工作流程分为4个阶段:
1. 客户端广播DHCP帧,向所有的DHCP服务器申请一个IP地址。
2. DHCP服务器收到申请,从ip池里挑一个空闲的返回
3. 客户端收到后,发一个单播的request,给分配ip的这个服务器, 确定就要这个ip了。
4. DHCP服务器回复ACK 说ok,给你了。
DHCP用的udp。
1月18日 打卡day6
获取IP的方式是通过DHCP 动态主机配置协议。
DHCP的工作流程分为4个阶段:
1. 客户端广播DHCP帧,向所有的DHCP服务器申请一个IP地址。
2. DHCP服务器收到申请,从ip池里挑一个空闲的返回
3. 客户端收到后,发一个单播的request,给分配ip的这个服务器, 确定就要这个ip了。
4. DHCP服务器回复ACK 说ok,给你了。
DHCP用的udp。
展开
评论
点赞
#青训营笔记创作活动#
1月17日 打卡day5
几种索引失效的场景:索引建立不当(使用顺序未遵循最左匹配原则)、使用OR关键字、in使用不当、order By使用不当等
select * 并不会导致索引失效,但是select * 会增加解析成本。
1月17日 打卡day5
几种索引失效的场景:索引建立不当(使用顺序未遵循最左匹配原则)、使用OR关键字、in使用不当、order By使用不当等
select * 并不会导致索引失效,但是select * 会增加解析成本。
展开
评论
点赞
#青训营笔记创作活动#
1月16日 打卡day4
学而不思则罔!思而不学则殆!
DDD的核心思想就是避免业务逻辑的复杂性和技术实现的复杂性耦合在一起。
明确业务复杂性和技术复杂性的边界,隔离双方的复杂性,站在更高的角度实现解耦。
1月16日 打卡day4
学而不思则罔!思而不学则殆!
DDD的核心思想就是避免业务逻辑的复杂性和技术实现的复杂性耦合在一起。
明确业务复杂性和技术复杂性的边界,隔离双方的复杂性,站在更高的角度实现解耦。
展开
评论
点赞
#青训营笔记创作活动#
1月15日 打卡day3
主键索引也是聚簇索引,非主键索引都是非聚簇索引。
B+树的查询是从上往下一层层查询的,一般情况下我们认为B+树的高度保持在3层以内是比较好的.
MySQL每个节点大小默认为16KB,也就是每个节点最多存16KB的数据,可以修改,最大64KB,最小4KB。
MySQL查询速度主要取决于磁盘的读写速度。
页 是InnoDB存储引擎管理数据库的最小磁盘单位,我们常说每个节点16KB,其实就是指每页的大小为16KB。
1月15日 打卡day3
主键索引也是聚簇索引,非主键索引都是非聚簇索引。
B+树的查询是从上往下一层层查询的,一般情况下我们认为B+树的高度保持在3层以内是比较好的.
MySQL每个节点大小默认为16KB,也就是每个节点最多存16KB的数据,可以修改,最大64KB,最小4KB。
MySQL查询速度主要取决于磁盘的读写速度。
页 是InnoDB存储引擎管理数据库的最小磁盘单位,我们常说每个节点16KB,其实就是指每页的大小为16KB。
展开
评论
点赞
#青训营笔记创作活动#
1月14日 打卡day2
IDEA常用插件:
Key Promoter X: 快捷键提示
Lombok: 加了lombok注解,spring项目不用写getter等方法
MyBaitsX:方便查看xml对应的sql实现,还可直接生成sql
RestfulFastRequest:类似postman的调试API插件
PlantUML:UML图绘制工具
SequenceDiagram:根据代码生成时序图
GsonFormatPlus:能根据JSON字符串自动生成实体类的插件,支持Lombok。
Json Parser:JSON格式化插件
String Manipulation:处理字符串
MapStruct support:在接口中定义好对象属性映射规则,能自动生成映射实现类,不使用反射
Alibaba Java Coding Guidelines:实时检测代码中不符合手册规约的地方,但有点烦。。
Alibaba Cloud Toolkit:实现自动化部署
Docker:已内置,支持远程Docker环境的镜像和容器管理,同时支持使用Docker Compose实现批量部署。
Statistic: 代码统计工具 项目中代码的行数和大小。可以通过顶部菜单中的View->Tool Windows->Statistic按钮开启该功能。
1月14日 打卡day2
IDEA常用插件:
Key Promoter X: 快捷键提示
Lombok: 加了lombok注解,spring项目不用写getter等方法
MyBaitsX:方便查看xml对应的sql实现,还可直接生成sql
RestfulFastRequest:类似postman的调试API插件
PlantUML:UML图绘制工具
SequenceDiagram:根据代码生成时序图
GsonFormatPlus:能根据JSON字符串自动生成实体类的插件,支持Lombok。
Json Parser:JSON格式化插件
String Manipulation:处理字符串
MapStruct support:在接口中定义好对象属性映射规则,能自动生成映射实现类,不使用反射
Alibaba Java Coding Guidelines:实时检测代码中不符合手册规约的地方,但有点烦。。
Alibaba Cloud Toolkit:实现自动化部署
Docker:已内置,支持远程Docker环境的镜像和容器管理,同时支持使用Docker Compose实现批量部署。
Statistic: 代码统计工具 项目中代码的行数和大小。可以通过顶部菜单中的View->Tool Windows->Statistic按钮开启该功能。
展开
评论
点赞
#青训营笔记创作活动#
1月13日 打开day1
限流是限制到达系统的并发请求数量。
根据限流作用范围分:单机限流和分布式限流
对服务器限流的方式有:计数器、滑动窗口、漏桶、令牌桶、Redis+Lua分布式限流
也可对容器进行限流,Tomcat、Nginx等限流手段
1月13日 打开day1
限流是限制到达系统的并发请求数量。
根据限流作用范围分:单机限流和分布式限流
对服务器限流的方式有:计数器、滑动窗口、漏桶、令牌桶、Redis+Lua分布式限流
也可对容器进行限流,Tomcat、Nginx等限流手段
展开
1
点赞