VUE生命周期与Ajax前后端调用

2023-11-09

1 VUE的生命周期

VUE中有一整套完整的VUE对象创建/使用/销毁的流程. 如果用户需要在某个特定的点 有特殊的需求,可以对VUE对象进行扩展!(销毁需要手动销毁)

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试vue生命周期函数</title>
	</head>
	<body>
		
		<!-- 知识梳理:
		 
			1.生命周期函数的方法名称 必须固定.
			2.生命周期函数是VUE对象特有的函数.应该放到根目录下.
			3.当页面渲染成功之后, 一共执行了4个生命周期方法.
				第一类: VUE对象的创建.
					beforeCreate:对象创建前调用
					created: VUE对象已经创建完成之后调用	
				第二类: VUE对象的挂载(渲染)
					beforeMount:  el : "#app",VUE对象在找到@APP标签之前先执行该函数.
					mounted: 当挂载完成(渲染完成),用户可以看到页面数据之后调用该函数
			
			4. 用户修改阶段:
				第三类:
					beforeUpdate: 当用户修改数据 点击"回车" 之后调用该函数
					过渡: 数据已经被修改
					updated: 数据已经被修改之后调用该函数
			5. 销毁阶段:
				 销毁函数,VUE对象默认不会调用. 可以通过函数由用户调用
				 beforeDestroy: 在销毁方法执行前
				 destroyed:     标志着VUE对象已经销毁.
				 
		-->
		<div id="app">
			<h3 v-text="msg"></h3>
			<button @click="destroy">销毁</button>
		</div>
		
		<!--引入js函数类库  -->
		<script src="../js/vue.js"></script>
		<script>
			const app = new Vue({
				el : "#app",
				data : {
					msg: "vue生命周期"
				},
				methods:{
					
				},
				
				//在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
				beforeCreate(){
					console.log("beforeCreate")
				},
				//在实例创建完成后被立即调用
				created(){
					console.log("created")
				},
				//在挂载开始之前被调用:相关的 render 函数首次被调用。
				beforeMount(){
					console.log("beforeMount")
				},
				//实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。
				mounted(){
					console.log("mounted")	
				},
				//数据更新时调用,发生在虚拟 DOM 打补丁之前
				beforeUpdate(){
					console.log("beforeUpdate")
				},
				//由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
				updated(){
					console.log("updated")
				},
				//实例销毁之前调用。在这一步,实例仍然完全可用
				beforeDestroy(){
					console.log("beforeDestroy")	
				},
				//实例销毁后调用。
				destroyed(){
					console.log("destroyed")
				},
				methods:{
					destroy(){
						this.$destroy()
					}
				}
			})
		</script>
	</body>
</html>

2 VUE 前后端调用

2.1 前后端调用流程

在这里插入图片描述

 3 Ajax

3.1 Ajax介绍

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。 [3] 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。 [3]

特点:
局部刷新,异步访问

3.2 Ajax异步原理

请求同步 : 用户向服务器发起请求,如果服务器正忙,这时程序处于等待的状态.这时页面处于加载 ,同时用户不能操作.

异步调用的原理:

在这里插入图片描述

 步骤:
1. 用户发起Ajax请求, Ajax内部机制,将请求交给Ajax引擎处理.
2. Ajax引擎接收到用户的请求之后,重写发起一个新的请求.访问后端服务器.
3. 当服务器端接收到了 Ajax请求之后,完成业务处理.之后将数据响应给Ajax引擎.
4. Ajax引擎通过事先约定好的 回调函数, 将服务器数据 交还给用户.
5.用户在请求的过程中,可以完成自己的任务.
注意事项: 多个Ajax的请求 不关注顺序.

3.3 Axios 入门案例

1 导入axios.js函数库

2 发起Ajax请求,之后业务处理

3 .then(回调函数,接受服务器相应的信息)

