获得徽章 1
- #青训营笔记创作活动#
2月12日 打卡day8
今天学习了给开源库提PR的步骤,首先,找到感兴趣的开源库,查看issue列表,选择简单的新手任务提出申请,拿到开发任务后,除了开发工作基本就是git操作了,fork贡献仓库,并clone到本地,创建新分支开发完成进行远端分支推送,结合github action做单测,提出pr,然后同步原仓库修改,最后fix原仓库维护者建议并等待pr merge即可。展开评论点赞 - #青训营笔记创作活动#
2月11日打卡day7
今天学习了优秀后端应该具备的好习惯,内容很详实。总结对我个人有待培养的习惯如下:学会合理拆分业务结构,考虑系统、接口的兼容性,优先考虑批量进行消耗网络、IO资源的复杂操作。如果参数过多,要封装对象,日常开发注意日志打印和异常处理。展开评论点赞 - #青训营笔记创作活动#
2月10日 打卡day6
今天学习了https加密通信的原理,其握手包括TCP的三次握手和TLS的四次握手,包括了对称和非对称加密的过程。知识要点总结如下:首先非对称加密中,公钥加密的数据,只有私钥能解密,而用私钥加密的数据,只有公钥能解密。在TLS第二次握手中,传的数字证书里,包含了被CA的私钥加密过的服务器公钥,客户端拿到后,会用内置在操作系统或浏览器里的CA公钥去进行解密。展开评论点赞 - #青训营笔记创作活动#
2月9日 打卡day5
今天学习了数据库表中的实际数据存储条数不能仅盲目相信不超过2000万条这一标准。要考虑在最佳性能下可以存放的数据量会随字段,数据长度等的变化。通过考虑IO性能优化,分析InnoDB中高度为3的B+树最多可以存多少数据。根据页格式信息推算出每页存数据的剩余空间,基于行格式信息等确定非叶子节点存储索引条数,进而确定叶子结点数量,基于每个节点可存储行的最大长度避免溢出页计算出行数的跨度范围,可得到表的数据存储范围从一百二十多万条 到 将近5亿条,推理思路严谨让人印象深刻。展开评论点赞 - #青训营笔记创作活动#
2月6日 打卡day4
今天学习了linux下查看单机上日志的基础指令,主要基于cat,tail等基础开发指令来查找日志内容,其中后者可以动态追加查看日志,方便快捷。
评论点赞 - #青训营笔记创作活动#
2月5日 day3
今天学习内容为分库分表相关,分库分表要解决的是现存海量数据访问的性能瓶颈,对持续激增的数据量所做出的架构预见性。介绍了垂直和水平拆分,数据分表后存储位置的路由算法包括取模,范围限定等,这些操作会带来一定问题也需要注意。
展开评论点赞 - #青训营笔记创作活动#
2月4日 打卡day 2
这篇文章从编程思想的角度回答了从客户端到服务端的转行难点,客户端是“页面驱动设计”,服务端是“数据驱动设计”,而随着软件架构的演进,“领域驱动设计”在分布式微服务中得到了体现,其核心是明确业务复杂性和技术复杂性的边界,隔离双方的复杂性,站在更高的角度实现解耦。
展开评论点赞 - #青训营笔记创作活动#
2月3日 打卡Day1
今日学习了应对流量高峰场景下的限流方法。文章针对服务器限流,介绍了单节点下的计数器、滑动窗口、漏桶和令牌桶限流策略,以及分布式场景下的基于Redis + Lua的限流策略,对上述策略进行了比较,为今后实现限流的方法选型提供了参考依据。展开评论点赞