自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入理解计算机系统——概览

因此,寄存器就是L1的高速缓存,L1是L2的高速缓存,L2是L3的高速缓存,L3是主存的高速缓存,而主存又是磁盘的高速缓存。文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、进程和I/O设备的抽象表示。:操作系统决定把控制权从当前进程转移到另一个新进程,就会进行上下文切换,即保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程。:系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。

2024-03-22 16:51:07 658 1

原创 重构--搬移特性/重新组织数据

动机:随着系统功能发生演进,原先设定的抽象边界会悄无声息地发生偏移,即意味着曾经视为一个整体的行为,如今可能已经分化成两个甚至多个不同的关注点。如果能让一个循环只做一件事情,那就能确保每次修改时你只需要理解要修改的那块代码的行为。动机:集合管道是使用一组运算来描述集合的迭代过程,其中每种运算接受的入参和返回值都是一个集合。动机:对一处数据的修改导致在另一处造成难以发现的破坏。动机:函数频繁引用其他上下文中的元素,而对自身上下文的元素使用甚少。动机:一些内联代码做的事情仅仅是已有函数的重复。

2024-03-19 15:06:36 582

原创 重构--封装

对象可以隐藏结构的细节,使对象的用户不需要追究存储的细节和计算过程。另外如果修改字段时,用户可以重命名字段,但同时提供新老字段名的访问方法,这样可以渐进地修改调用方,直到全部替换。动机:开发初期,使用一个简单的数据项就可以表示简单的情况,比如使用字符串或数字等。同时也避免了在多个函数中重复编写计算逻辑。动机:封装集合时人们常常犯一个错误:只对集合变量的访问进行了封装,但是依然让取值函数返回集合本身。动机:随着受托类的功能越来越多,更多的转发函数会使人烦躁。动机:有更简单的解决方案时,需要改变原先的算法。

2024-03-18 15:42:53 698

原创 重构--重构名录

动机:如果要更改数据,就必须同时修改所有引用该数据的代码,否则程序就不能运行。动机:如果一组函数形影不离地操作同一块数据(通常是将这块数据作为参数传递给函数),就可以组件一个类。动机:如果需要花费时间浏览一段代码才能弄清它的作用,就应该将其提炼到一个函数中。以至于再浏览这个函数时,很清楚该函数的作用,不需要关心函数是如何实现的。动机:一组数据总是一起出现,将数据组织成结构会让数据项之间的关系变得清晰明了。动机:一段代码在同时处理两件不同的事情,就可以将其拆分成各自独立的模块。动机:意义不明的变量名。

2024-03-12 14:35:08 1438 1

原创 重构--重构的迹象

使用函数将全局数据包装起来,并控制对它的访问。最好将这个函数及其封装的数据移到一个类或模块中,只允许模块内的代码使用它,从而尽量控制器作用域。resolve:观察消息链最终得到的对象是用来做什么,看能否以提炼函数把使用该对象的代码提炼到一个独立的函数中,在将函数推入消息链。issue:一个函数与另一个模块中的函数或数据交流十分频繁,远多于在自己所处模块内部的交流。issue:过分的追求函数或类的通用性是没有必要的,这么做往往会使系统更难理解和维护。issue:两个类中相同的字段、许多函数签名中相同的参数。

2024-03-11 17:02:18 291

原创 重构--重构的原则

重构关键:使用大量微小且保持软件性的步骤,一步步达成大规模的修改。即重构不会破坏代码,每次小改动之后后,整个系统任然照常工作。重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

2024-03-11 14:52:17 318

原创 前端性能优化-知识点

定义:浏览器可以持续性的响应用户的输入。完全可交互状态的时间点在最后一个长任务(Long Task)完成的时间,并且在随后的几秒内网络和主线程是空闲的。定义:测量在页面整个生命周期中发生的每个意外布局位移的所有单独布局位移分数的总和,他是一种保证页面的视觉稳定性从而提升用户体验的指标方案。定义:从用户第一次与页面交互到浏览器实际能够响应该交互的时间。定义:度量了FCP和TTI之间的总时间,在该事件范围内,主线程被阻塞足够长的时间以防止输入响应。呈现到屏幕上的时间,用以估算页面的主要内容对用户可见时间。

