获得徽章 1
- #青训营笔记创作活动#
1月29日 打开day11
代码是给人阅读而不是机器阅读的,因此规范的代码编写就很有必要。不规范的代码可读性较差,难以让人理解,给人的阅读带来不便。而规范的代码可以促进团队合作,可以减少bug处理,可以减低维护成本,并且有助于代码审查。展开评论点赞 - #青训营笔记创作活动#
1月27日 打开day10
TCP为了实现可靠性,引入了重传机制、流量控制、滑动窗口、拥塞控制、分段以及乱序重排机制。因此一般来说TCP比UDP快。对于UDP+重传的场景,如果要传超大数据包,并且没有实现分段机制的话,那数据就会在IP层分片,一旦丢包,那就需要重传整个超大数据包。而TCP则不需要考虑这个,内部会自动分段,丢包重传分段就行了。这种场景下,其实TCP更快。展开评论点赞 - #第五届青训营阅读打卡#
1月20日 打开day9
学好英语真的很有必要,可以快速解决学习过程中遇到的许多问题。如果遇到的bug百度搜索不出来结果,可以尝试使用多个搜索引擎进行搜索。同理遇到中英文翻译模棱两可,也可以使用多个翻译引擎进行对比验证。搜索英文文献的时候,尽量输入英文检索词进行搜索。展开评论点赞 - #青训营笔记创作活动#
1月19日 打卡day8
kafka保证的是分区有序而不是主题有序。消费者与消费组这种模型可以让整体的消费能力具备横向伸缩性,可以通过增加(或减少) 消费者的个数来提高(或降低)整体的消费能力。但是在分区数固定的情况下,一味地增加消费者并不会让消费能力一直得到提升,如果消费者过多,出现了消费者的个数大于分区个数的情况, 就会有消费者分配不到任何分区。展开评论点赞 - #青训营笔记创作活动#
1月18日 打卡day7
http协议在同一时间里,客户端和服务器只能有一方主动发数据,也就是所谓的半双工。http协议可以使用伪服务器推的形式,例如使用http不断轮询或者长轮询,可以看起来像是服务器主动发消息给客户端来应对简单场景。但是在需要服务器和客户端(浏览器)频繁交互的场景下就不太适用了,而websocket则完美继承了TCP协议的全双工能力,还提供了解决粘包的方案,适用于需要服务器和客户端(浏览器)频繁交互的场景。值得注意的是websocket和socket只是叫法类似,实际上几乎没有任何关系;在升级到websocket的时候会用到http,但是升级完成之后就跟http没有关系了。展开评论点赞 - #青训营笔记创作活动#
1月17日 打卡day6
电脑在第一次联网的时候,一般会通过DHCP协议动态申请一个ip地址,同时还会获得子网掩码、路由器地址等信息。DHCP分为四个阶段,分别是Discover,Offer, Request和ACK。如果之前连过这个网络,会优先使用上次的ip地址,DHCP只需要经历三和四阶段。由于DHCP在请求ip时会使用广播,因此底层使用了无连接的UDP协议。在得到ip后,DHCP会发3次无偿ARP通告,在确认没有冲突后开始使用这个IP。展开评论点赞 - #青训营笔记创作活动#
1月16日 打卡day5
在使用MySQL进行数据查询时,为了提高查询效率,要避免使用不当的查询方式而导致索引失效。要注意联合索引的最左匹配原则,但是联合索引里的索引跳跃扫描机制,可以打破最左匹配原则。select *索引失效只跟form/where后面的内容有关。 影响到索引列的值或者查询范围过大导致索引没有意义,也会造成索引失效。展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day4
从客户端转服务端,最重要的是编程思维的转变。客户端不需要关心数据是怎么来的,要求服务端返回自己需要的数据即可。服务端不需要关心客户端如何管理应用的生命周期,只需要按照客户端要求返回数据即可。要及时的调整自己的关注点,思考方式以及编程思维。另外,可以通过“三刷”官方文档的方式去快速学习一门编程语言,如果需要进阶,可以学习“微服务”和“DDD”。展开评论点赞 - #青训营笔记创作活动#
1月14日 打开day3
在面对大量数据我们通常可以通过分表的操作来避免查询速度降低而影响性能,但是在分表的时候不能单纯的以“单表行数超过 500 万行或者单表容量超过 2GB”作为分表依据,而是要考虑到实际情况,如字段不同,所占用的空间不同等多方面的原因。作者的观点是在三层B+树存满的情况下,就可以考虑进行分表。展开评论点赞 - #青训营笔记创作活动#
1月13日 打卡day2
Lombok能够自动生成getter、setter、equals 方法,解放你的双手。MyBatisX插件还会使用不同的颜色来表示不同的代码,确实很方便。Alibaba Java Coding Guidelines能帮助我们按照代码规范去编写代码,让我们的代码更加清晰整洁规范。展开评论点赞