Vue学习笔记(一)

news2024/11/25 11:01:52

Vue学习笔记

  • 1. 什么是Vue
  • 2. 安装Vue
    • 2.1 使用独立版本
    • 2.2 使用CDN方式
    • 2.3 使用NPM方式
  • 3.Vue语法
    • 3.1 el挂载点
    • 3.2 data数据对象
    • 3.3 V-text 设置标签内的内容
    • 3.4 V-html
    • 3.5 V-on
    • 3.6 计数器
    • 3.7 v-show
    • 3.8 V-if
    • 3.9 v-bind
    • 3.10 v-for
    • 3.11 V-model
  • 4.class与style绑定
  • 5.表单输入绑定
    • 5.1 单行文本输入框
    • 5.2 多行文本输入框
    • 5.3 复选框
    • 5.4 单选按钮
    • 5.5 选择框
    • 5.6 值绑定

1. 什么是Vue

官网
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2. 安装Vue

Vue.js的安装有三种方式

  1. 使用独立版本
  2. 使用CDN的方式
  3. 使用NPM的方式

2.1 使用独立版本

  直接从Vue官网上下载Vue的JavaScript脚本文件,然后再页面中通过<script>引入。官网提供了两个不同的版本:开发版和生产版。
1.开发版本
  包含了完成的警告和调式模式,用于开发模式。
2.生产版本
删除了告警,进行了代码压缩,文件较小。
在这里插入图片描述

2.2 使用CDN方式

  CDN(Content Delivery NetWork)即内容分发网络。CDN是构建在现有网络基础上的智能虚拟网络,依靠在部署各地的边缘网络,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问的响应速度和命中率。
国内两个稳定的CDN

  1. Staticfile CDN
  2. BootCDN
    在这里插入图片描述
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

<!-- 生产环境版本,优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

<script src="https://unpkg.com/vue@next"></script>

2.3 使用NPM方式

NPM全称是Node Package Manager是一个Node.js包管理和分发工具,也是整个Node.js社区最流行,支持第三方模块最多的包管理器。

3.Vue语法

Hello World

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue 基础</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
    {{ message }}
</div>

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

</body>
</html>

3.1 el挂载点

  1. id的选择器是 el:"# "
  2. class的选择器是 “.app” 如:
<div class="c">
    {{ message }}
</div>

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

结果: Hello Vue
  1. 的挂载点是 el:"div"
  2. 挂载点不要在body 或者 html 标签中
    在这里插入图片描述

3.2 data数据对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue 急促</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

</head>
<body>
    <div id="app">
        {{ message }}
        <h2>{{address.name}} {{address.telephone}}</h2>
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                message: "Hello Lixiang!",
                address: {
                    name: "北京",
                    telephone: "110"
                },
                part: ["企业系统", "研发四部", "研发二组"]
            }
        })
    </script>

</body>
</html>

3.3 V-text 设置标签内的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <h2 v-text="message">厉害了</h2>  //标签里面的内容被覆盖
        <h2 v-text="info"> 厉害了</h2>    //标签里面的内容被覆盖
        <h2>{{message}} 最棒</h2>         //不会把最棒替代掉
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                message: "北京理想汽车",
                info: "最好的新能源汽车"
            }
        })
    </script>

</body>
</html>

3.4 V-html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
        <div id="app">
            <p v-html="content"></p>
        </div>

        <script>
            //创建Vue实例
            var app = new Vue({
                el:"#app",
                data:{
                    content:"<a href='https://www.baidu.com'>百度</a>"
                }
            })
        </script>

</body>
</html>

3.5 V-on

v-on的指令作用是为元素绑定事件,事件名不需要写on指令可以简写为@,绑定的方法定义在methods属性中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
<!--        <input type="button" value="V-on指令" v-on:click="doit" >-->
        <input type="button" value="V-on指令" @click="doit" >
