
获得徽章 10
#青训营笔记创作活动#
2月20日 打卡day37
今日学习《聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性》
本文主要介绍了缓存的使用过程中的一些典型异常的触发场景与防护策略,并探讨了保持缓存与数据库数据一致性的一些保障手段。
2月20日 打卡day37
今日学习《聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性》
本文主要介绍了缓存的使用过程中的一些典型异常的触发场景与防护策略,并探讨了保持缓存与数据库数据一致性的一些保障手段。
展开
评论
点赞
#青训营笔记创作活动#
2月19日 打卡day36
今日学习《go基础语法50问,来看看你的go基础合格了吗?》
本文主要介绍了关于GO基础语法的50个问题,如:.使用值为 nil 的 slice、map会发生啥、访问 map 中的 key,需要注意啥、switch 中如何强制执行下一个 case 代码块、解析 JSON 数据时,默认将数值当做哪种类型等容易出错的问题。
2月19日 打卡day36
今日学习《go基础语法50问,来看看你的go基础合格了吗?》
本文主要介绍了关于GO基础语法的50个问题,如:.使用值为 nil 的 slice、map会发生啥、访问 map 中的 key,需要注意啥、switch 中如何强制执行下一个 case 代码块、解析 JSON 数据时,默认将数值当做哪种类型等容易出错的问题。
展开
评论
点赞
#青训营笔记创作活动#
2月17日 打卡day35
今日学习《使用 Go HTTP 框架 Hertz 进行 JWT 认证》
本文主要介绍了一个高性能的 Go HTTP 框架——Hertz,本文围绕 Hertz 开源仓库的一个 demo,讲述如何使用 Hertz 完成 JWT 的认证与授权流程。
2月17日 打卡day35
今日学习《使用 Go HTTP 框架 Hertz 进行 JWT 认证》
本文主要介绍了一个高性能的 Go HTTP 框架——Hertz,本文围绕 Hertz 开源仓库的一个 demo,讲述如何使用 Hertz 完成 JWT 的认证与授权流程。
展开
评论
点赞
#青训营笔记创作活动#
2月14日 打卡day34
今日学习《(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!》
本文主要讲了:InnoDB-非聚簇索引与MyISAM-非聚簇索引的区别:
InnoDB中的非聚簇索引是以聚簇索引的索引键,与具体的行数据建立关联关系的。
MyISAM中的非聚簇索引是以行数据的地址指针,与具体的行数据建立关联关系的。
一般来说,由于MyISAM引擎中的索引可以根据指针直接获取数据,不需要做二次回表查询,因此从整体查询效率来看,会比InnoDB要快上不少。
2月14日 打卡day34
今日学习《(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!》
本文主要讲了:InnoDB-非聚簇索引与MyISAM-非聚簇索引的区别:
InnoDB中的非聚簇索引是以聚簇索引的索引键,与具体的行数据建立关联关系的。
MyISAM中的非聚簇索引是以行数据的地址指针,与具体的行数据建立关联关系的。
一般来说,由于MyISAM引擎中的索引可以根据指针直接获取数据,不需要做二次回表查询,因此从整体查询效率来看,会比InnoDB要快上不少。
展开
评论
点赞
#青训营笔记创作活动#
2月13日 打卡day33
今日学习《(为什么说MySQL单表行数不要超过2000w?》
本文主要讲了:
一、Mysql 的表数据是以页的形式存放的,页在磁盘中不一定是连续的。
二、页的空间是 16K, 并不是所有的空间都是用来存放数据的,会有一些固定的信息,如,页头,页尾,页码,校验码等等。
三、在 B+ 树中,叶子节点和非叶子节点的数据结构是一样的,区别在于,叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和页号。
四、索引结构不会影响单表最大行数,2kw 也只是推荐值,超过了这个值可能会导致 B + 树层级更高,影响查询性能。
2月13日 打卡day33
今日学习《(为什么说MySQL单表行数不要超过2000w?》
本文主要讲了:
一、Mysql 的表数据是以页的形式存放的,页在磁盘中不一定是连续的。
二、页的空间是 16K, 并不是所有的空间都是用来存放数据的,会有一些固定的信息,如,页头,页尾,页码,校验码等等。
三、在 B+ 树中,叶子节点和非叶子节点的数据结构是一样的,区别在于,叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和页号。
四、索引结构不会影响单表最大行数,2kw 也只是推荐值,超过了这个值可能会导致 B + 树层级更高,影响查询性能。
展开
评论
点赞
#青训营笔记创作活动#
2月12日 打卡day32
今日学习《(十五)MySQL命令大全:以后再也不用担心忘记SQL该怎么写啦~》
本文从罗列了MySQL中大部分常用的命令,基础操作与库命令,增删改查语句
MySQL数据库函数,MySQL支持的数据类型,索引相关的命令,事务与锁相关的命令等。
2月12日 打卡day32
今日学习《(十五)MySQL命令大全:以后再也不用担心忘记SQL该怎么写啦~》
本文从罗列了MySQL中大部分常用的命令,基础操作与库命令,增删改查语句
MySQL数据库函数,MySQL支持的数据类型,索引相关的命令,事务与锁相关的命令等。
展开
评论
点赞
#青训营笔记创作活动#
2月11日 打卡day31
今日学习《用万字长文来讲讲本地锁至分布式锁的演进和Redis实现,扩展 Redlock 红锁》
本文从本地锁一直讲到分布式锁,将Redis实现分布式锁中的一些问题,逐步进行了讲述。
从使用简单的 Redis 中的 SET KEY NX命令实现分布式锁,到使用SET KEY NX EX TIME 命令解决死锁问题,到增加身份标识(UUID) 解决锁被其他人释放问题,
再到使用 Lua 脚本,将解锁操作变成原子性操作,最后讲述了Redisson实现分布式锁,解决了锁自动续期问题。
2月11日 打卡day31
今日学习《用万字长文来讲讲本地锁至分布式锁的演进和Redis实现,扩展 Redlock 红锁》
本文从本地锁一直讲到分布式锁,将Redis实现分布式锁中的一些问题,逐步进行了讲述。
从使用简单的 Redis 中的 SET KEY NX命令实现分布式锁,到使用SET KEY NX EX TIME 命令解决死锁问题,到增加身份标识(UUID) 解决锁被其他人释放问题,
再到使用 Lua 脚本,将解锁操作变成原子性操作,最后讲述了Redisson实现分布式锁,解决了锁自动续期问题。
展开
评论
点赞
#青训营笔记创作活动#
2月10日 打卡day30
今日学习《面试突击81:什么是跨域问题?如何解决?》
跨域问题的本质是浏览器为了保证用户的一种安全拦截机制,想要解决跨域问题,只需要告诉浏览器“我是自己人,不要拦我”就行。它的常见实现方式有 5 种:通过注解实现局部跨域、通过配置文件实现全局跨域、通过 CorsFilter 对象实现全局跨域、通过 Response 对象实现局部跨域,通过 ResponseBodyAdvice 实现全局跨域。
2月10日 打卡day30
今日学习《面试突击81:什么是跨域问题?如何解决?》
跨域问题的本质是浏览器为了保证用户的一种安全拦截机制,想要解决跨域问题,只需要告诉浏览器“我是自己人,不要拦我”就行。它的常见实现方式有 5 种:通过注解实现局部跨域、通过配置文件实现全局跨域、通过 CorsFilter 对象实现全局跨域、通过 Response 对象实现局部跨域,通过 ResponseBodyAdvice 实现全局跨域。
展开
评论
点赞
#青训营笔记创作活动#
2月9日 打卡day29
今日学习《Flowable 开篇,流程引擎扫盲》
市面上主流的流程引擎就一共有三个:Activiti、Flowable、Camunda。这三个各有特点:Activiti 目前是侧重云,他目前的设计会向 Spring Cloud、Docker 这些去靠拢。Flowable 核心思想还是在做一个功能丰富的流程引擎工具,除了最最基础的工作流,他还提供了很多其他的扩展点,我们可以基于 Flowable 实现出许多想要的功能。Camunda 相对于前两个而言比较轻量级,Camunda 有一个比较有特色的功能就是他提供了一个小巧的编辑器,基于 bpmn.io 来实现的。如果项目需求是做一个轻巧的、灵活的、定制性强的编辑器,工作流是嵌入式的,那么可以选择 Camunda。
2月9日 打卡day29
今日学习《Flowable 开篇,流程引擎扫盲》
市面上主流的流程引擎就一共有三个:Activiti、Flowable、Camunda。这三个各有特点:Activiti 目前是侧重云,他目前的设计会向 Spring Cloud、Docker 这些去靠拢。Flowable 核心思想还是在做一个功能丰富的流程引擎工具,除了最最基础的工作流,他还提供了很多其他的扩展点,我们可以基于 Flowable 实现出许多想要的功能。Camunda 相对于前两个而言比较轻量级,Camunda 有一个比较有特色的功能就是他提供了一个小巧的编辑器,基于 bpmn.io 来实现的。如果项目需求是做一个轻巧的、灵活的、定制性强的编辑器,工作流是嵌入式的,那么可以选择 Camunda。
展开
评论
点赞
#青训营笔记创作活动#
2月8日 打卡day28
今日学习《基于 AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制 | 开源微服务项目》
本文讲解了如何在微服务中优雅的实现一个公用的接口访问限制工具。作者写法是基于 AOP + 自定义注解 + Redis,并且封装在一个单独的模块 common-web 下,需要使用的模块只需引入该包,并且给需要限制的方法添加注解即可,很方便,且松耦合。唯一的缺点是该方法只支持在方法上添加注解,不支持给类添加,如果想给一个类的所有方法添加上限制,则必须给该类的所有方法都加上该注解才行。
2月8日 打卡day28
今日学习《基于 AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制 | 开源微服务项目》
本文讲解了如何在微服务中优雅的实现一个公用的接口访问限制工具。作者写法是基于 AOP + 自定义注解 + Redis,并且封装在一个单独的模块 common-web 下,需要使用的模块只需引入该包,并且给需要限制的方法添加注解即可,很方便,且松耦合。唯一的缺点是该方法只支持在方法上添加注解,不支持给类添加,如果想给一个类的所有方法添加上限制,则必须给该类的所有方法都加上该注解才行。
展开
评论
点赞
#青训营笔记创作活动#
2月7日 打卡day27
今日学习《好好的系统,为什么要分库分表?》
分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。
分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。
通过一定的规则,将原本数据量大的数据库拆分成多个单独的数据库,将原本数据量大的表拆分成若干个数据表,使得单一的库、表性能达到最优的效果(响应速度快),以此提升整体数据库性能。
2月7日 打卡day27
今日学习《好好的系统,为什么要分库分表?》
分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。
分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。
通过一定的规则,将原本数据量大的数据库拆分成多个单独的数据库,将原本数据量大的表拆分成若干个数据表,使得单一的库、表性能达到最优的效果(响应速度快),以此提升整体数据库性能。
展开
评论
点赞
#青训营笔记创作活动#
2月6日 打卡day26
今日学习《聊一聊缓存和数据库不一致性问题的产生及主流解决方案以及扩展的思考》
本文主要介绍了缓存相关知识,Redis的使用,Redis面试三大常客,缓存与数据库一致性问题,以及缓存和数据库一致性解决方案。
2月6日 打卡day26
今日学习《聊一聊缓存和数据库不一致性问题的产生及主流解决方案以及扩展的思考》
本文主要介绍了缓存相关知识,Redis的使用,Redis面试三大常客,缓存与数据库一致性问题,以及缓存和数据库一致性解决方案。
展开
评论
点赞
#青训营笔记创作活动#
2月5日 打卡day25
今日学习《聊一聊作为高并发系统基石之一的缓存,会用很简单,用好才是技术活》
本文主要介绍了,在服务端开发中,缓存常常被当做系统性能扛压的不二之选。在实施方案上,缓存使用策略虽有一定普适性,却也并非完全绝对,需要结合实际的项目诉求与场景进行综合权衡与考量,进而得出符合自己项目的最佳实践。
2月5日 打卡day25
今日学习《聊一聊作为高并发系统基石之一的缓存,会用很简单,用好才是技术活》
本文主要介绍了,在服务端开发中,缓存常常被当做系统性能扛压的不二之选。在实施方案上,缓存使用策略虽有一定普适性,却也并非完全绝对,需要结合实际的项目诉求与场景进行综合权衡与考量,进而得出符合自己项目的最佳实践。
展开
评论
点赞
#青训营笔记创作活动#
2月4日 打卡day24
今日学习《高并发下秒杀商品,你必须知道的9个细节》
高并发秒杀商品考查的是高并发场景下,从前端到后端多方面的知识。秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。
2月4日 打卡day24
今日学习《高并发下秒杀商品,你必须知道的9个细节》
高并发秒杀商品考查的是高并发场景下,从前端到后端多方面的知识。秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。
展开
评论
点赞
#青训营笔记创作活动#
2月3日 打卡day23
今日学习《为什么用公钥加密却不能用公钥解密?》
本文主要内容:大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密。
HTTPS相当于HTTP+TLS,目前主流的是TLS1.2,基于TCP三次握手之后,再来TLS四次握手。
TLS四次握手的过程中涉及到两对私钥和公钥。分别是服务器本身的私钥和公钥,以及CA的私钥和公钥。
TLS四次握手背起来会挺难受的,建议关注三个随机数的流向,以此作为基础去理解,大概就能记下来了。
2月3日 打卡day23
今日学习《为什么用公钥加密却不能用公钥解密?》
本文主要内容:大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密。
HTTPS相当于HTTP+TLS,目前主流的是TLS1.2,基于TCP三次握手之后,再来TLS四次握手。
TLS四次握手的过程中涉及到两对私钥和公钥。分别是服务器本身的私钥和公钥,以及CA的私钥和公钥。
TLS四次握手背起来会挺难受的,建议关注三个随机数的流向,以此作为基础去理解,大概就能记下来了。
展开
评论
点赞