自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 visual stdio 2019环境配置及项目创建教程

目录一. 下载法一:到电脑自带的微软商城搜索visual studio 2019(为防止网页搜索下到病毒)法二:Visual Studio 2019 版本https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes二. 环境配置汉化工作负荷下载修改三. 创建项目一. 下载法一:到电脑自带的微软商城搜索visual studio 2019(为防止网页搜索下到病毒)下好之后出现的是.

2022-02-03 22:07:19 3247

原创 为什么defineComponent组件名字和文件名字不能一样

这可能是因为工具或框架在处理组件时依赖于组件名称和文件名的唯一性,如果它们相同,则可能会引起冲突或错误。但是在Vue 3中,使用`defineComponent`来定义组件时,Vue 不再使用 `name` 选项来指定组件的名称,而是推荐使用 `filename` 选项。今天在开发新组件时,在使用defineComponent定义组件时,把name写成了文件名的首字母大写法导致项目一直报错。找了很久才知道是名字的问题。这个时候我们在定义组件时,name一定不能与文件名相同,否则在调用组件时就会发生冲突。

2024-05-20 11:53:23 147

原创 vscode的git插件使用教程

虽然git的命令我没有滚瓜烂熟,但vscode的git插件是尊嘟很好用啊,都被我用烂了。在网上看见一个讲的很不错的插件教程。转载一下。跳过了vscode安装过程。

2024-05-09 17:06:15 1342

原创 Week1

好久之前写的算法题解!!!一直忘记在草稿箱里了,既然写了就发出来吧!

2024-04-26 11:42:47 715

原创 学习总结!

好久之前的学习总结!!!一直忘记在草稿箱里了,既然写了就发出来吧!

2024-04-26 11:41:45 172

原创 2022.8.22总结

好久之前的学习总结 忘记发了一直在草稿箱,写了就发出来吧!

2024-04-26 11:41:03 181

原创 理解控制反转

当需要实现不同操作时,用户和程序员都无需修改,只需要修改xml配置即可。通过set注入,改变ref来改变使用的接口实现类。而测试函数中只需要写这个无需改变。

2024-04-26 11:39:59 221

原创 vue3+setup中监听路由变化改变样式

在Vue 3中,有一个非常方便的API可以观察响应式数据的变化,即watchEffect。watchEffect是一个新的API,可以自动跟踪响应式数据的变化,并在其发生变化时执行回调函数。由于项目中数据大屏页面的背景颜色不同于其他页面,而面包屑导航直接设置在根页面中,底板也直接设置在根页面中,所以今天还学习了vue3+setup中如何监听路由变化来改变根页面的背景颜色样式。在本例中,我们将使用watchEffect和useRoute来观察路由的变化,并更新页面的样式。已经成功实现,这里写个博客记录一下。

2024-04-26 11:37:43 256

原创 【清理草稿箱】学习总结

好久以前写的学习笔记了...当时写了忘记发 今天清理草稿箱才发现,既然写了就发出来吧!

2024-04-26 11:36:33 289

原创 GraphQL速学笔记

在GraphQL中,客户端可以通过发送查询语句来精确地请求需要的数据,而不是像RESTful API那样只能获取固定格式的数据。3. 类型系统:GraphQL具有强大的类型系统,定义了数据模型和查询语句的结构,使得开发者可以在开发阶段发现和修复问题。4. 自描述性:GraphQL API可以提供自描述性的文档,客户端可以通过查询语句来探索API的功能和数据模型。1. 精确的数据获取:客户端可以精确地指定需要返回的数据字段,避免了过度获取不需要的数据。GraphQL 入门 | GraphQL。

2024-04-24 11:31:50 1160

转载 【转载】tsconfig.json常用配置

如何生成tsconfig.json文件。

2024-04-23 16:11:18 61

原创 px、em、rem区别介绍

任意浏览器的默认字体高都是16px。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。

2024-04-23 16:10:06 716

原创 TypeScript学习8:泛型

引入需求如果我们不使用泛型但是如果我还需要别的类型参数呢,比如bool值等,不断像上面这样创建类似的代码会让代码非常丑且冗余所以这里我们需要用到,简而言之,泛型就是把类型当做和Java中的泛型原理是一样的!那么我们使用泛型来实现上面这个需求就很简单了只需要在函数名后面加上尖括号就可以使用泛型了(这里指定T为number类型)很简单,我们可以定义多种泛型。

