自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP状态码详解

302:临时性的移动跳转Moved Temporarily没有缓存,每次都要向服务器发送请求确认一下现在要往哪里跳。500:Internal Server Error 服务器发生了难以预料的错误。301:永久性的移动Moved Permanently也是永久性的缓存。400-499请求错误 一般是前端的代码有问题 比如写了不正确的网址。100-199消息:代表请求已经被接受,需要继续处理。定义服务器对请求的处理结果,是服务器返回的。300-399重定向 重新指定一个方向。500-599服务器错误。

2024-03-21 14:56:11 206

原创 Vue中接口调用

用于向服务器提交数据,通常用于创建新资源。:用于向服务器发送数据更新一个已存在的资源。:用于部分更新资源,仅传输需要更新的部分数据。:用于从服务器获取数据。:用于删除服务器上的资源。有时会传递params参数。// 地址参数 查询参数。

2024-03-21 14:20:11 398

原创 两种解构赋值的区别

函数返回的对象中的所有属性都提取出来,并将它们以键值对的形式存储在名为。总之,第一个语法只提取了特定属性,而第二个语法提取了对象的所有属性。: 这也是解构赋值语法,但使用了扩展运算符(函数返回的对象中的所有属性,而不仅仅是。这意味着你可以访问并使用。这意味着你只能访问并使用。: 这是一种解构赋值语法,它从。在JavaScript中,属性,而其他属性将被忽略。属性,并将其赋值给名为。函数返回的对象中提取。

2024-03-20 21:21:47 192

原创 没有头像的情况下显示用户名的第一个字

有头像显示头像 没有头像显示用户名的第一个字。

2024-03-13 20:43:52 330

原创 webpack和vite中跨域请求失败解决办法

该错误说明跨域问题没有解决 如何解决?现在就可以跨域服务了。

2024-03-13 20:24:14 326

原创 vue 3.0使用element-plus按需导入解决

两个问题均为版本问题,默认安装的包版本过高,只需要降低版本即可。webpack配置文件 即vue.config.js。安装代码写为如下,问题解决。

2024-03-08 11:18:46 409

原创 执行cnpm set-script prepare “husky install“报错

在 package.json 的 script 中增加 husky install 命令。

2024-03-05 20:51:28 365

原创 矢量图无用的部分透明

图片如下,想在页面中仅显示红色部分,其余部分不显示。起初样式设置为,但没有效果。

2024-03-05 19:40:42 335

原创 Cast to ObjectId failed for value “undefined“ at path “_id“ for model “zhUserList“ at eval (webp

在eval(webpack-internal:///./src/utils/request.js:38:27)对于模型“zhUserList”的路径“_id”处的值“undefined”,强制转换为ObjectId失败。这个错误来自于:请求的接口中,在请求的时候,需要传递一个用户的 id,但是我这里没有传递。因为用户详情可以会以组件的形式进行呈现,所以对于此处我们需要得到的。

2024-03-04 16:02:09 418

原创 git使用

推荐一款好用的应用程序:sourcetree 可以实现git仓库的可视化管理git 分为本地仓库和远程仓库每一次的提交流程分为4步:* 1、本地代码* 2、暂存区* 3、本地仓库* 4、远程仓库远程仓库的使用需要用到gitee网站,注册登陆后,点击右上角新建仓库。

2024-02-23 21:30:33 332

原创 pnpm 包管理器 - 创建项目

2024-02-03 09:47:33 324

原创 Vue3 - Pinia

Pinia 是 Vue 的专属的最新状态管理库 ,是 Vuex 状态管理工具的替代品。

2024-01-26 20:21:09 773

原创 Vue3 - 基础

Vue2Vue3特点:代码量变少分散式维护变成集中式维护。

2024-01-26 12:39:20 755

原创 使用create-vue搭建Vue3项目

create-vue是Vue官方新的脚手架工具,底层切换到了 vite (下一代前端工具链),为开发提供极速响应。执行如下命令,这一指令将会安装并执行 create-vue。前置条件 - 已安装16.0或更高版本的Node.js。

2024-01-26 12:00:48 354

原创 从接口文档获取数据并渲染

因此先查看一下接口中的数据 通过getHomeData获取查看数据信息如下图,发现需要items1、4、6,将其保存到数组中。猜你喜欢模块样式如下 单独封装了GoodsItem.vue小组件,需要用到的是。导航需要用的的是图片、文字,因此需要imgUrl和text。2.页面渲染 需要的是对轮播图、导航组、商品组进行渲染。轮播图需要用的的是图片,因此需要imgUrl。

2024-01-22 08:30:00 358

原创 Vue2 - 项目中的 vw 适配

② 根目录新建 postcss.config.js 文件,填入配置。目标:基于 postcss 插件 实现项目 vw 适配。Vant 2官方配置。

2024-01-20 15:19:54 367

原创 Vue2 组件库 之 vant 组件库使用详解

van-button type="primary">主要按钮</van-button><van-button type="primary">主要按钮</van-button><van-button type="info">信息按钮</van-button><van-button type="info">信息按钮</van-button>组件库:第三方 封装 好了很多很多的 组件,整合到一起就是一个组件库。Vue的组件库并不是唯一的,vant-ui 也仅仅只是组件库的一种。// 导入按需导入的配置文件。

2024-01-20 15:07:17 2536

原创 Vue2 - 09 Vuex的基本使用(state,mutations,actions,getters)

目标:明确Vuex是什么,应用场景以及优势state: {count: 0},// 定义mutations})通过mutations修改state的步骤1.定义 mutations 对象,对象中存放修改 state 的方法2.组件中提交调用 mutations(通过$store.commit('mutations的方法名'))getters: {// getters函数的第一个参数是 state// 必须要有返回值。

2024-01-19 21:06:41 978

原创 Vue2 - 08 路由详解-面经

keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件中。在组件切换过程中把切换出去的组件保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性。App.vue<template></div>缓存了所有被切换的组件1.keep-alive是什么2.keep-alive的优点3.keep-alive的三个属性 (了解)

2024-01-19 18:16:04 816

原创 Vue2 - 08 路由详解-进阶

router-link 会自动给当前导航添加两个类名,有什么区别呢?router-link的两个高亮类名 太长了,我们希望能定制怎么办如何自定义router-link的两个高亮类名声明式导航跳转时, 有几种方式传值给路由页面?查询参数传参(多个参数)动态路由传参(一个参数,优雅简洁)编程式导航有几种跳转方式?编程式导航,如何跳转传参?1.path路径跳转query传参this.$router.push('/路径?参数名1=参数值1&参数2=参数值2')path: '/路径',

2024-01-19 18:05:24 367

原创 Vue2 - 08 路由详解-基础

单页应用程序:SPA【Single Page Application】是指所有的功能都在一个html页面上实现。

2024-01-19 16:25:31 713

原创 Vue2 - 07 自定义指令&插槽

内置指令:v-html、v-if、v-bind、v-on… 这都是Vue给咱们内置的一些指令,可以直接使用自定义指令:同时Vue也支持让开发者,自己注册一些指令。这些指令被称为自定义指令每个指令都有自己各自独立的功能概念:自己定义的指令,可以封装一些DOM操作,扩展额外的功能全局注册局部注册使用指令注意:在使用指令的时候,一定要先注册,再使用,否则会报错使用指令语法: v-指令名。如:注册指令时不用加v-前缀,但使用时一定要加v-前缀inserted:被绑定元素插入父节点时调用的钩子函数el:

2024-01-19 15:30:16 410

原创 Vue2- 06 非组件通信

1.父组件如果想让子组件修改传过去的值 必须加什么修饰符?2.子组件要修改父组件的props值 必须使用什么语法?

2024-01-19 10:45:00 753

原创 Vue2- 05 组件通信

组件通信,就是指组件与组件之间的数据传递组件的数据是独立的,无法直接访问其他组件的数据。想使用其他组件的数据,就需要组件通信组件上 注册的一些 自定义属性。

2024-01-19 08:30:00 744

原创 Linux-04Linux文件管理

使用vi/vim其实就相当于我们在Windows系统中创建文件、打开文件、编辑文件、保存文件操作1、vi介绍vi是的简称, 是linux中最经典的文本编辑器。vi的特点只能是编辑文本内容, 不能对 字体 段落进行排版不支持鼠标操作没有菜单只有命令vi编辑器在系统管理 服务器管理编辑文件时,其功能永远不是图形界面的编辑器能比拟的2、vim介绍vim:是从 vi (系统内置命令)发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

2024-01-18 17:21:44 845

原创 Vue2-04 工程化开发/组件化开发

Vue CLI 是Vue官方提供的一个全局命令工具可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】虽然脚手架中的文件有很多,目前咱们只需认识三个文件即可main.js 入口文件App.vue App根组件index.html 模板文件整个应用最上层的组件,包裹所有普通小组件。

2024-01-18 14:35:19 805

原创 Vue2-03 生命周期(四大阶段 八大钩子)

思考:什么时候可以发送初始化渲染请求?初始化一个饼图 echarts.init(dom) mounted钩子中渲染。根据数据试试更新饼图 echarts.setOptions({...})生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁。给添加按钮注册点击事件,对输入的内容做非空判断,发送请求。收集表单数据 v-model,使用指令修饰符处理数据。拿到数据,存到data的响应式数据中。3.更新阶段:修改数据,更新视图。结合数据,进行渲染 v-for。1.创建阶段:创建响应式数据。

2024-01-18 14:08:49 346

原创 Vue2-02 computed计算属性、watch侦听器

1.computed有缓存特性,methods没有缓存2.当一个结果依赖其他多个值时,推荐使用计算属性3.当处理业务逻辑时,推荐使用methods方法,比如事件的处理函数watch侦听器的写法有几种?1.简单写法watch: {数据属性名 (newValue, oldValue) {一些业务逻辑 或 异步操作。},'对象.属性名' (newValue, oldValue) {一些业务逻辑 或 异步操作。2.完整写法watch: {// watch 完整写法数据属性名: {

2024-01-18 13:34:43 1092

原创 Vue2-01 基础

非常优秀我是v-show控制的盒子按钮我是v-if控制的盒子按钮

2024-01-18 11:25:56 787

原创 实验五 高斯算法的OpenMP实现

并行计算和互斥访问的结合:代码中通过并行计算和互斥访问的结合,实现了多线程下的并行求和。互斥访问的性能开销:互斥访问会导致线程之间的竞争和等待,从而引入一定的性能开销。在处理共享变量时,要考虑到互斥访问可能对程序性能的影响,并在必要时寻找更适合的并行算法或数据共享策略。在编写并行代码时,需要注意线程间的数据依赖关系,并确保正确的同步或数据共享机制。函数,测量程序的执行时间。在程序中,我们将此ID作为线程的rank,并据此确定线程的工作范围。线程总数的控制:代码假设并行区域中的线程总数是系统默认的线程总数。

2024-01-14 15:52:00 726

原创 实验四 基于OpenMP的积分法与蒙特卡洛法

实践中遇到的挑战和问题也促使我加深对相关概念和技术的理解,并通过调试和改进代码来提高程序的正确性和性能。为了确保每个线程生成独立的随机数序列,使用了线程编号和时间种子的异或运算来设置每个线程的随机数种子。为了确保每个线程生成不同的随机数序列,使用了线程编号和时间种子的异或运算来设置每个线程的随机数种子。随机数种子的设置:每个线程使用不同的随机数种子来生成独立的随机数序列。需要确保随机数种子的设置是正确的,以确保每个线程生成独立的随机数序列。随机数种子:每个线程使用不同的随机数种子来生成独立的随机数序列。

2024-01-14 15:48:19 802

原创 实验五 高斯算法的OpenMP实现

并行计算和互斥访问的结合:代码中通过并行计算和互斥访问的结合,实现了多线程下的并行求和。互斥访问的性能开销:互斥访问会导致线程之间的竞争和等待,从而引入一定的性能开销。在处理共享变量时,要考虑到互斥访问可能对程序性能的影响,并在必要时寻找更适合的并行算法或数据共享策略。在编写并行代码时,需要注意线程间的数据依赖关系,并确保正确的同步或数据共享机制。函数,测量程序的执行时间。在程序中,我们将此ID作为线程的rank,并据此确定线程的工作范围。线程总数的控制:代码假设并行区域中的线程总数是系统默认的线程总数。

2024-01-14 15:41:37 772

原创 实验三 高斯算法的MPI实现

作用:将所有进程的sendbuf中的数据进行归约操作(如求和、最大值等),并将结果存储在根进程(root)的recvbuf中。在实际的MPI程序中,通常需要对MPI函数的返回值进行检查,并根据错误码采取相应的错误处理措施。在编写MPI程序时,务必注意正确使用通信器(如MPI_COMM_WORLD),并确保在使用通信函数(如MPI_Reduce())时指定正确的根进程(root)和操作(如MPI_SUM)。这种技巧确保了MPI库的正确使用,保证了每个进程在正确的时间点开始和结束MPI环境。

2024-01-14 15:40:54 862

原创 实验二 基于MPI计算π值

2.MPI函数的使用:在实验过程中,我们学习了MPI的基本函数,例如MPI_Init、MPI_Comm_size、MPI_Comm_rank、MPI_Bcast、MPI_Reduce等。分配本地梯形:为每个进程分配一定数量的梯形,计算每个进程的本地梯形数量(local_num_intervals),起始位置(local_start)和结束位置(local_end)。梯形法则计算积分的近似值,base_length(梯形底边长度),num_intervals(梯形数量)和start(梯形起始位置)

2024-01-14 15:40:02 870

原创 实验一 Linux下MPI的hello和greetings程序设计

为了避免死锁,可以使用其他的通信模式,如非阻塞通信(MPI_Isend和MPI_Irecv)或集体通信操作(如MPI_Bcast、MPI_Scatter和MPI_Gather)。本程序是一个简单的MPI程序,用于演示如何使用MPI函数初始化MPI环境、获取通信组中的进程数量、获取当前进程的等级以及处理器名称。f. 掌握MPI常见数据类型:熟悉MPI提供的各种预定义数据类型,如MPI_INT、MPI_FLOAT、MPI_DOUBLE和MPI_CHAR等,以便在发送和接收数据时正确设置数据类型。

2024-01-14 15:39:14 986

原创 操作系统-实验四、内核模块编写

可接受LICENSE:"GPL", "GPL v2", "GPL and additional rights", "Dual BSD/GPL", "Dual MPL/GPL", "Proprietary"。本次实验和实验3相似,进行的比较顺利,并无出现太多问题,唯一需要注意的就是helloworld.c和Makefile文件的编写,不要出现错误,make需要在对应的文件夹中执行。当通过rmmod命令卸载某模块时,模块的卸载函数会自动被内核执行,完成与模块加载函数相反的功能。本身对应模块内部的全局变量。

2024-01-14 15:35:05 915

原创 操作系统-实验三、虚拟内存管理

当CPU遇见缺页时会触发一个缺页异常,缺页异常将控制权转向操作系统内核,然后调用内核中的缺页异常处理程序,该程序会选择一个牺牲页,如果牺牲页已被修改过,内核会先将它复制回硬盘(采用写回机制而不是直写也是为了尽量减少对硬盘的访问次数),然后再把该虚拟页覆盖到牺牲页的位置。当缺页异常发生时,才将页面换入到内存的策略称为按需页面调度,所有现代操作系统基本都使用的是按需页面调度的策略。统计缺页次数可以帮助系统管理员或开发人员确定系统的瓶颈所在,进而优化系统的内存管理策略,提高系统的性能和可靠性。

2024-01-14 15:34:15 832

原创 操作系统-实验二、系统调用 (vim命令的使用)

每个系统调用都有一个唯一的系统调用号,接下来就需要在内核的系统调用表中为新的系统调用分配一个未使用的号码,这通常需要修改内核源代码。在修改内核源代码后,需要编译和安装修改后的内核。因此在进行任何内核修改之前,有必要充分了解其实现过程,通过本次的实验,我对内核编译法有了较为深入的理解。然后编写系统调用的具体实现,即在内核模块的源代码文件中,编写要添加的系统调用的具体实现代码。在系统调用表(其最前面的属性是id)中添加一个id 为335的系统调用号,添加后保存syscall 64.tbl文件,如图所示。

2024-01-14 15:33:19 954

原创 操作系统-实验一、编译Linux内核

(1)Linux是以用户和组来管理权限的,如果你使用的账户权限不够,那么有些动作你是做不了的,例如重启服务器(reboot 命令)。这时候就需要sudo命令了,sudo的全称为:super user do,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。可以考虑使用多线程编译来加快编译速度,例如使用make -j<N>命令,其中<N>是你系统上可用的处理器核心数量。5、编译完成后,你可以运行 make install 命令来安装内核,将编译好的内核安装到系统中。

2024-01-14 15:32:15 2000

原创 基于VueCli自定义创建项目

选择自定义 Manually select features。选用ESLint规范:标准化的无分号规范。放单独的配置文件中。按空格选择(vuex可以先不勾)选择vue版本 我这里选的2。

2024-01-14 15:29:23 314

Vue2-02 computed计算属性、watch侦听器

Vue2-02 computed计算属性、watch侦听器

2024-01-18

空空如也

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

TA关注的人

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