- 博客(174)
- 收藏
- 关注
原创 前端——设计模式
应用场景:有些时候需要向某个对象发送请求,但是不知道请求的接收者是谁,请求的操作是什么。:创建一颗命令树,每个树的叶子节点包含一个execute方法,js中实现组合模式的难点在于必须保证组合对象和叶对象拥有相同的方法。应用场景:对象之间的耦合性太高,更改一个对象后还需更改另一个对象,中介者模式使对象之间的关系解耦。用法:当不方便访问一个对象时,提供一个代理对象来控制对这个对象的访问。给某个对象动态添加某个功能,并且不影响使用这个对象的其他对象。:表示对象的部分-整体结构,统一对待树中的所有对象。
2023-11-23 13:40:10
141
原创 十大管理-输入、输出和工具
1 资源管理过程输入工具输出规划资源管理项目管理计划、 项目章程、组织过程资产、项目文件等会议、专家判断等资源管理计划、团队章程、项目文件(更新)活动资源估算项目管理计划、项目文件、组织过程资产等自下而上估算、类比估算、专家判断等资源需求、资源分解结构、项目文件(更新)获取资源项目管理计划等预分派、虚拟团队等项目团队派工单、资源日历、项目文件(更新)建设团队项目管理计划等虚拟团队、集中办公、培训等团队绩效评价、项目文件(更新)管理团队
2023-10-26 07:45:34
199
原创 从0开始配置eslint
没有在.eslintrc文件中配置parserOptions指定语言版本和模块类型。对react hook规则进行校验,需要安装。使用prettier中配置的规则,需要安装。eslint还不能识别jsx语法。
2023-08-24 13:53:51
616
原创 npm、yarn和pnpm
npm@3和yarn使用扁平化结构,node_modules变成所有包放在同一层级:多个版本的包只有一个会被提升至顶层,其他版本的包会嵌套安装到各自依赖中于是出现和yarn.lock保证install后产生确定的依赖结构幽灵依赖:是指在package.json中未定义的依赖,但在项目中依然可以正确被引用到是幽灵依赖的产生:因为扁平化依赖包被提升至顶层,导致用户可以直接引用它,存在问题是引用版本不兼容,以及当项目不再依赖原始包时,直接引用依赖包会出现问题。
2023-08-22 16:16:56
580
原创 react hooks
使用来比较每个依赖项和它先前的值依赖项为空数组的effect不会在组件任何props和state发生改变时重新运行当useEffect依赖于外部传入props对象时,容易造成死循环需要对依赖对象进行深比较。
2023-07-29 09:39:03
1042
原创 Nodejs学习
http是无状态的,它无法区别多次请求是否来自于同一客户端,所以使用会话控制来解决这个问题。通过设置content-type来表明响应体的MIME类型。以JSON文件所在文件夹为工作目录执行命令。通过http请求对数据库数据进行交互。使用函数封装公共操作,简化代码。使用formidable插件。用于操作mongodb数据库。使用jsonwebtoken。
2023-03-31 13:53:02
280
原创 前端单元测试
describe(name,fn):将一组功能相关的用例组合在一起it(name,fn,timeout):用来放测试用例afterAll(fn,timeout):所有测试用例跑完后执行的方法beforeAll(fn,timeout):所有测试用例执行前执行的方法afterEach(fn):每个测试用例后执行的方法beforeEach(fn):每个测试用例执行前需要执行的方法。
2023-03-16 10:25:42
559
原创 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
296
原创 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
528
原创 Arcgis学习
用于创建基于GeoJson的层,GeoJson数据必须符合RFC7946规范,该规范规定坐标位于WGS84中。TileLayer允许使用缓存添加图层到map中,这种方式要比MapImageLayer要快。使用SceneView可以展示3D地图,如果要展示2D地图,可以使用MapView。使用Extend描述MapView的可见部分。
2022-12-08 11:36:13
447
原创 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
2625
原创 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
933
原创 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
511
原创 vue面试题
如果data是一个函数,那么实例化多个组件时会共享一个对象,每个组件内对data值的修改会相互影响,而data是函数,那么每个组件可以维护一份被返回对象的独立拷贝。
2022-10-30 22:00:00
365
原创 TCP如何实现可靠传输
接收端在发送确认应答报文ACK时,会将自己的即时窗口大小填入一起返回给发送方,发送方根据窗口大小值的改变而改变自己的发送速度。无论在慢启动阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞,就把慢启动阈值设置为出现拥塞时窗口大小的一半,然后把拥塞窗口大小票重新设置为1,执行慢启动算法。TCP在计算校验和时,会在TCP首部添加上一个12字节的伪首部,校验和分为三部分:TCP伪首部、TCP首部、TCP数据。TCP在传输过程中可能会发生丢包,如果继续发送数据,可能会产生丢包现象和引发大量超时重传,严重影响传输。
2022-10-30 07:41:35
1638
转载 webSocket和http的区别
webSocket实现了浏览器与服务器的全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的,它本质上是一个基于TCP的协议。
2022-10-29 15:25:16
2571
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人