- 博客(27)
- 收藏
- 关注
原创 前端性能优化
前端性能优化这两天看了一本《高性能网站建设指南》,主要讲关于前端方面性能优化的内容,在这里简单做一个总结整理规则1. 减少HTTP请求 一个页面的展现,只有10%-20%的最终用户响应时间花在了接受请求的HTML文档上,剩下的时间都花在了HTML中所引用的其他组件的请求上,所以我们优化的最简单的方式就是减少请求的数量。使用CSS Sprites即雪碧图,减少了请求数量的同时也降低了下载量。合并后的图片会比分离的图片的总和要小,这是因为它降低了图片自身的开销(颜色表、格式信息等)使用base
2021-09-18 00:19:15
184
原创 深入理解setState
setState() 并不总是立即更新组件。它会批量推迟更新。这使得在调用 setState() 后立即读取 this.state 成为了隐患。setState中可以传入一个函数,这个函数接受两个参数state 和 props 都保证为最新。setState() 的第二个参数为可选的回调函数,它将在 setState 完成合并并重新渲染组件后执行。setState到底是怎样的?是同步的还是异步的?还有它的批量更新翻阅了好几篇博客,加上自己的验证觉得最合理的如下:react中的setState通
2021-09-09 08:30:14
234
原创 再看react官方文档,值得注意的是
受控组件在 HTML 中,表单元素(如<input>、 <textarea> 和 <select>)之类的表单元素通常自己维护 state,并根据用户输入进行更新。而在 React 中,可变状态(mutable state)通常保存在组件的 state 属性中,并且只能通过使用 setState()来更新。我们可以把两者结合起来,使 React 的 state 成为“唯一数据源”。渲染表单的 React 组件还控制着用户输入过程中表单发生的操作。被 React 以这种
2021-09-09 08:29:31
129
原创 React Hook 学习总结
React Hook 学习总结参考:REACT官方文档(印记中文)文章目录React Hook 学习总结useStateuseEffectuseLayoutEffectuseContextuseReduceruseCallbackuseMemouseRefuseState允许我们在React函数组件中添加state的Hookconst [count,setCount] = useState(0)useState传入一个初始值,返回一个数组,可通过数组解构第一个是变量,第二个是修改变量的方法
2021-04-13 15:44:13
252
1
原创 浅谈React(3)React的key
浅谈React文章目录浅谈React前言一、React的diff总结前言这篇内容少一些一、React的diff传统diff算法时间复杂度达到了O(n3),React结合所需特点,优化到O(n)策略我们对DOM的跨层级操作很少相同类的两个组件将拥有相似的树形结构同一层一组的组件可以通过key进行区分基于上述策略,react diff的优化分为tree diff、component diff、element diff基于策略一,tree diff只对同一层级的节点进行di
2020-12-26 13:55:30
139
原创 浅谈react(2) 新旧生命周期 (浅谈两个钩子getDerivedStateFromProps、getSnapshotBeforeUpdate)
浅谈React系列目录浅谈react(1)三大属性文章目录浅谈React系列目录前言一、聊聊旧的生命周期钩子1、人有从生到死的一个过程,组件也有从生到死这样一个过程。2、React提供的7个生命周期钩子3、React组件生命周期流程图二、新的生命周期钩子1.改变2.新的生命周期流程图3、对两个新钩子参数的验证总结前言本篇谈谈React新旧生命周期,React官方去掉了三个旧生命周期钩子,同时引入了两个新的生命周期钩子。因为中文文档中关于两个新钩子的描述比较少,所以我就看了写博客同时加上验
2020-12-25 14:32:01
1109
1
原创 浅谈react(1)三大属性
浅谈react本章目录浅谈react前言一、React是什么二、jsx三、react组件的创建方式四、react三大属性之state1、react把组件看作是一个状态机2、 react建议把state当作不可变的3、用this.setState({})来更新状态时可能时异步的4、使用this.setState更新状态是合并的,而不是替换五、react三大属性之props六、react三大属性之refs总结前言本篇主要来谈React的三大属性state、refs、props一、Reac
2020-12-23 21:26:59
471
3
原创 React+redux+react-router实现的商品后台管理系统
该项目使用react+ant+axios+redux+react-router商品后台管理系统pwagithub地址:https://github.com/5773421/manage实现功能:用户登录(token鉴权)将用户输入的表单信息提交给服务端验证若登录成功,将用户信息用redux存起来同时将用户信息保存到localstorage(包括一个标记用户是否已经登录的标记)每次如果刷新页面,redux中的用户信息在reducer中初始化的时候先从localstorage中读取若退出登录清
2020-12-22 22:18:02
407
1
原创 git学习笔记
git学习笔记1. git三区工作区暂存区版本库通过git add XXX 将文件推到暂存区然后通过 git commit -m ‘’ 把暂存区内容推到版本区2. 初始化git init 命令,进行初始化git add 添加某文件到暂存区git status 查看文件状态红色: 文件在工作区绿色: 文件在暂存区git commit -m ‘’3. 对比git diff 比较暂存和工作git diff --cached 比较版本和暂存git diff m
2020-10-23 11:23:33
82
原创 less栅格系统,可自定义列数、列间距宽等
为方便以后直接使用,特此笔记// 全局设置 reset.css normalize.css@import 'normalize';*{ box-sizing: border-box;}//清除浮动.clearfix{ &:after{ content:''; display:block; clear:both; }}//变量定义@screen-lg: 1200px;@screen-md: 992px;
2020-09-21 20:58:07
520
原创 javascript高级篇笔记
1、变量.用于存放数据,存放的数据可以改变.本质:变量本身也是数据,也需要在内存中占用空间,保存在内存的栈结构分区中。2、常量.用来保存数据,保存的数据不可以修改.本质:常量本身也是数据。需要占用空间,保存在栈。3、基本数据类型特点.一旦定义了值是不会发生改变的。4、typeof.检测数据类型,只能检测到String Number Boolean Undefined Function Object .假如用typeof检测,数组和null 返回值都是Object5、inst
2020-08-05 10:19:32
160
原创 js中let和变量提升见解
let和var一样用来声明变量,支持块级作用域,不允许重复定义,同时不允许在定义前使用。变量提升: -全局变量提升:会创建一个变量对象(script)用来收集全局作用域下let定义的变量,但是没有赋值。 -局部变量提升:会将var let定义的变量全部放到当前函数的变量对象中。 -区别:let提升的变量在为赋值之前不允许使用。(摘取自笔记)上面是let的变量提升的描述。说的是全局变量会被一个script变量对象所收集,它是在变量对象global之后被压入栈中,这个变量对象中保存着全局中被
2020-07-30 12:10:41
1182
原创 js中作用域链和执行上下文的关系
执行上下文执行上下文是一个抽象的概念,代表了代码执行的环境,包含:执行环境,变量对象,this,作用域链。.流程:——js引擎在js代码正式执行之前会创建一个执行环境——进入该环境以后创建一个变量对象,改对象用于收集:变量、函数、函数的参数、this。(找关键字var function)——确认this的指向——创建作用域链 ——分函数和全局()——每调用一次函数创建一次执行上下文。作用域链作用域链是真实存在的,是一个数组结构,该结构中保存着一个个变量对象。他们之间的关系首先我们要
2020-07-25 11:49:59
664
2
原创 UNIX C学习小笔记(粗略)不断更新
UNIX C 学习小笔记1. man帮助的使用2. 一些常用小命令3.bash中的变量须知四.用户信息1. man帮助的使用man 1 command (ls)man 2 系统调用 (open(2))man 3 库函数(printf)2. 一些常用小命令nm 二进制文件的名字 //查看二进制文件中的符号表(函数的名 //字 全局变量的名字 ...
2020-02-01 15:12:21
1355
原创 gcc链接动静态库文件
gcc链接一.静态库的建立和使用二.动态库的建立和使用三.动静态库文件的区别链接分为两种,分别为静态链接和动态链接库文件分为静态库文件和动态库文件一.静态库的建立和使用使用静态库文件链接生成可执行文件的时候,采用静态链接的方式。1.将要加入静态库的模块编译成目标文件 gcc -c a.c b.c2.将目标文件打包到静态库文件中 ar -r libname.a a.o b.o3.使...
2020-01-31 22:11:08
656
原创 关于gcc编译
关于GCC编译头文件c程序的编译过程头文件" "这种表示现在当前目录下寻找头文件,若未找到则在系统指定目录下去寻找。< >这种表示在系统指定目录下寻找头文件,若未找到报错。c程序的编译过程由 hello.c 预处理成 hello.i文件。预处理过程中,清除所有注释内容,执行预处理命令(例如#include)可以通过 gcc -E -o hello.i hello....
2020-01-18 17:22:43
252
原创 编写C程序判断大小端模式
编写C程序判断大小端模式大小端存储实例char类型取int中的最低内存处开始写程序大小端先来说说**大小端模式**。大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的...
2020-01-16 01:37:06
608
原创 ubuntu 18.04换源 换国内源 (小白)
在我们安装好ubuntu以后,软件更新源是国外的,我觉得最大的不好就是速度太慢了,太TM慢了,9kb每秒其实很简单,傻瓜式操作备份原来的文件cd /etc/aptcp sources.list sources.bak修改文件//有些人可能没有装vim我们用visudo vi sources然后我们把原来文件里的东西删除掉 复制下面的东西进去 我比较喜欢阿里的源 就放个阿...
2019-12-26 11:12:52
626
原创 python笔记
文章目录python缩减版笔记python缩减版笔记1.计算机中时间的表示是从“1970年1月1日00:00:00"开始,以毫秒进行计算,我们也把1970年这个时刻称为“unix时间点”。2.ord()函数,把字符转换成数字3.chr()函数,把数字转换成字符4. print(“asdfa”,end=“xxx”),print函数默认换行结束,可以加参数end=“xxx”,这样就以xxx结...
2019-12-09 21:51:49
82
原创 c的指针(牛批)
c和指针笔记一.快速上手1.c语言中形式参数和实际参数的名字没有什么关系。2.scanf函数的返回值是函数成功转换并存储于参数中的值的个数3.&&操作符,左边的表达式为假时不再判断右边的表达式4.int ch=0; while(ch=getchar()!=EOF);为什么ch被定义为整型?原因是EOF是一个整型值,它的位数比字符型要多,把ch声明成整型可以防止从输入读...
2019-11-30 15:16:56
232
原创 Linux ubuntu18.04下socket聊天室 私聊 群聊
这个聊天室写出来也有一段时间了先来几张效果图进入界面登录成功界面群聊时三个客户端界面群聊时服务器打印信息:mysql数据库里存放的用户信息:首先要懂几个东西就是 socket网络编程 mysql的增删改查 多线程和IO复用的一点皮毛就没了首先 socket网络编程就下面几个步骤定义 绑定 设置最大监听数 监听等待连接 收发信息还有就是mysql 的...
2019-08-06 09:29:24
2791
5
原创 nyoj 1504-懒惰的MINdandan
1504-懒惰的MINdandan内存限制:64MB 时间限制:1000ms 特判: No 通过数:44 提交数:124 难度:0 题目描述:双十一快来了,某宝今年又在搞事情,老早就开始搞什么集能量,能量PK的鬼东西,MINdandan同志很懒,表示不想看,也不想参加这种(鸡肋)活动。但是总是会有很多勤奋的同学对于这种活动十分热衷,所以MINdandan同志总是会收到别人的消息...
2019-02-28 20:45:55
93
原创 分析、统计算法的执行效率和资源消耗
分析、统计算法的执行效率和资源消耗复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。为啥需要复杂度分析?其实我们把代码用电脑跑一遍我们可以知道这段代码用的内存和时间消耗,那么为啥还要进行复杂度分析呢?1.测试结果和环境本身有很大的关系,比如拿个i3的电脑和i7的电脑测试,结果可想而知。2.测试结果和测试数据息息相关,比如说排序,一个有序度很高的数列和一...
2019-02-17 17:33:21
1116
原创 sort函数
说下最近学到的吧,C++中的STL库中的sort函数。说起来这STL库真的是很好用,之前敲算法题排序的话都是自己一个字母一个字母敲上去的。无非就是冒泡啊简单选择啊桶啊之类的。而sort函数用起来是非常方便的,它本质上其实就是快排,涉及到了二分法,所以说它用起来效率是非常高的,最不济也是和冒泡用的时间一样,时间复杂度为n*log2(n)。但是它用代码实现起来还是挺麻烦的,主要是至少也得40多行...
2019-02-03 18:26:06
146
原创 Floyd-Warshall算法
Floyd-Warshall算法如图有1 2 3 4四个城市,之间的路程就是那个数字,路线是单向的,假如说我们现在处于城市1处,然后我们用一个二维数组来表示两个城市之间的距离,eg:a[1][2]表示城市1到城市2之间的距离,也就是2.输入两个数一个表示顶点数,一个表示边的条数。两个城市之间的距离有长有短,所以说从一个城市到另外一个城市的距离可能没有从一个城市到一个城市再到另外一个城市的距离短...
2019-01-28 00:06:38
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人