Vue.js快速入门

news2024/11/27 23:39:22

文章目录

  • 一、Vue基础
    • 1.1 渐进式框架​
    • 1.2 第一个Vue程序
    • 1.3 el 挂载点
    • 1.4 data 数据对象
  • 二、Vue 指令
    • 2.1 v-text 文本值
    • 2.2 v-html 标签元素
    • 2.3 v-on 绑定事件
    • 2.4 v-show 隐藏
    • 2.5 v-if 消除
    • 2.6 v-bind 属性值
    • 2.7 v-for 生成列表
    • 2.8 v-model 双向数据绑定
  • 三、axios 网络请求库
  • 四、综合应用
    • 4.1 加减计数器
    • 4.2 图片轮播图
    • 4.3 记事本
    • 4.4 天气预报
    • 4.5 音乐播放器


提示:以下是本篇文章正文内容,前端系列学习将会持续更新

一、Vue基础

官网:https://cn.vuejs.org

1.1 渐进式框架​

Vue 是一个框架,也是一个响应式数据驱动。其功能覆盖了大部分前端开发常见的需求。但 Web 世界是十分多样化的,不同的开发者在 Web 上构建的东西可能在形式和规模上会有很大的不同。考虑到这一点,Vue 的设计非常注重灵活性和“可以被逐步集成”这个特点。

重点:从早期基于 Dom 开发,到 Vue 中基于数据开发的编程思路转换。

1.2 第一个Vue程序

①导入开发版本的 Vue.js

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

②创建Vue实例对象, 设置el属性和data属性

<script>
	var app = new Vue({
		el:"#app",
      	data:{
        	message:"Hello,World!"
      	}
    })
</script>

③使用简洁的模板语法把数据渲染到页面上

<div id="app">{{ message }}</div>

1.3 el 挂载点

  • Vue 会管理 el 命中的元素及其内部的后代元素。
  • 可以使用其它的选择器 (元素选择器、class选择器等),但是建议使用ID选择器。
  • 不能挂载 HTML 和 BODY 标签。
var app = new Vue({
	// el:"#app",
	// el:".app",
	// el:"div",
    el:"#div1",
    data:{
        message:"Hello,World!"
	}
})

1.4 data 数据对象

  • Vue 中用到的数据定义在 data 中。
  • data 中可以写复杂类型的数据,只要遵守 js 的语法即可。
<body>
    <div id="app">
        {{ message }}
        <h2> {{ school.name }} {{ school.phone }}</h2>
        <ul>
            <li>{{ campus[0] }}</li>
            <li>{{ campus[1] }}</li>
            <li>{{ campus[2] }}</li>
        </ul>
    </div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
    	el:"#app",
        data:{
            message:"你好 小黑!",
            school:{
                name:"XXX大学",
                phone:"400-618-9090"
            },
            campus:["A校区","B校区","C校区"]
        }
    })
</script>

回到目录…

二、Vue 指令

2.1 v-text 文本值

  • v-text 指令的作用是:设置标签的内容(textContent)。
  • 默认会替换全部内容,使用差值表达式{{}}可以替换指定内容。
  • 内部支持写表达式
<div id="app">
	<h2 v-text="message + '!'">世界</h2> <!-- 世界 -->
    <h2>{{ message + '!'}}世界</h2>      <!-- 你好!世界 -->
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
    	el:"#app",
        data:{
        	message:"你好",
        }
    })
</script>

2.2 v-html 标签元素

  • v-html 指令的作用是:设置元素的 innerHTML
  • 内容中有 html 结构会被解析为标签。
  • 解析文本使用 v-text,需要解析 html 结构使用 v-html。
<div id="app">
	<p v-html="message"></p>  <!-- <p><a href='https://www.baidu.com'>百度百科</a></p> -->
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
    	el:"#app",
        data:{
        	message: "<a href='https://www.baidu.com'>百度百科</a>",
        }
    })
</script>

2.3 v-on 绑定事件

  • v-on 指令的作用是:为元素绑定事件,包括:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave,change, select, submit, keydown, keypress, keyup, error。
  • v-on 指令可以简写为 @,如 v-on:click="func()" 等同于 @click="func()"
  • 绑定的方法定义在 methods 属性中,方法内部通过 this 关键字可以访问定义在 data 中的数据。
