获得徽章 1
- #青训营 x 字节后端训练营#
今天看了点数据库的文章。MySQL数据库可以说是必备技能了,不看真说不过去评论点赞 - #青训营 x 字节后端训练营#
浅学一下HTTP和HTTPS,你说常见不?很常见!你说明白不?还真不一定!多了解理论知识,多找机会实践才是硬道理。评论点赞 - #青训营 x 字节后端训练营#
今天学习了一点Git操作的命令。作为开发者,git属于是基本技能了,传说程序员入职第二天因为不会Git被开除.../sad评论点赞 - #青训营 x 字节后端训练营#
多了解学习了一点go语言并发编程的知识点,可以说是课堂内容的有效补充。评论点赞 - #青训营 x 字节后端训练营#
今天了解了一下Go Web开发入门的一点知识,作为初学小白,这篇文章很有帮助。此前仅有过一点C++ QT开发的经验,实在汗颜评论点赞 - #青训营笔记创作活动#
23/1/17 day7打卡
今天学习了关于电脑联网和IP相关的知识。互联网无论在日常生活还是开发过程中都无可避免的要接触和学习,理解电脑如何上网有着很大的好处。
与IP息息相关的技术是DHCP协议,有四个阶段,负责分配IP地址,其一项重要功能是检查IP是否冲突,底层使用UDP而不用TCP,重要知识点,记下来。展开评论点赞 - #青训营笔记创作活动#
23/1/76 day6打卡
正好借青训营的机会,入门学习go语言和后端开发,学习前辈总结的经验。
此前做过客户端开发,如作者所说,从客户端到服务端最大的挑战是编程思维的转变。高效学习新的编程语言,一定需要仔细学习官方文档,并熟练掌握sql,redis,Linux,nginx的知识点。而进阶阶段必须学习微服务和DDD。
希望这一期的旅程结束,能学有所得,学有所获,学有所成,大家一起加油!展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day5
今天了解了几类实用的IDEA插件,名称及其功能分别是:
key promoter x:快速学习IDEA快捷键
lombok:IDEA已内置,无需安装即可使用。是一个java代码功能增强库
mybatisx:支持xml和mapper接口之间的跳转,能够直接根据方法名称生成sql实现
restfulfastrequest:可以根据已有的方法快速生成接口调试用例
plantuml:开源的UML图绘制工具,支持文本生成图形
sequencediagram:根据代码生成时序图
gsonformatplus:根据json字符串自动生成实体类的插件,支持lombok
jsonparser:json格式化插件
string manipulation:专业处理字符串
mapstruct support:基于java注解的对象属性映射工具
Alibaba cloud toolkit:自动化部署
arthas idea:arthas命令生成
docker:IDEA内置的docker插件
maven helper:解决maven依赖冲突
grep console:分析控制台日志
markdown:支持剪辑markdown文件并预览
translation:翻译插件
statistic:代码统计工具
vue.js:根据模板创建.vue文件
这几类插件覆盖的应用场景十分广泛,能够应对日常的大部分开发。装太多容易卡顿,可以根据具体需要进行选择。展开评论点赞 - #青训营笔记创作活动#
2023/1/14 day4 打卡
今天的学习内容为TCP的三次握手和四次挥手。
三次握手英文术语是Tree-way Handshake,我理解的是建立TCP连接的过程。即在建立TCP连接时需要客户端和服务端总共发送3个包来确认连接的建立。
第一次握手发生在建立连接时,客户端发送syn包到服务器,客户端进入SYN_SEND的状态
第二次握手发生在服务端接收到syn包,必须确认客户的syn,同时也发送自己的syn包,服务端进入SYN_RECV的状态
第三次握手发生在客户端收到来着服务端的syn+ack包时向其发送确认包ack,发送完毕后二者都进入ESTABLISHED状态
四次挥手则是终止TCP连接,服务端和客户端总共发送4个包以确认连接的断开。
第一次 客户端发送一个FIN,关闭数据发送,进入FIN_WAIT_1的状态
第二次 服务端收到fin,向客户端发送ack包,进入CLOSE_WAIT的状态
第三次 服务端发送一个fin,关闭数据传送,服务端进入LAST_ACK状态
第四次 客户端收到fin,进入TIME_WAIT的状态,接着发送一个ack给服务端,服务端进入CLOSED状态。
展开评论点赞 - #青训营笔记创作活动#
2022/1/12 day2打卡
今天阅读内容为redis,一种很受欢迎的nosql数据库
首先总结redis的一些基本概览。
redis共有10种数据结构,其中常用的有5种。分别是:string,hash,list,set,zset,pubsub,bitmap,geo,stream和hyperloglog。
redis遵循的协议是文本协议,有两种:RESP,RESP3,后者自redis6启用,用于增加客户端的缓存
redis底层的数据结构主要有以下几类:string,hash,set,list,zset,stream
redis的持久化方式有三种:RDB, AOF, RDB+AOF(即混合模式),一般仅采用RDB模式
redis的性能优化方式有以下四种:unlink删除key,pipeline批量传输,减少网络RTT,多值指令mset和hmset,和关掉aof
最后是redis的扩展方式,主要有lua和redis-module,后者知道的人比较少,属于比较底层的开发。
之后简单总结redis的淘汰策略。
淘汰策略主要有三种:被动删除,主动删除和内存使用超过maxmemory,触发主动清理策略。第三种情况的处理策略,具体下来又可分为8种,这里不再细说。
再之后列举redis的常见问题。
redis的使用场景有:缓存,分布式锁,分布式限流,session。于是,需要面临的问题有:缓存一致性,缓存击穿,缓存穿透,缓存血崩,分布式锁。
总的来说,这篇文章只是对redis提纲挈领式的列举总结,想要真正了解redis,仅看这一篇是不够的。不过这篇文章却可以作为一个学习的路径和思路,顺着滤清redis的知识点。展开评论点赞