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

axios的使用总结

一、Axios 简介

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。在 Vue 项目中,它主要用于发送 HTTP 请求来获取数据(如从 API 获取数据)或者提交数据(如用户登录、注册等表单数据)。

二、安装 Axios

  • 在 Vue 项目中,可以通过 npm 或者 yarn 来安装 Axios。
  • 使用 npm 安装:npm install axios
  • 使用 yarn 安装:yarn add axios

三、基本使用方法

1. 引入 Axios

  • 在需要使用 Axios 的 Vue 组件中,可以通过以下方式引入:
  • 如果是在一个较大的项目中,也可以在main.js(Vue 项目的入口文件)中全局引入 Axios,这样所有的组件都可以直接使用它。例如:

javascript

import axios from 'axios';
Vue.prototype.$axios = axios;

然后在组件中就可以通过this.$axios来访问 Axios。

2. 发送 GET 请求

基本的 GET 请求示例:

javascript

axios.get('https://api.example.com/data').then((response) => {console.log(response.data);}).catch((error) => {console.error(error);});

  • 上述代码向https://api.example.com/data发送一个 GET 请求。如果请求成功,服务器返回的数据可以通过response.data获取;如果出现错误(如网络问题或者服务器返回错误状态码),错误信息会被catch块捕获。
  • 带参数的 GET 请求:
  • javascript
axios.get('https://api.example.com/data', {params: {id: 1,name: 'John'}
}).then((response) => {console.log(response.data);}).catch((error) => {console.error(error);});

这里通过params对象传递查询参数,Axios 会自动将这些参数拼接在 URL 后面,例如请求的 URL 可能会变成https://api.example.com/data?id=1&name=John

3. 发送 POST 请求

  • 基本的 POST 请求示例:

javascript

axios.post('https://api.example.com/data', {key: 'value'
}).then((response) => {console.log(response);}).catch((error) => {console.error(error);});
  • 上述代码向https://api.example.com/data发送一个 POST 请求,并且携带了一个数据对象{key: 'value'}。这个数据对象通常是要提交给服务器的数据,比如表单数据。
  • 发送 JSON 数据的 POST 请求:
  • javascript
const data = {username: 'user1',password: '123456'
};
axios.post('https://api.example.com/login', data, {headers: {'Content - Type': 'application/json'}
}).then((response) => {console.log(response);}).catch((error) => {console.error(error);});

这里通过设置headers中的Content - Typeapplication/json,告诉服务器发送的数据是 JSON 格式的。

四、拦截器

  1. 响应拦截器的基本概念

    • 响应拦截器是 Axios 提供的一个强大功能,用于在服务器响应到达客户端(浏览器或 Node.js 应用)后对响应进行统一处理。它允许你在每个请求返回数据时执行一些通用的操作,而不是在每个请求的then方法中重复相同的代码。
    • 其核心是axios.interceptors.response.use方法,这个方法接受两个函数作为参数,分别用于处理成功的响应和失败的响应。
  2. 成功响应的处理

    • 示例

javascript

axios.interceptors.response.use((response) => {// 对响应数据做点什么console.log('响应成功,状态码:', response.status);return response;
}, (error) => {// 处理错误响应的代码
});

  • 解释:当服务器返回的响应状态码在2xx范围内(通常表示成功)时,会调用第一个函数。在这个函数中,你可以对response对象进行各种操作。例如,你可以打印响应的状态码(如response.status),也可以对response.data(服务器返回的数据)进行格式转换、数据过滤等操作。最后,一定要返回response对象,这样后续的then方法(如果有的话)才能正常获取到完整的响应。

  1. 错误响应的处理
    • 示例

javascript

