当前位置: 首页 > news >正文

Vue3+Vite+TypeScript+Element Plus开发-22.客制Table组件

 系列文档目录

Vue3+Vite+TypeScript安装

Element Plus安装与配置

主页设计与router配置

静态菜单设计

Pinia引入

Header响应式菜单缩展

Mockjs引用与Axios封装

登录设计

登录成功跳转主页

多用户动态加载菜单

Pinia持久化

动态路由 -动态增加路由

动态路由-动态删除路由 

路由守卫-无路由跳转404

 路由守卫-未登录跳转登录界面

 登录退出

Tags-组件构建

Tags-与菜单联动 

Pinia持久化优化

按钮权限

客制按钮组件

客制Table组件

客制Form组件

国际化

配置文件


 文章目录

目录

 系列文档目录

 文章目录

前言

子组件-Table组件构建

父组件-Table组件显示

演示效果

 后续

代码下载 


前言

上一章节讨论按钮组件构建与使用,本章节重点讨论Table组件构建与结合按钮组件使用。


子组件-Table组件构建

创建文件:  components/ActionTableCont.vue  

实现功能:

1. 栏位定义: 栏位配置由父组件传入,栏位可自定义隐藏。

2. 数据来源: 表格数据由父组件提供。

3. 勾选功能: 支持行数据的勾选操作。

4. 分页功能: 集成分页功能,支持数据分页显示。

<template><div><!-- 表格 --><el-table:data="currentPageData"style="width: 100%"border@selection-change="handleSelectionChange"><!-- 选择列 --><el-table-columnv-if="showSelection"type="selection"width="55"align="center"></el-table-column><!-- 序号列 --><el-table-columntype="index"label="序号"width="50"align="center"></el-table-column><!-- 动态列 --><el-table-columnv-for="column in visibleColumns":key="column.prop":prop="column.prop":label="column.label":width="column.width":align="column.align || 'left'"></el-table-column></el-table><!-- 分页 --><el-pagination:current-page="currentPage":page-size="pageSize":page-sizes="pageSizes"layout="total, sizes, prev, pager, next, jumper":total="tableData.length"@size-change="handleSizeChange"@current-change="handleCurrentChange"style="margin-top: 20px"></el-pagination></div>
</template><script setup>
import { ref, computed, defineProps, defineEmits, watch } from 'vue';const props = defineProps({tableColumns: {type: Array,required: true,default: () => [],},tableData: {type: Array,required: true,default: () => [],},pageSize: {type: Number,default: 10,},pageSizes: {type: Array,default: () => [5, 10, 15, 20],},showSelection: {type: Boolean,default: false,},
});const emit = defineEmits(['update:currentPage', 'update:pageSize', 'selection-change']);const currentPage = ref(1);const currentPageData = computed(() => {const start = (currentPage.value - 1) * props.pageSize;const end = start + props.pageSize;return props.tableData.slice(start, end);
});const visibleColumns = computed(() => {return props.tableColumns.filter((column) => !column.hide);
});const handleSizeChange = (newSize) => {console.log(`分页大小改变,新的分页大小为: ${newSize}`);emit('update:pageSize', newSize);currentPage.value = 1; // 重置当前页为第一页emit('update:currentPage', currentPage.value);
};const handleCurrentChange = (newPage) => {console.log(`当前页码改变,新的页码为: ${newPage}`);currentPage.value = newPage;emit('update:currentPage', currentPage.value);
};const handleSelectionChange = (selection) => {emit('selection-change', selection);
};// 监听 currentPage 和 pageSize 的变化并记录日志
watch(currentPage, (newVal, oldVal) => {console.log(`currentPage changed from ${oldVal} to ${newVal}`);
});watch(() => props.pageSize, (newVal, oldVal) => {console.log(`pageSize changed from ${oldVal} to ${newVal}`);
});
</script>

父组件-Table组件显示

功能说明:

1. 按钮组件引用: 删除按钮默认不可用。

2. 表格组件引用: 每页显示 5 条数据。

3. 栏位数据模拟: 地址栏位默认隐藏。