<div id="app">
    <p>{{message}}</p>
    <input type="button" value="触发事件1" v-on:click="func">
	<input type="button" value="触发事件2" @click="func2('张三')">
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app = new Vue({
        el:"#app",
        data:{
            message: "Hello,World!",
        },
        methods:{
            func: function(){
            	alert(this.message);
            },
			func2: function(name) {
				alert("你好," + name);
			}
        }
    })
</script>

2.4 v-show 隐藏

  • v-show 指令的作用是:根据真假切换元素的显示状态
  • v-show 原理是修改元素的 display 值,实现显示和隐藏。其值最终会解析为布尔值 (true元素显示,false元素隐藏)。
  • 数据改变之后,对应元素的显示状态会同步更新。
<div id="app">
	<img v-show="isShow" src="./img/monkey.gif">
	<img v-show="age>=18" src="./img/monkey.gif">
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
        el:"#app",
        data:{
            isShow: false,
            age: 19
        }
    })
</script>

2.5 v-if 消除

  • v-if 指令的作用是:根据表达式的真假切换元素的显示状态
  • 本质是通过操纵 dom 元素来切换显示状态。表达式值为true时,元素存在于dom树中;值为false时,从dom树中移除。
  • 频繁的切换使用 v-show,反之使用 v-if,前者的切换消耗小。
<div id="app">
	<img v-if="isShow" src="./img/monkey.gif">
	<img v-if="age>=18" src="./img/monkey.gif">
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
        el:"#app",
        data:{
            isShow: false,
            age: 19
        }
    })
</script>

2.6 v-bind 属性值

  • v-bind 指令的作用是:为元素绑定属性
  • v-bind 指令可简写为 : ,如 v-bind:src="imgSrc" 等同于 :src="imgSrc"
  • 需要动态的增删 class 时,建议使用对象的方式。
<div id="app">
    <img v-bind:src="imgSrc"><br>
	<input type="button" :value="btnVal">
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app = new Vue({
        el:"#app",
        data:{
            imgSrc: "img/monkey.gif",
			btnVal: "猴子"
        }
    })
</script>

2.7 v-for 生成列表

  • v-for 指令的作用是:根据数据生成列表结构。经常和数组结合使用。
  • v-for 语法是 item in arr(item,index) in arr,item 和 index 可以结合其他指令一起使用。
  • 数组长度的更新会同步到页面上,是响应式的。
<div id="app">
	<ul>
		<li v-for="(it,index) in arr">
        	{{ index+1 }}.城市:{{ it }}
        </li>
    </ul>
    <p v-for="item in vegetables">
    	菜品: {{ item.name }}, 价格: {{ item.price }}
    </p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
    	el:"#app",
        data:{
        	arr:["北京","上海","广州","深圳"],
            vegetables:[
            	{name:"西兰花炒蛋", price:20},
                {name:"蛋炒西蓝花", price:30}
            ]
        }
	})
</script>

2.8 v-model 双向数据绑定

  • v-model 指令的作用是便捷的设置和获取表单元素的值
  • 绑定的数据会和表单元素值相关联,绑定的数据 <=> 表单元素的值。
<div id="app">
	<input type="button" value="修改message" @click="setM">
	<input type="text" v-model="message" @keyup.enter="getM">
	<p>{{ message }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
		el:"#app",
		data:{
        	message:"沙丁鱼"
        },
        methods: {
        	getM:function(){
            	alert(this.message);
            },
            setM:function(){
            	this.message ="酷丁鱼";
            }
        }
	})
</script>

回到目录…

三、axios 网络请求库

官网:https://github.com/axios/axios

  • axios 是功能强大的网络请求库,必须先导入才可以使用。
  • 使用 get 或 post 方法即可发送对应的请求 axios。
  • then 方法中的回调函数会在请求成功或失败时触发。通过回调函数的形参可以获取响应内容,或错误信息。
  • axios 回调函数中的 this 已经改变,无法访问到 data 中数据,需要额外的保存一份。
<!-- 官网提供的 axios 在线地址 -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
	axios.get(URL地址??key=value&key2=value2).then(function(response){}, function(err){})
	axios.post(地址, {key:value,key2:value2}).then(function(response){}, function(err){})
</script>
接口随机获取一条笑话
请求地址https://autumnfish.cn/api/joke
请求方法get
请求参数
响应内容随机笑话
<div id="app">
	<input type="button" value="获取笑话" @click="getJoke">
    <p> {{ joke }}</p>