axios.interceptors.response.use((response) => {return response;
}, (error) => {console.log('响应出错,状态码:', error.response.status);if (error.response.status === 401) {// 例如,当返回401状态码(未授权)时,跳转到登录页面router.push('/login');} else if (error.response.status === 404) {console.log('资源未找到');}return Promise.reject(error);
});

  • 解释:当服务器返回的响应状态码不在2xx范围内(通常表示出错)时,会调用第二个函数来处理错误。error对象包含了详细的错误信息,其中error.response是一个包含响应数据的对象,包括状态码(error.response.status)、响应头(error.response.headers)和服务器返回的数据(error.response.data)等。
  • 可以根据不同的状态码进行不同的操作。如当状态码为401时,可能表示用户未授权,这时可以通过router.push跳转到登录页面。当状态码为404时,可能表示资源未找到,你可以在控制台打印相关提示。最后,需要返回一个被拒绝的PromisePromise.reject(error))来传递错误信息,这样如果在请求链中有后续的catch方法,就可以捕获到这个错误。

  1. 多个响应拦截器的使用
    • 可以添加多个响应拦截器,它们会按照添加的顺序依次执行。例如:

javascript

axios.interceptors.response.use((response) => {// 第一个拦截器对响应数据进行初步处理console.log('第一个拦截器:响应成功,状态码:', response.status);return response;
});
axios.interceptors.response.use((response) => {// 第二个拦截器对响应数据进行进一步处理console.log('第二个拦截器:响应成功,状态码:', response.status);return response;
});

  • 解释:在这个例子中,当请求成功返回时,首先会执行第一个响应拦截器中的代码,然后再执行第二个响应拦截器中的代码。这种方式可以让你对响应进行分层处理,比如第一个拦截器用于数据格式的初步检查,第二个拦截器用于数据的深度处理。不过需要注意的是,如果在前面的拦截器中返回了一个新的Promise或者修改了response对象,会影响后面拦截器接收到的参数。

除了响应拦截器,Axios还有哪些常用的拦截器?

如何在Axios中取消一个正在进行的请求?

详细介绍一下Axios的并发请求是如何实现的?

1. 请求拦截器

  • 请求拦截器可以在请求发送之前对请求进行一些操作,比如添加认证信息、修改请求头、显示加载动画等。
  • javascript
axios.interceptors.request.use((config) => {// 在发送请求之前做些什么,例如添加token到请求头const token = localStorage.getItem('token');if (token) {config.headers.Authorization = `Bearer ${token}`;}return config;
}, (error) => {// 对请求错误做些什么return Promise.reject(error);
});
  • 在上述代码中,axios.interceptors.request.use方法用于添加请求拦截器。它接收两个函数作为参数,第一个函数用于处理请求配置(config),第二个函数用于处理请求错误。

2. 响应拦截器

        响应拦截器可以在接收到服务器响应后对响应进行处理,比如检查响应状态码、处理错误信息、隐藏加载动画等。

javascript

axios.interceptors.response.use((response) => {// 对响应数据做点什么return response;
}, (error) => {// 对响应错误做点什么if (error.response.status === 401) {// 例如,当返回401状态码(未授权)时,跳转到登录页面router.push('/login');}return Promise.reject(error);
});
  • 同样,axios.interceptors.response.use方法用于添加响应拦截器,它也接收两个函数,分别用于处理正常响应和响应错误。

五、并发请求

  • Axios 可以同时发送多个请求,使用axios.all方法。例如:

javascript

const request1 = axios.get('https://api.example.com/data1');
const request2 = axios.get('https://api.example.com/data2');
axios.all([request1, request2]).then(axios.spread((response1, response2) => {console.log(response1.data);console.log(response2.data);})).catch((error) => {console.error(error);});
  • 上述代码同时发送了两个 GET 请求,当所有请求都成功返回后,axios.spread函数会将各个请求的响应作为参数传递给回调函数,这样就可以分别处理每个响应的数据。

六、取消请求

        有时候需要取消正在进行的请求,Axios 提供了一种方法来实现。首先,需要通过CancelToken来创建一个取消令牌。

javascript

const source = axios.CancelToken.source();
axios.get('https://api.example.com/data', {cancelToken: source.token
}).then((response) => {console.log(response.data);}).catch((thrown) => {if (axios.isCancel(thrown)) {console.log('Request canceled', thrown.message);} else {console.error(thrown);}});
// 取消请求
source.cancel('Operation canceled by the user');
  • 在上述代码中,axios.CancelToken.source()创建了一个取消令牌的源,通过将cancelToken属性添加到请求配置中,可以将这个令牌与请求关联起来。当调用source.cancel方法时,就可以取消对应的请求。并且在catch块中,可以通过axios.isCancel函数来判断是否是因为取消请求而导致的错误。