4. 勾选功能:

        • 勾选数据后,删除按钮变为可用状态;

        • 未勾选任何数据时,删除按钮保持不可用状态。

5. 勾选数据展示: 勾选的数据会在表格下方空白处显示。

6. 删除按钮功能: 点击删除按钮时,获取勾选的数据。

<template><div><ActionButtonGroup:show-add="hasPermission('demo2:create')"  :show-delete="true":disabled-add="false":disabled-edit="!selectedData.length":disabled-delete="!selectedData.length"@add="handleAdd"@edit="handleEdit"@delete="handleDelete"/><!-- 表格 --><CustomTable:tableColumns="columns":tableData="data":pageSize="pageSize":pageSizes="[5, 10, 15, 20, 30]":showSelection="true"@update:currentPage="currentPage = $event"@update:pageSize="pageSize = $event"@selection-change="handleSelectionChange"/><!-- 显示选中数据 --><div v-if="selectedData.length > 0" style="margin-top: 20px"><h3>选中的数据:</h3><pre>{{ selectedData }}</pre></div></div>
</template><script setup>
import { ref } from 'vue';
import CustomTable from '@/components/ActionTableCont.vue';
import { usePermission } from "@/utils/permissionUtils";
import ActionButtonGroup from "@/components/ActionBtnHdrCont.vue";
import {Plus,Check,Delete,Edit,Message,Search,Star,Upload,
} from '@element-plus/icons-vue'const hasPermission = usePermission();const columns = ref([{prop: 'date',label: '日期',width: 180,},{prop: 'name',label: '姓名',width: 180,},{prop: 'address',label: '地址',hide: true,},
]);const data = ref([{id: 1,date: '2025-04-14',name: '张三',address: '上海市普陀区金沙江路 1518 弄',},{id: 2,date: '2025-04-15',name: '李四',address: '上海市普陀区金沙江路 1517 弄',},{id: 3,date: '2025-04-16',name: '王五',address: '上海市普陀区金沙江路 1516 弄',},{id: 4,date: '2025-04-17',name: '赵六',address: '上海市普陀区金沙江路 1515 弄',},{id: 5,date: '2025-04-18',name: '孙七',address: '上海市普陀区金沙江路 1514 弄',},{id: 6,date: '2025-04-19',name: '周八',address: '上海市普陀区金沙江路 1513 弄',},{id: 7,date: '2025-04-20',name: '吴九',address: '上海市普陀区金沙江路 1512 弄',},{id: 8,date: '2025-04-21',name: '郑十',address: '上海市普陀区金沙江路 1511 弄',},{id: 9,date: '2025-04-22',name: '钱十一',address: '上海市普陀区金沙江路 1510 弄',},{id: 10,date: '2025-04-23',name: '孔十二',address: '上海市普陀区金沙江路 1509 弄',},{id: 11,date: '2025-04-24',name: '秦十三',address: '上海市普陀区金沙江路 1508 弄',},{id: 12,date: '2025-04-25',name: '尤十四',address: '上海市普陀区金沙江路 1507 弄',},
]);const currentPage = ref(1);
const pageSize = ref(5);// 默认每页显示5条数据// 用于存储选中的数据
const selectedData = ref([]);// 处理选中数据变化
const handleSelectionChange = (selection) => {selectedData.value = selection;
};// 获取选中数据
const handleDelete = () => {console.log('Selected Data:', selectedData.value);console.log('Selected  Data length:', selectedData.value.length);if (selectedData.value.length > 0) {// 删除逻辑console.log('Deleting selected data...');selectedData.value = [];} else {console.log('No selected data to delete.');}};
</script>

演示效果

测试效果:

1. 地址栏位: 地址栏位未显示。

2. 数据加载: 数据被成功加载。

3. 分页显示: 页码与翻页功能显示正确。

4. 删除按钮: 删除按钮默认不可用。

测试效果:

1. 勾选操作:

        • 勾选任意数据后,删除按钮显示,选中数据显示勾选资料

        • 未勾选任何数据时,删除按钮不显示。

2. 全选与全取消:

        • 支持全选操作,全选后删除按钮显示,选中数据显示勾选资料

        • 支持全取消操作,全取消后删除按钮不显示。

测试效果:

1. 每页显示笔数: 每页显示的记录数正确。

2. 页码选择: 页码选项可正常选择。

3. 前往页码: 支持跳转到指定页码。


 后续

本章节主要介绍:客制化 Table 组件的实现。下一章节将讨论:Form 组件的构建。


代码下载 

GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。https://gitcode.com/sen_shan/ssVue3Demo.gitss.vue3.demo: 本项目以 Vue3、Vite、TypeScript、Element Plus 为核心框架,结合 Vue Router、Element Plus Icons、Less、Axios、Pinia、Mock 等技术,初始的构建登录,主界面,权限控制,按钮组件,table组件,form组件等小模型,可以随意搭建web管理系统https://gitee.com/sen_shan/ssVue3Demo.git

相关文章:

Vue3+Vite+TypeScript+Element Plus开发-22.客制Table组件

系列文档目录 Vue3ViteTypeScript安装 Element Plus安装与配置 主页设计与router配置 静态菜单设计 Pinia引入 Header响应式菜单缩展 Mockjs引用与Axios封装 登录设计 登录成功跳转主页 多用户动态加载菜单 Pinia持久化 动态路由 -动态增加路由 动态路由-动态删除…...

hive的基础配置优化与数仓流程

1.HDFS副本数 dfs.replication&#xff08;HDFS&#xff09; 文件副本数&#xff0c;通常设为3&#xff0c;不推荐修改。 如果测试环境只有二台虚拟机&#xff08;2个datanode节点&#xff09;&#xff0c;此值要修改为2。 2.Yarn基础配置 2.1NodeManager配置 2.1.1CPU配置 …...

制作一个简单的操作系统3

打印一个 hello 在 INT 10H 中断中的作用 INT 10H 是 BIOS 提供的中断&#xff0c; 当 AH 寄存器的值被设置为 0x0e 时&#xff0c;INT 10H 中断就会以 TTY 模式工作。 mov ah, 0x0e ;tty模式 mov al, H int 0x10 mov al, e int 0x10 mov al, l int 0x10 int 0x10 ; l is stil…...

linux ptrace 图文详解(六) gdb单步调试

目录 一、gdb单步调试介绍 二、单步调试原理 三、MDSCR_EL1对单步调试的支持、及起作用时机 四、代码实现 五、总结 &#xff08;代码&#xff1a;linux 6.3.1&#xff0c;架构&#xff1a;arm64&#xff09; One look is worth a thousand words. —— Tess Flanders …...

51、项⽬中的权限管理怎么实现的

答&#xff1a;权限管理有三个很重要的模块&#xff1b; (1)⽤⼾模块&#xff1a;可以给⽤⼾分配不同的⻆⾊ (2)⻆⾊模块&#xff1a;可以授于⽤⼾不同的⻆⾊&#xff0c;不同的⻆⾊有不同权限 (3)权限模块&#xff1a;⽤于管理系统中的权限接⼝&#xff0c;为⻆⾊提供对…...

第五章 SQLite数据库:4、SQLite 进阶用法:常见的约束、PRAGMA 配置、数据操作

SQLite PRAGMA PRAGMA 命令用于查询和设置 SQLite 数据库的环境配置&#xff0c;可以帮助管理数据库的行为和性能。 语法 查询 PRAGMA 值&#xff1a; PRAGMA pragma_name;设置 PRAGMA 值&#xff1a; PRAGMA pragma_name value;常见 PRAGMA 示例 1. auto_vacuum Pragma…...

Windows系统安装Boost库

安装Boost库 下载Boost库源码 Boost Downloads 从Boost官方网站下载源码。请访问Boost官网&#xff0c;选择适合您系统的版本进行下载。下载完成后&#xff0c;解压源文件到您选择的目录。 使用Bootstrap脚本准备编译 在Boost源码的根目录下&#xff0c;找到bootstrap.bat文件…...

2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(三级)答案 + 解析

青少年软件编程(Python)等级考试试卷(三级) 分数:100 题数:38 一、单选题(共25题,共50分) 1. 学校进行体育跳远期末考试,每人有三次机会,取最远的一次作为最后成绩,1班的成绩如下,CLASS1=[[‘李明’,150,152,147],[‘王红’,146,143,146],[‘刘岩’,148,152,150],[…...

Git 解决“Filename too long”问题

在 Windows 系统中使用 Git 时&#xff0c;遇到 Filename too long 错误通常是由于系统默认的路径长度限制&#xff08;260 字符&#xff09;导致的。以下是综合多种场景的解决方案&#xff1a; 一、快速解决方法 启用 Git 长路径支持 通过 Git 配置命令允许处理超长文件名&am…...

DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_自定义单元格大小示例(CalendarView01_07)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

麦科信汽车诊断示波器在机车维修领域中的应用实例

麦科信汽车诊断示波器在机车维修领域中的应用实例 “Micsig SATO1004的错误帧统计功能与历史波形存储&#xff0c;让我们在诊断间歇性CAN故障时有了决定性武器。这不仅是工具升级&#xff0c;更是维修理念的革新。” — Ian Coffey, Mototek技术总监&#xff08;欧洲ECU诊…...

Zookeeper 概述

Zookeeper 概述 Zookeeper 概述与使用指南什么是Zookeeper&#xff1f;Zookeeper的主要作用使用Zookeeper的框架典型使用场景1. 配置管理2. 分布式锁3. 服务注册与发现 Zookeeper的缺陷与其他协调服务的比较实际案例&#xff1a;Kafka使用Zookeeper最佳实践 Zookeeper 概述与使…...

leetcode 188. Best Time to Buy and Sell Stock IV

目录 题目描述 第一步&#xff0c;明确并理解dp数组及下标的含义 第二步&#xff0c;分析明确并理解递推公式 1.求dp[i][j].holding 2.求dp[i][j].sold 第三步&#xff0c;理解dp数组如何初始化 第四步&#xff0c;理解遍历顺序 代码 题目描述 这道题把第123题推广为一…...

Kubernetes》》k8s》》Namespace

Namespace 概述 Namespace&#xff08;命名空间&#xff09; 是 Kubernetes 中用于逻辑隔离集群资源的机制&#xff0c;可将同一集群划分为多个虚拟环境&#xff0c;适用于多团队、多项目或多环境&#xff08;如开发、测试、生产&#xff09;的场景。 核心作用&#xff1a; 资…...

如何在米尔-STM32MP257开发板上部署环境监测系统

本文将介绍基于米尔电子MYD-LD25X开发板&#xff08;米尔基于STM35MP257开发板&#xff09;的环境监测系统方案测试。 摘自优秀创作者-lugl4313820 一、前言 环境监测是当前很多场景需要的项目&#xff0c;刚好我正在论坛参与的一个项目&#xff1a;Thingy:91X 蜂窝物联网原型…...

解决jupyter notebook修改路径下没有c.NotebookApp.notebook_dir【建议收藏】

文章目录 一、检查并解决问题二、重新设置默认路径创作不易&#xff0c;感谢未来首富们的支持与关注&#xff01; 最近在用jupyter notebook编写代码时&#xff0c;更新了一下Scikit-learn的版本&#xff0c;然后重新打开jupyter notebook的时候&#xff0c;我傻眼了&#xff0…...

lottie深入玩法

A、json文件和图片资源分开 delete 是json资源名字 /res/lottie/delete_anim_images是图片资源文件夹路径 JSON 中引用的图片名&#xff0c;必须与实际图片文件名一致 B、json文件和图片资源分开&#xff0c;并且图片加载不固定 比如我有7张图片&#xff0c;分别命名1~7&…...

o3和o4-mini的升级有哪些亮点?

ChatGPT是基于OpenAI GPT系列的高性能对话生成AI&#xff0c;经过多代迭代不断提升自然语言理解和生成能力。 在过去的一年中&#xff0c;OpenAI先后发布了GPT-4、GPT‑4.1及多种mini版本&#xff0c;为不同使用场景提供灵活选择。​ 随着用户需求向更高效、更精准的推理和视觉…...

Spring Boot 3 + SpringDoc:打造接口文档

1、背景公司 新项目使用SpringBoot3.0以上构建&#xff0c;其中需要对外输出接口文档。接口文档一方面给到前端调试&#xff0c;另一方面给到测试使用。 2、SpringDoc 是什么&#xff1f; SpringDoc 是一个基于 Spring Boot 项目的库&#xff0c;能够自动根据项目中的配置、…...

ApiHug 前端解决方案 - M1 内侧

背景 ApiHug UI 解决方案 - ApiHug前后端语义化设计&#xff0c;节约80%以上时间https://apihug.github.io/zhCN-docs/ui 现代前端框架日趋SPA(Single Page Application)化&#xff0c;给前后协同都带来了挑战&#xff0c;ApiHug试图减少多人在前后协同带来的理解难度&#x…...

vue2.6.12 安装babel 以使用 可选链 ?. 和空值合并 ??

package.json文件 {"name": "ruoyi","version": "3.6.4","description": "若依管理系统","author": "若依","license": "MIT","scripts": {"dev":…...

AI数字人如何深度赋能政务场景?魔珐科技政务应用全景解读

在数字中国建设的进程中&#xff0c;政务传播与公共服务正面临效率提升、质量优化与体验改善的多重需求。以魔珐科技所打造的AI数字人为代表&#xff0c;正在逐步融入政务体系&#xff0c;成为推动工作提效和服务创新的重要工具。从国家安全宣讲到政策解读&#xff0c;从反诈防…...

SpringAI+DeepSeek大模型应用开发——5 ChatPDF

ChatPDF 知识库 RAG检索增强 由于训练大模型非常耗时&#xff0c;再加上训练语料本身比较滞后&#xff0c;所以大模型存在知识限制问题&#xff1a; 知识数据比较落后&#xff0c;往往是几个月之前的&#xff1b;不包含太过专业领域或者企业私有的数据&#xff1b; 为了解决…...

音视频之H.265/HEVC变换编码

H.265/HEVC系列文章&#xff1a; 1、音视频之H.265/HEVC编码框架及编码视频格式 2、音视频之H.265码流分析及解析 3、音视频之H.265/HEVC预测编码 4、音视频之H.265/HEVC变换编码 目录 一、离散余弦变换&#xff1a; DCT原理及特点&#xff1a; 一维DCT解析例子&#xff1…...

网工_FTP协议

2025.04.18&#xff1a;网工老姜&小猿网学习笔记 第27节 FTP协议 7.1 FTP概述7.2 FTP工作原理7.2.1 FTP主动模式7.2.2 FTP被动模式 7.3 FTP客户端常用命令7.4 本章小结 7.1 FTP概述 文件传输协议file transfer protocol 常见用途是从FTP服务器批量下载文件&#xff0c;另一…...

Vue2+Vue3 130~180集学习笔记

Vue2Vue3 130~180集&#xff08;Vue3&#xff09;学习笔记 一、create-vue搭建vue3项目 create-vue是vue官方新的脚手架工具&#xff0c;底层切换到了vite 步骤&#xff1a; 查看环境条件 node -v版本需要在16.0及以上创建一个vue应用 npm init vuelatest 这一指令会安装并执…...

前端融合图片mask

之前实现了tif文件的融合&#xff0c;现在实现图片的融合&#xff0c;效果如下 第一张是融合右边两张图的结果 我的思路是&#xff1a; 初始使用canvas加载原图&#xff0c;此时未显示标注点击显示标注后&#xff0c;将原图和mask图传给workerworker接受数据后&#xff0c;转…...

什么是单元测试的“覆盖率”

1. 先搞清楚“覆盖率”是啥&#xff1f;​​ 打个比方&#xff0c;你写完作业&#xff08;代码&#xff09;&#xff0c;老师&#xff08;测试&#xff09;要检查是不是每道题都做对了。覆盖率就是说老师检查了多少题。比如&#xff1a; ​行覆盖率​&#xff1a;老师看了你作…...

SpringAI入门:对话机器人

SpringAI入门&#xff1a;对话机器人 1.引入依赖 创建一个新的SpringBoot工程&#xff0c;勾选Web、MySQL驱动、Ollama&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xm…...

[Java · 初窥门径] Java 语言初识

&#x1f31f; 想系统化学习 Java 编程&#xff1f;看看这个&#xff1a;[编程基础] Java 学习手册 0x01&#xff1a;Java 编程语言简介 Java 是一种高级计算机编程语言&#xff0c;它是由 Sun Microsystems 公司&#xff08;已被 Oracle 公司收购&#xff09;于 1995 年 5 …...

大语言模型智能体:安全挑战与应对之道

在当今科技飞速发展的时代&#xff0c;大语言模型驱动的智能体正逐渐融入我们生活和工作的方方面面&#xff0c;给我们带来了诸多便利。但与此同时&#xff0c;它们的安全问题也引起了广泛的关注。今天&#xff0c;咱们就一起来深入了解一下可信大语言模型智能体所面临的安全挑…...

IHC肿瘤标志物 | 常见乳腺癌诊断——助力守护生命之花

乳腺癌作为一种常见的恶性肿瘤&#xff0c;严重威胁着女性健康。然而&#xff0c;随着医学技术的不断发展&#xff0c;我们有了更为精准和有效的检测方法&#xff0c;为及早发现和治疗乳腺癌提供了强有力的支持。 在这篇文章中&#xff0c;我们将深入了解乳腺癌的IHC检测技术&a…...

利用deepseek+Mermaid画流程图

你是一个产品经理&#xff0c;请绘制一个流程图&#xff0c;要求生成符合Mermaid语法的代码&#xff0c;要求如下&#xff1a; 用户下载文件、上传文件、删除文件的流程过程符合安全规范细节具体到每一步要做什么 graph LRclassDef startend fill:#F5EBFF,stroke:#BE8FED,str…...

Vue3 实战:打造多功能旅游攻略选项卡页面

在旅游类应用开发中&#xff0c;为用户提供全面、直观的信息展示界面至关重要。本文将分享如何基于 Vue3 Axios 技术栈&#xff0c;实现一个包含攻略、游记、问答三大板块的旅游攻略选项卡页面&#xff0c;从样式设计到交互逻辑&#xff0c;带你深入了解整个开发过程。 项目背…...

如何提高单元测试的覆盖率

一、定位未覆盖的代码 ​利用 IDEA 的覆盖率工具​&#xff1a; 右键测试类 → ​Run with Coverage&#xff0c;或使用 AltShiftF10&#xff08;Windows&#xff09;打开运行菜单选择覆盖率。​查看高亮标记​&#xff1a; ​绿色​&#xff1a;已覆盖代码行。​红色​&#x…...

水位传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main.c文件 water.h文件 water.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 Water Sensor水位传感器是一款简单易用、性价比较高的水位/水滴识别检测传感器&#xff0c;其是通过具有一系列…...

linux服务器命令行获取nvidia显卡SN的方法

机房需要变更机器的GPU显卡配置&#xff0c;入库、出库几块显卡&#xff0c;库管让我去获取显卡序列号。 去现场拆机器的事情毕竟很麻烦&#xff0c;而且也没干过拆装服务器&#xff0c;即使拆下来显卡也不一定找到SN。 于是乎搜索&#xff1a;命令行怎么获取linux服务器上的…...

大模型微服务架构模块实现方案,基于LLaMA Factory和Nebius Cloud实现模型精调的标准流程及代码

以下是基于LLaMA Factory和Nebius Cloud实现模型精调的标准流程及代码示例&#xff0c;结合最新技术动态和行业实践整理&#xff1a; 一、LLaMA Factory本地部署方案 1. 环境配置 # 创建Python环境并安装依赖 conda create -n llama_factory python3.10 conda activate llam…...

每天学一个 Linux 命令(20):find

​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/20/index.html find 是 Linux 系统中最强大的文件搜索工具之一,支持按名称、类型、时间、大小、权限等多种条件查找文件,并支持对搜索结果执行操作(如删除、复制、执行命令等)。掌握 find 可大幅提升文件管理效率…...

Kubernetes Pod 调度策略:从基础到进阶

文章目录 环境Kubernetes 部署Kubernetes Pod 调度策略Kubernetes Pod 调度策略对照表调度流程经历阶段案例展示生成yaml文件默认调度节点选择器为节点添加标签编写 Deployment 配置文件应用资源并查看调度结果 Node Affinity&#xff08;节点亲和性&#xff09;为节点添加标签…...

4.18学习总结

完成一道算法题 学习了序列化 敲代码卡bug了...

用于数学定理和逻辑推理的符号系统

当前用于数学定理和逻辑推理的前沿符号系统主要基于依赖类型论&#xff08;Dependent Type Theory&#xff09;&#xff0c;其中Lean 4和**Metamath Zero (MM0)**是最具代表性的新兴系统。以下从技术特性、使用方法和应用实例三个维度展开说明&#xff1a; 一、前沿符号系统解…...

HTTP:九.WEB机器人

概念 Web机器人是能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序。人们根据这些机器人探查web站点的方式,形象的给它们取了一个饱含特色的名字,比如“爬虫”、“蜘蛛”、“蠕虫”以及“机器人”等!爬虫概述 网络爬虫(英语:web crawler),也叫网络蜘蛛(…...

代码学习总结(五)

代码学习总结(五) 这个系列的博客是记录下自己学习代码的历程,有来自平台上的,有来自笔试题回忆的,主要基于 C++ 语言,包括题目内容,代码实现,思路,并会注明题目难度,保证代码运行结果 1 小红的好数 简单 非退化三角形 快速匹配 小红定义一个数对 { x , y } \{x…...

在 Vue 3 项目中引入 js-cookie 库

1. 安装 js-cookie 你可以通过 npm 或者 yarn 来安装 js-cookie&#xff1a; npm install js-cookie # 或者 yarn add js-cookie2. 在组件里引入并使用 js-cookie 以下给出两种使用方式&#xff1a; 全局引入 在 main.js 中全局引入 js-cookie&#xff0c;这样在所有组件里…...

HarmonyOs学习 环境配置后 实验1:创建项目Hello World

HarmonyOS开发入门&#xff1a;环境配置与Hello World实验 实验目标 掌握HarmonyOS开发环境配置&#xff0c;创建首个HarmonyOS应用并实现"Hello World"界面展示 实验准备 已安装DevEco Studio开发环境已配置HarmonyOS开发依赖项熟悉基本TypeScript/ArkTS语法&am…...

Spark on K8s 在 vivo 大数据平台的混部实战与优化

一、Spark on K8s 简介 (一)定义与架构 Spark on K8s 是一种将 Spark 运行在 Kubernetes(K8s)集群上的架构,由 K8s 直接创建 Driver 和 Executor 的 Pod 来运行 Spark 作业。其架构如下。 Driver Pod:相当于 Spark 集群中的 Driver,负责作业的调度和管理,它会根据作业…...

《软件设计师》复习笔记(13)——结构化开发方法

目录 1. 结构化开发方法 1.1 系统分析过程 1.2 系统设计基本原理 &#xff08;1&#xff09;内聚性&#xff08;模块内部关联程度&#xff09; &#xff08;2&#xff09;耦合性&#xff08;模块间依赖程度&#xff09; 真题示例&#xff1a; 1.3 系统总体结构设计&…...

Android创建测试配置和生产配置

Android测试与生产环境配置指南 在Android开发中&#xff0c;创建不同的构建配置来适应测试和生产环境是至关重要的。这样的配置能让我们在不同的开发阶段有效管理代码、资源和环境变量。本文将详细介绍如何在Android中创建和管理测试配置以及生产配置的整个过程。 环境准备 …...

DBeaver连接hive

DBeaver是一个非常好用的数据库管理工具&#xff0c;支持多种不同的数据库类型。 dbeaver 要连接hive时&#xff0c;数据库驱动是无法下载&#xff0c;但在hive 的安装配置包中&#xff0c;有一个目录&#xff1a;jdbc里面有一个专门提供外部程序连接hive的jar。将这个jar下载…...