
获得徽章 1
- #青训营笔记创作活动#
2月6日 day10
今日学习主要学习了像这种瞬时高并发的场景,传统的系统很难应对,我们需要设计一套全新的系统。可以从以下几个方面入手:页面静态化、CDN加速、负载均衡、防重、缓存、异步、熔断和限流及分布式锁,总而言之:分层过滤,分而治之。此外还有页面优化之【静态化】。展开评论点赞 - #青训营笔记创作活动#
2月3日 打卡day9
今日学习
MySQL的整体架构从上往下一次分为网络连接层、系统服务层、存储引擎层、以及文件系统层。
1.连接层:主要指数据库连接池,会负责所有客户端接入的工作
2.服务器:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域
3.存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等
4.文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上展开评论点赞 - #青训营笔记创作活动#
前端人70%以上 不了解的promise/async await
1月28日打卡day8
今日学习:promise/async await
1、promise
(1)promise有两个参数回调函数:reslove和reject
当执行了reslove函数,会回调promise对象的.then函数
当执行了reject函数,会回调promise对象的.catch函数
当我们new一个promise时:
new Promise((resolve, reject) => {
console.log(`executor 立即执行`)
})
(2)promise的三个状态
- pending(待定)
- fulfilled(已兑现)
- rejected(已拒绝)
状态只要从待定状态,变为其他状态,则状态不能再改变
(3)then的返回值
- 返回一个普通值,相当于主动调用Promise.resolve,并且把返回值作为实参传递到then方法中;如果没有返回值,则相当于返回undefined
- 返回一个promise对象,返回状态取决于调用resolve还是reject
- 返回一个thenable对象,返回状态取决于调用resolve还是reject展开评论点赞 - #青训营笔记创作活动#
1月19日 打卡day7
跨域分为协议不同,域名不同和端口不同三种情况,跨域问题本质是为了保证用户安全,解决跨域问题的本质是给响应头加一个Access-Control-Allow-Origin的响应头。跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据展开评论点赞 - #青训营笔记创作活动#
1月17日打卡day6
今日学习:函数节流是一个非常常见的优化方式,可以有效避免函数过于频繁的执行
CSS 的实现思路和 JS 不同,重点在于在于找到和该场景相关联的属性
CSS 实现“节流”其实就是控制一个动画的精准控制,假设有一个动画控制按钮从禁用->可点击的变化,每次点击时让这个动画重新执行一遍,在执行的过程中,一直处于禁用状态,这样就达到了“节流”的效果
还可以通过 transition 的回调函数动态设置按钮禁用态
这种实现的好处在于禁用逻辑和业务逻辑是完全解耦的展开评论点赞 - #青训营笔记创作活动#
1月16日 打卡day5
今日学习
抓包将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,HTTP/HTTPS 是应用层使用的通信协议,常见的应用层体系结构是客户端-服务器体系。HTTP/HTTPS 是应用层使用的通信协议,常见的应用层体系结构是客户端-服务器体系。展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day4
Monorepo,多个仓库开发弊端日益显露,由此出现的一种新的项目管理方式。学习了Monorepo 的概念、MultiRepo的弊端、Monorepo 的收益以及Monorepo 的落地这几个角度展开评论点赞 - #青训营笔记创作活动#
1月14日 打卡day3
mousedown,mousemove,mouseup ,当点击按下的时候,克隆一个绝对定位的元素,并标识下"拖拽中"的状态,接着在 mousemove 中就可以判断应该执行的具体方法,从而让元素随着鼠标移动起来。展开评论点赞 - #青训营笔记创作活动#
1月14日 打卡day3
1. 不能智能推导params 2. 处理错误时需要用try~catch 3. 不支持路径参数替换评论点赞 - #第五届青训营阅读打卡#
1月13日 打卡day2
请求处理可以直接在缓存处理,不用去数据库查询,提高了处理和响应速度。评论点赞