4 promise :  params是添加到url的请求字符串中的,用于get请求。params是返回来的值

                    params.data获得里面的属性

                      而data是添加到请求体(body)中的, 用于post请求。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Axios入门案例</title>
	</head>
	<body>
		<!--  使用步骤:
				1 导入JS函数库
				2 发起Ajax请求,之后业务处理
		 -->
		
		 <!-- 案例一:利用axios获取后台用户列表-->
		 <!-- url:http://localhost:8080/findAll-->
		 <!-- 
			axios 请求方式
			1 请求类型:
			   1.get 执行查询业务
			   2.post 执行form表单提交(登录、新增)
			   3.put 执行修改操作
			   4.delete 执行删除业务时
			2 axios语法
				axios.get("url地址信息","参数信息")
					.then(function(args){//回调函数 接受服务器相应信息
						
					})
			   
			   
		 -->
		 <script src="../js/axios.js"></script>
		 
		<script>
			axios.get("http://localhost:8080/findAll")
			.then(function(promise){
				console.log(promise.data);
			})
			
		/*
		  js为了简化用户调用方法提高了箭头函数学法 function 可以简介
		 */
			/* axios.get("http://localhost:8080/findAll")
			.then(promise => {
				console.log(promise.data);
			}) */
			
			/* 带参数的get请求 */
			
		</script>
		
		
		 
		 
	</body>
</html>

3.4 Axios 前后端调用

@CrossOrigin: 在controller上使用:跨域:允许Ajax访问后端

3.4.1 后端准备

1.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.jt</groupId>
    <artifactId>springboot_demo4</artifactId>
    <version>1.0-SNAPSHOT</version>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <properties>
        <java.version>1.8</java.version>
        <skipTests>true</skipTests>
    </properties>

    <!--历史: SSM 需要手动的编辑大量的配置信息
        SpringBoot 使用体系了 "开箱即用" 的思想
        -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!--Spring的启动器,相当于之前大量的配置文件 在内部已经将整合的配置写好了,实现拿来即用-->
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.48</version>

        </dependency>
        <dependency>
            <!--spring整合mybatis-plus 删除mybatis的包-->
            <groupId>com.baomidou</groupId>

            <artifactId>mybatis-plus-boot-starter</artifactId>

            <version>3.4.3</version>

        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>

    </dependencies>

    <!--插件:
        springboot项目:在打包部署发布时,需要依赖maven 工具API
        如果不添加该插件,则直接影响项目的发布
        -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

2.pojo层(User类)

package com.jt.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
//1 将对象与表进行关联
//规则:如果表名与对象名一致时,名称可以省略
//     如果字段名与属性名一致,则注解可以省略
//序列化接口的作用:保证对象网络传输的有效性 网络传输(不同的服务器之间传递同一个对象)
//对象与表关联
@TableName("demo_user")
public class User implements Serializable {//序列化
    @TableId(type = IdType.AUTO)             //table + 主键     //主键自增/非空/UUID /生成唯一编号
    private Integer id;
    @TableField("name")//标识属性与字段的映射
    private String name;
    @TableField("age")
    private Integer age;
    @TableField("sex")
    private String sex;
}

3 AxiosController (控制层)

package com.jt.controller;


import com.jt.pojo.User;
import com.jt.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/axios")
public class AxiosController {
    @Autowired
    private UserService userService;
    @RequestMapping("/getUserByid")
    public User getUserByid(Integer id){
        return userService.findUserById(id);
    }

    @GetMapping("user/{sex}/{age}")
    public List<User> getUserBySA(User user){
        return userService.findUserBySA(user);
    }
    @GetMapping("getUser")
    public List<User> getUser(User user){
        return userService.getUser(user);
    }

}

4.1 UserService(业务层)

package com.jt.service;

import com.jt.pojo.User;

import java.util.List;

public interface UserService {
    List<User> findAll();

    User findUserById(Integer id);


    List<User> findUserByname(User user);

    List<User> findUserByNA(User user);


    List<User> findUserByIds(Integer[] ids);

    void updataId(User user);

    void insert1(User user);

    User getUserByid(Integer id);

    List<User> findUserBySA(User user);

    List<User> getUser(User user);
}

4.2 UserServiceImpl

