自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程线程回顾

之前在学习进程和线程的时候,只知道一个进程可以有多个线程,每个进程之间是独立的,一个进程的多个线程之间资源是共享的,我对进程和线程的了解仅限于此,最近复习到网络部分的知识,才发现我对进程和线程的理解非常浅显,借此回顾一下。

2025-04-13 19:21:30 745

原创 前缀和与差分(一维)

当计算一个数组 多个区间的和时,我们可能首先想到的是使用多重for循环,比如给了一个长度为n的序列,有m个询问,每个询问代表一个区间l r 那么就要计算n*m次 时间复杂度是次方,如果n和m稍微大一点很容易会造成超时,那么此时就要用到。]进行-1的操作来抵消在这区间以后的加1操作 那么这个位置就是。但是要考虑一种情况就是L=0 那么sum[L,R]=sum[R]差分的情况的适用于对一个区间[L,R] +value的操作。那么得到的sum中 sum[ 1,N] 都会加上1。那么为什么是这样算?

2025-04-06 10:48:57 343

原创 marked库(高效将 Markdown 转换为 HTML 的利器)

最近尝试了一下通过星火大模型将ai引入到项目上,但是ai返回的数据可以显而易见的发现是markedown语法的,那么就需要一个工具,将类似这种的格式转换为markdown格式Marked 是一个用 JavaScript 编写的开源库,专注于把 Markdown 格式的文本解析并转换为 HTML。它广泛应用于各类 Web 应用程序、文档生成工具、博客系统等场景中,实现 Markdown 到 HTML 的顺畅转换然后我就搜索到了marked这个包,自定义渲染器可以把解析后形成的数据再次进行二次修改。

2025-03-30 08:56:34 832

原创 菜单(路由)权限&按钮权限&路由进度条

在写后台管理或者类似的项目中,开发者希望用户只能访问部分路由或者路由中的部分按钮 那么又该如何实现呢本篇是基于对硅谷甄选项目(可搜到)的代码进行一个总结前端权限控制不仅仅是页面和路由的访问权限,还包括按钮、操作权限的细粒度控制。它与后端的权限体系相辅相成,前端负责用户体验的优化与增强,而后端则负责核心的权限认证与校验。在实际项目中,合理设计权限系统可以提高系统的安全性、灵活性和可维护性。通过接口、路由和按钮的权限控制机制,前端开发者可以构建一个更加安全、用户友好的应用系统。

2025-03-23 16:40:08 778

原创 BFS(广度优先搜索,走迷宫问题)

广度优先遍历以及走迷宫问题

2025-03-16 18:35:56 575

原创 echarts数据可视化大屏(vue3+echarts)

Echarts 结合vue3实现数据可视化大屏

2025-03-09 16:39:45 1572

原创 webworkers来计算md5

当上传的文件过于庞大时,计算的hash值时间非常长可能会导致主线程阻塞,因此可以使用webworkers在分线程进行hash值的计算然后再向主线程发送消息。

2025-03-02 10:46:30 315

原创 Vue3大文件分片上传,断点续传TS语法(核心思路)

因为要写小组项目,其中涉及到了大文件的分片上传,之前进行了一些资料的参考 但是还是写了好几遍 这篇文章我先简单的介绍一下思路,以及一些最基本的核心代码 ,后续再进行一些优化涉及技术:spark-md5 vue3大文件之所以要分片上传 是因为服务器在处理大文件上传时,需要分配大量的内存和资源来接收和处理数据。如果一次性上传大文件,服务器可能会因为资源耗尽而出现性能下降甚至崩溃的情况。而分片上传将大文件分成多个小块,服务器可以逐块处理,每次处理的数据量相对较小,减轻了服务器的负载压力。

2025-02-23 11:37:14 850

原创 封装confirm(Vue3+Ts)

通过showConfirm函数 传递过来参数,在调用时通过createApp挂载组件,并传递过去参数,组件进行接收和渲染,当点击确定和取消时卸载该组件,.then 和.catch执行相关确定取消的逻辑。该期末考试了,也该复习复习知识点了不然包挂科的,然后下周还有一次面试,Vue也该复习复习了,虽然写过一个项目了,但是感觉对Vue的一些用法还是不太熟悉。首先要进行调用函数进行传参的操作,而且组件还要接收,那怎么才能只在调用函数的情况,没有父组件子组件这种关系进行支撑的情况下对一个组件进行传参?

