前端面试项目拷打
Axios相关
1.在Axios二次封装时,具体封装了哪些内容,如何处理请求拦截和响应拦截?
axios二次封装的目的:为了统一处理请求和响应拦截器、错误处理、请求超时、请求头配置等,提高代码可维护性和复用性。
- 首先创建axios实例,配置基础的URL和请求超时时间。
- 请求拦截器:用于在发送请求之前进行一些预处理,像,检查本地存储中是否存在token,当前请求的URL是否在白名单中,如果token存在且URL不在白名单中,会在请求头中添加token.
- 响应拦截器:用于在接收到响应之后进行一些处理。根据后台返回的code数据,使用ElMessage显示信息,如果token错误或过期,会清除本地存储中的相关数据,并将用户重定向到登录页面。
- 导出Axios实例:在其他部分使用,可以通过这个实例发出HTTP请求,不需要每次都重新配置Axios 。如在API请求封装文件导入了axios的二次封装,getCode函数内部调用了request.post方法发出请求。request.post就是axios文件中配置好的实例post方法。
2.如何处理全局的错误码返回的,比如token失效、权限不足等情况?
在响应式拦截器中,根据后端返回的code进行不同处理
3.Aixos封装是否支持取消请求,如果一个用户在短时间内连续点击多个请求?
使用axios.CancelToken来取消重复请求,防止用户多次点击按钮导致接口请求重复。
Vuex相关
4.如何实现Vuex数据持久化的?
Vuex 默认存储在内存中,刷新页面后会丢失数据。我使用
vuex-persistedstate
进行持久化存储,存入localStorage
或sessionStorage
。刷新后将动态路由添加到main.js中。vuex持久化是通过localStorage实现的,具体来说,是在状态初始化时从localStorage中读取数据,并在状态变化时将新的状态保存到localStorage中,这种做法可以确保即使在页面刷新后,vuex的状态依然保持不变。
在mutation中,通过设置动态菜单的函数,动态导入vue组件并设置路由组件,实现了动态路由的添加,在mutation中监听状态变化,然后将新的状态保存在LocalStorage中。
5.在Vuex中如何涉及store结构
使用 模块化 (modules
) 的方式,将 Vuex 按功能拆分。
6.Vuex和Pinia有什么区别?
vuex通过一个store对象来管理所有状态,使状态管理变得集中和统一
pinia:分离模式,每个组件都可以拥有自己的store实例,提高性能。没有modules配置,体积也更小。
路由相关
1.前置路由守卫的作用?router.beforeEach()
用户导航到某个路由之前进行身份验证或其他逻辑判断.
重定向:用户尝试访问非登录页面且token不存在,则重定向到登录页面,如果用户已经登录(token存在)尝试访问登录页面时,则重定向到首页。
2.Aiosx Token校验的作用和路由守卫结合的原因:
axios设置请求拦截器来添加token,在响应式拦截器中处理token过期的情况,主要时为了确保每个API请求都带有正确的认证信息。
将前置路由守卫和Axios Token结合使用的原因:
- 细粒度控制:路由守卫提供了更细粒度的访问控制,可以在用户尝试访问某个页面之前就阻止未授权的访问,而不必等到 API 请求失败。
- 用户体验:通过路由守卫,可以防止用户在尝试访问受保护的页面时看到加载中的状态或错误信息,直接重定向到登录页面可以提高用户体验。
3.路由重定向的实现 redirect
用于在用户登录后根据存储在本地的路由信息决定重定向到哪个页面。如果本地没有存储路由的信息,则重定向到登录页面。
组件库的使用:
1.Element Plus和Vant的主要区别是什么?在什么场景下使用它们?
Element Plus:使用于PC端,基于vue3的UI组件库。依赖
Vue 3
生态,如setup()
和Composition API
。Vant:适用于移动端。内置
Flex 布局
,支持Vue 2
和Vue 3。
2.如何在同一个项目中同时兼容PC端和移动端的UI组件?
方法 1:使用不同的组件库(Element Plus + Vant)
方法 2:使用响应式 CSS + flex/grid
.container {display: flex;flex-direction: column;
}@media screen and (min-width: 768px) {.container {flex-direction: row;}
}
方法 3:使用 rem
+ vw
进行适配
html {font-size: calc(100vw / 10);
}
页面根据屏幕大小自动缩小,无需手动调整组件。
二维码支付
1.如何使用 Qrcode 生成二维码?如何优化二维码的清晰度?
我使用 qrcode
库来生成二维码
优化清晰度
errorCorrectionLevel: "H"
(最高容错等级,防止二维码损坏后无法识别)scale: 8
(增大像素密度,避免模糊)margin: 1
(减少周围白边)
2.在支付过程中,你是如何保证数据安全性的?
- HTTPS 加密 → 确保支付信息不被劫持。
- Token 验证 → 在支付请求中附带
JWT
,后端验证后才能处理支付请求。 - 签名机制 → 前端请求支付接口时,后端返回
签名字符串
,防止数据篡改。 - 定期刷新 Token → 避免 Token 被滥用。
Vite相关
1.为什么选择 Vite 作为构建工具?相较于 Webpack,它的优势是什么?
webpack会对所有模块进行打包操作,配置复杂,需要编写大量配置文件,功能丰富,适合大型复杂的项目。
vite没有打包的步骤,而是直接启动一个开发服务器,按需加载模块,响应速度提高。大部分无需自己写配置文件。轻量和速度优势,适合中小型项目。
2.vite的快速冷启动和即时热更新
快速冷启动:指在vite启动开发服务器时,能够迅速完成初始化并启动服务,使得开发者可以立即开始开发工作。
即时热更新:当代码发生变化时,vite能够实时地将这些变化推送到浏览器中,无需手动刷新页面,允许开发者在编写代码时能够立即看到效果从而加快开发速度和迭代效率。
3.webSocket
WebSocket是HTML5引入的一项技术,用于在Web应用程序中实现实时双向通信。WebSocket允许服务器主动向客户端推送数据,不需要客户端发起请求。
特点:
- 实时双向通信:一旦建立了WebSocket连接,客户端和服务器可以通过该连接进行双向的实时数据传输。
- 持久化连接:WebSocket连接保持打开状态,允许客户端和服务器之间进行持续通信,无需频繁建立连接。
- 高效性:通过减少HTTP请求的次数和降低网络延迟,WebSocket提供了更高效和实时的通信方式。
vite在开发服务器和浏览器之间建立了一个持久的双向通信通道(websocket),通过者通道,开发服务器可以实时地将代码变化推送给浏览器。
异步处理
1.在 API 调用中,你是如何处理请求失败或超时的?
在axios实例中设置了timeout属性为10000毫秒(10s),意味着如果请求在10s内没有完成,会自动触发超时错误。超时错误会进入响应拦截中。
- 设置
timeout
,超时自动取消 try-catch
处理异常,显示友好错误提示
2.async/await
和 .then().catch()
方式的区别是什么?
async/await → 语法简洁,可读性高
then().catch() → 适用于 Promise 链式调用
3.如果多个 API 需要并行调用,你会如何优化?
使用 Promise.all()
并行执行多个 API:提高性能,减少等待时间。
const [user, orders] = await Promise.all([axios.get("/api/user"),axios.get("/api/orders"),
]);
性能优化
1.KeepAlive缓存?
<keep-alive>是一个内置组件,用于缓存组件实例,避免在切换时重复渲染和销毁,对于性能优化特别有用,尤其在用户频繁切换页面或者组件的情况下,可以减少不必要的DOM操作和计算,提高用户体验。
用法:<keep-alive>包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们,当组件再次变得活跃状态时,会复用这些缓存的实例,而不是重新创建。
在Vue Router中,通过路由元信息(meta)来控制哪些路由下的组件需要<keep-alive>缓存
const router = new VueRouter({routes: [{path: '/foo',component: Foo,meta: { keepAlive: true } // 标记该路由下的组件需要被缓存},{path: '/bar',component: Bar}] });
在App.vue或者布局组件中使用<keep-alive>并结合路由的meta信息来决定是否缓存。
<template><div id="app"><router-view v-if="$route.meta.keepAlive" key="$route.path"></router-view><keep-alive><router-view v-if="!$route.meta.keepAlive" key="$route.path"></router-view></keep-alive></div> </template>
生命周期钩子:
别<keep-alive>包裹的组件会有特殊的生命周期钩子:
activated:当组件被激活(从缓存中取出并显示到页面)时调用。
deactivated:当组件被停用(从界面移除并缓存起来)时调用。
这意味着原本的mounted和destroyed钩子在被缓存的组件不会被调用,因为组件实例没有真正地被创建或销毁。
2.懒加载非核心模块时,具体是如何实现的,有没有遇到预加载或依赖加载的问题?
定义:路由懒加载也叫延迟加载,在需要的时候进行加载,随用随载。把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应的组件,更加高效。
为什么需要懒加载:如果没有很多页面都放在同一个js文件中,运用webpack打包后文件将异常大,进入页面时,需要加载的内容多,时间长,会出现长时间的白屏。运用懒加载可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。
懒加载做了什么事:将路由对应的组件打包成一个个的js代码块,只有这个路由被访问时才加载对应组件,否则不加载。
非懒加载示例:
// 非懒加载
import Home from '@/components/Home'const routes = [{path: '/home',name: 'home',component: Home}
]
三种方式实现懒加载
vue异步组件
vue-router配置路由,使用vue的异步组件技术,实现按需加载,在这种情况下每一个组件就会生成一个js文件,不能分类指定chunkName
// vue异步组件
{path: '/home',name: 'home',component: resolve => require(['放入需要加载的路由地址'], resolve)
}
ES6推荐方式import()
直接将组件引入的方式,import是Es6的一个语法标准
使用魔法注释/* webpackChunkName: 'ImportFuncDemo' */ 打包到一个js文件里。
import Vue from 'vue';
import Router from 'vue-router';
// 官网可知:下面没有指定webpackChunkName,每个组件打包成一个js文件。
const Foo = () => import('../components/Foo')
const Aoo = () => import('../components/Aoo')
// 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。
// const Foo = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '../components/Foo')
// const Aoo = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '../components/Aoo')
export default new Router({routes: [{path: '/Foo',name: 'Foo',component: Foo},{path: '/Aoo',name: 'Aoo',component: Aoo}]
})
webpack提供的require.ensure()实现懒加载
可以实现按需加载,多个路由指定相同的chunkName,会合并打包成一个js文件。
chunkName用于命名生成的懒加载文件
import Vue from 'vue';
import Router from 'vue-router';
const HelloWorld=resolve=>{
//@指向src目录 这个路径是需要懒加载的组件路径require.ensure(['@/components/HelloWorld'],()=>{resolve(require('@/components/HelloWorld'))})}
Vue.use('Router')
export default new Router({routes:[{{path:'./',name:'HelloWorld',component:HelloWorld}}]
})
相关文章:
前端面试项目拷打
Axios相关 1.在Axios二次封装时,具体封装了哪些内容,如何处理请求拦截和响应拦截? axios二次封装的目的:为了统一处理请求和响应拦截器、错误处理、请求超时、请求头配置等,提高代码可维护性和复用性。 首先创建axios…...
“Ubuntu禁止root用户通过SSH直接登录”问题的解决
目录 1 前言 2 问题的解决 2.1 修改sshd_config文件 2.2 重启 SSH 服务 1 前言 最近在做毕设的时候,由于使用普通用户,在MobaXterm的图形界面上,无法正常查看/root文件夹内容,如下图所示: 于是我就想直接想用oot…...
Kafka的零拷贝
Kafka的零拷贝(Zero-Copy)技术是其实现高吞吐量的关键优化之一,主要通过减少数据在内核空间和用户空间之间的冗余复制及上下文切换来提升性能。以下是其核心要点: 1. 传统数据拷贝的问题 多次复制:传统文件传输需经历…...
《大语言模型》学习笔记(三)
GPT系列模型的技术演变 2022 年11月底,OpenAI推出了基于大语言模型的在线对话应用—ChatGPT。由于具备出色的人机对话能力和任务解决能力,ChatGPT一经发布就引发了全社会对于大语言模型的广泛关注,众多的大语言模型应运而生,并且…...
华为OD机试 - 最长回文字符串 - 贪心算法(Java 2024 E卷 100分)
题目描述 如果一个字符串正读和反读都一样(大小写敏感),则称之为一个「回文串」。例如: level 是一个「回文串」,因为它的正读和反读都是 level。art 不是一个「回文串」,因为它的反读 tra 与正读不同。Level 不是一个「回文串」,因为它的反读 leveL 与正读不同(因大小…...
K8S-etcd服务无法启动问题排查
一、环境、版本信息说明 k8s:v1.19.16 etcdctl version: 3.5.1 3台etcd(10.xxx.xx.129、10.xxx.xx.130、10.xxx.xx.131)组成的集群。 二、问题根因 129节点的etcd数据与其他两台数据不一致,集群一致性校验出错导致无法加入集…...
基于WebRTC的嵌入式音视频通话SDK:EasyRTC跨平台兼容性技术架构实时通信的底层实现
EasyRTC的核心架构围绕WebRTC技术构建,同时通过扩展信令服务、媒体服务器和NAT穿透机制,解决了WebRTC在实际部署中的痛点。其架构可以分为以下几个核心模块: 1)WebRTC基础层 媒体捕获与处理:通过getUserMediaAPI获取…...
SpringBoot-已添加并下载的依赖,reload和mvn clean 后还是提示找不到jar包问题
背景: 添加spring-jdbc依赖时,原来是指定版本的,担心版本冲突,就改成依赖托管,悲剧的是反复reload和mvn clean,import到类的该包一直标红,提示jar包找不到。。。 解决方案: Idea左上…...
HTML5扫雷游戏开发实战
HTML5扫雷游戏开发实战 这里写目录标题 HTML5扫雷游戏开发实战项目介绍技术栈项目架构1. 游戏界面设计2. 核心类设计 核心功能实现1. 游戏初始化2. 地雷布置算法3. 数字计算逻辑4. 扫雷功能实现 性能优化1. DOM操作优化2. 算法优化 项目亮点技术难点突破1. 首次点击保护2. 连锁…...
机器学习——数据清洗(缺失值处理、异常值处理、数据标准化)
数据清洗(缺失值处理、异常值处理、数据标准化) 在数据处理与分析流程中,数据清洗占据着极为关键的地位。原始数据往往充斥着各种问题,如缺失值、异常值,且数据的尺度和分布也可能存在差异,这些问题会严重影响后续数据分析和机器学习模型的准确性与性能。因此,有效的数据…...
【综述】An Introduction to Vision-Language Modeling【一】
介绍 发表在预印本上的综述,长达76页,其中正文46页。 来自Meta 在Meta工作期间完成 ‡蒙特利尔大学, Mila ♡麦吉尔大学, Mila †多伦多大学 ♠卡内基梅隆大学 ♣麻省理工学院 ∧纽约大学 △加州大学伯克利分校 ▽马里兰大学 ♢阿卜杜拉国王科技大学 •…...
MySQL常用函数详解及SQL代码示例
MySQL常用函数详解及SQL代码示例 引言当前日期和时间函数字符串函数数学函数聚合函数结论 引言 MySQL作为一种广泛使用的关系型数据库管理系统,提供了丰富的内置函数来简化数据查询、处理和转换。掌握这些函数可以大大提高数据库操作的效率和准确性。本文将详细介绍…...
Unity教程(二十二)技能系统 分身技能
Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…...
RTSPtoWeb, 一个将rtsp转换成webrtc的开源项目
RTSPtoWeb是一个开源项目,旨在将RTSP流转换为可在现代web浏览器中消费的格式,如Media Source Extensions (MSE)、WebRtc或HLS。该项目完全使用golang编写,不依赖于ffmpeg或gstreamer,确保了高效的性能和轻量…...
AIAgent有哪些不错的开源平台
AIAgent领域有许多优秀的开源平台和框架,以下是一些值得推荐的开源平台: AutoGPT AutoGPT 是一个基于 OpenAI 的 GPT-4 和 GPT-3.5 大型语言模型的开源框架,能够根据用户给定的目标自动生成所需提示,并利用多种工具 API 执行多步骤…...
Java---JavaSpringMVC解析(1)
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC" 1.MVC MVC是Model View Controller的缩写&#…...
Vector 的模拟实现:从基础到高级
文章目录 1. 引言2. vector的核心设计3. vector的常用接口介绍3.1 构造函数和析构函数3.1.1 默认构造函数3.1.2 带初始容量的构造函数3.1.3 析构函数 3.2 拷贝构造函数和拷贝赋值运算符3.2.1 拷贝构造函数3.2.2 拷贝赋值运算符 3.5 数组长度调整和动态扩容3.5.1 调整大小&#…...
【大模型科普】大模型:人工智能的前沿(一文读懂大模型)
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…...
[漏洞修复]用yum update修openssh漏洞
[漏洞修复]用yum update修openssh漏洞 1. 需求2. 更新Yum仓库2.1 生成本地仓库2.2 生成内网仓库2.3 将Openssh的包更新到仓库 3. 客户端升级3.1 客户端repo文件配置3.2 升级Openssh3.3 升级后的确认 1. 需求 最近经常有朋友问Openssh 漏洞修复的问题,我也在自己的gitee仓库里更…...
[RH342]iscsi配置与排错
[RH342]iscsi配置与排错 1. 服务端配置1.1 安装targetcli1.2 准备磁盘1.3 服务端配置1.4 防火墙配置 2. 客户端配置2.1 安装客户端软件2.2 配置客户端2.3 连接登录服务端2.4 挂载使用 3. 安全验证扩展3.1 服务端3.2 客户端 4. 常见的排错点4.1 服务端常见错误4.2 客户端常见错误…...
Nginx 代理访问一个 Web 界面时缺少内容
1. 资源路径问题 Web 页面中的静态资源(如图片、CSS、JavaScript 文件)可能使用了相对路径或绝对路径,而这些路径在代理后无法正确加载。 解决方法: 检查资源路径:打开浏览器的开发者工具(按 F12…...
HOVER:人形机器人的多功能神经网络全身控制器
编辑:陈萍萍的公主一点人工一点智能 HOVER:人形机器人的多功能神经网络全身控制器HOVER通过策略蒸馏和统一命令空间设计,为人形机器人提供了通用、高效的全身控制框架。https://mp.weixin.qq.com/s/R1cw47I4BOi2UfF_m-KzWg 01 介绍 1.1 摘…...
SEO新手基础优化三步法
内容概要 在网站优化的初始阶段,新手常因缺乏系统性认知而陷入技术细节的误区。本文以“三步法”为核心框架,系统梳理从关键词定位到内容布局、再到外链构建的完整优化链路。通过拆解搜索引擎工作原理,重点阐明基础操作中容易被忽视的底层逻…...
遨游科普:三防平板是哪三防?有哪些应用场景?
在工业智能化与数字化转型的浪潮中,电子设备的耐用性和环境适应性成为关键需求。普通消费级平板电脑虽然功能强大,但在极端环境下往往“水土不服”。而三防平板凭借其独特的防护性能,正逐步成为“危、急、特”场景的核心工具。 AORO P300 Ult…...
Etcd 服务搭建
💢欢迎来到张胤尘的开源技术站 💥开源如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 Etcd 服务搭建预编译的二进制文件安装下载 etcd 的…...
C++《红黑树》
在之前的篇章当中我们已经了解了基于二叉搜索树的AVL树,那么接下来在本篇当中将继续来学习另一种基于二叉搜索树的树状结构——红黑树,在此和之前学习AVL树类似还是通过先了解红黑树是什么以及红黑树的结构特点,接下来在试着实现红黑树的结构…...
Axios 请求取消:从原理到实践
Axios 请求取消:从原理到实践 在现代前端开发中,网络请求是不可或缺的一部分。Axios 是一个基于 Promise 的 HTTP 客户端,广泛应用于浏览器和 Node.js 环境中。然而,在某些场景下,我们可能需要取消正在进行的请求&…...
【css酷炫效果】纯CSS实现照片堆叠效果
【css酷炫效果】纯CSS实现照片堆叠效果 缘创作背景html结构css样式完整代码基础版进阶版(增加鼠标悬停查看) 效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492022 缘 创作随缘,不定时更新。 创…...
论文精度:Transformers without Normalization
前言 论文题目:Transformers without Normalization 作者:Jiachen Zhu 1,2 , Xinlei Chen 1 , Kaiming He 3 , Yann LeCun 1,2 , Zhuang Liu 1,4,† 论文地址:https://arxiv.org/pdf/2503.10282 摘要 这篇论文探讨了现代神经网络中广泛使用的归一化层是否是必不可少的。…...
基于香橙派 KunpengPro学习CANN(3)——pytorch 模型迁移
通用模型迁移适配可以分为四个阶段:迁移分析、迁移适配、精度调试与性能调优。 迁移分析 迁移支持度分析: 准备NPU环境,获取模型的源码、权重和数据集等文件;使用迁移分析工具采集目标网络中的模型/算子清单,识别第三方…...
微软远程桌面即将下架?Splashtop:更稳、更快、更安全的 RDP 替代方案
近日,Windows 官方博客宣布:将于2025年5月27日起,在 Windows 10 和 Windows 11 应用商店中下架“Microsoft 远程桌面”应用,建议用户迁移至新的 Windows App。这一变动引发了广大用户对远程访问解决方案的关注。作为全球领先的远程…...
【Python】Python与算法有应用关系吗?
李升伟 整理 是的,Python与算法有着密切的应用关系。Python作为一种高级编程语言,因其简洁的语法和强大的库支持,被广泛应用于算法设计、实现和应用中。以下是Python与算法之间的一些主要应用关系: 1. 算法学习与教学࿱…...
js,html,css,vuejs手搓级联单选
<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>级联选择器</title><script src"h…...
将Django连接到mysql
将Django连接到mysql 文章目录 将Django连接到mysql一.按照我的文章 在Django模型中的Mysql安装 此篇 的步骤完成mysql的基础配置二.Django配置 一.按照我的文章 ‘在Django模型中的Mysql安装’ 此篇 的步骤完成mysql的基础配置 基础配置具体内容 1.打开PowerShell 安装mysql的…...
每天五分钟深度学习框架pytorch:基于pytorch搭建循环神经网络RNN
本文重点 我们前面介绍了循环神经网络RNN,主要分析了它的维度信息,其实它的维度信息是最重要的,一旦我们把维度弄清楚了,一起就很简单了,本文我们正式的来学习一下,如何使用pytorch搭建循环神经网络RNN。 RNN的搭建 在pytorch中我们使用nn.RNN()就可以创建出RNN神经网络…...
【力扣刷题实战】无重复的最长字串
大家好,我是小卡皮巴拉 文章目录 目录 力扣题目: 无重复的最长字串 题目描述 解题思路 问题理解 算法选择 具体思路 解题要点 完整代码(C) 兄弟们共勉 !!! 每篇前言 博客主页&#x…...
vulhub/joker 靶机----练习攻略
1. 靶机下载地址 https://download.vulnhub.com/ha/joker.zip 下载下来是ova文件,直接双击,在VMware打开,选择保存位置,点击导入。 2. 设置网卡模式为NAT,打开靶机 3.老规矩,打开kali,扫同C…...
Nuxt2 vue 给特定的页面 body 设置 background 不影响其他页面
首先认识一下 BODY_ATTRS 他可以在页面单独设置 head () {return {bodyAttrs: {form: form-body}};},设置完效果是只有这个页面会加上 接下来在APP.vue中添加样式...
【Go】运算符笔记
基本数学运算 Go 语言支持常见的 算术运算符,用于执行数学计算。 运算符说明加法-减法*乘法/除法%取余自增--自减 整数运算只能得到整数部分 package mainimport ("fmt""math" )func main() {go_math() }func go_math() {x, y : 8, 5fmt.Pr…...
常见的前端安全问题
前端安全是 Web 开发中至关重要的一环,以下是常见的前端安全问题及对应的防御措施: 1. XSS(跨站脚本攻击) 攻击原理 攻击者向页面注入恶意脚本(如 JavaScript),在用户浏览器中执行,…...
基于Spring Boot的项目申报系统的设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
SPI驱动(九) -- SPI_Master驱动程序
文章目录 参考资料:一、SPI传输概述二、SPI传输的两种方法2.1 旧方法2.2 新方法 参考资料: 参考资料: 参考内核源码: drivers\spi\spi.c 一、SPI传输概述 SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输,那么控制…...
Transformer网络发展概述2025.3.18
一.Transformer概述 1.1 定义与原理 Transformer是一种基于自注意力机制的深度学习模型,在处理序列数据时表现卓越。其核心原理包括: 自注意力机制 :允许模型同时考虑输入序列中的所有位置,捕捉语义关系多头注意力 :…...
3.4 二分查找专题:LeetCode 69. x 的平方根
1. 题目链接 LeetCode 69. x 的平方根 2. 题目描述 给定一个非负整数 x,计算并返回 x 的平方根的整数部分(向下取整)。 示例: 输入:x 4 → 输出:2输入:x 8 → 输出:2࿰…...
机器人曲面跟踪Surface-Tracking
定义 机器人曲面跟踪(Surface-Tracking)是指机器人通过实时感知工件曲面的三维形貌,动态调整运动轨迹和位姿,以精确跟随曲面进行加工(如打磨、抛光、喷涂等)的技术。 力 - 位姿协同控制 力控模式ÿ…...
opencv中stitch图像融合
openv版本: opencv249 vs :2010 qt : 4.85 #include "quanjing.h"#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <open…...
深入解析ES6+新语法:复杂的迭代器与生成器
一、迭代器(Iterator):数据遍历的统一协议 1. 迭代器协议的本质 **迭代器协议(Iterator Protocol)** 是一种标准化的数据访问接口,它要求对象实现一个 next() 方法,每次调用返回包含 { valu…...
【C语言】自定义类型:结构体
一、结构体类型的声明 我们前面学习操作符的时候已经接触过结构体了,下面我们回顾一下结构体的基本内容。 创建结构体的语法如上所示: struct是创建结构体的关键字,然后tag就是我们结构体的名称,member-list是结构体的成员列表&…...
微服务即时通信系统---(五)框架学习
目录 ODB 介绍 安装 build2安装 odb-compiler安装 ODB运行时库安装 mysql和客户端开发包安装 boost profile库安装 总体打包安装 总体卸载 总体升级 头文件包含和编译时指明库 ODB常见操作介绍 类型映射 ODB编程 类与接口介绍 mysql连接池对象类 mysql客户端…...
蓝桥杯练习day1:自除数
前言 自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 0,128 % 2 0,128 % 8 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表,列表的元素…...