package com.jt.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jt.mapper.UserMapper;
import com.jt.pojo.User;
import com.sun.corba.se.spi.orbutil.threadpool.WorkQueue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
    //查询所有的where条件,所有参数为空     QueryWrapper 只有有where条件才使用
    @Override
    public List<User> findAll() {

        return  userMapper.selectList(null);
    }

    @Override
    public User findUserById(Integer id) {
        return userMapper.selectById(id);
    }

    //MP 可以根据对象中不为null的属性拼接where条件
    @Override
    public List<User> findUserByname(User user) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);
        List<User> user1 = userMapper.selectList(queryWrapper);
        return user1;
    }

    /*
    *规则:字段与属性的逻辑运算发为 “=” 时,使用(user) 对象封装
    * name = “貂蝉” age > 10 岁的用户
    * */
    @Override
    public List<User> findUserByNA(User user) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("name", user.getName()).gt("age", user.getAge());
        return userMapper.selectList(queryWrapper);
    }
    /*
     *规则:如何参数使用,分割,则SpringMVC可以自动的转化为数组
     *
     *查询多个用户
     * url:http://localhost:8080/getUserByIds?ids=1,3,4,5
     * */
    @Override
    public List<User> findUserByIds(Integer[] ids) {
        List<Integer> list = Arrays.asList(ids);
        List<User> users = userMapper.selectBatchIds(list);
        return users;
    }

    @Override
    public void updataId(User user) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", user.getId());
        userMapper.update(user, queryWrapper);
    }

    @Override
    public void insert1(User user) {
        userMapper.insert(user);
        System.out.println("插入成功");
    }

    @Override
    public User getUserByid(Integer id) {
        return userMapper.selectById(id);
    }

    @Override
    public List<User> findUserBySA(User user) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("sex", user.getSex()).gt("age", user.getAge());
        return userMapper.selectList(queryWrapper);
    }

    @Override
    public List<User> getUser(User user) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);
        return userMapper.selectList(queryWrapper);
    }


}

5 启动类

package com.jt;


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.CrossOrigin;

@SpringBootApplication
@MapperScan("com.jt.mapper")
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class, args);
    }
}

6 前端:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>前后端调用</title>
	</head>
	<body>
		<h1>前后端调用</h1>
		<script src="../js/axios.js"></script>
		
		<script type="text/javascript">
			/* 需求1 查询id=1的用户
			方式1:
				url: http://localhost:8080/axios/getUserByid?id=1
			 */
			let url1 = "http://localhost:8080/axios/getUserByid?id=1"
			axios.get(url1).then(
				  promise =>{
					console.log(promise.data);
				  }
			)
			
			/* 需求2
					Get方式2 :利用restFul 查询数据
					需求   查询sex = 女 age>18
			 */
			let sex2 = "女"
			let age2 = 18
/* 			let url2 = "http://localhost:8080/axios/User/"+sex2+"/"+age2""
 */			
			let url3 = `http://localhost:8080/axios/user/${sex2}/${age2}`
			axios.get(url3).then(
		        	promise=>{
					console.log(promise.data)
							}
			)
			
			/*
			 需求3 查询 name="王昭君" sex="女" age=19
			  以对象的方式传参
			  参数语法:
				数据结构:{}
				关键字key(固定写法):params
				varlue:用户需要传递的值
			  
			 */
			let user = {
				name : "王昭君",
				sex : '女',
				age : 19
				
			}
			let url4 = "http://localhost:8080/axios/getUser"
			axios.get(url4,{params : user}).then(
				promise =>{
					console.log(promise.data)
				}
			)
			
			
			
		</script>
		
	</body>
</html>

 注意 : 使用restFul查询数据时:

             let url2 = "http://localhost:8080/axios/User/"+sex2+"/"+age2""

             let url3 = `http://localhost:8080/axios/user/${sex2}/${age2}` //url用反单引号`括住,数据使用${属性}

        使用创建对象的方式:

axios.get(url4,{params : user}).then(
				promise =>{
					console.log(promise.data)
				}
			)

      axios.get(url,{params : 对象})//axios.get中有两个参数一个url,一个{params : 对象}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VUE生命周期与Ajax前后端调用 的相关文章

  • CORS 问题从 React 应用程序 > 节点服务器 > 重定向到 Google OAuth2 身份验证发出 AJAX 请求

    大家好 过去两天我一直在绞尽脑汁研究这个问题 但没有运气 这是我在尝试从我的 React 应用程序 localhost 3000 使用 Google Oauth2 Passport 策略进行身份验证时遇到的错误 我正在 localhost
  • 访客客户检查 Woocommerce 订单账单电子邮件时可享受首单折扣

    通过对照正在处理和已完成的订单检查来宾客户的电子邮件地址 如果电子邮件没有订单 我想给来宾 首单折扣 如果这能在客人输入电子邮件时发生 那就太好了 我想我已经成功制作了折扣代码 现在我请求帮助合并这两个代码 使其一切正常 这是折扣代码 ad
  • 使用jquery和coldfusion cffile上传多个文件

    不是一个真正的问题 只是想将其发布在某个地方 因为我在其他地方找不到它 现在我已经拼凑了一个工作演示 我想我会分享 这在 Coldfusion 和 Railo CFML 服务器上同样有 效 问题是 对于 CFML 开发人员来说 CFFILE
  • XMLHttpRequest 上传进度事件在 Firefox 10.0.2 中不起作用

    我正在尝试创建一个带有进度条的基于ajax 的上传表单 这是我的代码 其中的上传部分 xhr new XMLHttpRequest xhr upload addEventListener progress function e if e l
  • Ajax 与 chrome 扩展

    我将 url 发送到 chrome 扩展中的 php 文件 并需要获得响应 但不起作用 清单 json name Get pages source version 1 0 manifest version 2 description Get
  • Vue模板-渲染HTML特殊字符代码

    如何在我的 Vue 模板中完全渲染 HTML 特殊字符代码 例如我有这个 JSON 数据 id post91 slug null title Breakfast 038 Tea 我怎样才能转换Breakfast 038 Tea to Bre
  • 如何更改 Vuetify 日历日期格式

    我正在尝试在以下 Vuetify 日历上启用输入事件 https github com vuetifyjs vuetify blob master packages docs src examples calendars complex e
  • 加载 angularjs 路由后运行 javascript 代码

    我需要在 angularjs 加载路线后显示警报 显示警报的代码位于 angularjs 异步加载的视图中 视图加载后 我希望它能够运行 但它没有 我知道我可以广播并告诉它稍后运行等 但我需要一个更通用的解决方案 假设您正在谈论基于以下内容
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Promise 中中止 ajax 请求

    我正在构建一个表单验证并学习承诺 我决定使用承诺模式实现异步验证函数 var validateAjax function value return new Promise function resolve reject ajax data
  • 使用 Firefox 插件发出跨域 ajax 请求

    我对如何在 Firefox 插件中发出跨域 ajax 请求感到有点困惑 LastPass 和 Xmarks 等插件建议你可以做到这一点 但是当我尝试用 google 搜索你是如何做到这一点时 每个人似乎都说你不能 除非用户在 Firefox
  • Typescript + Jquery Ajax + 这个

    我正在将一些 javascript 代码移植到 typescript 中 但遇到了一个问题 我有一个 ajax 调用 它将一个对象作为上下文传递 该对象包含一些回调和一些其他信息 这些信息由成功或错误回调读出 指示成功调用应重定向到的位置
  • contenteditable div 中的内容为空

    我有一个 contenteditable div 充当文本区域 div class post div 如何通过 JS JQuery 清空 div 以清除所有值 我试过了 post html 但它不能正常工作 请帮忙 post empty d
  • 数据表在按钮单击后初始化表(ajax,jquery)

    我在加载数据表对象时遇到问题 当我在页面加载时初始化并填充表时 它可以正常工作 下面的代码在页面重新加载时完美运行
  • 如何为 VueJS 项目设置根/基 URL

    我已经部署了一个VueJS项目到像这样的域www example com 但是 我想将其移动到子文件夹 以便我可以像这样访问它www example com v1 如何设置基础 URL 或根 URLVueJS项目 注意 这与基本 URL 无
  • 如何在Vuejs中动态管理页面标题?

    我构建一个应用程序 我有一个带有页面标题的标题 目前 我使用视图路由器来定义我的标题 path events name events component Events meta title Liste des v nements 在我的刀片
  • jQuery AJAX post 收到 405 错误(不允许 HTTP 动词 POST)

    我有以下 jQuery 帖子到 ASP NET webmethod ajax type POST url AjaxWebMethods aspx UpdNote contentType application json charset ut
  • 将 VueJs 组件添加到 Django 模板中

    我正在开发一个 Django 网站 我希望将一些 Vue 组件 散布 到 Django 渲染的模板中 我正在单个存储库中工作 并使用 webpack 设置来创建我在 Django 模板中使用的 style js 包 我正在努力让功能按照我想
  • 删除datagridview中的一行

    我想删除更新面板中 Gridview 中的一行 但我没有使用命令按钮 而是使用了链接按钮来获取确认消息 现在 如果我按 确定 则应删除该记录 从 db 和 frm girdview 中删除 我知道如何从数据库中删除 但不知道如何按下链接按钮
  • Magento - AJAX 将产品页面元素调用到类别页面。选择框未填充

    我正在尝试在我的 Magento 商店上创建 ajax 快速视图 或 快速购物车 类型功能 一种将鼠标悬停在产品上并可以选择在灯箱中 快速查看 它而不是转到产品页面的方式 我正在使用一个非常简单的 jQuery Ajax 调用 如下所示 j