<!--        <input type="button" value="事件绑定" v-on:monseenter="dolt">-->

        <!-- <input type="button" value="事件绑定" v-on:dblclick="dolt">  
         与下面是等价的 双击事件 -->
        <input type="button" value="事件绑定" @dblclick="doit">

        <h2 @click="changedFood">{{ food }}</h2>
    </div>

    <script>
        // 创建示例
        var app = new Vue({
            el:"#app",
            data:{
                food:"西兰花炒鸡蛋"
            },
            methods:{
                doit:function(){
                    alert("做IT")
            },
            changedFood:function (){
                   // console.log(this.food)
                this.food += "好好吃!";
            }
          }
       });
    </script>
</body>
</html>

3.6 计数器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<!-- html结构 -->
<div id="app">
    <!-- 计算器功能区域 -->
    <div class="input-num">
        <button @click="sub">
            -
        </button>
        <span>{{ num }}</span>
        <button @click="add">
            +
        </button>
    </div>
</div>
<script>
    //创建Vue实例
    var app = new Vue({
        el: "#app",
        data: {
            num: 1
        },
        methods:{
            add:function () {
               this.num++;
               if(this.num<10){
                   console.log('add');
               }else {
                   alert("别点了,最大了!")
               }
            },
            sub:function () {
                console.log('sub');
                if(this.num>0){
                    this.num--;
                }else {
                    alert("别点了,最小了!")
                }

            }
        }
    })
</script>

</body>
</html>

其中,创建Vue时,el(挂载点),data(数据),methods(方法)
v-on指令的作用是绑定事件,简写为@
方法中通过this关键字获取data中的数据
v-text指令的作用是,设置元素的文本值,简写为{{}}

3.7 v-show

根据表达式的真假,切换元素的显示和隐藏,原理是修改元素的display,实现显示隐藏,指令后面的内容最终都会被解析为布尔值,true显示,false隐藏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <input type="button" value="切换显示状态" @click="changeIsShow">
        <img v-show="isShow" src="https://inews.gtimg.com/newsapp_bt/0/15137112504/1000" alt="">
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                isShow : false
            },
            methods:{
                changeIsShow:function(){
                    this.isShow = !this.isShow;
                }
            }
        })
    </script>

</body>
</html>

3.8 V-if

根据表达式的真假,切换元素的显示和隐藏(操纵Dom元素)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>

    <div id="app">
        <input type="button" value="切换显示" @click="toggleIsShow">
        <p v-if="isShow">这是一个p标签</p>
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                isShow:false
            },
            methods :{
                toggleIsShow:function (){
                    this.isShow = !this.isShow;
                }
            }

        })
    </script>

</body>
</html>

3.9 v-bind

v-bind指令的作用是为元素绑定属性,完整写法是v-bind:属性名,简写的话可以省略v-bind,只保留 :属性名

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>v-bind指令</title>

    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>

<body>
        <div id="app">
            <img v-bind:src="imgSrc" alt="">
            <!-- 可以省略v-bind 直接使用:src -->
            <img :src="imgSrc" alt="">
            <img v-bind:title="imgTitle + '!!!!!!' " alt="">
        </div>

        <script>
            //创建Vue实例
            var app = new Vue({
                el:"#app",
                data:{
                    imgSrc:"https://inews.gtimg.com/newsapp_bt/0/15137112504/1000",
                    imgTitle:"哈哈哈哈哈哈"
                }
            })
        </script>
</body>

</html>

在这里插入图片描述

3.10 v-for

v-for指定的作用是:根据数据生成列表结构
数组经常和v-for结合使用,语法是(item,index) in 数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <ul>
            <!--  item是里面的内容  Index是数据里面个数0 1 2 3 4 5-->
            <li v-for="(item,index) in arr">{{ item }}:{{index}}</li>
        </ul>
        <h2 v-for="item in vegetables" :title="item.name" >{{ item.name }}</h2>
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                arr:["大豆","小麦",3,4,5],
                vegetables:[
                    {name:"蛋炒饭"},
                    {name:"好吃"}
                ]
            },

        })
    </script>