</div>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	var app = new Vue({
    	el:"#app",
        data:{
        	joke:"很好笑的笑话"
        },
        methods: {
        	getJoke:function(){
            	var that = this; // 额外保存Vue中的this
                axios.get("https://autumnfish.cn/api/joke").then(function(response){
                	that.joke = response.data;
                },function(err) {
                	alert("请求失败!");
                })
            }
        }
	})
</script>

在这里插入图片描述
在这里插入图片描述

回到目录…

四、综合应用

4.1 加减计数器

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>计数器</title>
	</head>
	<body>
		<div id="app">
			<input type="button" value="-" @click="sub" :disabled="count<=1">
			<span>{{count}}</span>
			<input type="button" value="+" @click="incre" :disabled="count>=10">
		</div>
	</body>
	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	<script>
		var app = new Vue({
			el: "#app",
			data: {
				count: 1
			},
			methods: {
				sub: function() {
					this.count--;
				},
				incre: function() {
					this.count++;
				}
			},
		});
	</script>
</html>

回到目录…

4.2 图片轮播图

在这里插入图片描述

<body>
	<div id="mask">
		<div class="center">
			<h2 class="title">我的校区环境</h2>
      		<img :src="imgArr[index]" alt="" />  <!-- 图片 -->
      		<a href="javascript:void(0)" v-if="index!=0" @click="prev" class="left">
          		<img src="./img/prev.png" alt="" />    <!-- 左箭头 -->
        	</a>
      		<a href="javascript:void(0)" v-show="index<imgArr.length-1" @click="next" class="right">
        		<img src="./img/next.png" alt="" />    <!-- 右箭头 -->
     		</a>
    	</div>
	</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#mask",
        data: {
            imgArr: [
          		"./img/00.jpg",
          		"./img/01.jpg",
          		"./img/02.jpg",
          		"./img/03.jpg",
          		"./img/04.jpg",
          		"./img/05.jpg",
          		"./img/06.jpg",
        	],
        	index: 0
      	},
      	methods: {
        	prev:function(){
          		this.index--;
        	},
        	next:function(){
          		this.index++;
        	}
      	}
    })
</script>

回到目录…

4.3 记事本

在这里插入图片描述

<body>
  <!-- 主体区域 -->
  <section id="todoapp">
    <!-- 输入框 -->
    <header class="header">
      <h1>小黑记事本</h1>
      <input v-model="inputValue" @keyup.enter="add" autofocus="autofocus" autocomplete="off" placeholder="请输入任务"
        class="new-todo" />
    </header>
    <!-- 列表区域 -->
    <section class="main">
      <ul class="todo-list">
        <li class="todo" v-for="(item,index) in list">
          <div class="view">
            <span class="index">{{ index+1 }}.</span>
            <label>{{ item }}</label>
            <button class="destroy" @click="remove(index)"></button>
          </div>
        </li>
      </ul>
    </section>
    <!-- 统计和清空 -->
    <footer class="footer" >
      <span class="todo-count">
        <strong>{{ list.length }}</strong> items left
      </span>
      <button class="clear-completed" @click="clear">
        Clear
      </button>
    </footer>
  </section>
  <!-- 底部 -->
  <footer class="info">
    <p>
      <a href="http://www.itheima.com/"><img src="./img/black.png" alt="" /></a>
    </p>
  </footer>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#todoapp",
        data: {
        	list: ["写代码", "吃饭饭", "睡觉觉"],
        	inputValue: "好好学习,天天向上"
      	},
      	methods: {
        	add: function () {
          		this.list.push(this.inputValue);
        	},
        	remove:function(index){
          		this.list.splice(index,1);  // 删除下标元素
        	},
			clear:function(){
				this.list = [];
			}
      	}
    })
</script>

回到目录…

4.4 天气预报

在这里插入图片描述

