获得徽章 1
- #青训营笔记创作活动#
2月18日 打卡day11
通过这篇文章学习了,什么是分库分表,如何分库分表,以及使用分库分表的方法和优缺点。评论点赞 - #青训营笔记创作活动#
2月15日 打卡day10
这篇文章介绍了hertz中使用反向代理的例子,可以运用到项目中,以抵消URL签名带来的权限问题。评论点赞 - #青训营笔记创作活动#
2月11日 打卡day9
这篇文章较为详细的介绍了如何向开源仓库中提交PR,有助于以后基于GitHub工作流的开发评论点赞 - #青训营笔记创作活动#
2月9日 打卡day8
通过这篇文章补充的hertz中jwt使用方法,学习了如何使用hertz进行jwt认证,可以在青训营大项目中实践。评论点赞 - #青训营笔记创作活动#
1月21日 打卡day7
MySQL的整个架构包括:
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:如`InnoDB、MyISAM`等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上。展开评论点赞 - #青训营笔记创作活动#
1月18日 打卡day6
kafka 属于分布式消息队列,其中包括若干consumer、若干producer、若干broker以及管理broker的Zookeeper集群。需要值得注意的概念有:主题与分区、消费者与消费组、分层日志、多副本机制等。展开评论点赞 - #青训营笔记创作活动#
1月17日 打卡day5
确实一般情况下,UDP要比TCP快
TCP是面向连接、可靠的、基于字节流的,TCP拥有重传机制、流量控制机制、滑动窗口机制、拥塞控制机制、分段机制、乱序重排机制、连接机制,以保证传输的可靠性。
UDP常用于小包传输,基于UDP开发的KCP、QUIC框架,都在应用层提供了可靠性保障。展开评论点赞 - #青训营笔记创作活动#
1月16日 打卡day4
学习到的知识点:
1. slice可以声明后直接使用,map需要make分配内存
2. if的判断条件,if v := x["two"]; v == "" {}
3. string 类型的值是只读的二进制 byte slice,不能使用索引修改,但可以转为byte数组后修改
4. range迭代map是无序的
5. for循环
- for 循环不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化多个变量
6. 引用类型包含切片(slice)、字典(map)、通道(channel)、接口(interface)
7. 要复制一个Slice,最好使用Copy函数展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day3
1. 抓包流程:
使用ping来获取baidu.com的ip,然后使用tcpdump抓包获取对于ip与本地网卡之间的数据包,将获取到的数据包在wireshark中解析。但发现数据包中的http.host未与baidu.com匹配。
2. 解密
通过将ssl.key保存,然后将key文件导入Wireshark中,对应数据包则被解密,可以查询到http.host
3. 原因
主机与baidu.com之间的连接使用的是https协议,其通过tls/ssl协议进行加密
tls1.2的四次握手过程中:
第一次握手,产生的客户端随机数,叫`client random`。
第二次握手时,服务器也会产生一个服务器随机数,叫`server random`。
第三次握手时,客户端还会产生一个随机数,叫`pre_master_key`。
通过将key文件导出,即可对应解密数据包,key中即存放有上述三个密钥。展开赞过评论1 - #青训营笔记创作活动#
12月24日 打卡day02
IDEA中可以尝试一下的插件:
Key Promoter X
可以提示鼠标操作对应的快捷键
Lombok
通过注解自动在类中加入相应的方法,例如@Setter @Getter
SequenceDiagram
根据编写的代码,自动生成时序图,了解代码中的调用逻辑
Translation
翻译代码中的英文,可以更方便的学习源码展开赞过评论1