
获得徽章 2
- #青训营笔记创作活动#
2月21日 打卡day8
今日学习《go基础语法50问,来看看你的go基础合格了吗?》,本文语言流畅,行文舒展自如,自然洒脱,讲述了很多go语言基础而经典的语法问题,比如使用值为nil的slice、map会造成运行时panic;string类型的值不可以修改等等,解决了我之前的存在的不少疑惑。展开评论点赞 - #青训营笔记创作活动#
2月20日 打卡day7
今日学习《为什么用公钥加密却不能用公钥解密?》,大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密。
HTTPS相当于HTTP+TLS,目前主流的是TLS1.2,基于TCP三次握手之后,再来TLS四次握手。
TLS四次握手的过程中涉及到两对私钥和公钥。分别是服务器本身的私钥和公钥,以及CA的私钥和公钥。
展开评论点赞 - #青训营笔记创作活动#
2月19日 打卡day6
今日学习《优秀后端都应该具备的开发好习惯》,文章一共总结了15个好习惯:
1.注释尽可能全面,写有意义的方法注释
2.项目拆分合理的目录结构
3. 不在循环里远程调用、或者数据库操作,优先考虑批量进行。
4. 封装方法形参
5. 封装通用模板
6. 封装复杂的逻辑判断条件
7. 保持优化性能的嗅觉
8. 可变参数的配置化处理
9. 会总结并使用工具类。
10. 控制方法函数复杂度
11. 在finally块中对资源进行释放
12.把日志打印好
13. 考虑异常,处理好异常
14. 考虑系统、接口的兼容性
15. 代码采取措施避免运行时错误展开评论点赞 - #青训营笔记创作活动#
2月17日 打卡day5
今日学习《如果把网络原理倒过来看,从无到有,一切都清晰了(上)》,这篇文章非常有趣。网络原理我们每天都在使用,但却未必能意识到其存在,所以如果没有网络,那网络是什么?网络为什么要这样,如何设计网络?这样一步一步,由浅入深讲述网络原理。
展开评论点赞 - #青训营笔记创作活动#
2月16日 打卡day4
今日学习《为什么我抓不到baidu的数据包》,这其实是因为访问的是HTTPS协议的baidu.com。HTTP协议里的Host和实际发送的request body都会被加密。正因为被加密了,所以没办法通过http.host进行过滤。HTTPS握手的过程中会先通过非对称机密去交换各种信息,其中就包括3个随机数,再通过这三个随机数去生成对称机密的会话秘钥,后续使用这个会话秘钥去进行对称加密通信。如果能获得这三个随机数就能解密HTTPS的加密数据包。展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day3
今日学习《动图图解 | UDP就一定比TCP快吗》,网络环境链路很长,还复杂,数据丢包是很常见的,哪有什么岁月静好,是TCP替你负重前行。有些情况虽然选择使用UDP,但一般还是会在应用层上做一些重传机制的,如果要传超大数据包,并且没有实现分段机制,数据就会在IP层分片,一旦丢包就需要重传整个超大数据包,而TCP不需要考虑这个,内部会自动分段,丢包重传就行了。这种场景TCP更快。展开评论点赞 - #青训营笔记创作活动#
2月14日 打卡day2
今日学习《为什么有HTTP协议,还要有websocket协议?》,怎样才能在用户不做任何操作的情况下,网页能收到消息并发生变更是我们关心的一个问题,但HTTP设计之初,考虑的是看看网页文本的场景,能够做到客户端发起请求再由服务器响应就够了,没有考虑网页游戏这种场景,于是新的应用层协议websocket就被设计出来了。websocket会先利用HTTP协议加上一些特殊的header头进行握手升级操作,升级成功后就跟HTTP没有任何关系了。
展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day1
今日学习《刚插上网线,电脑怎么知道自己的IP是什么》插上网线,获得IP的方式主要有两种,第一种是自己手动在电脑里配,这种并不科学。第二种就是DHCP,可以让这些IP信息自动获得,通过DHCP,在联网之后可以自动获取到本机需要的IP地址,子网掩码还有路由器地址。展开评论点赞