VUE3 -综合实践(Mock+Axios+ElementPlus)
目录
前言
目标
1.工程创建
2.Mock
2.1 配置Mock
扩 展
2.2 定义模拟数据
2.3 创建Mock服务器
3.导入ElementPlus
4.表格页面搭建
5.动态路由跳转
6.详情页面的制作
前言
基于前文 VUE3详细入门,我们对VUE3的基本使用有了初步的了解,下面通过一个简单的实例,进一步熟悉VUE3工程的搭建。
目标
制作一个表格页面,使用Mock生成虚拟数据,模拟后端发送的数据。点击Detail按钮,会跳转到对应的详情界面,显示对应行id。点击返回按钮则会回到主页面。
详情界面:
1.工程创建
在工程目录下,使用create-vue创建项目,在终端中输入以下命令,进行项目初始化:
npm init vue@latest
设置好项目名称,和包含功能,本次项目使用TypeScript语言以及用到Router。
将创建好的项目使用WebStorm打开(也可以使用VScode,Hbuilder等工具),在终端中输入npm install 命令,导入必要的工具包
2.Mock
Mock(模拟)是一种在软件开发和测试中常用的技巧,用于创建模拟的对象、数据或服务,以替代真实的组件或外部依赖。Mock 的主要目的是在开发和测试过程中提供一种可控的、可预测的环境,帮助开发者隔离依赖,专注于当前开发或测试的功能。
2.1 配置Mock
在终端中输入以下命令:
npm install mockjs --save-dev
// 或者使用下面的命令
npm i --save-dev @types/mockjs
扩 展
npm(Node Package Manager)是 Node.js 的包管理器,用于安装、管理 Node.js 项目中的依赖包。就好像Python当中的pip一样。命令常用的参数配置如下:
参数 作用 适用场景 --save
或-S
将依赖项添加到生产依赖( dependencies
)中项目运行时必须的库 --save-dev
或-D
将依赖项添加到开发依赖( devDependencies
)中开发过程需要,生产环境用不着的工具 -g
全局安装 命令行工具 --save-exact
将依赖项的版本号精确写入 package.json
需要严格指定版本的情况 --no-save
不将依赖项添加到 package.json
特殊情况或临时安装(不推荐)
2.2 定义模拟数据
在src文件夹下,新建mock文件夹,在mock文件夹中再次新建data文件夹,用于存放我们生成的模拟数据格式。新建user.ts文件,存放我们生成的模拟用户数据,代码如下:
import Mock from 'mockjs'function generateListData() {return Mock.mock({// 返回的数据'list|10': [{ // 列表包含10个数据'id|+1': 1, // id 每次递增 1,初始为1'name': '@cname', // 随机生成中文姓名'age|18-60': 1, // 年龄在 18 到 60 之间随机'email': '@email', // 随机生成邮箱'ip':'@ip','avatar': "@image('200x200','red','#111','FJNU')",//生成图片,参数:size, background, foreground, text'date': "@date"}]})
}// 导出数据生成函数
export { generateListData }
2.3 创建Mock服务器
在mock文件下,新建index.ts文件,用于创建我们的Mock服务器,模拟后端实际情况:
import Mock from 'mockjs';
import { generateListData } from './data/user.ts';// 拦截 GET 请求 /api/user
Mock.mock('/api/user', 'get', () => {return generateListData();
});
这样,当我们在前端发起对路径 '/api/user' 的Get请求,就会返回我们的user模拟数据。最终Mock的结构如下:
写完之后,记得在main.ts中导入我们mock的index文件!具体可见下节导入代码。
3.导入ElementPlus
ElementPlus是VUE3中常用的组件库,我们可以使用它,快速构建许多组件。
官网链接:一个 Vue 3 UI 框架 | Element Plus
而导入ElementPlus,官方指南中实际上已经介绍的非常详细了。
首先在我们项目的终端中输入以下命令:
npm install element-plus --save
接着在src文件下的main.ts文件中,导入ElementPlus依赖
import './assets/main.css'
import './mock/index.ts' // 导入我们的mock服务器文件
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router'const app = createApp(App)app.use(createPinia())
app.use(ElementPlus)
app.use(router)app.mount('#app')
4.表格页面搭建
我们可以在ElementPlus官网中的组件,找到表格组件
选择你想要导入的表格样式,直接复制代码到项目就可以了。
有了样式之后,接下来我们就该渲染数据了。那么首先我们得先获取数据。在页面加载的时候,从后端获取数据到前端。所以我们可以选择在onMounted的生命周期的时候,向后端发起数据请求。
const tableData = ref([])
const router = useRouter()
onMounted(()=>{axios.get('/api/user').then(res=>{console.log(res)tableData.value = res.data.list})
})
使用Axios向Mock服务器对应的路径发起Get请求,我们在浏览器中通过F12开启控制台,查看打印出返回的结果res,可以看到数据是在res的data的list中,我们将对应数据赋值给我们的前端变量tableData就可以拿到数据了。
有了表格数据之后,我们就可将数据渲染到表格上了(具体规则参照ElementPlus官网):
<template><el-table :data="tableData" style="width:1000px"><el-table-column fixed prop="id" label="id" width="60" /><el-table-column width="60" label="头像"><template #default="{ row }"><img :src=row.avatar alt="touxiang" style="width: 100%; height:auto" /></template></el-table-column><el-table-column prop="name" label="Name" width="120" /><el-table-column prop="email" label="Email" width="180" /><el-table-column prop="ip" label="ip" width="160" /><el-table-column prop="age" label="Age" width="120" /><el-table-column prop="date" label="注册时间" width="180" /><el-table-column label="操作"><template #default="{ row }"><el-button link type="primary" size="small" @click="GetDetail(row.id)" >Detail</el-button><el-button link type="primary" size="small" @click="Edit(row.id)">Edit</el-button></template></el-table-column></el-table>
</template>
5.动态路由跳转
我们在route中的index文件中,创建我们的跳转页面AboutView的路由,使用懒加载的方式,由于是动态路由,我们记得开启路由的prop属性,接收路径参数。
import { createRouter, createWebHistory } from 'vue-router'const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path: '/',name: 'Home',component: () => import('../views/HomeView.vue'),},{path: '/about/:id',name: 'About',component: () => import('../views/AboutView.vue'),props:true}],
})export default router
而在我们的表格界面,我们为Detail按钮绑定以下函数,进而实现页面的跳转:
const GetDetail = (id:number) =>{// router.push(`/about/${id}`);router.push({name:'About',params:{id:id}})
}
有两种写法,第一种为使用反引号+美元符跳转,第二种为使用name+params参数跳转。
注意第二种方法中的name对应的就是路由文件当中定义的路由name,这里的name参数并不能替换为path参数,否则会报错。
6.详情页面的制作
我们在AboutView界面,使用一个useRoute实例,用.params方法获取动态路由中的参数。
而在返回按钮中,我们使用router.go(-1)返回到我们的上一级页面。
<script setup lang="ts">import { useRoute } from 'vue-router'import router from '@/router'import { onMounted } from 'vue'const route = useRoute()const id = route.params.idonMounted(()=>{console.log(id)})const back = ()=>{router.go(-1)}
</script><template><el-col><el-row><h1>This is an about page</h1></el-row><el-row><h2>我的id:{{id}}</h2></el-row><el-row><el-button type="primary" @click="back">返回</el-button></el-row></el-col>
</template>
注意,useRoute的实例创建一定得在函数之外,setup之内,否则会出现错误!
相关文章:
VUE3 -综合实践(Mock+Axios+ElementPlus)
目录 前言 目标 1.工程创建 2.Mock 2.1 配置Mock 扩 展 2.2 定义模拟数据 2.3 创建Mock服务器 3.导入ElementPlus 4.表格页面搭建 5.动态路由跳转 6.详情页面的制作 前言 基于前文 VUE3详细入门,我们对VUE3的基本使用有了初步的了解,下…...
Qt原型模式实现与应用
在Qt中实现原型模式(Prototype Pattern)可以通过以下步骤完成。该模式的核心是通过克隆现有对象来创建新对象,而非通过传统的构造函数。以下是详细说明和示例: 1. 原型模式的核心概念 目的:避免重复初始化对象的高成本…...
语音识别-2
上一篇关于语音识别, 虽然能用,但在系统适配,机器适配方面,速度,性能等还是有优化的地方.所以这篇是关于这些的. 1.蓝牙优化 A2DP:是一种单向的高品质音频数据传输链路,通常用于播放立体声音乐;SCO: 则是一种双向的音频数据的传输链路,该链路只支持8K及16K单声道的音频数据…...
ElasticSearch深入解析(十二):聚合——分桶聚合、指标聚合、管道子聚合
文章目录 一、分桶聚合1. 分桶聚合的核心逻辑与核心类型2. 分桶聚合的高级特性 二、指标聚合1. 指标聚合的核心逻辑与基础类型(1)基础统计指标(单值输出)(2)复合统计指标(多值输出) …...
互联网大厂Java求职面试:AI内容生成平台下的高并发架构设计与性能优化
互联网大厂Java求职面试:AI内容生成平台下的高并发架构设计与性能优化 场景背景: 郑薪苦是一名经验丰富的Java开发者,他正在参加一家匿名互联网大厂的技术总监面试。这家公司专注于基于AI的内容生成平台,支持大规模用户请求和复杂…...
论MCU如何在Fatfs中使用Flash接口的方法
前提: MCU移植了FS,如FATFSOSFMount工具 OSFMount或者其他磁盘工具用于挂载.img镜像,可格式化文件系统打开并放入实际使用的文件 步骤 1. cmd命令建立空.img镜像,以下为12MB fsutil file createnew fat.img 120000002. OSFMo…...
Python+Selenium爬虫:豆瓣登录反反爬策略解析
1. 引言 在当今互联网时代,数据抓取(爬虫)技术广泛应用于数据分析、市场调研、自动化测试等领域。然而,许多网站采用动态加载技术(如Ajax、React、Vue.js等框架)来渲染页面,传统的**<font s…...
nt!MiDispatchFault函数分析之第一次循环前后的变化
第一部分:nt!MiDispatchFault函数分析之第一次循环之前 1: kd> !pte 0x002bf810 VA 002bf810 PDE at C0300000 PTE at C0000AFC contains 7B314867 contains 00000000 pfn 7b314 ---DA--UWEV not valid 1: kd> dd C0000AFC…...
JMeter性能测试工具使用
JMeter是一款强大的性能测试工具,由Java编写,小巧轻便,最关键的是开源免费,现在已经成了主流的性能测试工具。 下面介绍一下基本的安装使用、高级功能及可视化实时图表展示,带你们感受一下JMeter的世界~ 1、安装 1.…...
Windows 环境下安装 Node 和 npm
安装 Node.js 和 npm https://nodejs.org/zh-cn/download 执行 fnm install 22 之后,执行 node 或 npm 提示找不到命令 fnm env 看环境变量 找到 node 和 npm 命令在 C:\Users\HUAWEI\AppData\Roaming\fnm\node-versions\v22.15.0\installation 目录下࿰…...
开发指南112-样式的优先级别
在前端样式设置里,界面元素一般会多个地方进行定义和影响。一般而言,CSS样式的优先级如下: 1、内联样式:style属性中定义的样式,具有最高的优先级。 2、ID选择器:通过ID选择器指定的样式ÿ…...
单向通信机制EventSource
EventSource 是浏览器提供的一种实现服务器推送 简称 SSE 基于 HTTP 协议的单向通信机制 可以通过服务器将实时数据推送到客户端 而不需要客户端不断发起请求EventSource 和 WebSocket 都可以实现服务器向客户端的实时数据推送,但它们有不同的适用场景:E…...
PyTorch中mean(dim=1)的深度解析
mean(dim=1) 是什么意思 在自然语言处理中,文本经过分词器处理后会转换为token序列,每个token对应一个向量表示。mean(dim=1) 的作用是在序列维度上对这些向量取平均,将整个序列压缩为单个向量。下面我用具体例子解释: 1. 张量的维度结构 假设我们有一个输入文本:"…...
Xcode报错:“Set `maskView` to `nil` before adding it as a subview of ZFMaskView
Assertion failure in -[ZFMaskView _addSubview:positioned:relativeTo:] 嗯,坑爹的IOS18,当你基于UIView实现的自己的子类中定义一个属性并初始化时就会出现崩溃! /// 遮罩property (nonatomic, strong) UIView *maskView; 因为UIVIEW本…...
uniapp -- 验证码倒计时按钮组件
jia-countdown-verify 验证码倒计时按钮组件 一个用于发送短信验证码的倒计时按钮组件,支持自定义样式、倒计时时间和文本内容。适用于各种需要验证码功能的表单场景。 代码已经 发布到插件市场 可以自行下载 下载地址 特性 支持自定义按钮样式(颜色、…...
e.g. ‘django.db.models.BigAutoField‘.
在Django框架中,django.db.models.BigAutoField 是一个用于数据库模型的字段类型,它用于自动增长的ID字段。这个字段类型特别适用于需要处理大量数据的应用,比如在大型网站或应用中,普通的 AutoField 可能不足以存储增长的ID值&am…...
【HTTPS基础概念与原理】对称加密与非对称加密在HTTPS中的协作
在HTTPS通信中,对称加密和非对称加密协同工作,共同保障数据的机密性和密钥交换的安全性。以下是两者的协作机制及RSA、ECDHE等算法的核心作用: 一、对称加密与非对称加密的分工 1. 对称加密(如AES、ChaCha20) • 作用&…...
ESP系列单片机选择指南:结合实际场景的最优选择方案
前言 在物联网(IoT)快速发展的今天,ESP系列单片机凭借其优异的无线连接能力和丰富的功能特性,已成为智能家居、智慧农业、工业自动化等领域的首选方案。本文将深入分析各款ESP芯片的特点,结合典型应用场景,帮助开发者做出最优选择…...
使用Thrust库实现异步操作与回调函数
使用Thrust库实现异步操作与回调函数 在Thrust库中,你可以通过CUDA流(stream)来实现异步操作,并在适当的位置插入回调函数。以下是如何实现的详细说明: 基本异步操作 Thrust本身并不直接暴露CUDA流接口,但你可以通过以下方式使…...
【Python 异常处理】
Python 的异常处理机制是构建健壮程序的核心工具,通过 try-except 结构实现优雅的错误管理。以下是系统化指南: 一、基础异常处理结构 try:# 可能出错的代码result 10 / 0 except ZeroDivisionError:# 异常处理逻辑print("错误:除数不…...
40:相机与镜头选型
第一章 相机 1.1 理论基础 1.1.1 相机分类 1 )按照芯片类型: CCD 相机、 CMOS 相机 2 )按照传感器的结构特性:线阵相机、面阵相机 3 )按照扫描方式:隔行扫描相机、逐行扫描相机 4 )按…...
【ESP32-S3】Guru Meditation Error 崩溃分析实战:使用 addr2line 工具 + bat 脚本自动解析 Backtrace
【ESP32-S3】Guru Meditation Error 崩溃分析实战:使用 addr2line 工具 bat 脚本自动解析 Backtrace 在使用 ESP32-S3 进行开发时,我们常常遇到串口报错,例如: Guru Meditation Error: Core 1 paniced (LoadProhibited). Exce…...
win11 VSCode 强制弹窗微软登录
今天在一台新电脑上配置VSCode同步的时候,用了微软账号,因为这台电脑比较特殊,不方便科学上网,所以一开始用的微软账户登录,导致和GitHub账号登录的配置、扩展等等不同步。 后面准备改用GitHub账号登录发现不行&#…...
Thrust库中的Gather和Scatter操作
Thrust库中的Gather和Scatter操作 Thrust是CUDA提供的一个类似于C STL的并行算法库,其中包含两个重要的数据操作:gather(聚集)和scatter(散开)。 Gather操作 Gather操作从一个源数组中按照指定的索引收集元素到目标数组中。 函数原型: t…...
springboot + mysql8降低版本到 mysql5.7
springboot mysql8降低版本到 mysql5.7 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency>spring:datasource:driverClassName: com.mysql.jdbc.D…...
在 Windows 中配置使用 WSL 来运行 Linux 环境,主要有以下步骤:
一、安装 WSL 方法一:使用 wsl --install 命令 :以管理员身份运行 PowerShell 或 Windows 命令提示符,输入 wsl --install 命令,该命令将自动启用运行 WSL 所需的功能,并安装默认的 Linux 发行版 Ubuntu。 方法二&…...
TypeScript泛型:从入门到精通的全方位指南
TypeScript泛型:从入门到精通的全方位指南 前言 最近在社区看到很多小伙伴对TypeScript的泛型概念感到困惑。作为一名从Java转战前端的老兵,我想用最接地气的方式,带大家彻底搞懂这个看似高深实则简单的重要特性。 一、什么是泛型…...
DA14531如何在固件中生成与时间相关的mac和版本号
一. 蓝牙device information service显示固件编译时间 这里我是用序列号的characteristic来显示。 只需要把序列号的characteristic value用宏的方式: #define APP_DIS_SERIAL_NB_STR (__DATE__" "__TIME__) #define APP_DIS_SERIAL_NB_STR…...
内存安全设计方案
内存安全设计方案 1. 内存问题分析 1.1 常见内存问题 内存泄漏: 单例对象持有过多引用缓存未及时清理线程池资源未释放内存溢出: 大对象频繁创建队列积压并发处理不当GC频繁: 对象创建过多内存碎片化大对象分配1.2 问题场景 #mermaid-svg-uPgkoDPv6GNGT28v {font-family:&…...
免费Ollama大模型集成系统——Golang
Ollama Free V2 Web 功能实现:界面交互与后端逻辑 一、Web 界面概述 Ollama Free V2 的 Web 界面提供了丰富的交互功能,包括模型选择、图片上传、历史记录查看等。界面使用 Bootstrap 进行布局,结合 JavaScript 实现动态交互。 二、前端界…...
工具学习_模糊测试
定义:模糊测试(fuzz testing, fuzzing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃、断言失败,以发现可能的程序错误,比如内存泄漏。…...
AI智能分析网关V4周界入侵检测算法精准监测与智能分析,筑牢周界安全防线
一、方案背景 随着安全防范需求的不断提升,传统周界安防系统存在误报率高、响应迟缓、智能化程度低等问题,难以满足现代化安全管理的要求。AI智能分析网关V4集成先进的人工智能算法与高性能计算能力,能够实现对周界区域的精准监测与智能分…...
ubuntu20.04系统搭建k8s1.28集群-docker作为容器运行时
ubuntu系统搭建 ubuntu-22.04.5-desktop-amd64.iso映像文件--->实际却是20.4focal版本。 【安装过程没有特别指出的默认回车下一步】 【用户和密码设置】 【网络连接】 【在vmware上安装的话,网络配置如下】【在vm里配置选择nat或者桥接即可】 【国内源配置】&…...
安全合规检查开源项目ComplianceAsCode/content详解及操作系统新产品开发适配指南
I. ComplianceAsCode/content简介 A. 项目使命及其在自动化合规中的重要性 ComplianceAsCode/content项目致力于为各类操作系统发行版和产品提供安全与合规内容。该项目的核心目标是促进自动化安全扫描和配置验证,从而取代传统的手动审计方法,这与日益增长的“合规即代码”…...
Jmeter -- JDBC驱动连接数据库超详细指南
数据库性能决定应用成败!高峰期,慢查询拖垮系统?并发用户激增导致连接超时?这些问题让开发者头疼不已。Apache JMeter作为性能测试神器,不仅能测试Web应用,还能直连数据库,模拟多用户负载&#…...
R利用spaa包计算植物/微生物的生态位宽度和重叠指数
一、生态位宽度 生态位宽度指数包括shannon生态位指数和levins生态位指数。下面是采用levins方法计算生态位宽度。method也可以选择“shannon”。 二、生态位重叠指数 生态位重叠指数,包括levins生态位重叠指数、schoener生态位重叠指数、petrai…...
《AI大模型应知应会100篇》第62篇:TypeChat——类型安全的大模型编程框架
第62篇:TypeChat——类型安全的大模型编程框架 摘要 在构建 AI 应用时,一个常见的痛点是大语言模型(LLM)输出的不确定性与格式不一致问题。开发者往往需要手动解析、校验和处理模型返回的内容,这不仅增加了开发成本&a…...
STM32 片上资源之串口
STM32 片上资源之串口 1 串口介绍1.1 初步介绍1.2 主要特性1.2.1 USART特性1.2.2 UART特性 1.3 主要寄存器1.4 波特率计算1.5 常用工作模式1.5.1 轮询模式:1.5.2 中断模式:1.5.3 DMA模式: 1.6 常见应用1.7 注意事项 2 软件层面协议2.1 基本概…...
全球首个投影机息屏显示专利授权:九天画芯重新定义设备交互与节能显示新范式
一、从 “功能闲置” 到 “持续交互”—— 投影机专利授权开启显示技术新纪元 在智能设备高速发展的今天,投影机作为重要的显示终端,长期面临 “非观影时段功能闲置” 的行业痛点。2025 年,一项名为 “投影机息屏显示” 的核心基础专利获得授…...
音频分类的学习
1.深度学习PyTorch入门-语音分类 https://blog.csdn.net/sinat_41787040/article/details/129795496 https://github.com/musikalkemist/pytorchforaudio https://github1s.com/musikalkemist/pytorchforaudio/blob/main/04%20Creating%20a%20custom%20dataset/urbansoundda…...
Java—— 可变参数、集合工具类、集合嵌套
可变参数 说明 1. 可变参数本质上就是一个数组 2. 作用:在形参中接收多个数据 3. 格式:数据类型...参数名称 举例:int...a 4. 注意事项: 形参列表中可变参数只能有一个 可变参数必须放在形参列表的最后面 案例演示 …...
AGI大模型(15):向量检索之调用ollama向量数据库
这里介绍将向量模型下载到本地,这里使用ollama,现在本地安装ollama,这里就不过多结束了。直接从下载开始。 1 下载模型 首先搜索模型,这里使用bge-large模型,你可以根据自己的需要修改。 点击进入,复制命令到命令行工具中执行。 安装后查看: 2 代码实现 先下载ollama…...
“强强联手,智启未来”凯创未来与绿算技术共筑高端智能家居及智能照明领域新生态
近日,北京凯创未来科技有限公司总经理赵健凯先生莅临广东省绿算技术有限公司北京运营中心,双方正式签订战略合作协议,标志着绿算技术在高端智能家居及智能照明领域的技术实力与产业布局获得智能家居行业认可,同时也为凯创未来在高…...
【内网渗透】——S4u2扩展协议提权以及KDC欺骗提权
【内网渗透】——S4u2扩展协议提权以及KDC欺骗提权 文章目录 【内网渗透】——S4u2扩展协议提权以及KDC欺骗提权[toc]一:Kerberos 委派攻击原理之 S4U2利用1.1原理1.2两种扩展协议**S4U2Self (Service for User to Self)****S4U2Proxy (Service for User to Proxy)*…...
Linux grep -r 查找依赖包是否存在依赖类 Class
方法一:通过 Linux ,grep -r ClassPath 命令 grep -f org.apache.kafka.connect.source.SourceRecord在 jar 包所在 lib 或者 lib/plugins 目录下执行,grep -r, flink-sql-connector-sqlserver-cdc-3.3.0.jar 中此 kafka Source…...
Qt笔记---》.pro中配置
文章目录 1、概要1.1、修改qt项目的中间文件输出路径和部署路径1.2、Qt 项目模块配置1.3、外部库文件引用配置 1、概要 1.1、修改qt项目的中间文件输出路径和部署路径 (1)、为解决 “ 输出文件 ” 和 “ 中间输出文件 ”全部在同一个文件夹下的问题&am…...
D. Eating【Codeforces Round 1005 (Div. 2)】
D. Eating 题意 有 n n n 个史莱姆排成一行,第 i i i 个史莱姆的权重为 w i w_i wi。若史莱姆 i i i 的权重满足 w i ≥ w j w_i \geq w_j wi≥wj,则它可以吃掉史莱姆 j j j;之后,史莱姆 j j j 会消失,…...
猫眼浏览器:简约安全,极速浏览
猫眼浏览器是一款以简约安全为目标的Chrome内核增强版浏览器,基于最新的Chromium开源内核进行二次优化开发。它不仅继承了Chrome浏览器的高速浏览体验,还通过增强的隐私保护设置,让用户远离被追踪和广告的烦恼。无论是日常浏览、信息查询还是…...
安全扫描之 Linux 杀毒软件 Clamav 安装
文章目录 背景Clamav 简介安装使用1、安装epel-release2、Clamav安装3、成功安装4、更新病毒库5、执行扫描6、结果分析7、常见问题 背景 最近在做HVV准备工作,应要求需要在 Linux 服务器上安装杀毒软件,以此文记录下Clamav 安装过程。 Clamav 简介 Cl…...
排序算法详解
排序算法全面解析 排序算法是计算机科学中最基础也最重要的算法之一。它将一组数据(例如数字列表、字符串集合)按照特定的顺序(升序或降序)重新排列。高效的排序算法对于优化其他算法(如搜索和合并算法)的…...