- 博客(42)
- 资源 (4)
- 收藏
- 关注
原创 mac系统下Java环境安装
进入maven的conf目录,在setting.xml中添加阿里云镜像仓库,找到mirrors标签,插入以下代码。非插入模式下,复制以下内容到bash_profile文件,需要修改的话,点击i键切换到插入编辑模式。下载之后,解压到目录/Users/xxx/xxx/maven下,xxx是我的个人账户名。有问题的话核对一下路径是否正确,退出vim编辑【esc退出插入模式,命令保存并退出】,然后运行以下命令使配置文件立即生效。运行以下命令验证jdk和maven是否安装配置成功。配置maven阿里云镜像加速。
2024-08-28 15:58:34
252
原创 promise-reflect-proxy
proxy类是es6提出的用于代理对象的,当我们想要监听外界对于对象的操作的时候我们使用new Proxy创建一个proxy对象,传入需要监听的对象和处理对象,这样外界对于被监听对象的操作都通过这层代理对象完成,也就可以监听对象的操作;当我们执行resolve回调函数的时候【状态变成fufilled的时候】会执行Promise对象的then方法,执行reject回调函数的时候执行的是Promise对象的catch方法;不是专门用于劫持对象属性的方法,想要监听属性的新增与删除也是无法做到的。
2023-05-26 18:55:48
804
原创 关于原型链
所以当我们查找一个对象的key对应的属性值的时候,对象本身没找到,会查找对象的隐式原型,隐式原型的隐式原型对象……主要原理是让父类的实例对象作为子类构造函数的显式原型对象,这个父类实例对象的隐式原型指向的是自身构造函数的显式原型对象,这个显式原型对象的隐式原型对象指向的Object的原型对象。所以,对象上只有隐式原型对象__proto__,而它的构造函数上因为既是函数又是函数对象,所以既有显式原型又有隐式原型对象,一个对象的隐式原型指向它的构造函数的显式原型。新建一个空对象,这个对象其实就是原型对象。
2023-05-26 15:43:57
850
原创 操作dom
但是这样它们也就记录的是DOM树历史状态,无法实时反映DOM树状态;NodeList和HTMLCollection不是文档树历史状态的快照,而是反映DOM树的实时状态;相同点:都是类数组对象,具有length属性,可以通过call、bind转换成真正的数组;元素的children属性和childNodes属性的区别根本上也是这两个的区别;DOM文档树中存在三种节点,元素节点(有标签名的节点)、文本节点、属性节点;通过id、name、className属性获取,通过tagName获取;
2023-05-25 14:51:33
1455
原创 html+css
某些元素在特定情况可以当做可替换元素对待,label有option属性的时候,audio标签,input的type为image的时候,canvas绘制的时候。margin传递一般发生在父子元素的顶部线或者底部线重合的时候,设置在子元素上的margin-top或指责margin-bottom没生效,反而在父元素上面生效了。visibility:0,透明度设置为0,没有将元素移除文档流,和上面的区别是不可以点击元素进行事件操作;opacity:0;设置元素透明度为0,没有移除文档,并且可以点击元素进行操作;
2023-05-21 18:48:27
95
原创 js基本数据类型
而事件委托就是根据事件的冒泡机制+我们可以通过e.target获取触发事件的最具体元素,将具体子元素的事件委托给父元素进行处理。不需要为很多相同子元素绑定同一事件,可以把事件绑定在父元素上,在事件流进入到冒泡阶段时,通过事件对象event判断事件流进行的元素和目标元素是否一致,如果一致就触发对应的事件代码。通过切分代码进行首屏加载优化之后,首屏js文件大小大大减少,但是跳转到其他页面的时候,还需要下载js文件,需要等待js代码下载,频繁loading,体验很差。DOM是文档对象模型的缩写。
2023-05-20 18:19:21
60
原创 面试记录3
两个公司面试问的问题真的很雷同,越简单越没底,感觉基本都寄了,好累 使用过css吗?不知道想让我回答什么,我就回了一个布局 使用过es6数组的什么方法,合并两个数组用什么 跨域怎么解决 前端性能优化方案 二次封装封装了什么东西 首屏加载过慢怎么解决, 数组和对象的监听,如何做到深层监听,reactive应该可以直接吧?
2023-03-22 10:58:50
70
原创 面经记录2
当你发现面试问的很简单的时候一般就是没戏了,如果很简单还不行那更没戏了。好烦,面试的时候门外两个男生恨不得吼破喉咙,面试完立马静音,气死了。
2023-03-22 10:52:41
93
原创 前端面试记录2
服务端渲染就是在服务器端将html,css,js整合成一个完整的html页面发送给客户端,减少页面渲染的时间,提高用户的体验,还有一个优点是可以更好支持搜索引擎优化SEO,(因为浏览器可以更好的理解服务器资源,浏览器可以直接获取一个页面的完整内容资源,但是客户端渲染通过执行js动态生成,不同浏览器执行js的能力和策略不同,会有无法解析的情况发生),但是缺点就是需要更多的服务器资源,需要我们根据实际场景对服务器资源和用户体验之间做出权衡。2-Linux中的fork函数。3-如何让udp协议变得可靠。
2023-03-18 16:34:45
83
原创 sprintboot项目连接不上redis
最后发现错误是因为Redis设置了密码,但是springboot配置文件忘记了加上密码(还好是个简单错误,也是最开始应该检查的,大意了)其次更改redis.conf里面的protected no,不行。bind 0.0.0.0:接收所有的公有私有ip地址。首先检查主机和端口对应是否正确,
2023-03-12 14:05:20
299
原创 跟着小满老师学vue3,day2
directive// console.log(args)//args是一个数组 //args[0],el,当前绑定的元素 //args[1].value={123},args[1].arg=“aaa",args[1].modifiers={"yyy"} //args[2]虚拟dom //args[3] } , beforeMount() {} , };公司一般会封装一个按钮级别的自定义指令,判断权限。
2023-03-11 18:26:59
125
原创 跟着小满老师学习vue+pinia+ts(笔记1)
为了通过 effectFn 得到真正的副作用函数 fn 的执行结果,我们需要将其保存到 res 变量中,然后将其作为 effectFn 函数的返回值。effectFn函数返回res变量,effect函数返回改造后的effectFn函数,传入的参数是effect副作用函数和配置项options。避免更改计算属性的值,因为依赖项更新的时候,计算属性相当于一次快照,改变快照是没有意义的,因此计算属性的返回值应当视为只读且永远不会被改变,它只依赖于依赖项状态的改变而改变。数据更新之前,可以在此操作一些数据或状态。
2023-03-10 19:03:46
1014
1
原创 面试记录1
使用exists子句,会检索exists里面的条件是否有一行符合,如有符合才会执行主查询,所以正因为不需要检索所有的数据,它的效率更高。使用in子句,会查询指定的列是否包含在in子句中,如果包含才会返回结果集的值,效率低一些 因为需要对查询的列排序后比较。in子句中的值较少的时候效率高,否则exists效率高。2-where条件下,exist和in的区别。可以使用sql中的insert语句,都是用于检索某些数据是否存在数据库中。
2023-03-07 11:55:18
85
原创 手撕笔试题
使用 new WeakMap() 初始化一个对象 memo 作为记录表,以确保不会无限制地复制相同的对象。如果当前的 memo 已经注册过该对象,则返回 memo 中的新的副本;否则,就新建一个数组或者对象,进行递归复制,同时在 memo 中记录原文件及其副本。循环引用:一个对象包含对另一个对象的引用,而另一个对象也包含对第一个对象的引用。请补全JavaScript代码,完成"Observer"、"Observerd"类实现观察者模式。以数组的形式返回字符串参数的所有排列组合。
2023-03-03 20:26:05
93
原创 ①更新node版本②使用vscode将项目代码上传到github
基于vite构建的,node版本需要16以上;TODOnode方法一:去下面地址选择对应版本的node,新建文件夹存放各个版本的node;点击下载好的.msi文件进行安装,一路next;查看是否更新成功;方法二:①我已经安装了nvm;②出现这个问题那就使用直接install安装包的方式,即方法一;③//临时使用这个版本④⑤nvm ls。
2023-02-15 16:51:51
637
原创 用户中心项目(day1)
组件化拆分原则:独立的功能模块拆分,独立的状态变化(统一的状态管理),从上到下逻辑思考,从下到上组件拆分。前端的权限管理主要体现在菜单上面,数据权限主要体现在接口上面;页面:输入框35-45之间。输入文字距离左侧6-12;原型设计、版本控制、文档管理;插件:快速生成、注释、删除。设计数据库,设计接口;接口设计做到高内聚,
2023-02-08 20:19:13
91
原创 计算机组成单周期CPU设计
根据袁春风老师编写的《计算机组成与系统结构第二版》的课程材料,完成的计组单周期CPU设计,已经完成简单测试。包括五条R型指令(add,sub,subu,slt,sltu),五条I型指令(addu,beq,ori,lw,sw),和一条J型指令(jump)。我的设计将总体分成了ALU模块、寄存器组部件、存储器部件、取指令部件、控制器和顶层模块;实际上细化的话,还可以将加法器、扩展器、选择器单独列出来;因为该实验用到加法器、扩展器和选择器的次数不是很多,就没有单独列出来。建议配套测试文件参考:yyy的.
2021-08-02 14:39:08
1412
1
原创 C++中的字符串string形式的基本操作
C++中的字符串有两种形式:(1)特殊的字符数组,以‘\0’标记字符数组的结束。(2)string类型的简单变量形式。赋值和拼接可以直接使用“=”“+”等运算符。string str1;string str2 = "abcdefg";string str3 = "ABCDEFG";//字符串的赋值①字符串的复制//字符串的复制 str1.assign(str2, 0, 4); cout << str1 << endl; str1.assign(str2);
2021-02-07 19:15:10
252
1
原创 正负分界
#include<iostream>using namespace std;void div(int a[],int n){ int* b1 = new int[n](), * b2 = new int[n](); //int b1[100] = { 0 }, b2[100] = {0}; int i, j=0, k=0; for (i = 0; i < n; i++) { if (a[i] < 0) b1[j++] = a[i]; else if
2021-01-12 00:24:54
160
原创 折半查找(递归和非递归)
折半查找(递归和非递归)#include<iostream>using namespace std;int Bisearch(int a[], int n, int k)//非递归{ int low = 0, high = n - 1,mid; while (low < high) { mid = (low+high) / 2; if (a[mid] == k) return mid; else if (a[mid] < k) low = mid
2021-01-11 23:48:23
382
原创 建立二叉排序树
编写算法,输入一组整数,以9999为结束标志,将这些数据建立二叉排序树。输出中序排序序列检验是否为二叉排序树,并且在二叉排序树内查找值。#include<iostream>using namespace std;struct BiNode{ int key; int data; BiNode* lchild, * rchild;};class BiSortTree{ BiNode* root; void Insert(BiNode*& ptr, int k);
2021-01-11 23:02:19
1384
原创 二叉树的平衡因子
二叉树T的结点结构为:data域,平衡因子bal,左子树结点,右子树结点bal=左子树高度-右子树高度编写算法求树T中bal值。(//(待定)各结点的bal值)#include<iostream>#include<vector>using namespace std;template<class T>struct BiNode{ T data; int bal; BiNode<T>* lchild, * rchild;};templa
2021-01-11 22:47:35
754
基于java实现的GUI图形化界面的简单计算器,实现加减乘除、乘方,可以连续运算,带一定纠错功能
2023-02-09
计组单周期CPU设计.zip
2021-08-02
数据结构管道铺设施工的最佳方案[终稿]_初稿终稿
2021-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人