</body>
</html>

3.11 V-model

获取和设置表单元素的值(双向数据绑定),更改任何一边都会同步更改

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <intput type="button" value="修改message" @click="setM">
        <input type="text" v-model="message" @keyup.enter="getM">
        <h2>{{ message }}</h2>
    </div>

<script>
    var app = new Vue({
        el: "#app",
        data: {
            message: "哈哈哈哈哈哈哈"
        },
        methods:{
            getM:function () {
                alert(this.message);
            },
            setM:function () {
                this.message = "酷丁鱼";
            }
        },
    })
</script>
</body>
</html>

4.class与style绑定

HTML元素有两个设置样式的属性:class和style

  1. <style> 标签定义 HTML 文档的样式信息。
    <style> 元素中,您可以规定在浏览器中如何呈现 HTML 文档。
    每个 HTML 文档能包含多个 <style> 标签。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title></title>
<style type="text/css">
    h1 {color:red;}
    p {color:blue;}
</style>
</head>

<body>
    <h1>这是一个标题</h1>
    <p>这是一个段落。</p>
</body>

</html>
  1. class 属性定义了元素的类名。
    class 属性通常用于指向样式表的类。但是,它也可以用于 JavaScript 中(通过 HTML DOM), 来修改 HTML 元素的类名。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title></title>
    <style>
        h1.intro 
                {
                        color:blue;
                }
                p.important 
                {
                        color:green;
        }
    </style>
    </head>
<body>

    <h1 class="intro">标题 1</h1>
    <p>段落。</p>
    <p class="important">注意:这是一个很重要的段落</p>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <style>
        div.active{
            width:100px;
            height:100px;
            background:red ;
        }
    </style>
    <div id="app">
        <div v-bind:class="{ active:isActive }"></div>
    </div>
    
<script>
    var app = new Vue({
        el: "#app",
        data: {
            isActive:true
        }
    })
</script>

</body>
</html>

5.表单输入绑定

5.1 单行文本输入框

在input元素中,使用value属性设置了一个初始值"Hello Vue.js",用v-model指令绑定一个表达式message,对应的数据属性是message
在这里插入图片描述
页面的显示效果
在这里插入图片描述
V-model提供了一个trim修饰符,可以帮我们自动过滤数据收尾的空白字符
<input type="text" v-model.trim="message" value="Hello Vue.js">

5.2 多行文本输入框

在这里插入图片描述

5.3 复选框

复选框在单独使用和多个复选框一起使用时,v-model绑定的值会有所不同,对于前者,绑定的是布尔值,选中则值为true,未选中则为false;后者绑定的是同一个数组,选中的复选框的值将被保存到数组中。

5.4 单选按钮

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <input id="male" type="radio" value="1" v-model="gender">
        <label for="male"></label>
        <br>
        <input id="female" type="radio" value="0" v-model="gender">
        <label for="female"></label>
        <br>
        <span>性别:{{ gender }}</span>
    </div>

    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                gender: ''
            }
        });
    </script>
</body>
</html>

5.5 选择框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <h3>单选选择框</h3>
        <select v-model="education">
            <option disabled value="">请选择您的学历</option>
            <option>高中</option>
            <option>本科</option>
            <option>硕士</option>
            <option>博士</option>
        </select>
        <p> 您的学历是 :{{ education }} </p>
        <h3>多选选择框</h3>
        <select v-model="searches" multiple>
            <option v-for="option in options" v-bind:value="option.value">
                {{ option.text }}
            </option>
        </select>
        <p> 您选择的搜索引擎是 :{{searches}} </p>
    </div>
    <script>
        var vm = new Vue({
            el:"#app",
            data:{
                education:'',
                searches:[],
                options:[
                    {text:'百度', value:'baidu.com'},
                    {text:'谷歌', value:'google.com'},
                    {text:'必应', value:'bing.com'}
                ]
            }
        });
    </script>
</body>
</html>