总结一下Axios的post请求的基本用法

  1. 基本 POST 请求格式
    • 首先需要引入 Axios,在组件中可以使用import axios from 'axios';引入。
    • 基本的 POST 请求示例如下:

javascript

axios.post('https://api.example.com/data', {key: 'value'
}).then((response) => {console.log(response);}).catch((error) => {console.error(error);});

  • 这里axios.post方法接收两个主要参数。第一个参数是请求的 URL(如https://api.example.com/data),第二个参数是要发送的数据(如{key: 'value'}),这个数据通常是要提交给服务器的数据,比如表单数据。当请求成功时,在then块中可以通过response对象获取服务器返回的信息;如果请求出错,catch块会捕获错误并打印错误信息。

  1. 发送 JSON 数据的 POST 请求
    • 当需要发送 JSON 格式的数据时,需要设置请求头中的Content - Typeapplication/json。示例如下:

javascript

const data = {username: 'user1',password: '123456'
};
axios.post('https://api.example.com/login', data, {headers: {'Content - Type': 'application/json'}
}).then((response) => {console.log(response);}).catch((error) => {console.error(error);});
  • 首先定义了要发送的 JSON 数据对象(如data),然后在axios.post方法的第三个参数中设置headers。通过将Content - Type设置为application/json,告诉服务器发送的数据是 JSON 格式的。同样,请求成功后在then块处理返回信息,出错则在catch块捕获错误。

相关文章:

axios的使用总结

一、Axios 简介 Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。在 Vue 项目中,它主要用于发送 HTTP 请求来获取数据(如从 API 获取数据)或者提交数据(如用户登录、注册等表单数据)。 二…...

使用 F12 查看 Network 及数据格式

在浏览器中,F12 开发者工具的 “Network” 面板是用于查看网页在加载过程中发起的所有网络请求,包括 API 请求,以及查看这些请求的详细信息和响应数据的。以下以常见的 Chrome 浏览器为例,介绍如何使用 F12 控制台查看 Network 里…...

HTML<img>标签

例子 如何插入图片&#xff1a; <img src"img_girl.jpg" alt"Girl in a jacket" width"500" height"600"> 下面有更多“自己尝试”的示例。 定义和用法 该<img>标签用于在 HTML 页面中嵌入图像。 从技术上讲&#x…...

Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普

引言&#xff1a; 今天我们聊聊Android生态中最“硬核”的话题&#xff1a;通用内核镜像&#xff08;GKI&#xff09;与内核模块接口&#xff08;KMI&#xff09;。这是内核碎片化终结者的秘密武器&#xff0c;解决了内核和供应商模块之间无尽的兼容性问题。为什么重要&#x…...

每日一刷——1.20——准备蓝桥杯

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目一 请统计某个给定范围[L, R]的所有整数中&#xff0c;数字2出现的次数。 比如给定范围[2, 22]&#xff0c;数字2在数2中出现了1次&#xff0c;在数12中出现1次&#xff0c;在数20中出现1次&a…...

知行合一:解决有心无力的问题,解决知易行难的问题,知行合一并不意味着事事都要合一,而是....

问题是什么&#xff1f; 想学习的时候&#xff0c;有手机阻碍我们。想戒掉手机短视频&#xff0c;卸载后&#xff0c;几天的时间&#xff0c;又下载了回来。制定了减肥计划&#xff0c;但就是不执行。明知道这样做是不对的&#xff0c;但依然行动不起来。 沉溺于各种各样的享…...

C++ Qt练习项目 日期时间数据 未完待续

个人学习笔记 新建项目 设计UI 实现组件功能 参考资料 4.7日期时间数据_哔哩哔哩_bilibili...

Golang学习笔记_28——工厂方法模式(实例)

Golang学习笔记_26——通道 Golang学习笔记_27——单例模式 Golang学习笔记_28——工厂方法模式 工厂方法模式&#xff08;实例&#xff09; package factory_method_demoimport "fmt"// Order 接口&#xff0c;定义订单的基本操作 type Order interface {Calculate…...

linux下springboot项目nohup日志或tomcat日志切割处理方案

目录 1. 配置流程 2. 配置说明 其他配置选项&#xff1a; 3. 测试执行 4. 手动执行 https://juejin.cn/post/7081890486453010469 通常情况下&#xff0c;我们的springboot项目部署到linux服务器中&#xff0c;通过nohup java -jar xxx.jar &指令来进行后台运行我们…...

SentencePiece和 WordPiece tokenization 的含义和区别

SentencePiece和 WordPiece tokenization 的含义和区别 SentencePiece 和 WordPiece 都是常用的分词(tokenization)技术,主要用于自然语言处理(NLP)中的文本预处理,尤其是在处理大规模文本数据时。它们都基于子词(subword)单元,能够将未登录词(out-of-vocabulary, O…...

视频修复最强算法 部署笔记2025

目录 模型下载: 模型: 原版保存的视频,vs code不播放: 模型下载: Release ProPainter V0.1.0 Release sczhou/ProPainter GitHub huggingface-cli download --resume-download lixiaowen/diffuEraser --local-dir /mnt/pfs/models/huggingface/models--lixiaowen--d…...

Java数据结构——优先队列

目录 引言1. 优先队列2. 优先队列的实现2.1 堆的概念2.2 堆的创建2.2.1 堆的向下调整2.3 堆的插入2.4 堆的删除 3. 总结 引言 前面一篇文章讲了二叉树&#xff0c;本篇将讲述数据结构中的优先队列&#xff0c;优先队列则需要用到完全二叉树来实现。 1. 优先队列 队列&#x…...

红外热成像之无人机载荷

电力巡检 相较于传统的人工电力巡线方式&#xff0c;无人机巡检能够在高空对人工难以达到或无法检测的设备进行检测&#xff0c;实现了电子化、信息化、智能化巡检&#xff0c;可以提高巡检的工作效率和应急抢险水平。 森林防火 无人机搭载红外光电系统能在森林高空进行全天候监…...

深入Spring Boot:自定义Starter开发与实践

引言 Spring Boot通过其强大的自动配置机制和丰富的Starter模块&#xff0c;极大地简化了Spring应用的开发过程。Starter模块封装了一组相关的依赖和配置&#xff0c;使得开发者可以通过简单的依赖引入&#xff0c;快速启用特定的功能。然而&#xff0c;除了使用Spring Boot提…...

MasterSAM downloadService任意文件读取(CVE-2024-55457)(附脚本)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

【Pytest】基础到高级功能的理解使用

文章目录 第一部分&#xff1a;Pytest 简介1.1 什么是 Pytest&#xff1f;1.2 Pytest 的历史1.3 Pytest 的核心概念1.4 Pytest 的特点1.5 为什么选择 Pytest&#xff1f; 第二部分&#xff1a;Pytest 的基本使用2.1 安装 Pytest2.2 编写第一个测试用例2.2.1 创建一个简单的测试…...

【Linux系统编程】—— 从零开始实现一个简单的自定义Shell

文章目录 什么是自主shell命令行解释器&#xff1f;实现shell的基础认识全局变量的配置初始化环境变量实现内置命令&#xff08;如 cd 和 echo&#xff09;cd命令&#xff1a;echo命令&#xff1a; 构建命令行提示符获取并解析用户输入的命令执行内置命令与外部命令Shell的主循…...

探索云原生可观测性:技术与团队协作的深度结合

TheNewStack 出品的电子书《Cloud Native Observability for DevOps Teams》读后感&#xff0c;老书新读&#xff0c;还是另有一番领悟。 阅读原文请转到&#xff1a;https://jimmysong.io/blog/cloud-native-observability-devops/ 最近读了 TheNewStack 发布的电子书《Cloud …...

Vue基础(2)

19、组件之间传递数据 组件与组件之间不是完全独立的&#xff0c;而是有交集的&#xff0c;那就是组件与组 件之间是可以传递数据的 传递数据的解决方案就是 props ComponentA.vue <template><!-- 使用ComponentB组件&#xff0c;并传递title属性 --><h3>…...

Yearning开源MySQL SQL审核平台

一款MYSQL SQL语句/查询审计工具&#xff0c;为DBA与开发人员使用. 本地部署&#xff0c;注重隐私&#xff0c;简单高效的MYSQL审计平台。 它可以通过流程审批&#xff0c;实现真实线上环境sql的审核和执行&#xff0c;还可以回滚执行&#xff0c;能够确保线上SQL更新的可靠性…...

《鸿蒙Next应用商店:人工智能开启智能推荐与运营新时代》

在科技飞速发展的当下&#xff0c;鸿蒙Next系统的出现为操作系统领域带来了新的变革与机遇&#xff0c;而人工智能技术的融入更是让其应用商店的智能化推荐和运营迈向了一个全新的高度。 用户画像精准构建 在鸿蒙Next系统中&#xff0c;应用商店可以借助系统强大的权限管理和…...

SSTI注入

ssti漏洞成因 ssti服务端模板注入&#xff0c;ssti主要为python的一些框架 jinja2 mako tornado django&#xff0c;PHP框架smarty twig&#xff0c;java框架jade velocity等等使用了渲染函数时&#xff0c;由于代码不规范或信任了用户输入而导致了服务端模板注入&#xff0c;…...

根据经纬度查询地理位置信息API

API 概述 接口名称&#xff1a;查询地理位置信息V2接口类型&#xff1a;HTTP GET接口地址&#xff1a;https://api.kertennet.com/geography/locationInfo_v2请求编码格式&#xff1a;utf-8 请求说明 请求头部 标签类型必填说明参数示例Content-Typestring是请求的内容类型…...

【知识分享】PCIe5.0 TxRx 电气设计参数汇总

目录 0 引言 1 参考时钟--Refclk 2 发射端通道设计 3 发送均衡技术 4 接收端通道设计 5 接收均衡技术 6 结语 7 参考文献 8 扩展阅读 0 引言 PCI Express Base Specification 5.0的电气规范中&#xff0c;关键技术要点如下&#xff1a; 1. 支持2.5、5.0、8.0、16.0和3…...

Airsim 项目结构分析

Airsim 项目结构分析 本文只分析最核心的 AirLib 项目结构&#xff0c;以及其与 Unreal 项目的关系 假如已经根据 Airsim 主页&#xff0c;克隆了完整项目。 Build on Linux - AirSim 克隆源码 # go to the folder where you clone GitHub projects git clone https://git…...

STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态

STM32W5500以太网应用开发003_TCP服务器添加OLED&#xff08;u8g2&#xff09;显示状态 实验效果3-TCP服务器OLED1 拷贝显示驱动代码1.1 拷贝源代码1.2 将源代码添加到工程1.3 修改代码优化等级1.4 添加头文件路径1.5 修改STM32CubeMX工程 2 修改源代码2.1 添加头文件2.2 main函…...

SQLmap 注入-03 获得用户信息

1: Sqlmap 先进入库&#xff0c;然后进入table, 然后列出column: sqlmap -u "http://192.168.56.133/mutillidae/index.php?pageuser-info.php&usernamexiaosheng&passwordabc&user-info-php-submit-buttonViewAccountDetails" --batch -p username -D …...

Kafka 和 MQ 的区别

1.概述 1.1.MQ简介 消息中间件&#xff0c;其实准确的叫法应该叫消息队列&#xff08;message queue&#xff09;&#xff0c;简称MQ。其本质上是个队列&#xff0c;有FIFO的性质&#xff0c;即first in first out&#xff0c;先入先出。 目前市场上主流的MQ有三款&#xff…...

若依报错:无法访问com.ruoyi.common.annotation

无法访问com.ruoyi.common.annotation 若依的父工程的pom文件中设置了jdk为1.8&#xff0c;将idea的jdk也改为1.8即可。...

MCU、MPU、SOC、ECU、CPU、GPU的区别到底是什么

MCU、MPU、SOC、ECU、CPU、GPU的区别 参数MCUMPUSoCECUCPUGPU处理能力低至中中至高综合&#xff0c;视具体设计而定专用于汽车控制中至高高&#xff08;并行能力强&#xff09;集成度高低高高低&#xff08;需配合主板使用&#xff09;低&#xff08;通常作为外部设备&#xff…...

档案事业与数据要素之间有什么关系?

在数字时代背景下&#xff0c;档案事业正经历着前所未有的变革。随着大数据、云计算、人工智能等技术的快速发展&#xff0c;档案数据已成为重要的基础性战略资源和关键生产要素。那么档案事业与数据要素之间究竟有什么关系&#xff1f; 一、档案数据要素的内涵与价值 数据要…...

HarmonyOS NEXT:华为分享-碰一碰开发分享

随着科技的不断进步&#xff0c;智能手机和智能设备之间的互联互通变得越来越重要。华为作为科技行业的领军企业&#xff0c;一直致力于为用户提供更加便捷、高效的使用体验。HarmonyOS NEXT系统的推出&#xff0c;特别是其中的“碰一碰”功能&#xff0c;为用户带来了前所未有…...

nuxt3项目打包部署到服务器后配置端口号和开启https

nuxt3打包后的项目部署相对于一般vite打包的静态文件部署要稍微麻烦一些&#xff0c;还有一个主要的问题是开发环境配置的.env环境变量在打包后部署时获取不到&#xff0c;具体的解决方案可以参考我之前文章 nuxt3项目打包后获取.env设置的环境变量无效的解决办法。 这里使用的…...

面试:Hadoop,块,HDFS的优缺点,HDFS的读写流程

Hadoop CDH会简化Hadoop的安装 Hue主要用于数据分析和处理&#xff0c;而CM(Cloudera Manager)则主要用于集群的管理和运维。 HDFS HDFS的块 块是 HDFS 系统当中的最小存储单位, 在hadoop2.0和3.0中默认128MB 在HDFS上的文件会被拆分成多个块&#xff0c;每个块作为独立的单…...

Codeforces Round 903 (Div. 3) E. Block Sequence

题解&#xff1a; 想到从后向前DP f[i] 表示从 i ~ n 转化为“美观”所需要的最少的步骤 第一种转移方式&#xff1a;直接删除掉第i个元素&#xff0c;那么就是上一步 f[i 1] 加上 1;第二种转移方式&#xff1a;从第 i a[i] 1 个元素直接转移&#xff0c;不需要增加步数&a…...

web-view环境下,H5页面打开其他小程序

在Web-view环境下&#xff0c;H5页面无法直接打开其他小程序。正确的实现方式是先从H5页面跳转回当前小程序&#xff0c;再由当前小程序跳转到目标小程序。具体实现方法如下&#xff1a; H5页面跳转回小程序时&#xff0c;调用wx.miniProgram.navigateTo()方法。 小程序跳转到…...

C语言之饭店外卖信息管理系统

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 C语言之饭店外卖信息管理系统 目录 设计题目设计目的设计任务描述设计要求输入和输出要求验…...

【三维分割】Gaga:通过3D感知的 Memory Bank 分组任意高斯

文章目录 摘要一、引言二、主要方法2.1 3D-aware Memory Bank2.2 三维分割的渲染与下游应用 三、实验消融实验应用: Scene Manipulation 地址&#xff1a;https://www.gaga.gallery 标题&#xff1a;Gaga: Group Any Gaussians via 3D-aware Memory Bank 来源&#xff1a;加利福…...

【Linux系统】—— 编译器 gcc/g++ 的使用

【Linux系统】—— 编译器 gcc/g 的使用 1 用 gcc 直接编译2 翻译环境2.1 预处理&#xff08;进行宏替换&#xff09;2.2 编译&#xff08;生成汇编&#xff09;2.3 汇编&#xff08;生成机器可识别代码&#xff09;2.4 链接2.5 记忆小技巧2.6 编译方式2.7 几个问题2.7.1 如何理…...

读西瓜书的数学准备

1&#xff0c;高等数学&#xff1a;会求偏导数就行 2&#xff0c;线性代数&#xff1a;会矩阵运算就行 参考&#xff1a;线性代数--矩阵基本计算&#xff08;加减乘法&#xff09;_矩阵运算-CSDN博客 3&#xff0c;概率论与数理统计&#xff1a;知道啥是随机变量就行...

【数据结构篇】顺序表 超详细

目录 一.顺序表的定义 1.顺序表的概念及结构 1.1线性表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 二.动态顺序表的实现 1.准备工作和注意事项 2.顺序表的基本接口&#xff1a; 2.0 创建一个顺序表 2.1 顺序表的初始化 2.2 顺序表的销毁 2.3 顺序表的打印 3.顺序…...

Flink把kafa数据写入Doris的N种方法及对比。

用Flink+Doris来开发实时数仓,首要解决是如何接入kafka实时流,下面是参考Doris官方文档和代码,在自己项目开发的实践中总结,包括一些容易踩坑的细节。 目录 Routine Load方法 接入kafka实时数据 踩坑的问题细节 Flink Doris Connector方法 完整示例 Routine Load方法…...

leetcode刷题记录(七十八)——105. 从前序与中序遍历序列构造二叉树

&#xff08;一&#xff09;问题描述 105. 从前序与中序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09;105. 从前序与中序遍历序列构造二叉树 - 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一…...

imread和jpeg_read在MATLAB中处理图像时的不同

目录 1.功能差异 2.输出格式 3.颜色空间 4.处理阶段 5.用途 6.性能 1.功能差异 imread&#xff1a;这个函数用于读取各种格式的图像文件&#xff08;包括JPEG、PNG、BMP等&#xff09;并将其转换为MATLAB中的矩阵。它适用于读取图像并直接在空间域中进行处理。jpeg_read…...

P9069 [Ynoi Easy Round 2022] 堕天作战 TEST_98 Solution

Description 给定长为 n n n 的序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1​,a2​,⋯,an​)&#xff0c;有 m m m 个操作&#xff0c;分以下两种&#xff1a; modify ⁡ ( l , r , k ) \operatorname{modify}(l,r,k) modify(l,r,k)&#xff1a;对于所有…...

SCPI命令笔记

1. 读取设备信息 *IDN? 2. 复位仪器 *RST 3. 清除设备的状态寄存器和事件队列 *CLS 4. 读取设备数据(发一个指令&#xff0c;读取一次) READ? 5. 读取设备电压(功能和第4条命令达到一样的效果) MEAS:VOLT? 6. 读取设备电流 (功能和第4条命令达到一样的效果) MEAS:CURR? 7.…...

TCP创建通信前的三次握手(为啥不是两次?)

1.三次握手的过程 客户端发送 SYN&#xff08;同步&#xff09;报文 客户端向服务器发送 SYN 标志的数据包&#xff0c;请求建立连接&#xff0c;表示 "你好&#xff0c;我要连接你"。 服务器回复 SYNACK&#xff08;同步确认&#xff09;报文 服务器收到 SYN 后&am…...

2024.ailx10的年终总结

已经工作7年啦&#xff0c;今年网络安全行业愈发寒冷&#xff0c;几乎所有友商都在做安全GPT&#xff0c;说实话&#xff0c;AI确实颠覆了传统的网络安全运营&#xff0c;以前需要安服处置告警&#xff0c;以后可能就不需要了&#xff0c;大家日子都不好过&#xff0c;越是简单…...

洛谷P8837

[传智杯 #3 决赛] 商店 - 洛谷 代码区&#xff1a; #include<stdio.h> #include<stdlib.h> int cmp(const void*a,const void *b){return *(int*)b-*(int*)a; } int main(){int n,m;scanf("%d%d",&n,&m);int w[n];int c[m];for(int i0;i<n;…...

【Day23 LeetCode】贪心算法题

一、贪心算法 贪心没有套路&#xff0c;只有碰运气&#xff08;bushi&#xff09;&#xff0c;举反例看看是否可行&#xff0c;&#xff08;运气好&#xff09;刚好贪心策略的局部最优就是全局最优。 1、分发饼干 455 思路&#xff1a;按照孩子的胃口从小到大的顺序依次满足…...