自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 3407

原创 记录开源项目中点击空白区域关闭一二级菜单的问题

今天在开发TinyEngine华为低代码引擎开源项目时,我遇到了一个细节的问题:原本是点击标题显示菜单,再次点击标题或点击空白区域关闭菜单。中国没错的,然后呢,这里我手动实现了一个二级菜单,二级菜单内部点击是会切换该选项后面跟着的图标的,我希望点击完之后只是图标变化,但点击菜单内部时菜单也会关闭,虽然也能用,但很影响用户体验,这不是我期望的行为。简单的描述一下问题就是:在项目中,我实现了一个点击标题显示菜单的功能,并在点击空白区域时关闭菜单。然而,点击菜单内部时菜单也会关闭,这导致用户体验不佳。

2024-07-18 16:42:56 735

原创 谈谈检测浏览器类型

前几天被问到如何检测浏览器类型,我突然发现我对此并不了解,之前的项目中也没有使用到过,只隐约记得通过一个自带的方法即可获取。所以今天特意来仔细补习一下。1.正则表达式2.引用外部库3.判断浏览器的其他特性。

2024-07-01 22:36:54 778

转载 【转载】开源PR教程---我要提交 PR,怎么上手?

最近在参与开源项目,对于pr流程还不太清晰,看到了一篇不错的介绍文章,这篇文章摘取重要的部分转载一下。文章末尾有标注原文。

2024-06-29 22:27:49 54

原创 刷题日记6.25

操作,通常用于加密、校验和其它计算任务中。异或操作符在JavaScript等编程语言中的表示为`^`。对于两个操作数的每一对对应的比特位,只有当它们。注意题目要求实现线性时间复杂度算法解决,所以就不要想着排序或者用set数组之类的了。这道题考察的是异或算法,也是异或算法的一个典型作用例子。异或(XOR)是一种常用的。所以题目的做法一目了然。

2024-06-25 01:45:04 278

原创 刷题记录6.24

438. 找到字符串中所有字母异位词这道题乍一看感觉很复杂。因为 异位词指由相同字母重排列形成的字符串,包括相同的字符串,那么就会有很多种组成,增加题目的复杂性。对于这个我们可以转化成计算字母出现的频率,如果频率一致即符合要求。这道题的思路:滑动窗口根据题目要求,我们需要在字符串 s 寻找字符串 p 的异位词。因为字符串 p 的异位词的长度一定与字符串 p 的,所以我们可以在字符串 s 中构造一个长度为与字符串 p 的长度相同的,并在滑动中维护窗口中每种字母的数量;

2024-06-24 23:46:41 845

原创 深入理解 JS/TS 中的 filter 方法及其布尔值筛选功能

filter 方法是数组对象的一个内置方法,用于创建一个新数组,其中包含所有通过指定函数测试的元素。(filter 方法会遍历数组中的每个元素,并将那些使测试函数返回true的元素组成一个新的数组。❗再三强调,会返回一个新的数组哦!!!但使用了filter不会对原数组产生影响。

2024-06-19 11:41:44 574

原创 用h()给渲染的组件传递参数

而我们只能在Downloading组件中去监听进度条的进度,而关闭提示框又需要调用notification.close(key),所以我采取的方案是,渲染进度条时,将当前提示框的key传递给Downloading组件,当Downloading组件监听到进度为100时,调用notification.close(key)。项目中进度条的实现是通过Vue3的 h()函数将进度条组件Downloading和自定义进度条函数process渲染在notification中的。,不会作为普通的 prop 传递给组件。

2024-06-13 15:42:15 395

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

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

2024-05-20 11:53:23 277

原创 vscode的git插件使用教程

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

2024-05-09 17:06:15 2986

原创 Week1

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

2024-04-26 11:42:47 763

原创 学习总结!

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

2024-04-26 11:41:45 198

原创 2022.8.22总结

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

2024-04-26 11:41:03 196

原创 理解控制反转

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

2024-04-26 11:39:59 234

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

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

2024-04-26 11:37:43 358

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

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

2024-04-26 11:36:33 322

原创 GraphQL速学笔记

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

2024-04-24 11:31:50 1168

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

如何生成tsconfig.json文件。

2024-04-23 16:11:18 569

原创 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 725

原创 TypeScript学习8:泛型

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

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

原创 TypeScript学习笔记7-枚举

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

2024-04-23 12:03:20 359

原创 RouteRecordRaw

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

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

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

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

2024-04-10 23:17:46 237

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

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

2024-04-10 22:51:01 300

原创 TypeScript学习笔记4-接口

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

2024-04-08 00:58:07 221

原创 TypeScript学习笔记3-数组

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

2024-04-08 00:42:26 322

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

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

2024-04-08 00:31:13 237

原创 Typescript入门学习笔记

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

2024-04-01 19:27:50 432

原创 刷题记录-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 514

原创 el-dialog宽度自适应

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

2024-03-28 19:13:09 1477

原创 mockjs学习

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

2024-03-10 22:11:47 986

原创 今日学习总结2024.3.3

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

2024-03-03 14:34:05 520

原创 leetcode第 387 场周赛总结

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

2024-03-03 12:12:20 380 1

原创 今日学习总结2024.3.2

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

2024-03-02 23:56:37 437

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

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

2024-03-02 22:39:00 367

原创 Vue.js中的$nextTick

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

2024-03-02 20:57:01 947

原创 寒假学习总结

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

2024-02-27 21:29:10 678

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

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

2024-02-17 23:43:09 543

原创 Websocket学习笔记

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

2024-02-17 23:27:44 581

原创 性能优化措施总结

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

2024-02-17 23:05:20 1635

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

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

2024-01-06

空空如也

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

TA关注的人

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