其中disabled标签属性
在这里插入图片描述

5.6 值绑定

v-model针对不同的表单控件,绑定的值都有默认的约定,在单个复选框中,绑定的是布尔值,多个复选框中绑定的是一个数组,选中的复选框value属性的值被保存到数组中。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <input id="agreement" type="checkbox" v-model="isAgree"
        true-value="yes"
        false-value="no">
        <label for="agreement">{{isAgree}}</label>
    </div>

    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                isAgree:false
            }
        });
    </script>

</body>
</html>

// TODO

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

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

相关文章

【vue2】基础概念 01 (vue框架介绍、el、data、插值表达式)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue框架介绍、结构元素详解&#xff08;el、data、插值表达式&#xff09; 目录&#xf…

《我是个怪圈》读书笔记

文章目录书籍信息论灵魂及其尺寸摇曳在恐惧与梦想之间的那只电灯泡&#xff08;取自拉塞尔埃德森的诗&#xff09;模式的因果潜力关于自我与符号副现象模式与可证性哥德尔的典型怪圈奇迹般步调划一的同步在公式与大整数之间翻转很大的整数与公式步调一致的移动质雅数怪圈论向下…

vue实现文件预览功能

目录 一、使用插件预览 1.前端实现在线预览文档 通过联机查看 Office 文档 打开新窗口预览文件 当前页面预览文件 注意事项 在创建好url之后&#xff0c;可能会出现无法打开文档的情况&#xff0c;这时候就需要对照官网的解释来查找问题了&#xff0c;官方文档的解释如下…

k线图入门精讲

K线图是贵金属技术分析的基础手段&#xff0c;刚入门的投资者应认真学习和理解k线的基础知识&#xff0c;因为有了认识才能分析。然而&#xff0c;多数上班族精力有限&#xff0c;无法耗费大量精力学习&#xff0c;今天小编就为准备了K线入门的“精读班”。 一、K线的作用 K线图…

【node.js】fs\path\http模块的使用 02

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;Node.js的fs\path\http模块的使用&#xff0c;模块化开发概念 目录 一、node.js概念与作…

Java程序员你自己的菜鸟气质霸气侧漏了吗?

对于刚入行的程序员来说&#xff0c;面对各种各样的陌生配置环境和代码库&#xff0c;难免会手忙脚乱&#xff0c;尽显菜鸟本色。 但从啥都需要教的菜鸟到啥都懂的大神程序员&#xff0c;并不简单&#xff0c;这需要牺牲一根又一根宝贵的头发&#xff0c;直到它们肉眼可数。 …

线上服务器CPU占用过高?7步带你搞定

一. 前言在Java开发岗位的面试中&#xff0c;时不时会出现一些运维类的题目&#xff0c;其实这也反映了后端面试的一种趋势。现在企业对后端开发的要求越来越全面&#xff0c;不仅要求我们会写代码&#xff0c;还要我们能够进行部署和运维。今天壹哥就结合一个真实的项目案例&a…

【Linux】Linux权限

权限的概念 限制人的&#xff0c;访问的对象天然可能没有这种“属性”权限&#xff1a;一件事情是否允许被谁“做”。 权限 人 事物属性 Linux上的用户分类 root&#xff0c;超级管理员&#xff0c;几乎可以干任何事情&#xff08;1个&#xff09;普通用户&#xff08;多个&a…

雷电飞机大战游戏|基于Java开发实现雷电飞机大战游戏

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

【前端】Vue项目:旅游App-(8)city:标签页Tabs动态数据:网络请求axios与request、数据管理store与pinia、各种封装

文章目录目标过程与代码安装相关库封装网络请求相关代码网络请求数据网络请求数据操作封装pinia管理数据并封装tab栏改为动态数据效果本篇总结总代码修改或新建的文件serviceindexmodules的cityrequest的configrequest的indexstoremodules的citymodules的loadingcity.vue参考目…

录屏没有声音怎么办?录屏怎么录声音

