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

Vue框架1(vue搭建方式1,vue指令,vue实例生命周期)

一.VUE

vue概述(vue.js)

vue是前端JavaScript框架,对JavaScript进行封装,是一套用于构建用户界面的渐进式框架.vue的核心只关注图示层,不仅易上手,还便于与第三方库或既有的项目整合.
vue.js和Angular.js,React.js一起,并称为前端三大主流框架

注意:    在此初步学习的是vue2并不是vue3,vue3属于入门级

 vue.js特点

  • 体积小(封装的文件小) 压缩后33k
  • 更高的运行效率,不直接频繁的对网页上的标签进行操作,基于dom技术进行优化
  • 实现数据双向绑定,程序员只关心要操作的数据即可,把数据渲染到标签上交给vue框架处理
  • 生态丰富,学习成本低

 vue.js如何实现数据绑定

通过MVVM思想实现数据的双向绑定,让开发者不用再操作dom对象,把更多的精力投入到业务逻辑上.
MVVM是Model-View-ViewModel的缩写.MVVM就是将其中的View的状态和行为抽象化,让我们将视图UI和业务逻辑分开. 

二.VUE搭建

方式1:直接用<script>引入

进入vue.js官网https://v2.cn.vuejs.org/

找到安装

 
将下载得到的文件复制或移入项目中的js目录

在需要使用vue框架的项目中导入js文件<script src="js/vue.js"></script>

三.第一个VUE程序

vue.js的核心是一个允许采用简洁模板语法来声明式地将数据渲染进DOM的系统

  1. 导入开发版本的vue.js
  2. 创建vue实例对象,设置el属性和data属性
  3. 使用简洁的模板语法把数据渲染到页面上

实例: 

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue.js库 --><script src="js/vue@2.js"></script><!-- 导入一个文件后,下方不能再写一个js文件 --></head><body><!-- {{变量}}必须写在命中标签的内部--><div id="app"><div>{{message}},</div><p>{{a}}</p></div><!-- 以后的Script标签写在标签的后面,先加载网页的内容,再加载js --><script type="text/javascript">/*创建vue对象,把页面指定id的标签与vue对象进行绑定 el是vue对象中的属性,可以选择#id,或.类,建议使用id选择器el命中标签不能是bodydata属性中定义使用的数据 键:值 键值对之间需要使用","隔开最后一个键值对后不添加","正常数据都要定义在data中{{变量名}} 插值表达式,获取到data中定义的数据*/let app = new Vue({el:"#app",data:{a:"abc",message:"hello vue"}});</script></body>
</html>

示例代码解析:

{{变量}},插值表达式用于获取data数据

new Vue();创建Vue对象(VM对象)

el:数据挂载的dom对象

Vue会管理el选项命中的元素及其内部的后代元素

可以使用其他的选择器,但是建议使用ID选择器

可以使用其他的闭合标签,不能使用HTML和BODY

data:{message:'hello world'} model数据

Vue中用到的数据定义在data中

data中可以写复杂类型的数据,如对象,数组 

四.VUE指令 

VUE指令是指带有v-开头,以代表它们是VUE提供的特殊属性.

插值表达式{{message}}

{{message}} 插值表达式不会覆盖标签体中的内容,只是在标签内部插入一个值,在标签中有值得情况也可以添加插值表达式,不会影响原本数据的显示

示例: 

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body><!-- {{变量}}必须写在命中标签的内部--><div id="app"><div>{{message}}不影响比标签中的其他内容</div><p>{{a}}</p></div><script type="text/javascript">/* {{变量名}} 插值表达式,获取到data中定义的数据*/let app = new Vue({el:"#app",data:{a:"abc",message:"hello vue"}});</script></body>
</html>

 效果演示:

v-text指令 

该指令的作用是设置标签的文本内容,此写法会替换标签中的全部内容

内部支持写插值表达式
<p v-text="message">被替换的内容</p>

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue@2.js"></script></head><body><div id="app"><div v-text="Message1">这是一段被替代的话</div></div><script type="text/javascript">let app = new Vue({el:"#app",data:{Message1:"v-text指令会替代标签中的内容"}});</script></body>
</html>

使用v-text前效果: 

使用后的效果:

v-html指令 

该指令的作用是设置元素的innerHTML,变量中的内容中存在html结构会被解析为标签

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue@2.js"></script></head><body><div id="app"><div v-html="Message2">这是一段被替代的话</div></div><script type="text/javascript">let app = new Vue({el:"#app",data:{Message2:"<b>这是一段被加粗的文字</b>"}});</script></body>
</html>