2024-03-06 17:14:22 1193 1

原创 使用three.js加载FBX模型时,模型有材质但显示为黑色

使用three.js加载FBX模型时,模型有材质但显示为黑色的部分解决方案:

2024-01-04 11:04:51 738 1

原创 table-column显隐列出现错位

解决方案:将固定宽度width改为最小宽度min-width,min-width会把剩余宽度按比例分配给设置了 min-width的列。当table-column列数较少时,其宽度会自适应。原因:剩余的table-column的宽度之和不足以撑满整个列表的宽度,会进行居中。而表头依然从左向右排列,因此导致表头和内容出现错位。问题:使用Table表格,并设置table-column的固定宽度。对其中多项列进行隐藏,出现错位效果。环境:vue3、Element-plus。

2023-12-01 11:00:30 552 1

原创 shader常用函数

clamp函数函数:clamp(x, min, max)作用:返回介于min和max之间的值。x<min时,返回min,x>max时,返回max表现:clamp(x,0,1) fract函数函数:fract(x)作用:返回x的小数部分描述:result = x - floor(x)表现:mix函数函数:mix(x, y, argu)作用:获取x和y之间的线性插值描述:result = (1 - argu) * x + argu* ystep函数函数: step(ar

2023-11-10 14:33:45 236 1

原创 关于three.js的问题

【代码】关于three.js的问题。

2023-11-03 14:24:10 43

原创 webgl-新增点

【代码】webgl-新增点。

2023-06-16 10:32:01 39 1

原创 Cesium常见问题

Cesium常用API

2023-05-19 13:46:54 190 1

原创 Cesium获取鼠标点击位置

Cesium获取鼠标点击位置。

2023-05-19 13:32:21 949 1

原创 cesium-获取此处坐标/查看当前视角/绕点环绕飞行

cesium-获取此处坐标/查看当前视角/绕点环绕飞行。

2023-05-18 09:29:02 465 1

原创 jQuery小案例之表格增删

html代码:<div class="panel"> <label for="">序号:<input type="text" id="serNo"></label> <label for="">姓名:<input type="text" id="stuName"></label> <label for="">学号:<input type="t

2020-09-21 23:19:29 88

原创 状态保持

状态保持状态保持就是用户请求时,浏览器、服务器知道这个用户之前做过什么,将用户的浏览状态保持下来,方便用户再次浏览或登录时重新输入信息为什么要实现状态保持·HTTP协议是无状态连接的协议,一次请求,一次操作,之后就结束。再次请求又是一次新的请求无状态的原因·浏览器和服务器使用套接字进行通信的,服务器将请求结果返回浏览器之后,会关闭当前套接字连接。状态保持 ·在客户端存储用户信息使用cookie ·在服务器端存储用户信息使用SessionCookie的处理 ·服务器向客户端

2020-05-26 13:01:05 382

原创 Python字符串

Python之字符串字符串就是一系列字符。Python中用引号引起来的都是字符串,引号可以是单引号,也可以是双引号。修改字符串的大小写 title()方法可以将每个单词的首字母变成大写 upper()/ lower()方法可以将字符串全都改为大写/小写拼接字符串 ·Python可以使用(+)加号来合并字符串 ·如果只是将两个字符串合并起来,也可以将他们简单的放在一起, 不需要加号(+) ·通过(,)逗号连接,这种操作会生成元组·join()方法,该方法的

2020-05-23 11:24:58 135

原创 Python变量及使用

Python变量及使用Python数据类型Python有五个标准的数据类型: ·Numbers(数字) ·String(字符串) ·List(列表) ·Tuple(元组) ·Dictionary(字典)变量的命名和使用·变量名只能包含字母、数字和下划线。变量名可以以字母或下划线开头,但不能以数字开头·变量名不能包含空格·不能使用Python关键字和函数名作为变量·变量名...

2020-05-23 10:34:58 126

空空如也

空空如也

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

TA关注的人

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