2024-04-23 14:58:49 374 1

原创 TypeScript学习笔记7-枚举

如果中断了,那么下面的就从中断的地方继续增长。如果是字符串,那么定义的时候就要全部写上。主要作用就是节省因为枚举带来的性能消耗。如果是纯数字,下面的会进行自动增长。

2024-04-23 12:03:20 341

原创 RouteRecordRaw

1.Component: 表示一个 Vue 组件类型,这个类型来源于Vue。2.: 表示一个对象,键是字符串类型,值是组件类型 `Component`。这个类型来源于TypeScript。2.5.Dictionary:Dictionary不是 TypeScript 中的内置类型,而是一种常用的自定义类型约定。在 TypeScript 中,Dictionary通常用于表示一个键值对对象,其中键是字符串类型,值可以是任意类型。Dictionary是一个泛型类型,它接受一个类型参数T,表示值的类型。

2024-04-23 11:03:52 931 2

原创 TypeScript学习笔记6-函数类型

它允许你在编写函数时指定参数的类型和返回值的类型,从而增加了代码的可读性和可维护性,同时还能在编译时进行类型检查。(greeting的参数类型是string,默认值是Hello,punctation的参数类型是stiring,但其背后紧跟了一个?【注意:如果有可选参数,你不能直接在函数体种直接运用可选参数,必须进行判断,比如if判断可选参数是否为undefined】这里的类型还支持更加复杂的类型,1比如可选参数,默认参数和剩余次数。在函数类型提示中,参数和返回值的类型声明都是。

2024-04-10 23:17:46 223

原创 TypeScript学习笔记5-类型别名

它允许你为现有的类型提供一个更具描述性的名称,从而增强代码的可读性和可维护性。类型别名通常与联合类型(Union Types)或交叉类型(Intersection Types)结合使用,以创建更复杂的类型。2. type 可以定义 联合类型 和 可以使用一些操作符 interface不行。也可以使用联合类型命名一个可能是string也可能是string[ ]的类型。在 JavaScript 中,类型别名是一种自定义类型的方式,通过关键字。这里也可以使用接口中的描述属性比如?2️⃣更常使用到的地方是,给。

2024-04-10 22:51:01 275

原创 TypeScript学习笔记4-接口

在TypeScript中,接口用于定义对象的结构和类型。它是一种抽象的概念,用于描述对象应该具有的属性、方法和行为。

2024-04-08 00:58:07 211

原创 TypeScript学习笔记3-数组

一般来说,数组里面的元素都应该是同类型的typescript中有多种数组形式杂乱数组元组多维数组。

2024-04-08 00:42:26 290

原创 TypeScript学习笔记2-联合类型、类型断言

在TypeScript中,类型断言允许开发人员手动指定一个值的类型,即告诉编译器某个变量的确切类型。这在某些情况下是非常有用的,尤其是当开发人员比编译器更了解变量的类型时。:类型断言只在编译阶段起作用,不会对真实的运行时类型产生影响。因此,在进行类型断言时,应确保断言的类型是正确的,以避免潜在的类型错误。类型断言:简单来说就是人为将某一种不确定的类型断言为确定的类型,这只是在编译器层面的欺骗行为。无论是尖括号语法还是as语法,它们实际上是告诉编译器"相信我,我知道这个变量的类型是什么"。

2024-04-08 00:31:13 230

原创 Typescript入门学习笔记

Javascript是一门弱类型动态语言,开发大型项目时,开发速度快,但是后期维护非常困难针对于JavaScript的此个痛点,有了TyepScript.(微软开发),属于Javascript的超集.对JavaScript语法就行了扩展.添加了静态类型检查和一些新的特性现有的JavaScript代码可以与TypeScript一起工作,无需进行任何转换和修改.(TyepScript中可以允许JavaScript代码!TypeScript通过类型注解提供编译时的静态类型检查.

2024-04-01 19:27:50 417

原创 刷题记录-leetcode字母异位词分组

5️⃣ list.push(str) ==>将当前字符串放进list(如果存在一样的hashkey,会添加到列表里去,如果不存在,会添加到我们新建的list里面去)4️⃣ map.get(key) ==>存在key键的值=>map[key]对应的[xxxxx] / 不存在 => -1,新建一个。这道题考察的是对 哈希表(如JavaScript 中的 Map)的运用,以及对字母异位词的理解和处理能力。所以在这个问题中,哈希表的key是按照字母顺序排列后的字母组成的字符串,value是由相同字母异位词组成的。

2024-04-01 17:04:55 498

原创 el-dialog宽度自适应

其中有一个是,在使用element-plus的el-dialog时,在pc端和在手机端打开,由于屏幕宽度的不同,我希望el-dialog的宽度是不一样的。当我在pc端用浏览器打开页面,并缩小窗口时,并不会触发宽度的变化。1️⃣首先,直接给el-dialog设置自定义class结合媒体查询是无效的,直接设置el-dialog的样式属性无效。但每次窗口修改时我需要刷新才会重新触发修改width的操作,所以这里我再加了个监听视口变化的操作。这只是获取你操作屏幕的宽度,并不是你窗口的宽度。

2024-03-28 19:13:09 931

原创 mockjs学习

每个属性组成部分:属性名 生成规则 属性值”属性名|生成规则“:属性值1️⃣七种生成规则属性名 和 生成规则 之间用竖线分隔。生成规则 是可选的。生成规则 的 含义 需要依赖 属性值的类型 才能确定。属性值 中可以含有@占位符。属性值 还指定了最终值的初始值和类型。具体示例可以看官方文档。

2024-03-10 22:11:47 924

原创 今日学习总结2024.3.3

今天也是全天自习的一天,非常充实早上八点开始接着晚上的docker配置,并一边同步博客,还是遇到了卡壳看了一个视频,里面提到了物联网,感觉对这个概念更加了解了,当年填报专业志愿的时候有将物联网工程放在备选项里,感觉很有意思;这个视频讲的主要是家用联网设备的安全问题。之前家里安装了一个监控,现在想想还蛮危险的,家用摄像头很容易就能被黑客破解控制,很容易暴露隐私。在牛客上看面经和大佬的自述,看到已经拿到满意工作的前辈回顾大学历程,感觉真的很优秀啊。上午十点半开始打力扣周赛,有点手生,表现不算好,做出三

2024-03-03 14:34:05 509

原创 leetcode第 387 场周赛总结

而且Y的位置是随n的大小固定的,所以我们只需要统计出Y内的0,1,2的数量以及整个矩阵的0,1,2的数量,然后计算出最小操作数就可以了。这道题其实就是个简单的二维前缀和,也很简单。这里我已经改进了,但主要还是提供一个思路,就不把修改后的代码贴出来了,如果不会这道题可以顺着我的思路自己做出来。第一道简单题,可以通过slice(-1)获取最新插入的数,进行比较分别操作即可,没什么好说的。这次周赛,题目比较简单,第三道题有点浪费了时间,思路是对的,但是被我把问题复杂化了。数值只可能是0,1,2;

2024-03-03 12:12:20 338 1

原创 今日学习总结2024.3.2

很后悔之前胆小,没有提前投简历找实习,现在稍微有点晚了,希望能在暑假前找到满意的实习。还没像我到大三下学期的小伙伴们,大胆去面试吧。实验室一个星期唯一一天的假期周六,也就是今天,也完全不想放假出去玩啊,在实验室泡了一天。最近的学习状态比较好,感觉非常享受知识进入脑子的过程,有点上头。

2024-03-02 23:56:37 426

原创 最近半年博客产出的反思

包括后面对一些知识的深入学习,我喜欢用gpt来辅助我理解,使用gpt能让我学习过程中,即时提问我不明白的地方,我可以结合学习资料和gpt的回答很快的解决问题。同时,近半年在做知识笔记的时候,少了些自己的理解的表述,多了一些AI那边借鉴来的内容。最近完善boss资料的时候,我认为自己在大学期间学习过程中经常用博客记录学习内容以及在学习过程中写博客笔记是个不错的好习惯,在询问了师傅的意见之后决定把csdn的主页也挂上去。在之后的博客里,我会在自己的理解之上,更多的用自己的语言来做博客笔记。

2024-03-02 22:39:00 359

原创 Vue.js中的$nextTick

其实目前在我现有的开发经历中,我还没有实际运用过$nextTick,今天在看书时,学习到了这个东西,所以做个笔记记录一下。$nextTick 是 Vue提供的一个方法,用于在 DOM 更新之后执行回调函数。它在 Vue.js 中常常用于处理 DOM 相关的操作或获取更新后的 DOM 元素。通过使用 $nextTick 方法,可以确保在 DOM 更新完成后再执行回调函数,从而保证操作的准确性和可靠性。注意,它返回的是一个Promise对象。

2024-03-02 20:57:01 674

原创 寒假学习总结

学习过程均进行了代码实践。小程序开发和nodejs还有express都系统学习完了,还没有正式投入到实际项目运用中,打算在今年的服创项目中增加小程序端,扩充比赛项目内容,并在实践中运用小程序的相关知识;1.使用JavaScript对不同类型的dp题组加强了刷题训练,比如斐波拉契类型dp,矩阵类型dp,字符串类型dp,最长递增子序列系列dp,最长公共子序列dp,股票最佳时机dp,树在dp中的应用。这个自己的项目,网上的参考资料比较少,在开发过程中遇到了很多困难,这个寒假看了很多相关资料,还在努力开发中。

2024-02-27 21:29:10 648

原创 【JavaScript知识点学习笔记】深浅拷贝

深浅拷贝是JavaScript一个非常经典的知识点,每次提到深浅拷贝我总是没办法特别清楚的表述出来,包括很多其他的知识点,其实是会的,但是没办法讲的很清楚,学习了费曼学习法,决定在复盘知识点的时候,每天找人讲解知识点,如果我能表达出来且让对方能听明白我讲的东西才算过关!这意味着如果原始对象包含嵌套对象,浅拷贝后的对象仍然会共享这些嵌套对象的引用。如果对象存在循环引⽤,即对象内部包含对⾃身的引⽤, JSON.stringify() ⽅法⽆法正确处理,会导致循环引⽤的属性被序列化为 null。

2024-02-17 23:43:09 532

原创 Websocket学习笔记

实现 WebSocket 相对简单,服务器端和客户端都有相应的库或 API 可以使⽤,例如 Node.js 中的 socket.io、ws 等,客户端则可以使⽤浏览器提供的 WebSocket API。与传统的 HTTP 请求-响应模式不同,WebSocket 提供了持久连接,使服务器能够主动向客户端推送数据,⽽不需要客户端发起请求。存在⼀个明显的弊端(消息只能有客户端推送到服务器端,⽽服务器端不能主动推送到客户端),导致如果服务器如果有连续的变化,这时只能使⽤轮询,⽽轮询效率过低,并不适合。

2024-02-17 23:27:44 575

原创 性能优化措施总结

合并和压缩 CSS、JavaScript ⽂件,使⽤雪碧图、字体图标等减少图片请求,减少不必要的资源请求。:在构建Vue应⽤时,确保使用⽣产模式,这将禁⽤⼀些开发模式下的警告和调试⼯具,并启用性能优化的功能。:使⽤Vue的计算属性和侦听器来优化视图的更新。:使⽤Webpack的代码分割功能,将代码拆分为多个小块,按需加载,避免打包⼀个巨⼤的⽂件。等代码规范⼯具和静态代码分析⼯具,可以发现潜在的性能问题和优化机会,并进行相应的调整。:选择⾼效的插件和加载器,合理配置它们的项,以优化构建过程和资源处理。

2024-02-17 23:05:20 1485

原创 【刷题日记】最长等差数列

等差数列的特点是相邻两个数的差值是一致的。该题数组中的每个元素值大小范围是【0~500】,所以等差数列的差值范围是【-500~+500】,我们计算差值时可以把差值+500使得差值范围变成【0~1000】;注意,那要把dp数组大小改到1000+.初始化:每单独一个数字都可以是任意等差数的等差数列的唯一成员,所以初始化dp的值为1。dp【i】【j】的含义是:以第i个值为最后一个元素,以j为差值的等差数列的长度。这道题,只要思路想到了就很好写。) 的值都相同,那么序列。按照这个思路可以解题。

2024-02-17 01:51:27 195

原创 【正则表达式

正则表达式构造函数RegExp()和正则表达式字面量的主要区别在于语法和使用方式。正则表达式构造函数RegExp()使用字符串作为参数,需要进行双重转义,即需要使用双反斜杠来表示特殊字符,如 \\d 表示数字, \\w表示字母下划线等。构造函数的参数可以是一个字符串,也可以是两个字符串,第一个字符串是正则表达式模式,第二个字符串是修饰符。如果正则表达式模式是一个变量,只能使用构造函数的方式创建正则表达式。正则表达字面量 // (是左边一个 / 右边一个 / 将表达式包围起来)使用两个斜杠将

2024-02-16 22:26:23 866

原创 【JavaScript】添加、移除、移动、复制、创建和查找节点

注意,以上⽅法都是基于 document 对象进⾏操作的,如果需要在特定的节点上执⾏这些操。作,可以使⽤相应节点的⽅法,例如 parentNode.appendChild(node)添加、移除、替换、插⼊节点。

2024-02-16 21:44:50 339

原创 JavaScript- let var const区别

对于 const 关键字声明的变量 x ,它创建了⼀个只读的引⽤,也就是说它的值不能被修改。在示例中, const x = 10 声明了⼀个常量 x ,⽽在 if 语句块内部再次使⽤ const x = 20 声明了⼀个新的常量 x ,它的作⽤范围也仅限于 if 语句块内部。const 关键字声明的变量创建⼀个只读的引⽤,其值不可修改,但对于复合类型的变量,可以修改其属性或元素的值。声明变量的作⽤域限制在其声明位置的上下⽂中,⽽⾮声明变量总是全局的。声明创建⼀个值的只读引⽤ (即指针)

2024-02-16 21:15:51 448

原创 Vue的双向绑定数据的原理

在上述示例中,我们通过 Object.defineProperty() 对 data 对象的 message 属性进⾏劫持,并在 getter 和 setter 中添加了相应的⽇志和更新操作。vue.js 则是采⽤数据劫持结合发布者-订阅者模式的⽅式,通过 Object.defineProperty() 来劫持各个属性的 setter , getter ,在数据变动时发布消息给订阅者,触发相应的监听回调。通过数据劫持,Vue能够捕获数据的变化,⽽发布者-订阅者模式则确保了数据变化时的及时通知和更新。

2024-02-16 21:02:36 535

原创 【JavaScript细节】map与forEach的区别

在上⾯的示例中,使⽤ forEach ⽅法遍历数组并输出元素、索引和原数组。⽽使⽤ map ⽅法遍历数组并返回每个元素的两倍值,⽣成⼀个新的数组 doubledNumbers。map ⽅法也⽤于遍历数组,返回⼀个新的数组,并且可以通过在回调函数中使⽤ return 语句来指定每次遍历的返回值。的,即使在遍历过程中使⽤ return 语句也⽆法停⽌遍历。⽽ map ⽅法可以使⽤ return 语句中断遍历。⽽ forEach ⽅法不能链式调⽤其他数组⽅法。⽽ forEach⽅法没有返回值,仅⽤于遍历数组。

2024-02-16 19:14:53 647

原创 ES6的重要特性

11 . 管道操作符:提案阶段的特性,引⼊了管道操作符( |> ),可以将表达式的结果作为参数传递给下⼀个表达式,简化了函数调⽤和⽅法链的写法。9. 模块化:引⼊了模块化的概念,可以使⽤ import 和 export 语法导⼊和导出模块,提供了更好的代码组织和模块复⽤的⽅式。7. Promise:引⼊了 Promise 对象,⽤于更好地处理异步操作,解决了回调地狱的问题,并提供了更清晰的异步编程模式。8. 类:ES6引⼊了类的概念,可以使⽤ class 关键字定义类,实现了更接近传统⾯向对象编程的⽅式。

2024-02-16 18:27:55 788

操作系统复习题(1-4章)

操作系统复习题(1-4章)

2024-01-06

空空如也

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

TA关注的人

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