2024-12-15 09:48:53 1109

原创 旧尘落定,新阳破晓吟风处

谨以此篇,告别过去的自己

2024-12-08 15:43:01 240

原创 Node环境的事件循环

浏览器与Node事件循环有何区别?这么通俗易懂的Node事件循环,背就完了Node 中的 Event Loop 和浏览器中的是完全不相同的东西。Node.js采用V8作为js的解析引擎,而I/O处理方面使用了自己设计的libuv,libuv是一个基于事件驱动的跨平台抽象层,封装了不同操作系统一些底层特性,对外提供统一的API,事件循环机制也是它里面的实现。

2024-12-01 11:49:15 1071

原创 伪数组和真数组

伪数组可以理解为类似数组的一个集合 常见的有两个,一个是arguments,一个是DOM的children属性,获取回来的子节点集合,他们与数组一样,具有索引和length属性,可以通过for循环写循环语句去循环遍历。1.拥有length属性,其他属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里可 当做是非负整数串来理解)3、如果这个对象的length不为0,那么必须要有按照下标存储的数据。4、伪数组不可以使用数组中的方法(.forEach)。真数组的长度是动态可变的。

2024-11-24 18:39:17 343

原创 Vue3组件通信

测试

2024-11-17 18:17:54 815

原创 Vue3新组件&其他API

浅层式 API 创建的状态只在其顶层是响应式的,对所有深层的对象不会做任何处理,避免了对每一个内部属性做响应式所带来的性能成本,这使得属性的访问变得更快,可提升性能。1.作用:创建一个浅层响应式对象 只会使对象的最顶层属性变成响应式的,对象内部的嵌套属性则不会变成响应式的。作用:用于获取一个响应式对象的原始对象,toRaw 返回的对象不再是响应式的,不会触发视图更新。只将对象的顶层属性设置为只读,对象内部的嵌套属性仍然是可变的。3.特点:对象的顶层属性是响应式的,但嵌套对象的属性不是。

2024-11-10 19:34:53 929

原创 TS(类 接口 泛型)

注意 对象结构不需要 implements一个interface继承另一个interface从而实现代码的复用何时使用接口1.定义对象的格式:描述数据模型,API响应格式,配置对象等等 是开发中用的最多的场景2.类的契约:规定一个类需要实现哪些属性和方法3.扩展已有接口:一般用于扩展第三方库的类型,这种特性在大型项目中可能会用到。

2024-11-03 16:49:11 1080

原创 TS 基础

1.以javascript 为基础构建的语言2.一个js的超集3.可以在任何支持js的平台中执行4.Ts扩展了Js 并添加了类型。

2024-10-27 16:50:34 1106

原创 Vue(4)脚手架&Vuex

main.js// 引入Vue// 引入App组件,它是所有组件的父组件// 关闭Vue的生产提示// 创建Vue实例对象new Vue({// 将app放入容器// template: `<h1>你好</h1>` 用不了,});关于不同版本的Vue1.vue.js与vue.runtime.xxx.js的区别:(1)vue.js 是完整版的Vue 包含:核心功能+模版解析器(2)vue.runtime.xxx.js 是运行版的Vue 只包含:核心功能:没有模版解析器。

2024-10-20 09:28:24 1332

原创 Vue(3) 组件

1.一种组件间的通信方式 适用于:子组件==>父组件2.使用场景:子想给父传数据 那么就要在父中给子绑定自定义事件(事件的回调在父中)3.绑定自定义事件第一种方式:在父组件中:或App.vue理解:在组件上绑定一个事件atguigu 回调函数是getStudentName第二种方式:在父组件中:< Demo ref=“xxx”>App.vue。

2024-10-14 08:31:20 982

原创 Vue基础(2)检测数据原理~生命周期

一、定义语法:(1)局部指令:(2)全局指令:二、配置对象中常用的三个回调(1)bind 指令与元素成功绑定时调用(2)inserted:指令所在元素被插入页面时调用(3)update:指令所在模版结构被重新解析时调用三、备注:1.指令定义时不加v- 但使用时要 v-2.指令名如果是多个单词,要使用x-x命名方式 不要用驼峰注意:指令中所有的this都是window 与是否是箭头函数 普通函数无关<body>

2024-10-06 11:56:08 1332 1

