自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 收藏
  • 关注

原创 自定义hooks

目的:增加代码的可复用性,实现功能复用。

2024-02-23 15:55:36 322

原创 umi中dva的使用

当我们需要全局变量时,这时候就要用到dva.js了。

2024-02-20 16:56:30 289

原创 前端性能优化

将绑定在子元素上的事件委托给父元素。

2024-02-19 17:30:13 408

原创 css布局

左侧布局最小尺寸150px,最大为屏幕宽度的25%

2024-02-19 10:44:28 146

转载 数据大屏自适应

使用rem进行自适应需要注意单位,采用scale实现完全自适应,但是仅限于。

2024-02-19 10:14:27 45

原创 ThreeJS官方示例

【代码】ThreeJS官方示例。

2024-01-26 17:53:21 305

原创 着色器语言GLSL学习

【代码】着色器语言GLSL学习。

2024-01-17 17:37:16 582 1

原创 前端——设计模式

应用场景:有些时候需要向某个对象发送请求,但是不知道请求的接收者是谁,请求的操作是什么。:创建一颗命令树,每个树的叶子节点包含一个execute方法,js中实现组合模式的难点在于必须保证组合对象和叶对象拥有相同的方法。应用场景:对象之间的耦合性太高,更改一个对象后还需更改另一个对象,中介者模式使对象之间的关系解耦。用法:当不方便访问一个对象时,提供一个代理对象来控制对这个对象的访问。给某个对象动态添加某个功能,并且不影响使用这个对象的其他对象。:表示对象的部分-整体结构,统一对待树中的所有对象。

2023-11-23 13:40:10 101

原创 十大管理-输入、输出和工具

1 资源管理过程输入工具输出规划资源管理项目管理计划、 项目章程、组织过程资产、项目文件等会议、专家判断等资源管理计划、团队章程、项目文件(更新)活动资源估算项目管理计划、项目文件、组织过程资产等自下而上估算、类比估算、专家判断等资源需求、资源分解结构、项目文件(更新)获取资源项目管理计划等预分派、虚拟团队等项目团队派工单、资源日历、项目文件(更新)建设团队项目管理计划等虚拟团队、集中办公、培训等团队绩效评价、项目文件(更新)管理团队

2023-10-26 07:45:34 99

原创 null和undefined区别

js中值以32位存储,前3位表示数据类型标识,对于所有对象前三位为000,null以32个0表示。

2023-09-12 16:22:01 231

原创 应用安全规范

防御SQL注入:

2023-09-03 18:03:50 240

原创 axios源码学习

【代码】axios源码学习。

2023-09-01 15:48:13 1016

原创 从0开始配置eslint

没有在.eslintrc文件中配置parserOptions指定语言版本和模块类型。对react hook规则进行校验,需要安装。使用prettier中配置的规则,需要安装。eslint还不能识别jsx语法。

2023-08-24 13:53:51 538

原创 前端代码规范

用于绑定git hooks,在指定时机执行想要的命令。

2023-08-22 17:42:11 478

原创 npm script命令

运行时输入npm run lint或者npm run lint – --fix。

2023-08-22 16:41:13 713

原创 npm、yarn和pnpm

npm@3和yarn使用扁平化结构,node_modules变成所有包放在同一层级:多个版本的包只有一个会被提升至顶层,其他版本的包会嵌套安装到各自依赖中于是出现和yarn.lock保证install后产生确定的依赖结构幽灵依赖:是指在package.json中未定义的依赖,但在项目中依然可以正确被引用到是幽灵依赖的产生:因为扁平化依赖包被提升至顶层,导致用户可以直接引用它,存在问题是引用版本不兼容,以及当项目不再依赖原始包时,直接引用依赖包会出现问题。

2023-08-22 16:16:56 511

原创 less基本使用

【代码】less基本使用。

2023-08-14 13:58:16 582

原创 HTML拖拽

拖拽的流程:鼠标按下(mousedown)→鼠标移动(mousemove)→鼠标松开(moveup)

2023-08-01 09:53:14 917

原创 leetcode剑指offer75题

【代码】leetcode剑指offer75题。

2023-07-31 09:02:10 145

原创 react hooks

使用来比较每个依赖项和它先前的值依赖项为空数组的effect不会在组件任何props和state发生改变时重新运行当useEffect依赖于外部传入props对象时,容易造成死循环需要对依赖对象进行深比较。

2023-07-29 09:39:03 979

原创 ts体操训练

L : never。

2023-04-20 11:56:12 474 1

原创 Nodejs学习

http是无状态的,它无法区别多次请求是否来自于同一客户端,所以使用会话控制来解决这个问题。通过设置content-type来表明响应体的MIME类型。以JSON文件所在文件夹为工作目录执行命令。通过http请求对数据库数据进行交互。使用函数封装公共操作,简化代码。使用formidable插件。用于操作mongodb数据库。使用jsonwebtoken。

2023-03-31 13:53:02 209

原创 前端单元测试

describe(name,fn):将一组功能相关的用例组合在一起it(name,fn,timeout):用来放测试用例afterAll(fn,timeout):所有测试用例跑完后执行的方法beforeAll(fn,timeout):所有测试用例执行前执行的方法afterEach(fn):每个测试用例后执行的方法beforeEach(fn):每个测试用例执行前需要执行的方法。