随机推荐

  • PyQt5无法导入QtCore问题解决

    今天安装PyQt 执行下面语句的时候出现问题 python3 configure py pyqt PyQt5 搞了一下午 吐血 具体 import PyQt5 完全ok 但是 from PyQt5 import QtCore 就出错 就这个
  • 07:MYSQL----多表查询

    目录 1 多表查询概述 2 多表查询分类 3 内连接 3 外连接 4 自连接 5 联合查询 union union all 6 子查询 1 多表查询概述 select from emp dept emp 表中有6条数据 dept表中有5条数
  • STM32外部中断 中断优先级讲解及配置

    1 概念 对于几乎所有的微控制器 中断都是一种常见的特性 中断一般是由硬件 如外设和外部输入引脚 产生的事件 它会引起程序流偏离正常的流程 如给外设提供服务 转去执行其他的流程 CPU在正常执行程序的过程中 由于内部 外部事件的触发或程序的
  • QT 创建可复用查找、替换对话框

    目录 1 查找对话框的实现 2 Qt中的调色板 palette 3 替换对话框的实现 目标 开发一个可以在不同项目间复用的查找替换对话框 1 查找对话框的实现 查找对话框需求分析 查找文本框中的指定字符串 能够指定查找方向 支持大小写敏感查
  • 随机生成6位的字符串验证码,要求包含数字,大小写字母

    package com cheng import java util Random import java util Scanner public class Demo04 static Scanner sc new Scanner Sys
  • c++类型推导

    类型推导 现代c 类型推导分为三个 一个为模板函数的形参推演 一个为auto的类型推导 一个decltype的类型推导 auto的类型推导是以模板函数的类型推导为基础的 模板函数类型推导 推导过程 模板函数的类型推导 是通过调用表达式即实参
  • openGL之API学习(七十七)glDrawElements

    通过索引方式来绘制几何图元 如果要 glDrawArrays 和 glDrawElements 正确进行绘制的话 必须在之前 调用带有相应参数的 glEnableClientState 方法 glDrawArrays使用的是顶点 而glDr
  • 查看linux centos ftp服务,Centos7开启FTP服务

    一 查看并安装vsftpd 执行以下命令进行查看 vsftpd v 如果没有安装的话就执行以下命令进行安装 yum y install vsftpd 二 配置vsftpd 2 1 取消匿名登陆 修改vsftpd conf文件 vi etc
  • huggingface ,Trainer() 函数是 Transformers 库中用于训练和评估模型的主要接口,Trainer()函数的参数如下:

    model required 待训练的模型 必须是 PyTorch 模型 args required TrainingArguments 对象 包含训练和评估过程的参数 例如训练周期数 学习率 批量大小等 train dataset opt
  • Linux用户空间和内核空间的内存互访

    Linux用户空间和内核空间的内存互访 标签 虚拟内存 安全性 Linux 用户 2012 11 13 15 55 Linux 内存 在 Linux 中 用户内存和内核内存是独立的 在各自的地址空间实现 地址空间是虚拟的 就是说地址是从物理
  • 在导入NVIDIA的apex库时报错 ImportError cannot import name ‘UnencryptedCookieSessionFactoryConfig‘ from

    在导入NVIDIA的apex库时报错 ImportError cannot import name UnencryptedCookieSessionFactoryConfig from pyramid session unknown loc
  • stm32定时器中断的配置步骤

    stm32定时器中断的配置步骤 1 TIM3 时钟使能 位于低速的APB1总线上 注意 高级定时器是在高速的APB2总线上 RCC APB1PeriphClockCmd RCC APB1Periph TIM3 ENABLE 时钟使能 2 初
  • 自签名SSL证书以及nginx配置https服务

    自签名SSL证书以及nginx配置https服务 服务器SSL的认证流程 单向认证 客户端发起建立HTTPS连接请求 将SSL协议版本的信息发送给服务端 服务器端将本机的公钥证书发送给客户端 客户端读取公钥证书 取出服务端公钥 客户端生成一
  • 如何理解数据库事务?

    目录 今日良言 保持热爱 奔赴山河 一 数据库事务 1 概念 2 使用 3 特性 今日良言 保持热爱 奔赴山河 一 数据库事务 1 概念 事务指逻辑上的一组操作 组成这组操作的各个单元 要么全部成功 要么全部失败 事务能够把多个SQL打包到
  • 【云原生之kubernetes实战】在k8s环境下部署jpress开源网站

    云原生之kubernetes实战 在k8s环境下部署jpress开源网站 一 jpress介绍 1 jpress简介 2 jpress功能 二 检查本地k8s环境 1 检查工作节点状态 2 检查系统pod状态 三 编辑jpress yaml
  • Fiddler抓包工具使用方法(二)手机抓包、设置断点

    抓取手机上的http生成https证书并发送到手机上进行安装 手机需要设置密码 设置如下 手机wifi设置代理 设置过滤抓取固定域名 手机抓取https请求 手机浏览器输入代理IP 8888 进入证书下载界面下载 下载并安装 需要设置锁屏密
  • 菊花链结构信号相关

    1 菊花链拓扑结构 菊花链一词最基本的概念指的是一种由许多菊花串接在一起形成的花环 早期也叫手牵手链接方式 一个人最多只能通过两条手臂牵着另外两个人 相当于一个芯片最多只能通过两段传输线连接到另外的两个芯片上 后来衍变到电子电器工程中菊花链
  • vue中点击按钮跳转到el-table的某个标识位置所在行

    客户需求 每点击一次按钮就跳到el table的具体位置 省的自己滚动找数据 实现思路 通过循环行和列找到标识数据所在行的id 存储到数组里 然后在按钮方法里获取 id 所在行的dom的高度 使用scrollTop方法 id 所在行的dom
  • 什么是二进制8421码?

    8421码 是BCD码的一种 意思是每一个二进制位上的数据对应一个固定的值 只需要把1位置对应的数值相加就能得出该二进制对应的十进制的值 图解如下 及相关二进制快速转换问题
  • VUE生命周期与Ajax前后端调用

    1 VUE的生命周期 VUE中有一整套完整的VUE对象创建 使用 销毁的流程 如果用户需要在某个特定的点 有特殊的需求 可以对VUE对象进行扩展 销毁需要手动销毁