获得徽章 1
#青训营笔记创作活动#
2月18日 打卡day23
为什么用公钥加密,却不能用公钥解密?
因为大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密。
展开
评论
#青训营笔记创作活动#
2月17日 打卡day22
Redis(Remote Dictionary Server)是一个开源的、键值对型的数据存储系统。使用C语言编写,遵守BSD协议,可基于内存也可持久化的日志型数据库,提供了多种语言的API,被广泛用于数据库、缓存和消息中间件。并且支持多种类型的数据结构,用于应对各种不同场景。可以存储多种不同类型值之间的映射,支持事务,持久化,LUA 脚本以及多种集群方案等。
展开
评论
#青训营笔记创作活动#
2月16日 打卡day21
整个数据库中,数据表的查询速度直线提升,数据量越大时效果越明显。
②通过创建唯一索引,可以确保数据表中的数据唯一性,无需额外建立唯一约束。
③在使用分组和排序时,同样可以显著减少SQL查询的分组和排序的时间。
④连表查询时,基于主外键字段上建立索引,可以带来十分明显的性能提升。
⑤索引默认是B+Tree有序结构,基于索引字段做范围查询时,效率会明显提高。
⑥从MySQL整体架构而言,减少了查询SQL的执行时间,提高了数据库整体吞吐量。
展开
评论
#青训营笔记创作活动#
2月15日 打卡day20
MySQL索引支持的数据结构如下:
B+Tree类型:MySQL中最常用的索引结构,大部分引擎支持,有序。
Hash类型:大部分存储引擎都支持,字段值不重复的情况下查询最快,无序。
R-Tree类型:MyISAM引擎支持,也就是空间索引的默认结构类型。
T-Tree类型:NDB-Cluster引擎支持,主要用于MySQL-Cluster服务中。
展开
评论
#青训营笔记创作活动#
2月14日 打卡day19
Bytebase是一款面向开发者的数据库变更管理工具,目前在Github上已有3.6K+Star。
它的主要特性如下:
SQL审核:具有一站式SQL审核面板,可以直观地看到数据库所有变更记录。
SQL建议:能自动检查SQL语句规范,额外提供GitHub Action和API接入方式。
SQL编辑器:可以在线管理及查看数据库表,支持语法的自动提示。
GitOps工作流:支持集成GitHub和GitLab,使用GitOps工作流进行数据库变更。
备份恢复:支持自动备份数据库及恢复数据。
展开
评论
#青训营笔记创作活动#
2月13日 打卡day18
慢SQL优化思路。
慢查询日志记录慢SQL
explain分析SQL的执行计划
profile 分析执行耗时
Optimizer Trace分析详情
确定问题并采用相应的措施
可以发现,实际执行的时候,MySQL对select in子查询做了优化,把子查询改成join的方式,所以可以走索引。
展开
评论
#青训营笔记创作活动#
2月11日 打卡day16
SQL语句都诞生于客户端,主要有两种方式产生一条SQL,一种是由开发者自己手动编写,另一种则是相关的ORM框架自动生成,一般情况下,MySQL运行过程中收到的大部分SQL都是由ORM框架生成的,比如Java中的MyBatis、Hibernate框架等。
   同时,SQL生成的时机一般都与用户的请求有关,当用户在系统中进行了某项操作,一般都会产生一条SQL
展开
评论
#青训营笔记创作活动#
2月11日 打卡day16
过早断开连接的原因常见的有两个。
第一个是,服务端设置的超时时间过短。不管是用的哪种编程语言,一般都有现成的HTTP库,服务端一般都会有几个timeout参数,比如golang的HTTP服务框架里有个写超时(WriteTimeout),假设设置了2s,那它的含义就是,服务端在收到请求后需要在2s内处理完并将结果写到响应中,如果等不到,就会将连接给断掉。
第二个原因,也是造成502状态码最常见的原因,就是服务端应用进程崩了(crash)。
展开
评论
#青训营笔记创作活动#
2月10日 打卡day15
对于接口方法的注释,应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述
类的注释应该包含类的功能说明、作者和修改者。
如果是业务逻辑很复杂的代码,真的非常有必要写清楚注释。
清楚的注释,更有利于后面的维护。
展开
评论
#青训营笔记创作活动#
2月9日 打卡day14
分组交换的思想源于报文交换,也采用存储转发的原理,但不同的是分组交换的最小信息单位是分组,而报文交换则是一个个报文。分组加速了数据在网络中的传输,一个分组的存储与前一个分组转发可以并行,所以本质分组交换也是存储转发,可以说让报文更加有组织,转发也更加迅速。
展开
评论
#青训营笔记创作活动#
2月8日 打卡day13
本文的主要目的是在于先对MySQL的整体架构有一个基本认知,这也为咱们后续的文章打下了坚实的基础,因为毕竟想要深入研究一个技术,那定然不能如同管中窥豹一般,仅看一个细节点,而是更应该是先窥其全貌,再深入细节。
展开
评论
#青训营笔记创作活动#
2月7日 打卡day12
文章开头通过抓包baidu的数据包,展示了用wireshark抓包的简单操作流程。
HTTPS会对HTTP的URL和Request Body都进行加密,因此直接在filter栏进行过滤http.host == "baidu.com"会一无所获。
HTTPS握手的过程中会先通过非对称机密去交换各种信息,其中就包括3个随机数,再通过这三个随机数去生成对称机密的会话秘钥,后续使用这个会话秘钥去进行对称加密通信。如果能获得这三个随机数就能解密HTTPS的加密数据包。
展开
评论
下一页
个人成就
文章被阅读 1,785
掘力值 189
收藏集
0
关注标签
4
加入于