<body>
	<div class="wrap" id="app">
    	<div class="search_form">
      		<div class="logo"><img src="img/logo.png" alt="logo" /></div>
      		<div class="form_group">
        		<input type="text" class="input_txt" placeholder="请输入查询的天气" v-model="city" @keyup.enter="queryWeather" />
        		<button class="input_sub" @click="queryWeather">搜 索</button>
      		</div>
      		<div class="hotkey">
        		<a href="javascript:;" v-for="city in hotCitys" @click="clickSearch(city)">{{ city }}</a>
      		</div>
    	</div>
    	<ul class="weather_list">
      		<li v-for="(item,index) in forecastList" :key="item.date" :style="{transitionDelay:index*100+'ms'}">
        		<div class="info_type">
          			<span class="iconfont">{{ item.type }}</span>
        		</div>
        		<div class="info_temp">
          			<b>{{ item.low}}</b>
         			 ~
         			<b>{{ item.high}}</b>
        		</div>
        		<div class="info_date">
          			<span>{{ item.date }}</span>
        		</div>
      		</li>
    	</ul>
  	</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    new Vue({
        el: "#app",
      	data: {
        	city: "武汉",
        	forecastList: [],
        	hotCitys: ["北京", "上海", "广州", "深圳"]
      	},
      	methods: {
        	queryWeather() {
          		this.forecastList = [];
          		axios.get(`http://wthrcdn.etouch.cn/weather_mini?city=${this.city}`)
            	.then(res => {
              		console.log(res);
              		this.forecastList = res.data.data.forecast;
            	}).catch(err => {
              		console.log(err);
            	});
        	},
        	clickSearch(city) {
          		this.city = city;
          		this.queryWeather();
        	}
      	}
    });
</script>

回到目录…

4.5 音乐播放器

在这里插入图片描述

<body>
  <div class="wrap">
    <div class="play_wrap" id="player">
      <div class="search_bar">
        <img src="images/player_title.png" alt="" />
        <!-- 搜索歌曲 -->
        <input type="text" autocomplete="off" v-model='query' @keyup.enter="searchMusic();" />
      </div>
      <div class="center_con">
        <!-- 搜索歌曲列表 -->
        <div class='song_wrapper' ref='song_wrapper'>
          <ul class="song_list">
            <li v-for="item in musicList">
              <!-- 点击放歌 -->
              <a href="javascript:;" @click='playMusic(item.id)'></a>
              <b>{{item.name}}</b>
              <span><i @click="playMv(item.mvid)" v-if="item.mvid!=0"></i></span>
            </li>
          </ul>
          <img src="images/line.png" class="switch_btn" alt="">
        </div>
        <!-- 歌曲信息容器 -->
        <div class="player_con" :class="{playing:isPlay}">
          <img src="images/player_bar.png" class="play_bar" />
          <!-- 黑胶碟片 -->
          <img src="images/disc.png" class="disc autoRotate" />
          <img :src="coverUrl==''?'./images/cover.png':coverUrl" class="cover autoRotate" />
        </div>
        <!-- 评论容器 -->
        <div class="comment_wrapper" ref='comment_wrapper'>
          <h5 class='title'>热门留言</h5>
          <div class='comment_list'>
            <dl v-for="item in hotComments">
              <dt><img :src="item.user.avatarUrl" alt="" /></dt>
              <dd class="name">{{item.user.nickname}}</dd>
              <dd class="detail">{{item.content}}</dd>
            </dl>
          </div>
          <img src="images/line.png" class="right_line">
        </div>
      </div>
      <div class="audio_con">
        <audio ref='audio' @play="play" @pause="pause" :src="musicUrl" controls autoplay loop class="myaudio"></audio>
      </div>
      <div class="video_con" v-show="showVideo">
        <video ref='video' :src="mvUrl" controls="controls"></video>
        <div class="mask" @click="closeMv"></div>
      </div>
    </div>
  </div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
  var app = new Vue({
    el: "#player",
    data: {
      query: "", // 查询关键字
      musicList: [], // 歌曲数组
      musicUrl: "", // 歌曲地址
      musicCover: "", // 歌曲封面
      hotComments: [], // 歌曲评论
      isPlaying: false, // 动画播放状态
      isShow: false, // 遮罩层的显示状态
      mvUrl: "" // mv地址
    },
    methods: {
      // 歌曲搜索
      searchMusic: function() {
        var that = this;
        axios.get("https://autumnfish.cn/search?keywords=" + this.query).then(
          function(response) {
            that.musicList = response.data.result.songs;
          },function(err) {}
        );
      },
      // 歌曲播放
      playMusic: function(musicId) {
        var that = this;
        // 获取歌曲地址
        axios.get("https://autumnfish.cn/song/url?id=" + musicId).then(
          function(response) {
            that.musicUrl = response.data.data[0].url;
          },function(err) {}
        );
        // 歌曲详情获取
        axios.get("https://autumnfish.cn/song/detail?ids=" + musicId).then(
          function(response) {
            that.musicCover = response.data.songs[0].al.picUrl;
          },function(err) {}
        );
        // 歌曲评论获取
        axios.get("https://autumnfish.cn/comment/hot?type=0&id=" + musicId).then(
          function(response) {
            that.hotComments = response.data.hotComments;
          },function(err) {}
        );
      },
      // 歌曲播放
      play: function() {
        this.isPlaying = true;
      },
      // 歌曲暂停
      pause: function() {
        this.isPlaying = false;
      },
      // 播放mv
      playMV: function(mvid) {
        var that = this;
        axios.get("https://autumnfish.cn/mv/url?id=" + mvid).then(
          function(response) {
            that.isShow = true;
            that.mvUrl = response.data.data.url;
          },function(err) {}
        );
      },
      // 隐藏
      hide: function() {
        this.isShow = false;
      }
    }
  });
