获得徽章 1
#青训营笔记创作活动#
2.20 打卡day73

show status like '%Handler_read%';查看当前会话的索引使用情况。
show global status like 'Handler_read%';:查询全局索引使用情况。
展开
评论
#青训营笔记创作活动#
2.19 打卡day72
你可以使用INDEX关键字,让多个列组成一个普通联合索引
也可以使用UNIQUE INDEX关键字,让多个列组成一个唯一联合索引
甚至还可以使用FULLTEXT INDEX关键字,让多个列组成一个全文联合索引
展开
评论
#青训营笔记创作活动#

2.18 打卡day71
Bytebase确实是一款实用的数据库管理及变更工具,让我们在没有客户端的情况下也能方便地进行数据库管理,它的SQL审核功能可以避免开发人员对数据库的误操作。
展开
评论
#青训营笔记创作活动#
2.17 打卡day70

Using filesort:表示按文件排序,一般是在指定的排序和索引排序不一致的情况才会出现。一般见于order by语句
Using index :表示是否用了覆盖索引。
Using temporary: 表示是否使用了临时表,性能特别差,需要重点优化。一般多见于group by语句,或者union语句。
Using where : 表示使用了where条件过滤.
Using index condition:MySQL5.6之后新增的索引下推。在存储引擎层进行数据过滤,而不是在服务层过滤,利用索引现有的数据减少回表的数据。
展开
评论
#青训营笔记创作活动#
2.16 打卡day69
innodb_flush_log_at_trx_commit:

0:间隔一段时间,然后再刷写一次日志到磁盘(性能最佳)。
1:每次提交事务时,都刷写一次日志到磁盘(性能最差,最安全,默认策略)。
2:有事务提交的情况下,每间隔一秒时间刷写一次日志到磁盘。


sync_binlog:

0:同上述innodb_flush_log_at_trx_commit参数的2。
1:同上述innodb_flush_log_at_trx_commit参数的1,每次提交事务都会刷盘,默认策略。
展开
评论
#青训营笔记创作活动#
2.14 打卡day68
HTTP状态码用来表示响应结果的状态,其中200是正常响应,4xx是客户端错误,5xx是服务端错误。
客户端和服务端之间加入nginx,可以起到反向代理和负载均衡的作用,客户端只管向nginx请求数据,并不关心这个请求具体由哪个服务器来处理。
后端服务端应用如果发生崩溃,nginx在访问服务端时会收到服务端返回的RST报文,然后给客户端返回502报错。502并不是服务端应用发出的,而是nginx发出的。因此发生502时,后端服务端很可能没有没有相关的502日志,需要在nginx侧才能看到这条502日志。
如果发现502,优先通过监控排查服务端应用是否发生过崩溃重启,如果是的话,再看下是否留下过崩溃堆栈日志,如果没有日志,看下是否可能是oom或者是其他原因导致进程主动退出。如果进程也没崩溃过,去排查下nginx的日志,看下是否将请求打到了某个不知名IP端口上。
展开
评论
#青训营笔记创作活动#
2.13 打卡day67

尽量不要使用e.printStackTrace(),而是使用log打印。因为e.printStackTrace()语句可能会导致内存占满。
catch住异常时,建议打印出具体的exception,利于更好定位问题
不要用一个Exception捕捉所有可能的异常
记得使用finally关闭流资源或者直接使用try-with-resource。
捕获异常与抛出异常必须是完全匹配,或者捕获异常是抛异常的父类
捕获到的异常,不能忽略它,至少打点日志吧
注意异常对你的代码层次结构的侵染
自定义封装异常,不要丢弃原始异常的信息Throwable cause
运行时异常RuntimeException ,不应该通过catch的方式来处理,而是先预检查,比如:NullPointerException处理
注意异常匹配的顺序,优先捕获具体的异常
展开
评论
#青训营笔记创作活动#
2.12 打卡day66
我们知道MAC是每个计算机的标识,那么在每个网络中也要去标识,那么就是IP地址。IP地址(Internet Protocol Address) 指的是互联网协议地址。IP地址在整个互联网范围内是唯一的。MAC跟IP不同的是在物理和数据链路层,而IP是网络层。但IP地址既可以标识网络也可以标识设备。
所以 IP地址指出所在何处,路由则是如何到达该处。
展开
评论
#青训营笔记创作活动#
2.11 打卡day65
DML:数据库操作语句,比如update、delete、insert等都属于这个分类。
DDL:数据库定义语句,比如create、alter、drop等都属于这个分类。
DQL:数据库查询语句,比如最常见的select就属于这个分类。
DCL:数据库控制语句,比如grant、revoke控制权限的语句都属于这个分类。
TCL:事务控制语句,例如commit、rollback、setpoint等语句属于这个分类。
展开
评论
#青训营笔记创作活动#
2.10 打卡day64
文章开头通过抓包baidu的数据包,展示了用wireshark抓包的简单操作流程。
HTTPS会对HTTP的URL和Request Body都进行加密,因此直接在filter栏进行过滤http.host == "baidu.com"会一无所获。
HTTPS握手的过程中会先通过非对称机密去交换各种信息,其中就包括3个随机数,再通过这三个随机数去生成对称机密的会话秘钥,后续使用这个会话秘钥去进行对称加密通信。如果能获得这三个随机数就能解密HTTPS的加密数据包。
三个随机数,分别是客户端随机数(client random),服务端随机数(server random)以及pre_master_key。前两个,是明文,第三个是被服务器公钥加密过的,在客户端侧需要通过SSLKEYLOGFILE去导出。
通过设置SSLKEYLOGFILE环境变量,再让curl或chrome会请求HTTPS域名,会让它们在调用TLS库的同时导出对应的sslkey文件。这个文件里包含了三列,其中最重要的是第二列的client random信息以及第三列的pre_master_key。第二列client random用于定位,第三列pre_master_key用于解密。

展开
评论
#青训营笔记创作活动#
2.9 打卡day63
有些代码无法阅读,其实造成这些原因的很大一部分原因是由于代码规范的问题,如果写的规范,注释好,其实很多问题也就解决了。所以文章从代码的编写规范,格式的优化,设计原则和一些常见的代码优化的技巧等方面总结了了45个小技巧,很实用!!!
展开
评论
下一页
个人成就
文章被点赞 2
文章被阅读 1,283
掘力值 122
收藏集
1
关注标签
19
加入于