原创 Vue基础(1)

2.数据代理的理解 通过一个对象代理对另一个对象的属性的操作(读/写) 如果直接更改obj2中的x obj中的x也会更改 即通过一个对象(obj2)对另一个对象obj的属性(x)的操作。当发现被修改时,页面中用到两者的地方会自动更新,而计算属性是依赖着data中的来改变的,则会再次调用fullName,调用get方法,达到页面中插值fullName修改的效果。2.所有不被Vue管理的函数(定时器的回调函数,ajax的回调函数等,promise的回调函数),最好写成箭头函数。3.get函数什么时候执行?

2024-09-29 17:12:06 1396

原创 一些函数的封装

【代码】一些函数的封装。

2024-09-22 12:50:30 350

原创 webpack

webpack是一个前端模块打包工具 他可以将多个模块按照依赖关系进行静态分析 并生成一个或多个打包后的文件1.模块打包将项目中的所有模块(JS CSS Img等)当做一个整体 通过依赖关系将它们打包成一个或多个静态资源文件2.依赖管理webpack可以分析模块之间的依赖关系 根据配置的入口文件找出所有依赖的模块 并将其整合到打包结果中3.文件转换。

2024-09-15 15:30:22 1609 2

原创 src&href,fetch&ajax,cookie&session

src,会暂停其他资源的处理,直到该资源加载、解析和执行完毕,将其所指向资源应用到当前内容。Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的部分,例如请求和响应。href,将资源解析成css文件,并行加载请求资源,不会阻塞对当前文档的处理。src,将其所指向的资源下载并应用到当前页面,常见的有script、img。href,超文本引用,用于建立文档与资源的联系,常用的有:link、a。fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。

2024-06-08 11:09:56 1058

原创 中间件&模版引擎

/ next 是否继续往下执行console.log("中间件");// 如果是根路径/ 即上面代码等价于// console.log("中间件");// });});} else {});} else {});当运行并发送请求时,被app.use拦截因为中间件用的 //text1 /text2 中间件都具有这个符号当发送请求时,会优先处理中间件的处理函数如果中间件处理函数中有next() 会继续往下执行。

2024-06-02 22:46:14 1019 2

原创 Nodejs(文件操作,构建服务器,express,npm)

全局自定义// next 是否继续往下执行console.log("中间件");// 如果是根路径/ 即上面代码等价于// console.log("中间件");// });});} else {});} else {});当运行并发送请求时,被app.use拦截因为中间件用的 //text1 /text2 中间件都具有这个符号当发送请求时,会优先处理中间件的处理函数如果中间件处理函数中有next() 会继续往下执行。

2024-05-26 21:13:29 807

原创 事件委托,call apply bind用法

利用 JS 事件冒泡动态为元素绑定事件的方法称为事件委托(也称为“事件代理”)。事件委托就是把原本需要绑定在子元素上的事件(onclick、onkeydown 等)委托给它的父元素,让父元素来监听子元素的冒泡事件,并在子元素发生事件冒泡时找到这个子元素。好处在 JavaScript 中,页面内事件处理程序的个数会直接影响页面的整体性能,因为每个事件处理程序都是对象,对象会占用内存,内存中的对象越多,页面的性能则越差。

2024-05-19 11:34:11 803

原创 jq的一些小操作以及遇到的问题

由于js是单线程的,当有多个函数在同级进行调用时,如果前一个函数出错,那么下一个函数也不会执行,不能想当然的认为函数会异步执行;当回复二级评论时,需要将自己的评论放在最开头的地方,这里可以用js的拼接,也可以用jq的prepend 方法。当删除二级评论时,需要通过删除按钮获取祖先元素中的整个二级评论,这里需要用到jq的方法。

2024-05-12 17:02:36 361

原创 Thymeleaf(2)

我们这组进度还是有点慢,项目要抓紧赶了。

2024-04-21 15:29:42 428 1

原创 Textarea的常用属性&thymeleaf

项目写的好累,头懵的快炸了。

2024-04-14 10:28:09 2492 1

原创 JS高级(续)及部分知识点

