获得徽章 1
今日打卡
react props 类型检测和默认值
import PropTypes from 'prop-types'
App.PropTypes = {}
App.defaultProps = {}
react props 类型检测和默认值
import PropTypes from 'prop-types'
App.PropTypes = {}
App.defaultProps = {}
评论
点赞
今日打卡
首屏优化
压缩、分包、treeshaking
静态资源分离(将静态资源和动态资源分开部署,获取静态资源时,可以通过缓存优化)
js非阻塞加载
缓存
SSR
预置loading、骨架屏
渲染优化
GPU加速
减少重绘、回流
离屏渲染
懒加载
js优化
防止内存泄漏
早结束循环
合理使用闭包
较少DOM访问
防抖节流
Web Workers
首屏优化
压缩、分包、treeshaking
静态资源分离(将静态资源和动态资源分开部署,获取静态资源时,可以通过缓存优化)
js非阻塞加载
缓存
SSR
预置loading、骨架屏
渲染优化
GPU加速
减少重绘、回流
离屏渲染
懒加载
js优化
防止内存泄漏
早结束循环
合理使用闭包
较少DOM访问
防抖节流
Web Workers
展开
评论
点赞
今日打卡
在jsx种插入js变量(注意:不是使用js表达式)的显示情况
1. 插入 Number, String, Array 直接显示
2. 插入 undefined null bool 不显示
3. 不能插入 Object类型 not are value 会报错
显示undefined null bool的方法:
转换为字符串:toString、 String(变量)、+""
注意:仍可以在jsx语法中使用js表达式,上述情况是,将js变量作为标签的值插入时的情况,其它位置仍可以使用js表达式。
在jsx种插入js变量(注意:不是使用js表达式)的显示情况
1. 插入 Number, String, Array 直接显示
2. 插入 undefined null bool 不显示
3. 不能插入 Object类型 not are value 会报错
显示undefined null bool的方法:
转换为字符串:toString、 String(变量)、+""
注意:仍可以在jsx语法中使用js表达式,上述情况是,将js变量作为标签的值插入时的情况,其它位置仍可以使用js表达式。
展开
评论
点赞
今日打卡
使用python画图
import matplotlib.pyplot as plt
绘制多张子图的方法:
ax=plt.subplot(2, 2, 1)
2行2列,第一个子图
ax.plot()
使用python画图
import matplotlib.pyplot as plt
绘制多张子图的方法:
ax=plt.subplot(2, 2, 1)
2行2列,第一个子图
ax.plot()
展开
评论
点赞
今日打卡
http1.0:每次通信都新建一个TCP连接,通信结束后断开
http1.1:默认使用长连接keep-alive,即每次通信后不立刻断开TCP连接,设置一个等待时间,这段时间之内保持连接
http2.0:
1. 使用二进制传输:将报文分割为二进制帧(之前为传输文本内容),可以乱序收发,根据帧首部信息组装
2. 使用头部压缩技术,减小头的体积
3. 多路复用,基于SPDY协议,引入*流*的概念,将不同的http传输,多路复用,使用一个TCP连接完成,实现与一个域名下的通信可以使用同一个TCP连接
4. 服务器推送,服务器可以在用户允许时主动发送信息
http3.0:
1. 快速连接:使用QUIC,基于UDP协议发送信息,无需TCP的3次握手,减少建立连接花费的时间(从http2.0中LTS1个RTT+TCP3次握手2个RTT 到 http3.0 仅需要LTS1个RTT,一定条件下实现0RTT建立连接)
2. 实现了流量控制(TCP通过滑动窗口、拥塞避免算法、快速重传;QUIC通过WINDOW_UPDATE帧和BLOCKED帧控制收发速度)、传输可靠
3. 实现了TLS加密(从http2.0开始实现)
多路复用:继承http2.0流的概念,此时一个连接中有多个流,当其中一个出现**队头阻塞**时,其它流不受影响。
http1.0:每次通信都新建一个TCP连接,通信结束后断开
http1.1:默认使用长连接keep-alive,即每次通信后不立刻断开TCP连接,设置一个等待时间,这段时间之内保持连接
http2.0:
1. 使用二进制传输:将报文分割为二进制帧(之前为传输文本内容),可以乱序收发,根据帧首部信息组装
2. 使用头部压缩技术,减小头的体积
3. 多路复用,基于SPDY协议,引入*流*的概念,将不同的http传输,多路复用,使用一个TCP连接完成,实现与一个域名下的通信可以使用同一个TCP连接
4. 服务器推送,服务器可以在用户允许时主动发送信息
http3.0:
1. 快速连接:使用QUIC,基于UDP协议发送信息,无需TCP的3次握手,减少建立连接花费的时间(从http2.0中LTS1个RTT+TCP3次握手2个RTT 到 http3.0 仅需要LTS1个RTT,一定条件下实现0RTT建立连接)
2. 实现了流量控制(TCP通过滑动窗口、拥塞避免算法、快速重传;QUIC通过WINDOW_UPDATE帧和BLOCKED帧控制收发速度)、传输可靠
3. 实现了TLS加密(从http2.0开始实现)
多路复用:继承http2.0流的概念,此时一个连接中有多个流,当其中一个出现**队头阻塞**时,其它流不受影响。
展开
评论
点赞
今日打卡:
jsx在使用js变量或表达式时,js变量在作为标签的内容时:
<h1>{value}</h1>
当value为 Number,String,Array时:直接展示
为 undefined,null,Boolean时:会忽略,需要转化为字符串才能显示
为 Object 时:会报错
但是,这些js变量在jsx的其它部分仍能作为js代码的一部分使用
jsx在使用js变量或表达式时,js变量在作为标签的内容时:
<h1>{value}</h1>
当value为 Number,String,Array时:直接展示
为 undefined,null,Boolean时:会忽略,需要转化为字符串才能显示
为 Object 时:会报错
但是,这些js变量在jsx的其它部分仍能作为js代码的一部分使用
展开
评论
点赞
发现一个有趣的CSS样式,line-height 是 height 的 3到4 分之一时,可以不用相对定位,就能调整block中的文本居中。
评论
点赞
跨域:一种浏览器的保护机制,对于跨域的请求进行拦截。
跨域:协议、IP、端口号有不同则为跨域。
解决跨域的方法:代理
跨域是ajax请求产生的,代理即开启一个同域的服务器作为中转进行访问,此时不适用ajax访问,因此中转的请求不产生跨域。
跨域:协议、IP、端口号有不同则为跨域。
解决跨域的方法:代理
跨域是ajax请求产生的,代理即开启一个同域的服务器作为中转进行访问,此时不适用ajax访问,因此中转的请求不产生跨域。
评论
点赞
记录
狭义定义:进程就是一段程序的执行过程。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统资源分配的基本单元。
即,进程是一个应用程序在操作系统下关于特定的数据的一次执行过程。
特点:
一个正在执行的程序或命令
占有一定的资源和地址空间
一个CPU核 只能同时运行一个进程
由进程ID(PID)和其父进程ID(PPID)唯一识别
狭义定义:进程就是一段程序的执行过程。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统资源分配的基本单元。
即,进程是一个应用程序在操作系统下关于特定的数据的一次执行过程。
特点:
一个正在执行的程序或命令
占有一定的资源和地址空间
一个CPU核 只能同时运行一个进程
由进程ID(PID)和其父进程ID(PPID)唯一识别
展开
评论
点赞
webpack与vite打包速度的差异:
webpack要检查所有模块,分析依赖关系并打包
vite只对要用到的模块进行打包,使用ES6import按需加载
webpack要检查所有模块,分析依赖关系并打包
vite只对要用到的模块进行打包,使用ES6import按需加载
评论
点赞
赞了这篇文章
#新人报道#
今日学习记录:
CommonJS文件导出:
exports = module.exports = {}
实际导出的是module.exports
exports是指向module.exports的引用
因此不能通过exports直接使用=赋值,而exports.key = value实际是向module.exports加入属性。
今日学习记录:
CommonJS文件导出:
exports = module.exports = {}
实际导出的是module.exports
exports是指向module.exports的引用
因此不能通过exports直接使用=赋值,而exports.key = value实际是向module.exports加入属性。
展开
评论
点赞
赞了这篇文章
赞了这篇文章