axios笔记
一、axios是什么
前端最流行的ajax请求库
二、json-server
json-server可以帮助我们搭建http服务
为什么要搭建http服务?
:是因为我们用axios的时候,需要向服务端发送请求
我们需要服务端这样一个角色,来与axios结合做实践
1. Install JSON Server
npm install -g json-server
2. Create a db.json filewith some data
{"posts": [ //文章{"id": 1,"title": "json-server","author": "typicode"}],"comments": [ //评论{"id": 1,"body": "some comment","postId": 1}],"profile": { //个人信息"name": "typicode"}
}//这是一个json格式的字符串
加 npx 是全局查找的意思,一般插件用-g安装的前面需要加
3. Start JSON Server
npx json-server --watch db.json
GET | /posts |
GET | /posts/1 |
POST | /posts |
PUT | /posts/1 |
PATCH | /posts/1 |
DELETE | /posts/1 |
三、axios的介绍与页面配置
axios是基于Promise的HTTP客户端,可以在浏览器和 node.js 两个环境去运行
- 在浏览器端借助axios,可以向服务端发送ajax请求来获取数据
- 在 node.js 中向远端服务发送HTTP请求
1. 特点
- 可以在浏览器端发送ajax请求
- 可以在 node.js 环境中发送HTTP请求
- 支持Promise的API
- 请求响应拦截器(这是axios非常重要的一个特性,它可以在请求之前做一些准备工作,在响应回来之后可以对一些结果做预处理)
- 可以帮我们对请求和响应数据做转换
- 取消请求
- 自动将结果转换为json数据
- 可以做保护,阻挡XSRF
2. Installing
方式一:
npm install axios
在项目当中,我们会通过打包工具对其做一个引入
方式二:
bower install axios
这样的安装我们会页面当中通过script标签对其引入来使用
方式三:
yarn add axios
方式四:使用CDN引入
<script src = "https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
我们在开发的过程中一般都是用方式一和方式三
但在学习过程中我们使用方式四
如果在访问该网址时速度比较慢,我们可以换成中国的CDN
在BootCDN中搜索axios复制链接
四、axios的基本使用
传入的参数是一个对象,里面有它的配置项
axios({//请求类型method: ,//URLurl:
}).then(response => {console.log(response)
})
- axios的返回结果是一个Promise对象,所以可以用then方法指定成功的回调
- method大小写都可以
增删改查
1. 获取数据
btns[0].onclick = function () {axios({method: 'GET',url: 'http://localhost:3000/posts/2'}).then(response => {console.log(response);})}
2. 添加一篇新的文章
btns[1].onclick = function () {axios({method: 'POST',url: 'http://localhost:3000/posts',//设置请求体data: {title: '鱼的记忆',author: '七年级小卓'}}).then(response => {console.log(response);})
}
请求体是一个json格式的字符串,此时就把内容传递给服务器,json-server这个服务收到数据过后就把数据做一个保存(此时你返回db.json文件中已经保存了你添加的文章)
3. 更新数据
btns[2].onclick = function () {axios({method: 'PUT',url: 'http://localhost:3000/posts/ab9e',data: {title: '鱼的记忆',author: '七年级小卓'}}).then(response => {concole.log(response);})
}
4. 删除数据
btns[3].onclick = function () {axios({method: 'DELETE',url: 'http://localhost:3000/posts/2'}).then(response => {console.log(response);})
}
axios其他方式发送请求
除了用axios的函数发送请求之外,还有axios对象身上的一系列http请求类型的方法也可以用来发送请求
1. axios.request
btns[0].onclick = function () {axios.request({method: 'GET',url: 'http://localhost:3000/comments'}).then(response => {console.log(response);})
}
2. axios.post
btns[1].onclick = function () {axios.post('http://localhost:3000/comments',{"body": "文豪野犬","postId": 2}).then(response => {console.log(response);})
}
就不一一演示了
五、axios请求响应结果的结构
- config:配置对象
- data:响应体,也就是服务器返回结果(axios自动的将服务器返回结果进行了json解析,把它转成了一个对象)
- headers:响应头信息
- request:原生的ajax请求对象。axios用来发送ajax请求,而发送ajax请求就要用到底层的XMLHttpRequest实例对象,request这个属性保存的就是当前axios在发送请求时创建的那个ajax请求对象
- status:响应状态码
- statusText:响应的状态字符串
六、Config配置对象详细说明
axios的请求对象,这个对象指的就是axios在调用时它所接收的参数对象
{//指明这个请求要发给谁url: '/user',//设置请求的类型method: 'get',//设置URL的基础结构baseURL: 'https://some-domain.com/api/',//对请求的数据做一个处理,处理完之后向服务器进行发送transformRequest: [function (data, headers) {return data;}],//对响应的结果做一些改变,改变完之后我们再用自定义的回调去处理这个结果transformResponse: [function (data) {return data;}]//对请求头信息进行配置//在某些项目当中,进行身份校验的时候它要求你在头信息中加入一个身份的标识然后检验我的请求是否满足条件,这个时候就可以借助headers对请求头信息做一个控制headers: {'X-Requested-With': 'XMLHttpRequest'},//来设定URL参数的params: {ID: 12345}// paramsSerializer: {},//请求头设置data: {firstName: 'Fred'},//data: 'Country=Brasil&City=Belo Horizonte',//超时时间,超过这个时间请求就会取消timeout: 1000, // default is `0` (no timeout)//在跨域请求时对cookie的携带进行设置 withCredentials: false, // default//对请求的适配器进行设置:1.发送ajax的 2. 在node.js里面发送http请求的adapter: function (config) {/* ... */},adapter: 'xhr' 请求基础验证,设置用户名和密码的auth: {username: 'janedoe',password: 's00pers3cret'},//对响应体的格式进行设置,默认值是jsonresponseType: 'json',//字符集设置,响应结果的编码responseEncoding: 'utf8',//对cookie的名字进行设置xsrfCookieName: 'XSRF-TOKEN',//对头信息做一个设置xsrfHeaderName: 'X-XSRF-TOKEN',//以上进行了安全设置(保证了我们的信息是来自于客户端,而不是其他的页面)//在上传的时候的回调onUploadProgress: function (progressEvent) {},//在下载的时候的回调onDownloadProgress: function (progressEvent) {},//设置http响应体的最大尺寸,单位为字节maxContentLength: 2000,//请求体的最大内容maxBodyLength: 2000,//对响应结果的成功进行设置,什么情况下会认定它是成功的validateStatus: function (status) {return status >= 200 && status < 300; // default},//最大跳转的次数maxRedirects: 21, // default//beforeRedirect: (options, { headers }) => {if (options.hostname === "example.com") {options.auth = "user:password";}},//设置socket文件的位置,作用:向docker的进程发送请求socketPath: null, // default//transport: undefined, // default//对客户端的信息做一些设置httpAgent: new http.Agent({ keepAlive: true }),httpsAgent: new https.Agent({ keepAlive: true }),//设置代理proxy: {protocol: 'https',host: '127.0.0.1',// hostname: '127.0.0.1' // Takes precedence over 'host' if both are definedport: 9000,auth: {username: 'mikeymike',password: 'rapunz3l'}},//对ajax请求做一个取消的设置cancelToken: new CancelToken(function (cancel) {}),//signal: new AbortController().signal,//是否要对响应结果做一个解压,只能在node环境中设置decompress: true, //insecureHTTPParser: undefined,//transitional: {//silentJSONParsing: true, //forcedJSONParsing: true,//clarifyTimeoutError: false,},env: {// FormData: window?.FormData || global?.FormData},formSerializer: {visitor: (value, key, path, helpers) => {};dots: boolean; metaTokens: boolean; indexes: boolean; },// maxRate: [100 * 1024, 100 * 1024 ]
}
data有对象和字符串两种设置形式
- 如果是对象形式,会转成json字符串传递
- 如果是字符串形式,会直接传递
七、axios的默认配置
可以把重复性的设置写在默认配置里面以简化代码
axios.defaults.method = 'get';
axios.defaults.baseURL = 'http://localhost:3000';btns[0].onclick = function () {axios({url: '/posts'}).then(response => {console.log(response);})
}
八、axios创建实例对象发送请求
const duanzi = axios.create({baseURL: 'https://api.apiopen.top/api',timeout: 2000
});
duanzi({url: '/getmages',
}).then(response => {console.log(response);
});
这里duanzi 和 axios对象的功能几乎是一样的
借用于封装好的方法去发送请求也是可以的
优势:
假如我们的项目它的接口数据服务不是来自于单一的服务器,比如说有a和b两个服务器。给a发送请求时就要设置a的域名和端口,这时候如果用默认配置去做的话,只能让一个服务器好使。
我们可以创建两个实例对象发送请求就可以解决这个问题
九、axios拦截器
拦截器是一些函数:
- 请求拦截器
- 响应拦截器
1. 请求拦截器:
(1)作用:在发送请求之前,我们可以借助一些回调函数来对请求参数和内容做一些处理和检测。没问题则发送请求,有问题则取消
(2)在请求拦截器中我们可以对config配置对象进行处理
2. 响应拦截器:
当服务器返回结果之后,响应拦截器可以在回调函数处理结果之前先对结果进行预处理。没问题再交由我们自定义的回调函数进行处理,如果有问题就直接在响应拦截器中处理掉了
axios.interceptors.request.use(function(config) {console.log('请求拦截器 成功')return config;
}, function(error) {console.log('请求拦截器 失败')return Promise.reject(error);
});axios.interceptors.response.use(function(response) {console.log('响应拦截器 成功')return response;
}, function(error) {console.log('响应拦截器 失败')return Promise.reject(error);
});axios({method: 'GET',url: 'http://localhost:3000/posts'
}).then(response => {console.log('自定义的回调函数返回结果')
})
- 请求拦截器是后进先执行
- 响应拦截器是先进先执行
十、axios取消请求
axios取消请求的步骤:
一、cancelToken
//2. 定义全局变量
let cancel = null;
axios({method: 'GET',url: 'http://localhost:3000/posts',//1. 添加配置对象的属性cancelToken: new axios.cancelToken(function(c) {//3. 将c的值赋值给cancelcancel = c;})
})
二、
相关文章:
axios笔记
一、axios是什么 前端最流行的ajax请求库 二、json-server json-server可以帮助我们搭建http服务 为什么要搭建http服务? :是因为我们用axios的时候,需要向服务端发送请求 我们需要服务端这样一个角色,来与axios结合做实践 1.…...
python拆分Excel文件
按Sheet拆分Excel 或 按照某一列的不同值拆分Excel。文档样式如下: 结果:红色是按照Sheet名拆出的,蓝色和橙色是某个Sheet按照某列的不同值拆分的。 代码: # -*- coding: utf-8 -*- """ 拆分excel文件——按照…...
使用IntelliJ IDEA开发Gradle插件并发布到本地
博主所用软件版本为: IntelliJ IDEA 2024.1.4 (Community Edition) Android Studio Ladybug Feature Drop | 2024.2.2 Beta 1 1、制作gradle插件(IntelliJ IDEA 2024.1.4) 新建groovy工程,File–>New–>Project… 右键点…...
C# 通过smtp发送邮件(配置好了参数可以直接用)
可以直接用 using System; using System.Net; using System.Net.Mail;class EmailSender {// 发送邮件的函数,接收SMTP配置作为参数public static void SendEmail(string smtpServer, int smtpPort, string senderEmail, string senderPassword, string subject, s…...
【数据结构】栈和队列
目录 1.栈 1.1.栈的概念及结构 1.2.栈的实现 2.队列 2.1.队列的概念及结构 2.2.队列的实现 3.运用栈理解一道题 4.使用两个队列实现一个栈 1.栈 1.1.栈的概念及结构 首先,我们来了解一种新的数据结构——栈。栈是一种特殊的线性表,其只允许在固…...
使用 Spring Doc 为 Spring REST API 生成 OpenAPI 3.0 文档
Spring Boot 3 整合 springdoc-openapi 概述 springdoc-openapi 是一个用于自动生成 OpenAPI 3.0 文档的库,它支持与 Spring Boot 无缝集成。通过这个库,你可以轻松地生成和展示 RESTful API 的文档,并且可以使用 Swagger UI 或 ReDoc 进行…...
网络数据库安全和数据安全概述
1、数据安全的三要素 完整性,机密性,可用性 2、安全技术和措施 数据完整性技术、数据备份和恢复技术、数据加密技术、访问控制技术、用户管理和身份验证技术 3、数据库安全 数据库安全是指数据库的任何部分都不允许受到侵害,或未经授权的…...
STM32F10X与GD32工程创建区别
1.宏定义区别 GD32虽然与STM32F10X的管脚兼容,但是用keil创建工程时,GD32在选择芯片型号的时候就已经自己定义了宏。STM32F10x需要手动定义宏。在以下界面定义用到的单片机。 2.时钟区别。GD32最大时钟为120Mhz,所用的hal库里面的系统初始化会初始化时钟…...
cmakelist使用总结
支持能编译成在不同系统上运行程序的方法 我们代码就一份,但有时需要编译成arm32,有时需要编译成x86_64,或更多 1、首先先将代码定义一个名称: #将所有的源文件列为一个集合,集合名字叫做SRC_LISTS set(SRC_LISTS main.cpp A.cpp…...
【论文阅读】国际开源发展经验及其对我国开源创新体系建设的启示
作者:包云岗老师 包云岗老师是计算机体系结构方向的大牛,推动了体系结构方面的开源事业! 欢迎对本栏目感兴趣的人学习"一生一芯"~ 学习体会: 承接前文,唐志敏老师讲到已有的软硬件生态系统和开发成本制约了对新结构的探…...
React 初学者指南:从零开始构建第一个 React 应用
React 是一个用于构建用户界面的 JavaScript 库,它能够让我们高效地构建复杂的 UI。对于 React 初学者来说,最重要的就是理解它的基本概念以及如何开始使用它。本文将引导你从零开始构建你的第一个 React 应用 1.1. 安装 React 环境 首先,…...
力扣93题:复原 IP 地址
力扣93题:复原 IP 地址(C语言实现详解) 题目描述 给定一个只包含数字的字符串 s,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址需满足以下条件: IP 地址由四个整数(每个整数位于 0 到 255 之间…...
字符编码发展历史
文章目录 发展历史- ASCII- ISO-8859- Unicode- UTF系列- UTF-8- UTF-16- UTF-32 - 中文编码- GB2312- GBK- GB18030 - 其他编码 归纳总结 发展历史 计算机的基础是二进制数字(0和1)。虽然人类日常使用的是各种字符(如字母、数字、符号等&am…...
aws codepipeline + github + sonarqube + jenkins实践CI/CD
https://blog.csdn.net/u011564831/article/details/144007981文章浏览阅读1.2k次,点赞31次,收藏21次。本文使用 Jenkins 结合 CodeBuild, CodeDeploy 实现 Serverless 的 CI/CD 工作流,用于自动化发布已经部署 lambda 函数。在 AWS 海外区&a…...
KNN_识别图片数字
1.实验过程省略灰度化处理过程,用已经处理好的txt数据进行训练 3.jpg from PIL import Image def imgtotxt(imgfile,txtfile,size (32,32)):image_file Image.open(imgfile).resize(size,Image.LANCZOS).convert(L)width,height image_file.sizef open(txtfile,…...
python 清华pip镜像源报HTTP error 403
报错信息 ERROR: HTTP error 403 while getting https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/52/79/a64937a2185b91a96cc5406e3ea58120980c725543d047e112fb3084a972/fake_useragent-2.0.0-py3-none-any.whl (from https://mirrors.tuna.tsinghua.edu.cn/pypi/we…...
HTTP 网络技术学习:缓存;为什么有时候出现问题要清除浏览器缓存?客户端缓存和服务端缓存是什么。
目录: 问题的背景Http的缓存是什么客户端设置缓存,需要服务端允许?缓存分类:为什么会有客户端缓存和服务器端缓存?客户端缓存的参数设置,举例代码实现缓存 一、问题的背景 有时候网站出现问题࿰…...
极限科技三周年庆典:追求极致,共创未来科技新篇章
2024 年 12 月 3 日,一场盛大的庆典活动在香港 IFS 集团旗下长沙玛珂酒店璀璨启幕,极限科技迎来了其三周年的辉煌庆典。此次庆典不仅是对极限科技过往成就的回顾与庆祝,更是对未来科技梦想的展望并开始新的启航。 庆典现场,极限科…...
利用PHP和GD库实现图片拼接的方法
利用PHP和GD库实现图片拼接的方法主要涉及到加载图片资源、创建目标画布、将图片资源绘制到目标画布上,并最终输出或保存拼接后的图片。以下是实现图片拼接的基本步骤: 加载图片资源: 使用imagecreatefromjpeg()、imagecreatefrompng()或ima…...
SpringBoot自动配置底层核心源码
SpringBoot底层核心源码 一、工程创建二、进一步改造三、自动配置 探究SpringBoot的自动配置原理,我们可以自己写一个启动类的注解。 一、工程创建 首先创建一个工程,工程目录如下: 自定义一个启动函数: package org.springboo…...
故障识别 | GADF-CNN-SSA-XGBoost数据分类预测/故障识别(Matlab)
故障识别 | GADF-CNN-SSA-XGBoost数据分类预测/故障识别(Matlab) 目录 故障识别 | GADF-CNN-SSA-XGBoost数据分类预测/故障识别(Matlab)分类效果基本描述程序设计参考资料 分类效果 基本描述 格拉姆角场差(GADF&#…...
【VUE小型网站开发】优化通用配置 二
1. 引入 MyBatis Plus 1.1 添加依赖 <dependencies><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- My…...
基于阻塞队列的生产者消费者模型动画演示
一个基于阻塞队列的生产者消费者模型的动画演示: 这是打包好的程序。程序是用 QT 写的。 通过网盘分享的文件:CP模型.7z 链接: https://pan.baidu.com/s/1YjC7YiSqHGqdr6bbffaDWg?pwde6g5 提取码: e6g5 CP模型...
springSecurity认证流程
Spring Security 是spring家族中的一个安全管理框架。相比于另一个安全框架Shiro,它提供更丰富的功能和社区资源,但也较难上手。所以一般大项目用spring Security,小项目用Shiro。 一般web应用需要认证和授权,这也是spring Secur…...
vite5+vue3+Ts5 开源图片预览器上线
images-viewer-vue3:一款Vue3的轻量级图像查看器,它基于Flip动画技术,支持PC和h5移动网页预览照片,如果它是Vue3开发的产品。 npm开源地址:https://www.npmjs.com/package/images-viewer-vue3?activeTabreadme Flip 动画 < …...
Qt开发:元对象系统的介绍和使用
文章目录 概述元对象系统的概念和组成QObject 的详细介绍1.QObject 的主要特性信号与槽机制动态属性对象树(Object Trees)事件处理 2.QMetaObject的主要特性函数签名常用功能 概述 Qt本身并不是一种编程语言,它实质上是一个跨平台的C开发类库…...
.vscode文件中各个脚本需要修改的地方
NOTE: 此篇文章由VSCode编辑GCC for ARM交叉编译工具链Makefile构建OpenOCD调试(基于STM32的标准库)派生而来,对.vscode文件中各个脚本需要修改的地方作补充说明。 tasks.json 该json文件的主要作用:使用XX名称去执行…...
JavaScript模块化规范
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
第二篇:k8s工作流程
我们来看通过deployment部署pod的常规流程: kubectl向apiserver发送部署请求(例如使用 kubectl create -f deployment.yml)apiserver将 Deployment 持久化到etcd;etcd与apiserver进行一次http通信。controller manager通过watch a…...
什么是数据架构?
数据架构是如何使用数据的蓝图--它是数据和数据相关资源的高层结构,是整个组织的数据框架,包括模型、规则和标准。通过高效的数据架构,企业可以跟踪整个 IT 基础设施中数据的获取、移动、存储、安全性和可访问性。 数据架构总览 数据架构是…...
ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算——从0基础到15个案例实战
在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专业人士而言,如何高效地处…...
微信小程序权限授权工具类
最近写微信小程序的时候需要在页面获取设备权限,又不想每个页面都写,就写了一个工具类方便管理 /*** 权限工具类用于获取授权* 权限工具类使用方法,注意调用时函数需要定义为异步函数 async* import PermissionUtils from "./permissio…...
CT中的2D、MPR、VR渲染、高级临床功能
CT中的2D、MPR、VR渲染 在CT(计算机断层扫描)中,2D、MPR(多平面重建)、VR(体积渲染)是不同的图像显示和处理技术,它们各自有独特的用途和优势。下面分别介绍这三种技术:…...
【MySQL】Windows下重启MySQL服务时,报错:服务名无效
1、问题描述 在终端中,停止、启动MySQL服务时报错:服务名无效 2、原因分析 1)权限不够 如果是权限不够,会提示:系统错误5,拒绝访问。 2)服务名错误 如果是服务名错误,会提示“…...
java枚举的基本用法
在 Java 中,枚举(enum)是一种特殊的类,用于定义一组常量。它可以使代码更具可读性和可维护性。枚举类型可以用于表示固定的、有限的值集合,比如星期几、季节、方向等。 以下是一些常见的枚举用法示例: 1.…...
Web网络安全
一. 浏览器系统安全方面,使用多进程方案,而js主线程运行在渲染进程中,渲染进程时运行在沙箱中的,没有对本地OS文件的直接读写权限,所以需要通过IPC与浏览器主线程通信,才可以获取cookie等信息,这…...
【分子材料发现】——GAP:催化过程中吸附构型的多模态语言和图学习(数据集处理详解)(二)
Multimodal Language and Graph Learning of Adsorption Configuration in Catalysis https://arxiv.org/abs/2401.07408Paper Data: https://doi.org/10.6084/m9.figshare.27208356.v2 1 Dataset CatBERTa训练的文本字符串输入来源于Open Catalyst 2020 (OC20…...
matlab Delaunay三角剖分提取平面点云的边界
目录 一、算法原理1、算法概述2、参考文献二、代码实现三、结果展示四、详细过程版一、算法原理 1、算法概述 Delaunay三角网在生成三角网过程中,以最近的三点形成三角形,且各三角形的边皆不相交,每条边都使用所在的三角形的顶点验算并记录相应的2个顶点坐标。整个验算过程…...
Spring07——AOP通知以及几个相关案例
切入点表达式 注意,不是参数,是参数类型 可以使用通配符描述切入点,快速描述 ■ *:单个独立的任意符号,可以独立出现,也可以作为前缀或者后缀的通配符出现 execution(public∗com.itheima.∗.UserServi…...
【AI工具】强大的AI编辑器Cursor详细使用教程
目录 一、下载安装与注册 二、内置模型与配置 三、常用快捷键 四、项目开发与问答 五、注意事项与技巧 参考资料 近日,由四名麻省理工学院(MIT)本科生共同创立的Anysphere公司宣布,其开发的AI代码编辑器Cursor在成立短短两年…...
CV工程师专用键盘开源项目硬件分析
1、前言 作为一个电子发烧友,你是否有遇到过这样的问题呢。当我们去查看函数定义的时候,需要敲击鼠标右键之后选择go to definition。更高级一些,我们使用键盘的快捷键来查看定义,这时候可以想象一下,你左手按下ALT&a…...
STM32标准固件库官网下载方法
Keil标准固件库官网下载方法 Keil中DFP.pack下载方法 打开keil官网 Keil 官网 www.keil.com 点击产品 点击“Products” 点击 “Arm Cortex-M” 下拉找到CMSIS-Packs 点击CMSIS-Pack index 搜索对应的MCU,我这里是STM32F4 注意搜索对应系列就好 点击下载...
数据库原理实验实验四 统计查询和组合查询
实验目的和要求加深对统计查询的理解,熟练使用聚簇函数。 实验环境SQL SERVER 2008 SQL Server Management Studio 20 实验内容与过程题目一: 学生(学号,年龄,性别,系名) 课程(课号,课名,学分,学时) 选课(学号,课号,成绩) 根据上面基本表的信息完成下列查…...
【电子通识】案例:USB Type-C USB 3.0线缆做直通连接器TX/RX反向
【电子通识】案例:连接器接线顺序评估为什么新人总是评估不到位?-CSDN博客这个文章的后续。最近在做一个工装项目,需要用到USB Type-C线缆做连接。 此前已经做好了线序规划,结果新人做成实物后发现有的USB Type-C线缆可用,有的不行。其中发现USB3.0的TX-RX信号与自己的板卡…...
【Linux从青铜到王者】数据链路层(mac,arp)以及ip分片
局域网通信 通过之前的学习,我们了解了应用层,传输层,网络层的协议和作用,这里先做个总结 应用层——http,https协议,也可以自己定义一套,作用是进行数据的处理传输层——tcp,udp协…...
MyBatis注解开发
1.配置MyBatis_ssm配置mybits-CSDN博客 2.Mybaits实现增删改查-CSDN博客 3.MyBatis构建动态SQL-CSDN博客 目录 一、注解开发的定义 二、SQL常用注解 三、使用注解完成CRUD 1.查找所有 2.通过id查询 3.增加 4.更新 5.删除 6.查询数量 7.模糊查询 一、注解开发的定义 …...
Unity引擎UI滚动列表——滚动复用扩展应用
大家好,我是阿赵。 之前介绍了滚动复用的基础用法。上一个例子里面,是一个竖向单列的滚动列表展示。这一次来扩展一下用法。如果不知道上一次例子的,可以先往前翻一下,上面有例子的详情、原理解释和代码。 一、 多列的滚动复…...
MySQL 死锁排查
私人博客传送门 MySQL 死锁排查...
AI - 浅聊一下基于LangChain的AI Agent
AI - 浅聊一下基于LangChain的AI Agent 大家好,今天我们来聊聊一个很有意思的主题: AI Agent ,就是目前非常流行的所谓的AI智能体。AI的发展日新月异,都2024年末了,如果此时小伙伴们对这个非常火的概念还不清楚的话&a…...
校园综合服务小程序+ssm
摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,校园综合服务被用户普遍使用,为方便用户能够可…...