获得徽章 1
- #青训营笔记创作活动#
2月11日 打卡day23
今日学习
Redis在面试中很重要,文章总结了30个面试环节中常问的关于Redis的问题。不一定最全面,但一定是有用滴。评论2 - #青训营笔记创作活动#
2月12日 打卡day24
今日学习
1. 结合欧拉定理,可以选取合适的公钥p、私钥q、用于取模的大数,用于非对称加密。数学原理决定我们用公钥加密数据,用私钥解密数据。用私钥加密,公钥解密的模式可称为数字签名
2. HTTPS相当于HPP + TLS目前主流的是TLS1.2,基于TCP三次握手之后,再来TLS四次握手
3. TLS四次握手的过程中设计到两对私钥和公钥,分别是服务器本身的私钥和公钥,以及CA的私钥和公钥展开评论2 - #青训营笔记创作活动#
2月10日 打卡day22
今日学习
对数据库建立索引可以有效提升查询效率,但同时也需要额外的空间存储索引数据,磁盘占用率会变高,且写操作的代价会变高,因此需要合理建立索引,权衡读写之间的利弊关系。展开评论2 - #青训营笔记创作活动#
2月9日 打卡day21
今日学习
索引就是用来帮助表快速检索目标数据的。但如果表的数据量太多,并不建议使用索引,可以考虑分表操作。评论2 - #青训营笔记创作活动#
2月8日 打卡day20
今日学习
慢SQL优化思路:
1. 慢查询日志记录慢SQL
2. explain分析SQL的执行计划
3. Profile分析执行耗时
4. Optimizer Trace分析详情
5. 确定问题并采用相应的措施展开评论2 - #青训营笔记创作活动#
2月7日 打卡day19
今日学习
Bytebase是一款面向开发者的数据库变更管理工具,主要特性有:SQL审核、SQL建议、SQL编辑器、GItOps工作流,备份恢复。决定了,试一试这个数据库工具。展开评论4 - #青训营笔记创作活动#
2月5日 打卡day17
今日学习
1. SQL语句都诞生于客户端,生成的时机一般都与用户的请求有关
2. 讲了一条SQL执行前会经历的过程,在数据库中是如何执行的,以及执行完城后是如何返回的展开评论2 - #青训营笔记创作活动#
2月6日 打卡day18
今日学习
九大挑战:
1.瞬时高并发
2.页面静态化——使用CDN(Content Delivery Network,内容分发网络)完成
3.秒杀按钮
4.读多写少
5.缓存问题(缓存击穿——分布式锁解决,缓存穿透——布隆过滤器)
6.库存问题
7.分布式锁
8.mq异步处理
9.限流展开评论2 - #青训营笔记创作活动#
2月4日 打卡day16
1. 200状态码——一切正常
2. 4xx状态码——客户端错误,401——客户端没权限,404——客户端请求了一个根本不存在的网页
3. 5xx状态码——服务端错误,实际该状态码是由中间代理网关发出的
4. 502状态码——由网关代理发出,因为网关代理把客户端的请求转发给了服务端,但服务端却发出了无效响应,无效响应一般指TCP的RST报文或四次挥手的FIN报文。
5. 如果发现502错误,优先通过监控排查服务端应用是否发生过崩溃重启,如果是,再看下是否留下过崩溃堆栈日志,如果没有日志,看下是否可能是oom或者是其他原因导致进程主动退出。如果进程没崩溃过,去排查下nginx日志,看是否将请求发送到了某个不知名IP端口上。展开评论3 - #青训营笔记创作活动#
2月3日 打卡day15
今日学习
开发好习惯:
1. 注释尽可能全面,写有意义的方法注释
2. 项目差分合理的目录结构
3. 不在循环里远程调用、或者数据库操作,优先考虑批量进行
4. 封装方法形参
5. 封装通用模板
6. 封装复杂的逻辑判断条件
7. 保持优化性能的嗅觉
8. 可变参数的配置化处理
9. 会总结并使用工具类
10. 控制方法函数复杂度
11. 在finally快中对资源进行释放
12. 把日志打印好
13. 考虑异常,处理好异常
14. 考虑系统、接口的兼容性
15. 代码采取措施避免运行时错误展开评论2