2023-03-16 10:25:42 472

原创 使用unocss进行css原子化开发

【代码】使用unocss进行css原子化开发。

2023-03-07 12:03:12 656

原创 如何发布自己的npm包?

npm发包

2023-02-23 21:59:12 418

原创 Arcgis项目使用

【代码】Arcgis项目使用。

2023-02-20 16:31:51 85

原创 React学习

isToggle :!this . handleClick } > < / h1 >) } } //第一种替代方法 class Person extends React . Component {isToggle :!state . isToggle }) } } //第二种替代方法 class Person extends React . Component {isToggle :!

2023-02-20 16:31:25 272

原创 React管理系统开发踩坑

Table只有在rowKey发生变化时才会改变,因此rowKey需要改变2 使用useEffect陷入无限循环由于在useEffect中使用setState更新了数据,使页面重新经历componentDidUpdate生命周期,因此会再次调用useEffect,导致陷入循环中解决办法:让useEffect绑定依赖项3 将antd表格导出为excel使用,在使用import导入时,需要先在文件中进行声明4 使用setState改变对象属性和数组属性5 useRef和useState的区别可以直

2023-01-13 21:18:41 467

原创 Arcgis学习

用于创建基于GeoJson的层,GeoJson数据必须符合RFC7946规范,该规范规定坐标位于WGS84中。TileLayer允许使用缓存添加图层到map中,这种方式要比MapImageLayer要快。使用SceneView可以展示3D地图,如果要展示2D地图,可以使用MapView。使用Extend描述MapView的可见部分。

2022-12-08 11:36:13 373

原创 ThreeJs学习

定义顶点法向量后点光源和平行光源会起作用var normals = new Float32Array([ 0 , 0 , 1 , //顶点1法向量 0 , 0 , 1 , //顶点2法向量 0 , 0 , 1 , //顶点3法向量 0 , 1 , 0 , //顶点4法向量 0 , 1 , 0 , //顶点5法向量 0 , 1 , 0 , //顶点6法向量 ]);设置三角形Face3的颜色对于Mesh模型有效,对于Points、Line无效。

2022-12-02 19:50:00 2354

原创 webGL学习

例如有一点p需要绕OC2轴旋转ang度,那么可以让c2旋转到z轴对齐,然后点p绕z轴旋转ang度,然后再旋转回来。是由颜色缓冲区导致的,颜色缓冲区中存储的图像只在当前线程有效;:设置image.setAttribute(‘crossOrigin’,‘Anonymous’)绕z轴逆时针旋转角度:[[cosθ,-sinθ],[sinθ,cosθ]]C2旋转B2OB1度到C3,然后C3旋转C3OB1度到Z轴。有A(x1,y1)、B(x2,y2)、C(x3,y3)无论绕那个轴,从正半轴向正半轴逆时针旋转都是正。

2022-11-29 19:19:32 806

原创 TypeScript手写+项目实际

2 返回接口返回值类型3 定义常用对象4 手写Parameters返回函数的参数类型5 手写ReturnType返回函数的返回值类型6 手写Pick获取T中的K属性集,K必须约束在T中7 手写Exclude排除T中包含U的元素8 手写Omit提取T中除K属性以外的所有元素9 手写Record//keyof any = string | number | symbol//定义对象的key和value10 手写partial将T类型中的属性变为可选属性11 手写Requir

2022-11-28 14:01:15 406

原创 jsPlumb画布缩放

想实现画布缩放,但是激活元素时位置一直不对,然后一行代码解决了。

2022-11-24 15:16:04 1035

原创 画布拖拽实现

【代码】画布拖拽实现。

2022-11-24 10:25:58 461

原创 display、visibility、opacity的区别

来隐藏元素,但是在实际使用中会有问题。

2022-11-15 16:24:29 404

原创 vue源码学习

将html转化成AST语法树,然后根据AST语法树使用render函数生成虚拟DOM节点。

2022-11-11 13:53:53 394

原创 vue面试题

如果data是一个函数,那么实例化多个组件时会共享一个对象,每个组件内对data值的修改会相互影响,而data是函数,那么每个组件可以维护一份被返回对象的独立拷贝。

2022-10-30 22:00:00 289

原创 TCP如何实现可靠传输

接收端在发送确认应答报文ACK时,会将自己的即时窗口大小填入一起返回给发送方,发送方根据窗口大小值的改变而改变自己的发送速度。无论在慢启动阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞,就把慢启动阈值设置为出现拥塞时窗口大小的一半,然后把拥塞窗口大小票重新设置为1,执行慢启动算法。TCP在计算校验和时,会在TCP首部添加上一个12字节的伪首部,校验和分为三部分:TCP伪首部、TCP首部、TCP数据。TCP在传输过程中可能会发生丢包,如果继续发送数据,可能会产生丢包现象和引发大量超时重传,严重影响传输。

2022-10-30 07:41:35 1483

转载 webSocket和http的区别

webSocket实现了浏览器与服务器的全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的,它本质上是一个基于TCP的协议。

2022-10-29 15:25:16 2201

原创 vue3移动端触底滚动+返回顶部实现

踩坑:body、html的高度不能设置为100%,不然监听scroll事件无法生效

2022-10-19 10:20:17 1207

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除