获得徽章 1
- #青训营笔记创作活动#
1月30日 打卡day19
Bytebase是一款面向开发者的数据库管理及变更工具,可以让开发者在没有专门的客户端的情况下也能方便地进行数据库管理,目前在Github上已有3.6K+Star(感觉好像PHPMyAdmin)。
主要特性:
SQL审核:具有一站式SQL审核面板,可以直观地看到数据库所有变更记录。
SQL建议:能自动检查SQL语句规范,额外提供GitHub Action和API接入方式。
SQL编辑器:可以在线管理及查看数据库表,支持语法的自动提示。
GitOps工作流:支持集成GitHub和GitLab,使用GitOps工作流进行数据库变更。
备份恢复:支持自动备份数据库及恢复数据。展开评论点赞 - #青训营笔记创作活动#
1月29日 打卡day18
SQL调优是大厂面试必问的模块
较慢的SQL的优化思路主要是:
通过慢查询日志记录慢SQL
explain分析SQL的执行计划
profile分析执行耗时
Optimizer Trace分析详情
确定问题并采用相应的措施展开评论点赞 - #青训营笔记创作活动#
1月28日 打卡day17
MySQL的一个语句从客户端生成,到从连接池中获取一条可用的连接,验证数据库用户权限,再随后进入MySQL的架构中根据语句的类型进行层层处理,最后将执行结果封装为TCP数据包,返回给客户端,就走完了语句的整个生命周期。展开评论点赞 - #青训营笔记创作活动#
1月27日 打卡day16
502是一种HTTP状态码 代表前置的NGINX与后端服务端之间的连接发生了异常,异常一般情况下是指后端服务端向NGINX返回了无效响应(TCP的RST或者FIN)。发生这种情况时,应首先去排查服务端应用是否崩溃重启或主动退出,之后还应检查NGINX的upstream部分是否将请求发送到了错误的IP地址上。展开评论点赞 - #青训营笔记创作活动#
1月26日 打卡day15
形成良好的写代码的习惯,对于写出完善的技术产品来说非常重要。
1. 接口方法、类、复杂的业务逻辑,都应该添加有意义的注释
2. 项目拆分合理的目录结构
3. 不在循环里进行费时间、耗资源的I/O操作
4. 封装方法形参
……等展开评论点赞 - #青训营笔记创作活动#
1月25日 打卡day14
计算机网络本质的问题还是两台计算机之间的通信问题。每台计算机之间都直接拉线不现实,催生了转发和标识。网络扩大之后又催生了集线器,集线器的缺陷改进之后成了交换机。交换机解决“占线”的问题又产生了报文交换和分组交换。以这些为基础,把许多计算机连接在一起形成了计算机网络,而把许多网络连接在一起就构成了互联网。展开评论点赞 - #青训营笔记创作活动#
1月24日 打卡day13
对于一名合格的码农来说,MySQL是必须要了解的东西之一。
MySQL分为网络连接层、系统服务层、存储引擎层、以及文件系统层,往往编写SQL后,都会遵守着MySQL的这个架构往下走。对于MySQL的学习,遵照“先理主干,再扣细节”的方式来进行。展开评论点赞 - #青训营笔记创作活动#
1月23日 打卡day12
HTTPS需要在tls握手过程中的sni部分来找到主机名。
HTTPS握手的过程中会先通过非对称机密去交换各种信息,其中就包括3个随机数,再通过这三个随机数去生成对称机密的会话秘钥,后续使用这个会话秘钥去进行对称加密通信。如果能获得这三个随机数就能解密HTTPS的加密数据包。展开评论点赞 - #青训营笔记创作活动#
1月22日 打卡day11
代码规范是作为一名合格的码农必须要遵守的规则。曾“有幸”见过本科学校选课系统的数据库字段,在没有任何文档的情况下,所有字段的名字都是拼音的首字母的集合。花了4天的时间才把这些名字才出来。展开评论点赞 - #青训营笔记创作活动#
1月21日 打卡day10
本科计算机网络的教材写的是UDP比TCP快,因为TCP要三次握手来建立连接,还要有各种复杂的机制来检测异常情况。在实际运用UDP的时候还是要自己来实现数据的重传逻辑,而使用UDP重传大数据包时,由于IP层分片的存在,如果发生丢包,相比于TCP只需要重传MSS分段,UDP需要重传整个大数据包。在这种情况下,UDP是要慢于TCP的。目前国内运营商对于UDP的QoS限制同样也是在我们的网络环境下UDP要慢于TCP的原因。展开评论点赞