
获得徽章 9
- #青训营笔记创作活动#
1月30日 打卡day11
今日学习
文章从互联网形成的萌芽时期出发,围绕互联网的发展历程,介绍了如今互联网中MAC地址、IP地址、集线器、交换机和路由器等等互联网组成部分的成因,结合互联网发展真实背景和需求来讲解,不仅说明了网络原理是什么,更重要的是说明了这样设计网络及网络组成部分的原因所在。展开评论点赞 - #青训营笔记创作活动#
1月29日 打卡day10
今日学习
文章自顶向下深入剖析了MySQL的整体架构,自顶向下分为:网络连接层、系统服务层、存储引擎层、文件系统层,共五个层次。
这个系列的文章看起来不错,可以作为学习MySQL的资料参考。展开评论点赞 - #青训营笔记创作活动#
1月26日 打卡day9
今日学习
文章开头通过抓包baidu的数据包,展示了用wireshark抓包的简单操作流程。
需要注意的是HTTPS协议使用TLS/SSL协议进行加密,需要导出key文件,才能对传输的数据包进行解密。展开评论点赞 - #青训营笔记创作活动#
1月21日 打卡day8
今日学习
文中总结了写出漂亮代码的45个小技巧,有的技巧是代码规范整洁方面的,如规范代码命名,写好代码注释等等。
有的技巧是工程实践中性能优化提升和代码安全方面的,如考虑线程安全问题,不循环调用数据库等等。展开评论点赞 - #青训营笔记创作活动#
1月20日 打卡day7
今日学习
简单来说,TCP什么时候比UDP快?
UDP实现了重传机制,但是没有实现数据分段机制,就可能出现某个大数据包在使用UDP传输时需要整个全部重传,而TCP只需要重传丢失的segment,此时TCP比UDP快展开评论点赞 - #青训营笔记创作活动#
1月19日 打卡day6
今日学习
遇到bug结合多个搜索引擎如Google、Bing、Stack Overflow、MSDN等等查找结果
多多利用英文词典解决英文文档中的专有词语的理解展开评论点赞 - #青训营笔记创作活动#
1月18日 打卡day5
今日学习
Kafka 是一种分布式的,基于发布 / 订阅的消息系统。
以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间复杂度的访问性能。展开评论点赞 - #青训营笔记创作活动#
1月17日 打卡day4
今日学习
TCP协议本身是全双工的,但我们最常用的HTTP1.1,虽然是基于TCP的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景,都不太友好,因此我们需要使用支持全双工的websocket协议。
在HTTP1.1里。只要客户端不问,服务端就不答。基于这样的特点,对于登录页面这样的简单场景,可以使用定时轮询或者长轮询的方式实现服务器推送(comet)的效果。
对于客户端和服务端之间需要频繁交互的复杂场景,比如网页游戏,都可以考虑使用websocket协议。
websocket和socket几乎没有任何关系,只是叫法相似。
正因为各个浏览器都支持HTTP协议,所以websocket会先利用HTTP协议加上一些特殊的header头进行握手升级操作,升级成功后就跟HTTP没有任何关系了,之后就用websocket的数据格式进行收发数据。展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day3
今日学习
电脑插上网线,联网后会通过DHCP协议动态申请一个IP,同时获得子网掩码,路由器地址等信息。
DHCP分为四个阶段,分别是 Discover,Offer, Request和ACK。如果曾经连过这个网,机器会记录你上次使用的IP,再次连接时优先使用原来的那个IP,因此只需要经历第三第四阶段。
DHCP是应用层协议,考虑到需要支持广播功能,底层使用的是UDP协议,而不是TCP协议。
DHCP分配下来的IP是有可能跟某台手动配置的IP地址重复的。
DHCP得到IP之后还会发3次无偿ARP通告,在确认没有冲突后开始使用这个IP。展开评论点赞 - #青训营笔记创作活动#
1月14日 打卡day2
今日学习
作者客户端开发转到服务端开发的一些经验:客户端开发的编程思维是“页面驱动设计”,而服务端开发的编程思维是“数据驱动设计”,即“通过不断的数据积累和反馈,来指导产品的更新迭代”。
DDD (Domain Driven Design):领域驱动设计。
DDD最大的价值就是梳理业务需求,抽象出一个个“领域”,并形成各个领域之间的接口交互,方便团队协作,推进项目前进。展开评论点赞