- 博客(12)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 关于setInterval遇到的一个有趣的坑
问题复现今天学习hooks的时候,做到一个demo,做一个计时器组件,这个组件有开始和暂停两个功能这确实是一个很简单的功能,只需要使用window.setInterval来提供计时功能,用useRef来保存计时器的引用,这样可以随时暂停,最开始我的设计如下:import React, { useState, useCallback, useRef } from "react";export const Timer = () => { //计时器状态及引用 const [time,set
2022-02-25 09:53:13
746
原创 《浏览器工作原理与实践》学习笔记
浏览器原理前言本文是学习**李兵老师的《浏览器工作原理与实践》**过程中记录笔记,详细链接见文末进程vs线程进程:一个应用程序的运行实例就是一个进程,详细来说就是:启动一个应用程序的时候,操作系统会为该程序分配一片内存空间,用来存放代码、数据和一个主线程,这样的运行环境就称为一个进程线程:依附于进程,多个线程并行可以提高运行效率进程和线程之间的几个特点1.进程中的任意一个线程执行出错,都会导致进程崩溃2.线程之间共享父进程的数据3.当进程关闭的时候,整个进程的资源都会被回收4.进程之间的
2022-02-20 19:26:49
1528
原创 React服务端渲染&同构
React服务端渲染背景第一阶段很久以前, 一个网站的开发还是前端和服务端在一个项目来维护, 可能是用php+jquery.那时候的页面渲染是放在服务端的, 也就是用户访问一个页面a的时候, 会直接访问服务端路由, 由服务端来渲染页面然后返回给浏览器。也就是说网页的所有内容都会一次性被写在html里, 一起送给浏览器。这时候你右键点击查看网页源代码, 可以看到所有的代码; 或者你去查看html请求, 查看"预览", 会发现他就是一个完整的网页。第二阶段但是慢慢的人们觉得上面这种方式前
2021-12-31 15:50:10
1007
2
原创 浅谈几种设计模式
概括本文会说一下几个阶段中的几种设计模式,分别是元素创建型:工厂模式、建造者模式和单例模式,结构型:适配器模式、装饰器模式和代理模式,行为型:命令模式、模板模式、观察者模式和职责链模式元素创建型元素创建型,顾名思义就是用来创建元素,元素创建型的设计模式目的就是规范创建方式工厂模式隐藏创建过程,暴露共同接口exm: 在商店里下载游戏,同时初始化并运行,商店里有很多游戏,那么Game类进行游戏的各种操作,而Shop就相当于一个工厂,只负责调用去生产即可class Shop { constr
2021-12-14 16:43:13
2659
原创 关于设计模式五大原则
什么是设计模式设计模式是一种应对多场景或者复杂的业务场景的一种工具,有利于代码的复用/维护,系统模块的组织和设计的沟通设计模式五大原则开闭原则开闭原则(OCP: open closed principle) - 对拓展开放、对修改关闭开闭原则的设计思路是:在我们系统已有的场景下,对于需要拓展的功能进行开放,拒绝直接的功能修改exm:假如现在有PUBG和LOL两个游戏,我们需要在LOL弹出一个充值折扣的功能,PUBG需要一个高亮的功能(功能随意,只是为了demo的理解而写)首先看一个一下就就能
2021-12-12 18:49:36
2086
原创 关于Promise规范及简单应用
什么是promise?promise是异步编程的一种解决方案术语1.promise 是一个有then方法的函数或者对象2.thenable 是一个有then方法的函数或者对象3.value 是promise成功时候的值 也就是resolve的参数,类型可以是undefined/thenable promise,number,boolean,string,object等4.reason 是promise失败时候的值 也就是reject的参数,标识失败的原因5.exception 是使用throw
2021-11-22 21:00:01
876
原创 关于TypeScript的学习记录
什么是TypeScriptTypeScript被称为JavaScript的超集,故名思意,ts的范围只会比js大,所以ts在完全兼容js的基础之上,有了更多东西,ts我理解为更接近后端的语言,类型声明,泛型,枚举等,都和后端语言有很大的共性基础基础类型:number boolean string object array undefined void,这些基础类型和js用法一致,不多赘述1.enum枚举从一个例子入手enum ActionType{ Eat, Slee
2021-11-19 11:10:14
753
1
原创 关于ES6 ESNext的基础学习
历史ECMAScript是由网景的布兰登·艾克开发的一种脚本语言的标准化规范;最初命名为Mocha,后来改名为LiveScript,最后重命名为JavaScript。1995年12月,升阳与网景联合发表了JavaScript。1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMAScript是由ECMA-262标准化的脚本语言的名称。尽管JavaScript和JScript与ECMAScript兼容,
2021-11-14 13:26:44
2038
原创 关于JavaScript的学习笔记
1.函数1.1.定义函数绝对值函数定义方式一:function abs(x){ if(x>=0) return x; else return -x;}如果没有return,函数执行也会返回结果(undefined)定义方式二:var abs = function(x){ if(x>=0) return x; else return -x;}function(x){…}是一个匿名
2021-08-18 17:59:31
136
原创 MySQL:net start mysql 启动失败,服务没有报告任何错误
今天无意间发现MySQL服务停止了,打开命令提示行想重启一下,结果遇到如下情况:试了一下mysqld --console,结果什么都没打印出来,用sc delete mysql删除之后重新安装和初始化也启动不了查询了一下,网上主要有三种方法(但我使用之后状况都不太一样,没有解决掉,发出来仅供参考):1.初始化设置:手动删除data目录,然后mysql --initializenet start mysql2.检查3306端口是否被占用,如果被占用,停止进程即可3.修改my.ini配置文件
2021-06-29 16:12:38
315
原创 关于异常的学习总结
一、异常1.什么是异常?在程序执行过程中,出现的非正常的、最终导致JVM的非正常停止的情况,就是异常2.异常体系异常机制的存在就是为了帮使用者找出程序中的问题所在,异常的根类是java.lang.Throwable,在其下还有两个子类:java.lang.Error和java.lang.Exception,平常说的异常指的就是java.lang.Exception,Error是错误,是无法通过处理能解决的,而Exception表示异常,异常产生之后程序员可以通过自行调整代码的方式解决。3.异常分类
2021-05-28 17:35:35
194
原创 IDEA导入依赖时出现报错:Cannot resolve com.sun:tools:1.6
IDEA导入依赖时出现报错:Cannot resolve com.sun:tools:1.6今天从仓库拉取新项目之后进行导入,出现以下问题:搜索出来没有多少结果,有说配置环境变量的有说修改Maven的Setting.xml的,都没有用,试了很久,把jdk都换了一遍,IDEA也重新下了一次,终于成功了。解决方法:可以检查一下jdk安装目录下lib是否有tools.jar的包,我之前在Oracle官网下载jdk压缩版,在目录下是没有tools.jar的,建议重新下载jdk1.8安装版,在默认安装目录安
2021-05-27 20:45:46
4644
求助:IDEA2021.1运行springboot项目报错
2021-06-03
IDEA:IndexNotReadyException问题
2021-06-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人