</script>

回到目录…


总结:
提示:这里对文章进行总结:
本文是对Vue的学习,重点帮助大伙完成从早期基于Dom开发,到Vue中基于数据开发的编程思路转换,除了Vue的基础语法之外,还包含了网络请求库axios的基本使用,中间穿插着5个精心设计的案例。之后的学习内容将持续更新!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524631.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EXCEL数组公式的理解和技巧(未完成)

1 小心特例 frenquce 会划分为n1个区间 SUMPRODUCT(IF(FREQUENCY(B5:B18,B5:B18)>0,1,0)*IF(VALUE(MID(A5:A18,6,1))5,1,0)) 2 用0/ 和1/0 数组公式来解决问题 SUMPRODUCT(1/COUNTIF(B5:B18,B5:B18)) 这个只返回了B列里不重复的数据个数&#xff0c;确实是10个 SUMPRODU…

在 Windows 上安装 kind

一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;让我们一起学习在 Windows 上安装 kind。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、 kind是什么 kind 是一个使用 Docker 容器“节点”运行 Kubernetes 集群的工具。使用 kind 工具搭建的 Kubernetes…

【Linux Network】应用层协议——HTTP

目录 1. 认识URL 2. urlencode和urldecode urlencode例子&#xff1a; urldecode例子&#xff1a; 3. HTTP协议格式 3.1 HTTP请求&#xff1a; 3.2 HTTP响应&#xff1a; 3.3 HTTP的方法&#xff1a; 3.4 GET方法和POST方法的区别 3.5 HTTP的状态码&#xff1a; 3.6 HTTP常见He…

Python学习20:温度转换 II(python123)

温度的刻画有两个不同体系&#xff1a;摄氏度&#xff08;Celsius&#xff09;和华氏度&#xff08;Fabrenheit&#xff09;。‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‪‫‪‪‪‪‪‫‪ 请编写程序将用户输入华氏度转换为摄氏度&#xff…

参会记录|春日研学 · 踏歌前行 —— MAS 实验室内部学术研讨会

前言&#xff1a;2023年5月12日&#xff08;周五&#xff09;晚&#xff0c;实验室在江苏苏州天街附近举行了一次内部研讨会&#xff0c;主题聚焦当今学术界研究前沿和实验室下一阶段发展规划。会议期间&#xff0c;首先是各位与会博士生畅所欲言&#xff0c;探讨当前学术前沿&…

数据结构学习记录——什么是图(抽象数据类型定义、常见术语、邻接矩阵表示法、邻接表表示法)

目录 什么是图 抽象数据类型定义 常见术语 无向图 有向图 网络 邻接点 度&#xff08;出度、入度&#xff09; 稀疏图 稠密图、完全图 边密度 邻接矩阵表示法 用二维数组存储 用一维数组存储 邻接矩阵的好处 邻接矩阵的坏处 邻接表表示法 指针数组-链表存储…

ES的可视化工具-Kibana的安装和使用

【前言】 Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索&#xff0c;查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化&#xff0c;以图表的形式展现出来。 下面是Kibana的安装步骤&#xff0c;控…

Vue项目的搭建和启动

文章目录 一、安装配置 node.js1.1 下载安装1.2 配置环境变量1.3 修改模块下载位置1.4 设置淘宝镜像 二、创建启动 Vue三、开发环境 VSCode3.1 开发插件3.2 Vue 项目结构 提示&#xff1a;以下是本篇文章正文内容&#xff0c;前端系列学习将会持续更新 一、安装配置 node.js …

【重新定义matlab强大系列六】利用matlab进行一维滤波or二维滤波

&#x1f517; 运行环境&#xff1a;matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

NVM —— 你把我玩明白