● 套路:自定义构造函数,通过new创建对象● 适用场景:需要创建多个类型确定的对象● 问题:每个对象都有相同的数据,浪费内存//定义类型</script>这两周的学习结束了,通过考核,发现了很多知识点被我忽略了,导致出错,比如map方法,bind和call的区别接下来要开始和后端合作写项目了,我没想到我会是组长,毕竟我只想当个小小组员按照安排来做,希望我这次的分工算合理吧,要是到最后项目完成不了那就真的无了;就两个人来写,估计接下来的30天晚上睡不好觉了,毕竟我最擅长内耗自己;

2024-03-31 10:41:42 629 1

原创 ES6&高级JS

能将数组转换为逗号分隔的 [参数序列]与rest参数有所不同扩展运算符放在了函数调用的实参立里面而rest放在了函数声明的形参位置ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰。

2024-03-24 11:07:55 988 1

原创 初试后台管理系统页面

又给了一星期的时间来完善页面,这一星期给我的感觉都是在原来代码的基础上找bug,填坑,这个坑填上了可能本来没有bug的地方又有bug了,像个裁缝一样,在那缝缝补补,到最后我那可怜的页面也算是基本上完成了,虽然还是有bug…[蚌埠住了] 也许这就是因为if等语句的耦合性 [ 新学的词 ] 较强?导致牵一发动全身?到最后看我整个的代码,感觉逻辑很乱,毕竟是在我的最初的代码上更改,然后我又花了一个晚上在小组的时间重新写了一个新的代码,逻辑性更强;

2024-03-17 10:53:24 776 1

原创 易混点和分页

此次考核仍然有很多不足,alert函数没有重写,标签没有过滤,全选反选功能并未完整实现等等,下次的分页功能一定要实现完整的一套。

2024-03-10 09:30:23 803 1

原创 初学ES6

不能重复声明(var可以重复声明)块级作用域 (只在代码块里有效)不存在变量提前声明(var声明的变量会在最开始进行声明)不影响作用域链数组时对象它和普通对象的功能类似,也是用来存储一些值的不同的是普通对是使用字符串作为属性名数组是用数字做为索引来操作元素数组的存储性能比普通对象要好,在开发中经常使用一些数组来存储一些数据数组中的元素可以是任意数据类型语法:arr[arr.length]=数值这一周将学习计划让制作的页面功能基本实现,并且进行了完善。

2024-03-03 09:20:06 988

原创 第十一周 (轮播图的两种实现方式)

文章目录通过透明度实现轮播图1.思路2.代码通过偏移量实现轮播图1.思路1)需要过渡效果2) 不需要过渡效果2.代码(带过渡)延时调用1)setTimeout2)clearTimeout()来关闭本周总结通过透明度实现轮播图1.思路先将所有图片通过position:absolute 来重叠在一起将所有图片的透明度设为0给第一个轮播图添加一个单独的属性 用来设置透明度为1本代码通过 active来代表当前图片,添加opacity为1 的属性自动轮播:开启定时器,可以在定时器里面直接用右键点击函数

2023-12-31 11:15:01 977 1

原创 第十周(DOM~事件)

我是按钮

2023-12-24 10:47:09 838 1

原创 学习总结第九周(JS基础 字面量~正则)

<head>alert("你好");</script></head><body></body>

2023-12-17 08:43:49 860 3

原创 学习总结第八周(2D3D动画弹性盒子媒体查询等)

这周又进一步学习了CSS的一些内容,并进行了考核,通过考核让我明白了自己的不足,对图形的观察能力不够,无法正确看出动画的组成部分,希望下周的学习可以理解的更透彻,学习计划完成的更好。

2023-12-10 09:14:59 917 1

原创 学习总结第七周(前端基础)

这周在上周完成了前端基础的情况下写了一个页面,在写页面的过程中也学到了很多东西,希望这次分端能正确选择适合自己的,下周希望能顺利完成学习计划。

2023-12-03 16:19:48 962 1

原创 学习总结(第六周 前端)

使用超连接可以从一个页面跳转到另一个页面块元素主要用来做页面中的布局内联元素主要用来选中文本设置样式一般只使用块元素包含内联元素,而不会使用内联元素去包含块元素a元素可以包含任何元素,但不能包含他自己p元素不可以包含任何其他块元素使用伪元素来表示元素中的一些特殊位置使用dl来创建一个定义列表dl中有两个子标签dt:被定义的内容dd:对定义内容的描述一个盒子会分成以下部分内容区(content)内边距(padding)边框(border)外边距(margin)

2023-11-26 13:07:27 1087 1

空空如也

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

TA关注的人

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