效果演示:

 

插值表达式,v-html,v-text的区别

{{message}} 插值表达式 不会覆盖标签体中的内容,只是在标签内部插入一个值
v-html与v-text 会用数据覆盖标签体中的内容

v-html与v-text的区别:
v-html:能解析字符串中的标签
v-text:不能解析字符串中的标签

v-on指令

该指令的作用是为元素绑定事件,事件名不需要写on指令可以简写为@

绑定方法定义在methods属性中,可以传入自定义参数
<input type="button" value="按钮" v-on:click="text(1,2)"/>向方法中传入参数的用法
<input type="button" value="按钮" @click="text"/>简写且不传入参数的写法

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue.js库 --><script src="js/vue@2.js"></script></head><body><div id="app"><!-- 添加事件的两种方式v-on:click 点击事件@click--><input type="button" value="按钮1" v-on:click="test1()"/><input type="button" value="按钮2" @click="test2(1)"/></div><script type="text/javascript">let app = new Vue({el:"#app",data:{message:"hello vue",},methods:{test1(){//this表示vue对象alert(this.message);},test2(a){//传参alert(a);}}});</script></body>
</html>

注意:   在methods属性中添加函数时不需要使用function关键字,且在函数中使用在data中定义好的变量或methods属性中定义的其他方法时,需要使用this关键字

v-model指令

该指令的作用是便捷的设置和获取表单元素的值,绑定的数据会和表单元素值相关联
绑定的数据<---->表单元素的值 双向数据绑定

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue.js库 --><script src="js/vue@2.js"></script></head><body><div id="app"><p><!--还可以使用v-text-->{{name}}</p><!-- v-model可以将输入标签中的值(value)  绑定到指定的属性上 (这里通过vue框架将文本输入框的值,变量name,p标签中的内容插值表达式绑定)--><input type="text" value="" v-model="name"/><input type="button" value="测试" @click="test3"/></div><script type="text/javascript">let app = new Vue({el:"#app",data:{name:""},methods:{test3(){//改变name变量的值this.name = "jim";}}});</script></body>
</html>

在此案例中通过v-model指令将输入框的value属性,变量name的值,p标签的值相互绑定,只要name变量的值发生改变其他两个标签的值也会发生改变

v-show指令

该指令的作用是根据布尔值显示或隐藏当前标签,原理是修改元素的display,实现显示隐藏,指令后面的内容,最终都会解析为布尔值,值为true元素显示,值为false元素隐藏,数据改变后,对应元素的显示状态会同步更新

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body><div id="app"><!-- v-show="布尔值" 根据布尔值显示或隐藏当前标签通过display的值控制标签显示或隐藏,每次不需要重新创建标签,效率高--><div v-show="isshow">123</div><div v-show="a>5">456</div></div><script type="text/javascript">let app = new Vue({el:"#app",data:{isshow:false,a:10}});</script></body>
</html>

在此案例中,v-show="false"时,标签会显示,通过改变标签的dispaly属性来实现标签的隐藏,由于a变量的值为10,a>5最终也会被解析为布尔值true. 

v-if与v-else指令

v-if指令的作用是根据表达式的真假切换元素的显示状态,本质是通过操纵dom元素来切换,显示状态表达式的值为true,元素存在于dom中,为false,从dom中移除.频繁的切换使用v-show,反之使用v-if,前者的切换消耗更小

v-if和v-else标签必须挨着满足则显示if标签内容,否则显示else内容

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body><div id="app"><!-- v-if="布尔值" 根据布尔值显示或隐藏当前标签每次从网页中要删除/创建标签,数量多了效率低v-if 和 v-else标签必须挨着满足则显示if标签内容,否则显示else内容--><div v-if="isshow">789</div><div v-if="a>5">101</div><div v-else>aaa</div></div><script type="text/javascript">let app = new Vue({el:"#app",data:{isshow:true,a:4}});</script></body>
</html>

注意:  v-else需要紧挨着v-if使用,当v-if="false"时显示v-else指令的标签

v-show与v-if的区别

v-show标签是通过display属性来实现显示或隐藏标签
而v-if标签每次都要从网页中删除/创建标签,数量多了效率太低.

在频繁的切换标签隐藏或显示,v-show标签相比于v-if标签效率更高.
但v-if标签可以搭配v-else标签使用,实现通过逻辑控制标签的隐藏与消失.

v-bind指令

该指令的作用是为元素绑定属性,完整写法是 v-bind:属性名

简写的话可以直接省略v-bind,只保留: 属性名

示例1:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body><div id="app"><!-- <img src="imgsrc"/> 错误写法,不能将data中的属性填充到普通标签属性中--><!-- <img v-bind:src="imgsrc"/> 通过v-bind对标签的属性进行操作--><!-- 简单写法 --><img :src="imgsrc" :title="title"/><input type="button" value="下一张" @click="next"/></div><script type="text/javascript">let app = new Vue({el:"#app",data:{imgsrc:"img/图片1.png",title:"第一张图片"},methods:{next(){this.imgsrc = "img/图片2.png";this.title = "第二张图片";}}});</script></body>
</html>

在此案例中,通过v-bind指令对图片的src以及title属性进行操作,并通过v-on指令为按钮添加了点击事件实现了图片的属性切换.这里使用的v-bind指令采用的简单写法, 直接省略v-bind,只保留: 属性名

我们还可以传给v-bind:class一个对象,以动态地切换class:

示例2:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style>.active{color: red;}</style><script src="js/vue@2.js"></script></head><body><div id="app"><!-- 通过isActive控制是否为标签添加指定的类名 active是类名--><div v-bind:class="{active:isActive}">状态</div><!--为按钮添加点击事件,实现点击按钮改变标签样式的功能--><input type="button" @click="next"/></div><script type="text/javascript">let app = new Vue({el:"#app",data:{isActive:false//控制是否添加样式表},methods:{next(){//使用this关键字调用data中定义的变量this.isActive="true";}}});</script></body>
</html>

在此案例中,需要注意v-bind:class="{active:isActive}"  其中active是标签的类名,isActive是data键值对中定义的变量名,通过改变变量的布尔值,实现此标签样式的存在或消失

v-for指令

该指令的作用是根据数据生成列表结构,数组经常和v-for结合,其语法是  (item,index) in 数据
item和index可以结合其他指令一起使用,数组长度的更新会同步到页面上是响应式的
为循环绑定一个Key值 :Key="值" 尽可能唯一 

示例1:通过v-for指令循环遍历数据到列表项中

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body><!-- 5点18 --><div id="app"><!-- 使用v-for指令循环遍历数据到列表项中,在列表项内容中添加插值表达式,p指的是数组中的一个字符串数据--><ul><!--不添加数组索引的写法--><!-- <li v-for="p in provinces">{{p}}</li> --><!--添加数组索引的写法,在循环时为它添加序号--><li v-for="(p,index) in provinces">{{index+1}}{{p}}</li></ul></div><script type="text/javascript">let app = new Vue({el:"#app",data:{//模拟从服务器后端响应回来的数据,在前端把后端响应的数据动态的响应在网页上provinces:['北京','天津','上海']//字符串类型数组}});</script></body>
</html>

在此案例中,通过v-for指令将字符串类型数组provinces的数据循环遍历在列表项中,并添加了数组的索引值,由于数组的索引值是从零开始的,我们在插值表达式中为索引值加1,实现添加的数字序号从1开始.
v-for="(p,index) in provinces" 其中p为字符串数组中的一个字符串数据,这里的用法与增强for循环遍历数据类似

示例2:表格使用v-for遍历数据

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body><div id="app"><table border="1"><tr><td>序号</td><td>学号</td><td>姓名</td><td>性别</td></tr><tr v-for="(student,index) in students"><td>{{index}}</td><td>{{student.id}}</td><td>{{student.name}}</td><td>{{student.gender}}</td></tr></table></div><script type="text/javascript">let app = new Vue({el:"#app",data:{//对象类型数组students:[{id:101,name:'jim',gender:'男'},{id:102,name:'tom',gender:'男'},{id:103,name:'jery',gender:'女'}]}});</script></body>
</html>

在此案例中,data中定义的数据类型是students对象类型的数组,每一个大括号代表一个对象,其中的id,name,gender等是该对象的属性.
注意:    v-for指令应当写在行标签中,将插值表达式写在列标签中,在插值表达式中通过student.id来获取students对象类型数组中一个对象student的属性id值.

五.VUE 实例生命周期

每个Vue 实例在被创建时都要经过一系列的初始化过程-例如,需要设置数据监听,编译模板,将实例挂载到DOM 并在数据变化实更新DOM 等.同时,在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己代码的机会.

下面图示表示不同的生命周期钩子函数的所处位置:

用户通过这八个生命周期函数,实现在不同的阶段添加代码,实现代码功能 

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="js/vue@2.js"></script></head><body> <div id="app"> </div><script type="text/javascript">/* vue对象生命周期*/let app = new Vue({el:"#app",//vue对象绑定标签data:{},methods:{//自定义函数},//vue对象生命周期钩子函数beforeCreate(){//vue对象创建之前执行console.log("beforeCreate")},created(){//在vue对象创建后执行console.log("created")},beforeMount(){//这个是vue对象与标签绑定前执行,这里的绑定指el绑定console.log("beforeMount")},mounted(){//这个是vue对象与标签绑定后执行,这是我们后面需要的,在网页打开后,自动执行某些操作//如自定义的向后端发送请求加载数据console.log("mounted")}});</script></body>
</html>

在此案例中使用了四个生命周期钩子函数,在不同的阶段执行了代码中的功能,代码中注释了这四个函数在不同的阶段执行.

相关文章:

Vue框架1(vue搭建方式1,vue指令,vue实例生命周期)

一.VUE vue概述(vue.js) vue是前端JavaScript框架,对JavaScript进行封装,是一套用于构建用户界面的渐进式框架.vue的核心只关注图示层,不仅易上手,还便于与第三方库或既有的项目整合. vue.js和Angular.js,React.js一起,并称为前端三大主流框架 注意: 在此初步学习的是vue…...

分布式系统核心技术全解析

目录 分布式系统的本质 分布式系统的核心特点 分布式系统的典型应用场景 分布式系统的挑战 CAP理论 一、CAP 三要素定义 1. 一致性&#xff08;Consistency&#xff09; 2. 可用性&#xff08;Availability&#xff09; 3. 分区容错性&#xff08;Partition Tolerance…...

skywalking 10.2 源码编译

1.源码下载 Downloads | Apache SkyWalking 选择 SkyWalking APM 最新版下载&#xff0c; 下载后&#xff0c;在本地解压。 2.Idea加载工程 2.1 根目录pom文件删除checkstyle 插件 后续做二开时避免代码风格校验报错 2.2 删除apm-webapp 工程中 frontend-maven-plugin插件…...

C++ --- string

C --- string 简介1、构造函数2、迭代器&#xff08;主流的遍历方式&#xff09;2.1字符串经典遍历和修改的方式2.2使用迭代器遍历和修改字符串2.3使用范围for遍历对象&#xff08;C11支持的新特性&#xff09; 3、常见&#xff0c;常用方法或重载3.1查询大小和容量管理3.2增3.…...

Android Studio 连接夜神模拟器 自动断开的问题

版本情况&#xff1a; Android Studio Meerkat Feature Drop | 2024.3.2 Build #AI-243.25659.59.2432.13423653, built on April 30, 2025 Runtime version: 21.0.6-13368085-b895.109 amd64夜神模拟器 V7.0.5.9046 问题描述&#xff1a; cmd命令行使用adb连接夜神模拟器成…...

Python入门手册:Python中的数据结构类型

在Python中&#xff0c;数据结构是组织和存储数据的方式&#xff0c;它们允许你以高效的方式操作和处理数据。Python提供了几种内置的数据结构&#xff0c;包括列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、集合&#xff08;Set&#xff09;和字典&a…...

《P3435 [POI 2006] OKR-Periods of Words》

题目描述 一个字符串是由有限个小写英文字母组成的序列。特别地&#xff0c;它可以是一个空序列&#xff0c;即由 0 个字母组成的序列。我们用 ABC 表示字符串 A 是通过连接字符串 B 和 C&#xff08;按此顺序&#xff09;得到的&#xff08;即一个接一个地写在一起&#xff0…...

C/C++---隐式显式转换

1. 隐式转换&#xff08;Implicit Conversion&#xff09; 隐式转换是编译器主动进行的类型转换&#xff0c;无需程序员额外编写代码。这种转换一般发生在赋值、函数调用、表达式计算等场景中。 1.1 隐式转换的常见场景 数值类型转换&#xff1a;从较小的类型转换为较大的类…...

巡礼中国西极·跨越昆仑天山 | 北斗卫星徽章护航昆仑科考

神秘深邃&#xff0c;遗世独立。帕米尔高原&#xff0c;横亘于中亚东南部&#xff0c;我国的最西端&#xff0c;面积约10万平方千米&#xff0c;平均海拔4500米以上&#xff0c;古代丝绸之路在此经过。昆盖山&#xff0c;一座掩藏在帕米尔高原褶皱深处、鲜为人知的山脉&#xf…...

Vue常用自定义指令-积累的魅力【VUE】

前言 在【自定义指令—v2与v3之间的区别【VUE基础】一文中&#xff0c;整理了自定义指令部分vue2和vue3 两个版本的区别&#xff0c;有兴趣的伙伴或者针对自定义部分比较迷茫的伙伴可以跳转看一下。此次主要介绍一些自己积累的一些自定义指令的代码&#xff0c;与大家一起分享。…...

LangChain4j第三篇: RAG的简单应用与实践

引言:RAG 构建属于你的大模型 大语言模型(LLM)的知识体系本质上仅限于它所接受的训练数据。 其一在知识时效性方面,模型参数固化于训练完成的时点,而现实世界中的知识和信息持续动态更新。 其二在非公开数据层面,企业内部的机密文档(如产品设计图、商业策略等)及个人隐…...

机器学习第二十六讲:官方示例 → 跟着菜谱学做经典菜肴

机器学习第二十六讲&#xff1a;官方示例 → 跟着菜谱学做经典菜肴 资料取自《零基础学机器学习》。 查看总目录&#xff1a;学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章&#xff1a;DeepSeek R1本地与线上满血版部署&#xff1a;超详细手把手指南 以跟着菜谱学…...

功能强大且易于使用的 JavaScript 音频库howler.js 和AI里如何同时文字跟音频构思想法

howler.js 是一个功能强大且易于使用的 JavaScript 音频库&#xff0c;它提供了跨浏览器的音频播放功能&#xff0c;支持多种音频格式&#xff0c;并且具有丰富的 API&#xff0c;可以方便地控制音频的播放、暂停、循环、音量等。下面是如何在 Vue 项目中使用 howler.js 实现音…...

品鉴JS的魅力之防抖与节流【JS】

前言 小水一波&#xff0c;函数的防抖与节流。 文章目录 前言介绍实现方式防抖节流 介绍 防抖与节流的优化逻辑&#xff0c;在我们的日常开发中&#xff0c;有着一定的地位。 防抖和节流是两种常用的性能优化技术&#xff0c;用于限制某个函数在一定时间内被触发的次数,减少不…...

如何使用patch-package给npm包打补丁

一、背景 在移动应用开发中,轮播是一种很常见的效果,我们项目采用的是RN跨平台技术,RN的轮播我们直接使用的是第三方插件:react-native-snap-carousel。不过,当我们在项目中使用的时候却发现Android和iOS的表现不一致:https://stackoverflow.com/questions/60711611/rea…...

maxkey单点登录系统

github地址 https://github.com/MaxKeyTop/MaxKey/blob/master/README_zh.md 1、官方镜像 https://hub.docker.com/u/maxkeytop 2、MaxKey:Docker快速部署 参考地址&#xff1a; Docker部署 | MaxKey单点登录认证系统 拉取docker脚本MaxKey: Dromara &#x1f5dd;️MaxK…...

windows bat 在目录下(包括子目录)搜索批量指定文件名称复制到另一个文件夹内

windows bat 在目录下(包括子目录)搜索批量指定文件名称复制到另一个文件夹内 前言&#xff1a;最近遇到一个需求&#xff0c;我有15个文件夹(可能包含子文件夹) &#xff0c;目前我有一批文件名称&#xff0c;需要在这15个文件夹中查找出来&#xff0c;并拷贝到一个新的文件夹…...

Notepad++ 下载与安装教程(小白专属)

文章目录 Notepad下载渠道的专业选择1. 官方网站下载&#xff08;海外用户或网络条件优越者首选&#xff09;2. 国内优化下载地址&#xff08;国内用户高效选择&#xff09; Notepad精细化安装流程解析总结与后续建议 在当前的开发与文本处理工作中&#xff0c;Notepad无疑是一…...

Spring Cloud Gateway 微服务网关实战指南

上篇文章简单介绍了SpringCloud系列OpenFeign的基本用法以及Demo搭建&#xff08;Spring Cloud实战&#xff1a;OpenFeign远程调用与服务治理-CSDN博客&#xff09;&#xff0c;今天继续讲解下SpringCloud Gateway实战指南&#xff01;在分享之前继续回顾下本次SpringCloud的专…...

微服务架构实战:Eureka服务注册发现与Ribbon负载均衡详解

微服务架构实战&#xff1a;Eureka服务注册发现与Ribbon负载均衡详解 一 . 服务调用出现的问题二 . EureKa 的作用三 . 服务注册3.1 搭建 EureKaServer① 创建项目 , 引入 spring-cloud-starter-netflix-eureka-server 的依赖② 编写启动类 , 添加 EnableEurekaServer 注解③ 添…...

采用多维计算策略(分子动力学模拟+机器学习),显著提升 α-半乳糖苷酶热稳定性

字数 978&#xff0c;阅读大约需 5 分钟 在工业应用领域&#xff0c;α-半乳糖苷酶在食品加工、动物营养及医疗等方面发挥着重要作用。然而&#xff0c;微生物来源的该酶往往存在热稳定性不足的问题&#xff0c;限制了其在工业场景中的高效应用。近日&#xff0c;来自江南大学的…...

【java】小练习--零钱通

文章目录 前言一、项目开发流程说明二、功能实现2.1 菜单2.2 零钱通明细2.3 零钱通收益2.4 零钱通消费2.5 零钱通退出确认2.6 零钱通金额校验2.7 完整代码 三、零钱通OOP版 前言 本文是我跟着B站韩顺平老师的 Java 教程学习时动手实现“零钱通”项目的学习笔记&#xff0c;主要…...

旅游信息检索

旅游信息检索 旅游信息检索是系统中实现数据获取和处理的关键环节&#xff0c;负责根据用户输入的目的地城市和出游天数&#xff0c;动态获取并生成高质量的旅游数据。 模块的工作流程分为以下几个阶段&#xff1a;首先&#xff0c;对用户输入的信息进行标准化处理&#xff0…...

贝叶斯理论

一、贝叶斯理论的核心思想 贝叶斯理论&#xff08;Bayesian Theory&#xff09;是一种基于条件概率的统计推断方法&#xff0c;其核心是通过先验知识和新观测数据的结合&#xff0c;动态更新对事件发生概率的估计。它体现了“用数据修正信念”的思想&#xff0c;广泛应用于机器…...

Docker-mongodb

拉取 MongoDB 镜像: docker pull mongo 创建容器并设置用户&#xff1a; 要挂载本地数据目录&#xff0c;请替换此路径: /Users/Allen/Env/AllenDocker/mongodb/data/db docker run -d --name local-mongodb \-e MONGO_INITDB_ROOT_USERNAMEadmin \-e MONGO_INITDB_ROOT_PA…...

Gartner《Optimize GenAI Strategy for 4 Key ConsumerMindsets》学习心得

一、引言 在当今数字化营销浪潮中,生成式人工智能(GenAI)正以前所未有的速度重塑着市场格局。GenAI 既是一场充满机遇的变革,也是一场潜在风险的挑战。一方面,绝大多数 B2C 营销领导者对 GenAI 赋能营销抱有极高期待,他们看到了 GenAI 在提升时间与成本效率方面的巨大潜…...

[ARM][汇编] 02.ARM 汇编常用简单指令

目录 1.数据传输指令 MRS - Move from Status Register 指令用途 指令语法 代码示例 读取 CPSR 到通用寄存器 在异常处理程序中读取 SPSR 使用场景 MSR - Move to Status Register 指令语法 使用场景 示例代码 改变处理器模式为管理模式 设置条件标志位 异常处理…...

达梦数据库-学习-22-库级物理备份恢复(超详细版)

目录 一、环境信息 二、说点什么 三、概念 1、备份恢复 2、重做日志 3、归档日志 4、LSN 5、检查点 四、语法 1、BACKUP DATABASE 2、DMRMAN RESTORE DATABASE 3、DMRMAN RECOVER DATABASE 4、DMRMAN UPDATE DB_MAGIC 五、实验 1、开归档 &#xff08;1&#xf…...

python网络爬虫的基本使用

各位帅哥美女点点关注&#xff0c;有关注才有动力啊 网络爬虫 引言 我们平时都说Python爬虫&#xff0c;其实这里可能有个误解&#xff0c;爬虫并不是Python独有的&#xff0c;可以做爬虫的语言有很多例如&#xff1a;PHP、JAVA、C#、C、Python。 为什么Python的爬虫技术会…...

AI Agent开发第74课-解构AI伪需求的魔幻现实主义

开篇 🚀在之前的系列中我们狂炫了AI Agent的各种高端操作(向量数据库联动、多模态感知、动态工作流等…),仿佛每个程序员都能用LLM魔法点石成金✨。 但今天咱们要泼一盆透心凉的冷水——当企业把AI当成万能胶水强行粘合所有需求时,连电风扇都能被玩出量子纠缠的魔幻现实…...