获得徽章 0
#青训营笔记创作活动#
2.14打卡day50
服务器根据客户端的请求,从其关系的一组或多组后端服务器(如 Web 服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的 IP 地址,而不知道在代理服务器后面的服务器集群的存在
2.14打卡day50
服务器根据客户端的请求,从其关系的一组或多组后端服务器(如 Web 服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的 IP 地址,而不知道在代理服务器后面的服务器集群的存在
展开
评论
点赞
#青训营笔记创作活动#
2.12打卡day49
今天得到一个重点,所谓的并发事务肯定是基于同一个数据而言的,例如事务A目前在操作X表,事务B在操作Y表,这是一个并发事务吗?答案显然并不是,因为两者操作的都不是同一个数据,没有共享资源自然也不会造成并发问题。多个事务共同操作一张表、多个事务一起操作同一行数据等这类情景,这才是所谓的并发事务。
2.12打卡day49
今天得到一个重点,所谓的并发事务肯定是基于同一个数据而言的,例如事务A目前在操作X表,事务B在操作Y表,这是一个并发事务吗?答案显然并不是,因为两者操作的都不是同一个数据,没有共享资源自然也不会造成并发问题。多个事务共同操作一张表、多个事务一起操作同一行数据等这类情景,这才是所谓的并发事务。
展开
评论
点赞
#青训营笔记创作活动#
2.11打卡day48
今天明白了ELK 是 ES、Logstash、Kibana 的总称,其核心功能就是实现数据的收集、搜索、可视化。具体功能和使用在本文都会提到。
2.11打卡day48
今天明白了ELK 是 ES、Logstash、Kibana 的总称,其核心功能就是实现数据的收集、搜索、可视化。具体功能和使用在本文都会提到。
评论
点赞
#青训营笔记创作活动#
2.9打卡day47
melo直接访问子系统A,此时会优先判断局部会话是否存在且有效【token】
若有效则直接放行,没有SSO什么事情了,业务正常执行
若无效,说明局部会话不存在,此时去判断全局会话
接下来会跳转到SSO页面,SSO页面调用SSO服务接口,判断全局会话是否存在,发现session存在且有效
2.9打卡day47
melo直接访问子系统A,此时会优先判断局部会话是否存在且有效【token】
若有效则直接放行,没有SSO什么事情了,业务正常执行
若无效,说明局部会话不存在,此时去判断全局会话
接下来会跳转到SSO页面,SSO页面调用SSO服务接口,判断全局会话是否存在,发现session存在且有效
展开
评论
点赞
#青训营笔记创作活动#
2.8打卡day46
经过《MySQL锁机制》、《MySQL-MVCC机制》两篇后,咱们已经大致了解MySQL中处理并发事务的手段,不过对于锁机制、MVCC机制都并未与之前说到的《MySQL事务机制》产生关联关系,同时对于MySQL锁机制的实现原理也未曾剖析,因此本篇作为事务、锁、MVCC这三者的汇总篇,会在本章中补全之前空缺的一些细节,同时也会将锁、MVCC机制与事务机制之间的关系彻底理清楚。
2.8打卡day46
经过《MySQL锁机制》、《MySQL-MVCC机制》两篇后,咱们已经大致了解MySQL中处理并发事务的手段,不过对于锁机制、MVCC机制都并未与之前说到的《MySQL事务机制》产生关联关系,同时对于MySQL锁机制的实现原理也未曾剖析,因此本篇作为事务、锁、MVCC这三者的汇总篇,会在本章中补全之前空缺的一些细节,同时也会将锁、MVCC机制与事务机制之间的关系彻底理清楚。
展开
评论
点赞
#青训营笔记创作活动#
2.7打卡day45
不用动态更新查看日志就可以使用cat查询文件内有没有该内容这个可以、如果需要动态的看新日志进入到文件就使用tail监听着文件的进入。
2.7打卡day45
不用动态更新查看日志就可以使用cat查询文件内有没有该内容这个可以、如果需要动态的看新日志进入到文件就使用tail监听着文件的进入。
评论
点赞
#青训营笔记创作活动#
2.6打卡day44
(Structured Query Language)标准结构化查询语言简称SQL,编写SQL语句是每位后端开发日常职责中,接触最多的一项工作,SQL是关系型数据库诞生的产物,无论是什么数据库,MySQL、Oracle、SQL Server、DB2、PgSQL....,只要还处于关系型数据库这个范畴,都会遵循统一的SQL标准,这句话简单来说也就是:无论什么关系型数据库,本质上SQL的语法都是相同的,因为它们都实现了相同的SQL标准,不同数据库之间仅支持的特性不同而已。
2.6打卡day44
(Structured Query Language)标准结构化查询语言简称SQL,编写SQL语句是每位后端开发日常职责中,接触最多的一项工作,SQL是关系型数据库诞生的产物,无论是什么数据库,MySQL、Oracle、SQL Server、DB2、PgSQL....,只要还处于关系型数据库这个范畴,都会遵循统一的SQL标准,这句话简单来说也就是:无论什么关系型数据库,本质上SQL的语法都是相同的,因为它们都实现了相同的SQL标准,不同数据库之间仅支持的特性不同而已。
展开
评论
点赞
#青训营笔记创作活动#
2.5打卡day43
一般开源库都会结合github action进行单测流水线化,目录中会有.github/workflows/xxx.yml等文件,通过这些文件可以在提出pr、push等阶段进行校验。
因此,我们也需要更改这些文件,确保能执行自己的单测。
2.5打卡day43
一般开源库都会结合github action进行单测流水线化,目录中会有.github/workflows/xxx.yml等文件,通过这些文件可以在提出pr、push等阶段进行校验。
因此,我们也需要更改这些文件,确保能执行自己的单测。
展开
评论
点赞
#青训营笔记创作活动#
2.2打卡day42
表容量主要从表的记录数、平均长度、增长量、读写量、总大小量进行评估。一般对于OLTP的表,建议单表不要超过2000W行数据量,总大小15G以内。访问量:单表读写量在1600/s以内
2.2打卡day42
表容量主要从表的记录数、平均长度、增长量、读写量、总大小量进行评估。一般对于OLTP的表,建议单表不要超过2000W行数据量,总大小15G以内。访问量:单表读写量在1600/s以内
评论
点赞
#青训营笔记创作活动# 1.30打卡day41
1、点击程序的目标行旁边,生成一个小红点; 2、右键小红点,可以在condition那里设置程序中的条件;
1、点击程序的目标行旁边,生成一个小红点; 2、右键小红点,可以在condition那里设置程序中的条件;
评论
点赞
#青训营笔记创作活动#
1.27打卡day40
固定窗口计数是指,假设我们的限流规则是:1min内最多只能访问10次,那么固定窗口就是固定了【 1min-2min】这个窗口内,只能有10次访问 ,相应的我们就要给这个窗口维护一个计数器。 为了节省空间,其实我们不需要维护一个个窗口,只需要维护当前访问时间所在的窗口即可,以及对应的计数器,当新的访问到达了下一个窗口时,则计数器重置即可。
1.27打卡day40
固定窗口计数是指,假设我们的限流规则是:1min内最多只能访问10次,那么固定窗口就是固定了【 1min-2min】这个窗口内,只能有10次访问 ,相应的我们就要给这个窗口维护一个计数器。 为了节省空间,其实我们不需要维护一个个窗口,只需要维护当前访问时间所在的窗口即可,以及对应的计数器,当新的访问到达了下一个窗口时,则计数器重置即可。
展开
评论
点赞
#青训营笔记创作活动#
1.22打卡day39
Optional 的对象可能包含值,也可能为空。可以使用同名方法创建一个空的 Optional。
Optional<User> emptyOpt = Optional.empty(); emptyOpt.get(); 复制代码
此时访问 emptyOpt 变量的值会导致 NoSuchElementException。
还可以使用 of() 和 ofNullable() 方法创建包含值的 Optioanal 实例,区别在于如果将 null 当作参数传进去 of() 会报空指针异常,所以当对象可能存在或者不存在,应该使用 ofNullable()。
1.22打卡day39
Optional 的对象可能包含值,也可能为空。可以使用同名方法创建一个空的 Optional。
Optional<User> emptyOpt = Optional.empty(); emptyOpt.get(); 复制代码
此时访问 emptyOpt 变量的值会导致 NoSuchElementException。
还可以使用 of() 和 ofNullable() 方法创建包含值的 Optioanal 实例,区别在于如果将 null 当作参数传进去 of() 会报空指针异常,所以当对象可能存在或者不存在,应该使用 ofNullable()。
展开
评论
点赞
#青训营笔记创作活动#
1.20打卡day38
React.memo() 是 React 的一个顶层 API 且为高阶组件,它对组件做的事类似于 React.PureComponet,用于控制组件的重新渲染,不同的是:React.memo() 是对函数组件进行优化,React.PureComponent 是定义类组件时使用的。
1.20打卡day38
React.memo() 是 React 的一个顶层 API 且为高阶组件,它对组件做的事类似于 React.PureComponet,用于控制组件的重新渲染,不同的是:React.memo() 是对函数组件进行优化,React.PureComponent 是定义类组件时使用的。
展开
评论
点赞
#青训营笔记创作活动#
1.19打卡day37
在分布式系统盛行的今天,尤其是在一些用户体量比较大的互联网业务系统里面,缓存充当着扛压屏障的作用。当前各互联网系统可以抗住动辄数万甚至数十万的并发请求量,缓存机制功不可没。而一旦缓存出现问题,对系统的影响往往也是致命的。所以在缓存的使用时必须要考虑完备的兜底与灾难应对策略。
1.19打卡day37
在分布式系统盛行的今天,尤其是在一些用户体量比较大的互联网业务系统里面,缓存充当着扛压屏障的作用。当前各互联网系统可以抗住动辄数万甚至数十万的并发请求量,缓存机制功不可没。而一旦缓存出现问题,对系统的影响往往也是致命的。所以在缓存的使用时必须要考虑完备的兜底与灾难应对策略。
展开
评论
点赞
#青训营笔记创作活动#
1.18打卡day36
无序的。Go 的运行时是有意打乱迭代顺序的,所以你得到的迭代结果可能不一致。但也并不总会打乱,得到连续相同的 5 个迭代结果也是可能的。
1.18打卡day36
无序的。Go 的运行时是有意打乱迭代顺序的,所以你得到的迭代结果可能不一致。但也并不总会打乱,得到连续相同的 5 个迭代结果也是可能的。
评论
点赞
#青训营笔记创作活动#
1.15打卡day35
Authenticator:用于设置登录时认证用户信息的函数,demo 当中定义了一个 loginStruct 结构接收用户登陆信息,并进行认证有效性。这个函数的返回值 users[0] 将为后续生成 jwt token 提供 payload 数据源。
1.15打卡day35
Authenticator:用于设置登录时认证用户信息的函数,demo 当中定义了一个 loginStruct 结构接收用户登陆信息,并进行认证有效性。这个函数的返回值 users[0] 将为后续生成 jwt token 提供 payload 数据源。
展开
评论
点赞
#青训营笔记创作活动#
1.14打卡day34
对于索引为什么不支持数组、链表、队列等结构就不做过多解释了,因为这些结构中的元素都是按序并排存储,如果选择这些结构来实现索引,那走索引依旧等价于走全表,并未带来查询时的效率提升,反而带来了额外的存储开销,这是没有意义的。
1.14打卡day34
对于索引为什么不支持数组、链表、队列等结构就不做过多解释了,因为这些结构中的元素都是按序并排存储,如果选择这些结构来实现索引,那走索引依旧等价于走全表,并未带来查询时的效率提升,反而带来了额外的存储开销,这是没有意义的。
展开
评论
点赞
#青训营笔记创作活动#
1 12打卡day33
看看上面的建表 sql,id 是主键,本身就是唯一的,也就是说主键的大小可以限制表的上限,如果主键声明 int 大小,也就是 32 位,那么支持 2^32-1 ~~21 亿;如果是 bigint,那就是 2^62-1 ?(36893488147419103232),难以想象这个的多大了,一般还没有到这个限制之前,可能数据库已经爆满了!!
1 12打卡day33
看看上面的建表 sql,id 是主键,本身就是唯一的,也就是说主键的大小可以限制表的上限,如果主键声明 int 大小,也就是 32 位,那么支持 2^32-1 ~~21 亿;如果是 bigint,那就是 2^62-1 ?(36893488147419103232),难以想象这个的多大了,一般还没有到这个限制之前,可能数据库已经爆满了!!
展开
评论
点赞
#青训营笔记创作活动#
1.11打卡day32
MySQL本身提供了一系列关于表的分析、检查与优化命令:
①分析表:分析表中键的分布,如主键、唯一键、外键等是否合理。
②检查表:检查表以及表的数据文件是否存在错误。
③修复表:当一个表的数据或结构文件损坏时,可以修复表结构(仅支持MyISAM表)。
④优化表:消除delete、update语句执行时造成的空间浪费。
1.11打卡day32
MySQL本身提供了一系列关于表的分析、检查与优化命令:
①分析表:分析表中键的分布,如主键、唯一键、外键等是否合理。
②检查表:检查表以及表的数据文件是否存在错误。
③修复表:当一个表的数据或结构文件损坏时,可以修复表结构(仅支持MyISAM表)。
④优化表:消除delete、update语句执行时造成的空间浪费。
展开
评论
点赞
#青训营笔记创作活动#
1.10打卡day31
单体项目中,每把锁锁的就是当前服务中的当前线程的请求。
但是当服务需要进一步扩展时,就会随之产生出一些问题。
多服务并发时,如果还是只给当前线程加锁,多个用户一起尝试获取锁时,可能会有多个用户同时获取到锁,导致出现问题。
1.10打卡day31
单体项目中,每把锁锁的就是当前服务中的当前线程的请求。
但是当服务需要进一步扩展时,就会随之产生出一些问题。
多服务并发时,如果还是只给当前线程加锁,多个用户一起尝试获取锁时,可能会有多个用户同时获取到锁,导致出现问题。
展开
评论
点赞