获得徽章 1
- #青训营笔记创作活动#
2月20日 打卡day32
今日学习MySQL命令大全。而我们每一位开发者,作为人类也不例外,无法抵挡时间的流逝,其记忆力会随着时间逐渐推移不断下降,而MySQL中的命令/函数很多,本文一些常用的SQL命令/函数全部罗列出来,当需要用到时只需回来搜索即可。展开评论点赞 - #青训营笔记创作活动#
2月17日 打卡day31
今日学习本地锁至分布式锁的演进和Redis实现-扩展 Redlock 红锁。有本地锁的使用和存在的问题,分布式锁的实现:setnx,解决死锁问题和正确使用Redis的分布式事务锁。红锁 Redlock的算法、异步、释放等。展开评论点赞 - #青训营笔记创作活动#
2月16日 打卡day30
今日学习Qiankun原理,JS沙箱的隔离。JS 的隔离到底是怎么做到的,写 window.a = 1 的时候,a 是怎么被挂载到这些 XXXSandbox 上的呢?直接云修改 window.a = 123 时,JS 沙箱到底是怎么隔离这个 a 的呢?qiankun 一共有 3 种沙箱:SnapshotSandbox,LegacySandbox,ProxySandbox。qiankun 会把要执行的 JS 包裹在立即执行函数中,通过绑定上下文和传参的方式来改变 this 和 window 的值,让它们指向 window.proxy 沙箱对象,最后再用 eval 来执行这个函数。展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day29
今日学习关于流程引擎 Flowable的开篇基础知识。Flowable 核心思想还是在做一个功能丰富的流程引擎工具,除了最最基础的工作流,他还提供了很多其他的扩展点,我们可以基于 Flowable 实现出许多我们想要的功能。展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day28
今天学习了基于 AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制。一般向外暴露的接口,都需要加上一个访问限制,以防止有人恶意刷流量或者爆破,访问限制的做法有很多种,从控制粒度上来看可以分为:全局访问限制和接口访问限制,本文讲的是接口访问的限制。唯一的缺点是该方法只支持在方法上添加注解,不支持给类添加,如果想给一个类的所有方法添加上限制,则必须给该类的所有方法都加上该注解才行。展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day27
今天学习了为什么要进行分库分表。分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。为了减少数据库的负担,提升数据库响应速度,缩短查询时间,这时候就需要进行分库分表。展开评论点赞 - #青训营笔记创作活动#
2月11日 打卡day26
今天学习了关于数据库不一致性问题的产生及主流解决方案还有思考。缓存经常出现的一些问题包括缓存与数据库双写不一致,缓存雪崩、缓存穿透,缓存并发竞争。数据一致性解决方案则有重试,消息队列-异步,Canal 订阅日志实现等。展开评论点赞 - #青训营笔记创作活动#
2月9日 打卡day25
今天学习了作为高并发系统基石之一的缓存,如何去会用,用好。缓存常常被当做系统性能扛压的不二之选。在实施方案上,缓存使用策略虽有一定普适性,却也并非完全绝对,需要结合实际的项目诉求与场景进行综合权衡与考量,进而得出符合自己项目的最佳实践。对缓存的各个方面进行了一个简单的阐述与了解,也可以看出缓存对于一个软件系统的重要价值。通过对缓存的合理、充分利用,可以大大的增强我们的系统承压性能、提升产品的用户体验。展开评论点赞 - #青训营笔记创作活动#
2月8日 打卡day24
今天学习了关于高并发秒杀任务处理的一些细节。包括瞬时高并发,页面静态化,秒杀按钮,读多写少,缓存问题,库存问题,分布式锁,mq异步处理,如何限流等。评论点赞 - #青训营笔记创作活动#
2月7日 打卡day23
今天学习了公钥加密不能使用公钥解密的原因。说白了加密就是将一个已知的数字根据一定的规则转换变成另一个数字,以前这些数字放在一起都可读,但是经过这么一转换,就变得不可读了。因为大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密。展开评论点赞