相信部分朋友在录制视频时&#xff0c;有出现录制视频没有声音&#xff0c;导致该段视频没有声音而无法播放。录屏怎么录声音&#xff1f;可以使用支持录制声音的专业的电脑录屏软件。今天小编就在这给大家分享在录制视频同时&#xff0c;将声音也录制进去的操作步骤。一、录屏…

【Linux】主函数的三个形参

主函数的形参有三个&#xff1a;argc参数个数&#xff0c;argv参数内容&#xff0c;envp环境变量。其中argc是整型&#xff0c;argv和envp是指针数组&#xff08;存的字符串&#xff09; argv源于我们自己在使用执行命令时传的内容&#xff0c;envp源于程序的父进程&#xff08…

力扣sql入门篇(十)

力扣sql入门篇(十) 1 查找重复的电子邮箱 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT Email FROM Person GROUP BY Email HAVING count(id)>21.3 运行截图 2 合作过至少三次的演员和导演 2.1 题目内容 2.1.1 基本题目信息 2.1.2 示例…

Java并发编程(六)ExecutorService

ExecutorService invokeAny() he invokeAll() 具有阻塞特性 invokeAny invokeAny 的作用是取得第一个完成任务的结果的值。 如果线程中增加 if (!Thread.currentThread().isInterrupted()) 判断&#xff0c;则会中断这些线程。 其他线程如果抛出 InterruptedException() 异常&a…

从徘徊迷茫到行业精英,社科院与杜兰大学金融管理硕士改变你的人生轨迹

在以“内卷”为主基调的职场环境里&#xff0c;似乎不停地进阶已经成为了职场人的唯一出路。但是&#xff0c;如何在进阶路上冲破职业瓶颈&#xff0c;到达心之所往的理想位置&#xff0c;则没有一个标准的答案。有的职场人士通过考取不同的技能证书来增加自身优势&#xff0c;…

Java Agent 踩坑之 appendToSystemClassLoaderSearch 问题

作者&#xff1a;卜比 本文是《容器中的 Java》系列文章之 2/n&#xff0c;欢迎关注后续连载 &#x1f603; 。 从 Java Agent 报错开始&#xff0c;到 JVM 原理&#xff0c;到 glibc 线程安全&#xff0c;再到 pthread tls&#xff0c;逐步探究 Java Agent 诡异报错。 背景 …

数据分析,你还在单纯地看数据?

企业的数字化意识越来越强&#xff0c;工作中也开始使用各种业务系统来管理业务&#xff0c;管理数据。很多人以为上了业务系统&#xff0c;对数据进行统计了&#xff0c;就是数据分析&#xff0c;这是大错特错的观点&#xff0c;数据分析是通过数据来剖析企业经营管理和业务发…

Using chatbots to scaffold EFL students argumentative writing (论文翻译)

使用聊天机器人来指导学生的议论文写作摘要研究表明&#xff0c;英语作为外语的学生的议论文写作受益于与同龄人的互动。然而&#xff0c;在实践中找到一个理想的对象很困难&#xff0c;聊天机器人被认为是这个问题的潜在解决方案。聊天机器人是人工智能的一种形式&#xff0c;…

Studio One6最新更新教程及安装包下载

Studio One6拥有多达50款原生效果插件&#xff0c;例如Analog Delay延迟插件&#xff0c;除能制作延迟效果外&#xff0c;还提供了制作复古的镶边与和声效果。Rotor插件制作的经典旋转扬声器效果也是非常不错的。这些插件&#xff0c;无论是在用户界面&#xff0c;还是使用体验…

http-serve开启一个服务器

前言在写前端页面中&#xff0c;经常会在浏览器运行HTML页面&#xff0c;从本地文件夹中直接打开的一般都是file协议&#xff0c;当代码中存在http或https的链接时&#xff0c;HTML页面就无法正常打开&#xff0c;为了解决这种情况&#xff0c;需要在在本地开启一个本地的服务器…