前期回顾 纯前端 根据目录解析word,拆分不同段落_彩色之外的博客-CSDN博客纯前端 解析 wordhttps://blog.csdn.net/m0_57904695/article/details/130503211?spm1001.2014.3001.5501 &#x1f44d; 本文专栏&#xff1a;开发技巧 目录 &#x1f37a; 下载 及 配置镜像 …

如何设计测试用例以及常用的黑盒测试方法

目录 如何设计测试用例&#xff1f; 设计测试用例的万能公式 ①功能测试 (用户的基本功能需求&#xff09; ②性能测试 ③易用性&#xff08;考虑用户体验&#xff09;测试 ④兼容性测试 ⑤界面&#xff08;UI,外观&#xff09;测试 ⑥安全测试 常用黑盒测试方法 …

MySQL_4 常见函数汇总及演示

目录 一、统计函数 1.基本语法 : 2.代码演示 : 演示Ⅰ—— 演示Ⅱ—— 二、合计函数 1.基本语法 : 2.代码演示 : 三、平均函数 1.基本语法 : 2.代码演示 : 四、最值函数 1.基本语法 : 2.代码演示 : 五、字符串函数 1.常用字符串函数 : 2.代码演示 : 六、数学…

Linux基础学习---6、系统定时任务、软件包管理、虚拟机克隆

1、系统定时任务 1.1 crontab 服务管理 1、重新启动crond服务1.2 crontab 定时任务设置 1、基本语法crontab [选项] 2、选项说明选项功能-e编辑crontab定时任务-l查询crontab任务-r删除当前用户所有的crontab任务 3、参数说明 &#xff08;1&#xff09;进入crontab编辑页面…

SpringSecurity 快速入门

1. 认证授权概述 1.1 认证授权概念 1.1.1 认证 在互联网中&#xff0c;我们每天都会使用到各种各样的APP和网站&#xff0c;在使用过程中通常还会遇到需要注册登录的情况&#xff0c;输入你的用户名和密码才能正常使用&#xff0c;也就是说成为这个应用的合法身份才可以访问…

项目开发工具【EditorConfig,Prettier,ESLint,Git Husky,Commitizen,Commitlint】

项目开发工具【六款】 前言 六款插件让你项目更加的规范✨✨✨ EditorConfig&#xff1a;为不同编辑器上处理同一项目的多个开发人员维护一致的编码风格Prettier&#xff1a;一款强大的代码格式化工具&#xff0c;是当下前端最流行的代码格式化工具ESLint&#xff1a;查找潜在…

图像增强库albumentations(v1.3.0, 2023.5)中所有图像增强方法记录(class)

整体概要 变换类型具体类模糊/噪声AdvancedBlur*&#xff0c;Blur*&#xff0c;Downscale*&#xff0c;Defocus*&#xff0c;GlassBlur*&#xff0c;GaussianBlur*&#xff0c;GaussNoise*&#xff0c;ImageCompression*&#xff0c;ISONoise*&#xff0c;MultiplicativeNoise…

MySQL基础-SQL介绍

本文介绍MySQL中SQL通用语法&#xff0c;包括&#xff1a;DDL&#xff0c;DML&#xff0c;DQL&#xff0c;DCL 文章目录 SQL分类DDL&#xff08;数据定义语言&#xff09;数据库操作表操作 DML&#xff08;数据操作语言&#xff09;添加数据更新和删除数据 DQL基础查询条件查询…

Linux sed流编辑器

sed流编辑器 sed是一种流编辑器&#xff0c;流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据&#xff0c;这些命令要么从命令行中输入&#xff0c;要么存储在一个命令文本文件中。 sed 的工作流程主要包括读取…

智能的本质人工智能与机器人领域的64个大问题阅读笔记(二)

目录 如果一个人不能理解所说语言的全部信息&#xff0c;那么说这种语言也是没有意义的。 “20年内&#xff0c;机器将能够胜任人类承担的所有工作”&#xff08;赫伯特西蒙&#xff0c; 1965&#xff09;。 以及21世纪的人类愿意相信超智能机器时代的到来&#xff0c;与前几…

项目中大批量数据查询导致OOM

项目中有时候一次性将大批量数据都查出来到内存中导致内存占用过多很可能会导致内存溢出 问题复现 搭建一个本地项目。需求描述&#xff1a;查询表call_task中待拨打的数据进行拨打&#xff0c;call_task中一次可能会有大批量数据需要处理。本次准备了1万条数据。 /*** 查询…