一看就会的React入门

news2024/9/21 12:39:41

目录

简介

入门案例

直接创建

 函数式创建

类实例创建 

 组件实例三大核心属性

state

代码演示 

props

refs


简介

1). Facebook开源的一个js库
2). 一个用来动态构建用户界面的js库
3). React的特点
    Declarative(声明式编码)
    Component-Based(组件化编码)
    Learn Once, Write Anywhere(支持客户端与服务器渲染)
    高效
    单向数据流
4). React高效的原因
    虚拟(virtual)DOM, 不总是直接操作DOM(批量更新, 减少更新的次数) 
    高效的DOM Diff算法, 最小化页面重绘(减小页面更新的区域)

入门案例

直接创建

首选引入旧版所需js文件

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">

    /**
     * jsx语法:
     *    1 定义虚拟dom时 不要加引号 
     *    2 标签中混入js表达式时要用{}
     *    3 样式的类名不要用class 要用className
     *    4 内联样式 要用style={{key:name}}形式写
     *    5 只有一个根标签
     *    6 标签必须闭合
     *    7 标签首字母
     *      (1) 若小写字母开头 则将该标签转为html同名元素 若html中无该标签
     *          对应的同名元素 则报错
     *      (2) 若大写字母开头 react就去渲染对应的组件 若组件没有定义 则报错
     * 
     * 
    */   

    const data = ['Vue','React','Angular']
    //创建虚拟dom
    const vdom = (
      <div>
            <h1 >hello react</h1>
            <ul>{
                data.map((item,index)=>{
                    return <li key={index}>{item}</li>
                })   
            }
                 
            </ul>    
        </div>
    )
    //渲染 虚拟 dom到页面
    ReactDOM.render(vdom,document.getElementById('test')) 



</script>

</html>

</html>

所需js文件点击链接下载 

点击下载 react资料

提取码:cowf

打开浏览器测试:

 函数式创建

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //函数式创建虚拟dom
    function MyCompent(){
        return <h1> 这是一个函数组件化Dom</h1>
    }
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 
   /*
    执行流程
      1 react解析组件标签 找到了MyCompemt组件
      2 发现组件是使用函数定义的 随后调用该函数 将返回的虚拟dom转为真实dom 随后呈现在页面中 
   */


</script>

</html>

类实例创建 

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{
        render(){
            console.log(this)
            return <h1> 这是一个类定义的组件(适用于复杂组件的定义)</h1>
        }
       
    }
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 
   /*
    执行流程
      1 react解析组件标签 找到了MyCompemt组件
      2 发现组件是使用类定义的  随后new出该类的实例 并通过该实例调用到原型上的render方法
      3 将render返回的虚拟dom转化为真实dom 随后呈现在页面中
   */


</script>

</html>

 组件实例三大核心属性

state

 (1) state是组件对象最重要的属性 值是对象类型(可以包含多个 key:value的组合)

 (2) 组件也被称为"状态机" 通过更新组件的state来更新对应的页面显示(重新渲染组件)

  严格注意

  (1) 组件中render方法中的this为组件实例对象

  (2) 组件自定义的方法中 this指向为undefined 解决办法:

        强制绑定this :通过函数对象的bind()

        箭头函数 ()=>{}

  (3) 状态数据 不能直接修改或更新 要使用 setState({key:value})来进行修改

代码演示 

完整类版本(只做演示学习用)

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{
        //构造器只调用1次
        constructor(props){
               super(props)
               this.state = {sunny:true}
               //解决changeWeather中this的指向问题
               this.changeWeather = this.changeWeather.bind(this)
        }
        //render调用 n+1次  1是初始化就调用了一次  n是状态更新的次数
        render(){
            //打印实例对象
            console.log('打印实例对象');
            console.log(this)
            return <h1 onClick={this.changeWeather}>今天是{this.state.sunny ? '晴天':'阴天'}</h1>
        }
        //点击几次调用几次
        changeWeather(){
            //这里的changeWeather放在哪里? MyComponet原型对象上 供实例来使用
            //由于 changeWeather是作为 onClick的回调 所以不是通过实例调用的 是直接调用
            //类中的方法默认开启的了局部的严格模式 所以changeWeather中的this为undefined
            //注意 : 状态必须通过setState 来进行更新
            this.setState({sunny:!this.state.sunny})
        }
       
    }
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 


</script>

</html>

 当我们点击页面中的文字时,更改当前实例的state属性为false,则文字变为阴天

 

代码简化版本(开发主要用版本)

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{
        state = {sunny:true}
        //render调用 n+1次  1是初始化就调用了一次  n是状态更新的次数
        render(){
            console.log(this)
            return <h1 onClick={this.changeWeather}>今天是{this.state.sunny ? '晴天':'阴天'}</h1>
        }
        //自定义方法  要用复制语句的形式+箭头函数
        changeWeather = ()=>{
            this.setState({sunny:!this.state.sunny})
        }
       
    }
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 


</script>

</html>

 效果和完整类版本一致

props

每个组件对象都会有props(properties简写) 属性

组件标签的所有属性都保存在props中

通过标签属性从组件外向组件内传递变化的数据

注意: 组件内部不可修改props数据

再引入一个js文件

 类组件式props

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>
<!-- 引入 prop-types 用于对标签属性进行类型 必要性限制 -->
<script src="../js/prop-types.js"></script>

<body>
    <div id="test"></div>
    <div id="test2"></div>
    <div id="test3"></div>
    

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    // //类式创建虚拟dom
    class UltMan extends React.Component{
        //对标签属性进行类型 必要性的限制
        static propTypes = {
            name:PropTypes.string.isRequired,//限制name必传 类型为字符串
            sex:PropTypes.string,//设置性别为字符串
            age:PropTypes.number,//设置age为数字
            speak:PropTypes.func,//限制speak为函数
        }
        //设置标签属性默认值
        static defaultProps = {
            sex:'人妖',//sex默认值为人妖
            age:0
        }

        render(){
            const {name,age,sex} = this.props;
            console.log(this)
            return (
                <ul>
                    <li>名字:{name}</li>
                    <li>性别:{sex}</li>
                    <li>年龄:{age+1}</li>
                </ul>
            )
        }
       
    }
    //渲染 组件到页面
    ReactDOM.render(<UltMan name='迪迦' sex='男' age={23}/>,document.getElementById('test')) 
    ReactDOM.render(<UltMan name='戴拿' />,document.getElementById('test2')) 
    const {name,sex,age} = {name:'盖亚',sex:'男', age:21}
    ReactDOM.render(<UltMan name={name} sex={sex} age={age} speak={fangfa}/>,document.getElementById('test3')) 
    function fangfa(){}
</script>

</html>

 函数组件式引用

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>
<!-- 引入 prop-types 用于对标签属性进行类型 必要性限制 -->
<script src="../js/prop-types.js"></script>

<body>
    <div id="test"></div>
    <div id="test2"></div>
    <div id="test3"></div>
    

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //函数式
    function UltMan(props){
        const {name,age,sex} = {...props}
        return (
            <div>
                <h1>函数式组件使用props</h1>
                <ul>
                    <li>名字:{name}</li>
                    <li>性别:{sex}</li>
                    <li>年龄:{age+1}</li>
                </ul>
            </div>
              
            )
    }
    UltMan.propTypes = {
            name:PropTypes.string.isRequired,//限制name必传 类型为字符串
            sex:PropTypes.string,//设置性别为字符串
            age:PropTypes.number,//设置age为数字
            speak:PropTypes.func,//限制speak为函数
        }
    //设置标签属性默认值
    UltMan.defaultProps = {
        sex:'人妖',//sex默认值为人妖
        age:0
    }
    //渲染 组件到页面
    ReactDOM.render(<UltMan sex='男' age={23}/>,document.getElementById('test')) 
    ReactDOM.render(<UltMan name='梦比优斯' />,document.getElementById('test2')) 
    const {name,sex,age} = {name:'麦克斯',sex:'男', age:21}
    ReactDOM.render(<UltMan name={name} sex={sex} age={age} speak={fangfa}/>,document.getElementById('test3')) 
    function fangfa(){}
</script>

</html>

refs

介绍

 组件内的标签可以自定义ref属性来标识自己 通俗地讲就是拿取dom节点用的

演示

字符串refs

在标签上添加ref属性,然后打印当前this查看

 

可以看到可以通过refs属性拿取到dom节点

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{
        //展示上边输入框数据
        showData = ()=>{
            console.log(this)
            const input1 = this.refs.input1
            console.log(input1.value)
        }
        //展示下边输入框数据
        showData2 =()=>{
            //解构赋值写法
            const {input2} = this.refs
            alert(input2.value)
        }
        
        render(){
            return (
                <div>
                   <input ref='input1' placeholder='点击按钮弹出数据'/><br/>
                   <button onClick={this.showData}>点击提示上边的数据</button><br/>
                   <input onBlur={this.showData2} ref='input2' placeholder='失去焦点弹出数据'/>   
                </div>
            )
       
    }
}
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 

</script>

</html>

 

 

这是旧版的string写法 官网已经不建议使用这种写法

 回调refs

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{
        //展示上边输入框数据
        showData = ()=>{
            console.log(this)
            const input1 = this.input1
            console.log(input1.value)
        }
        //展示下边输入框数据
        showData2 =()=>{
            //解构赋值写法
            const {input2} = this
            alert(input2.value)
        }
        
        render(){
            return (
                <div>
                   <input ref={(currentNode)=>{this.input1 = currentNode}} placeholder='点击按钮弹出数据'/><br/>
                   <button onClick={this.showData}>点击提示上边的数据</button><br/>
                   <input onBlur={this.showData2} ref={c=>this.input2 = c} placeholder='失去焦点弹出数据'/>   
                </div>
            )
       
    }
}
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 

</script>

</html>

测试观察

注意此时的input节点并没有被refs所包裹,而是直接绑定在了reat实例对象上

测试效果和字符串refs都一致

关于回调refs的说明
如果ref回调函数是以内联函数的方式定义的,在更新过程中它会被执行两次,第一次传入参数null,然后第二次会传入参数DOM元素。这是因为在每次渲染时会创建一个新的函数实例,所以React清空旧的ref并且设置新的。通过将ref的回调函数定义成class的绑定函数的方式可以避免上述问题,但是大多数情况下它是无关紧要的。

问题演示:

添加之前切换天气的标签

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{
        //设置state属性
        state = {sunny:true}
        //展示上边输入框数据
        showData = ()=>{
            console.log(this)
            const input1 = this.input1
            console.log(input1.value)
        }
        //展示下边输入框数据
        showData2 =()=>{
            //解构赋值写法
            const {input2} = this
            alert(input2.value)
        }
        changeWeather=()=>{
            //更新状态
            this.setState({sunny:!this.state.sunny})
        }
        
        render(){
            const isSunny = this.state.sunny;
            return (
                <div>
                   <h1>今天是{isSunny? '晴天':'阴天'}</h1>
                   <input ref={(currentNode)=>{this.input1 = currentNode;console.log('@',currentNode)}} placeholder='点击按钮弹出数据'/><br/>
                   <button onClick={this.showData}>点击提示上边的数据</button><br/>
                   <input onBlur={this.showData2} ref={c=>this.input2 = c} placeholder='失去焦点弹出数据'/>   
                   <button onClick={this.changeWeather}>点击切换天气</button><br/>
                </div>
            )
       
    }
}
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 

</script>

</html>


 启动测试:

 

可以看到刚启动时会执行一次input的内联回调函数

此时,我们再点击切换天气按钮

可以看到,回调函数被执行了两次,且第一次执行为null 

这是因为在每次渲染时会创建一个新的函数实例,所以React清空旧的ref并且设置新的。(官网原话)

此时可以通过外联函数解决这个问题

 

再次测试

 

此时再点击切换天气就没有之前的问题了 

 但是大多数情况下它是无关紧要的。所以我们还是可以直接用内联函数的形式直接开发即可

最新方式 createRef()

 可以看到直接打印出了input的节点

 

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 引入react核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入react-dom 用于支持react操作dom -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel 用于将jsx转为js -->
<script src="../js/babel.min.js"></script>

<body>
    <div id="test">

    </div>

</body>
<!-- 这里一定要指明是babel类型 -->
<script type="text/babel">
    //类式创建虚拟dom
    class MyCompent extends React.Component{

        //Reat.createRef 调用后可以返回一个容器 该容器可以存储被ref所标识的节点
        myRef = React.createRef();
        myRef2 = React.createRef();
        //展示上边输入框数据
        showData = ()=>{
            console.log(this.myRef)
            console.log(this.myRef.current.value)
        }
        //展示下边输入框数据
        showData2 =()=>{
            alert(this.myRef2.current.value)
        }
        render(){
            return (
                <div>
                <input ref={this.myRef} placeholder='点击按钮弹出数据'/>
                   <button onClick={this.showData}>点击提示上边的数据</button><br/>
                   <input onBlur={this.showData2} ref={this.myRef2} placeholder='失去焦点弹出数据'/>   
                 
                </div>
            )
       
    }
}
    //渲染 组件到页面
    ReactDOM.render(<MyCompent/>,document.getElementById('test')) 

</script>

</html>

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

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

相关文章

生物医学神经网络的方向感

文章目录 A Sense of Direction in Biomedical Neural Networks摘要本文方法Rotation Mechanism 实验结果 A Sense of Direction in Biomedical Neural Networks 摘要 本文描述了一种使模型不仅知道强度&#xff0c;还知道特征方向和尺度等特性的方法。当分析包含诸如血管或纤…

PID单环控制(位置环)

今天我们来聊一聊pid如果控制轮子转动位置 前期准备调试过程 前期准备 需要准备的几个条件&#xff1a; 1.获取实时编码器的计数值 2.写好pid控制算法的函数 3.设定好时间多久执行一次pid计算&#xff0c;并设置限幅输出。 4.多久执行一次pid输出 接下来我们看看这几个部分的…

Vue(ajax、插槽)

一、ajax请求 1. 实现ajax请求方式&#xff1a; xhr&#xff1a;原生 jquery封装xhr axios&#xff1a;属于promise fetch 2. axios实现步骤&#xff1a; 1.首先安装axios //安装 npm i axios 2. 在本地准备两个服务端 //student const express require(express) const a…

一级缓存和二级缓存问题

介绍 MyBatis 中的缓存&#xff0c;主要分为一级缓存和二级缓存。 一级缓存是 SqlSession 级别的缓存&#xff0c;也叫本地缓存。当执行一个 SqlSession 的查询时&#xff0c;查询到的结果会被保存在 SqlSession 的缓存中。同一个 SqlSession 内执行相同的 SQL 语句&#xff…

C语言CRC-16 CCITT-FALSE格式校验函数

C语言CRC-16 CCITT-FALSE格式校验函数 CRC-16校验产生2个字节长度的数据校验码&#xff0c;通过计算得到的校验码和获得的校验码比较&#xff0c;用于验证获得的数据的正确性。基本的CRC-16校验算法实现&#xff0c;参考&#xff1a; C语言标准CRC-16校验函数。 不同应用规范…

【MySQL】浅谈事务

哈喽&#xff0c;大家好~我是你们的老朋友&#xff1a;保护小周ღ 谈起 “事务”&#xff0c;可能大家都会在心中出现一个大大的 &#xff1f;&#xff0c;博主的理解——事务就是解决 MySql数据库在应对多线程环境下针对同一存储空间的数据修改引起的数据安全问题的一种机制…

JMeter入门配置

目录 场景&#xff1a; 环境及工具 &#xff1a; JMeter中文配置&#xff1a; 配置登录接口&#xff1a; 配置响应结果&#xff1a; 配置json提取器 测试json提取器 配置Beanshell后置处理器&#xff1a; http请求右键-->添加---->后置处理器--->Beanshell后置处理…

pta(浙大第四版)五道经典练习题②

目录 ①、递归正序输出整数 ②、递归逆序整数并返回 ③、递归实现十进制转二进制 ④、英语单词排序&#xff08;​编辑&#xff09; ⑤、输出月份英文名 ①、递归正序输出整数 题述&#xff1a;给一个正整数n&#xff0c;请利用递归按顺序输出它的每位数&#xff0c;输出一…

【NovelAI 小说SD批量生成 文生图/视频克隆】环境配置和使用方法

【样品】《谜影之夜》文生图全自动版SD一键成片 操作步骤&环境配置地址&#xff1a; 【NovelAI】月产10000全自动批量原创小说短视频支持文生图和视频克隆 该文章面向购买脚本的付费用户&#xff0c;提供所有问题以及解决办法。使用 notepad 打开对应的文件即可&#xff0c…

深度学习部署(Pytorch+windows)

目录 NVIDA GPU驱动 NVIDA GPU驱动 查看电脑显卡类型&#xff08;电脑——属性——设备管理器——显示适配器&#xff09; 进入NVIDA官方网站&#xff08;官方驱动 | NVIDIA&#xff09;下载对应驱动&#xff0c; 接下来默认安装即可。 安装完成之后&#xff0c;查看自己的…

GitHub项目免费教你提示工程,全中文教学,小白也能懂

转载自 | 量子位 量子位 | 公众号 QbitAI 这个GitHub开源项目&#xff0c;打算手把手教你成为一名提示工程师。 理论与实例结合&#xff0c;浅显易懂&#xff0c;可以免费学习&#xff0c;关键还是中文&#xff01; 如果觉得GitHub界面看起来不方便&#xff0c;还可以到搭建…

文心领航走进大模型时代,从Q1财报看百度价值重估机遇

大模型风头不减&#xff0c;真正的“灵魂选手”在此刻交出了一季度成绩单&#xff0c;让市场看到了“AI巨头”的本色。 北京时间5月16日美股盘前&#xff0c;百度发布了2023Q1财报。财报显示&#xff0c;其营收和利润双双超市场预期&#xff0c;整体经营质量大幅度提高。在经济…

基于卷积的图像分类识别(四):GoogLeNet (V1~V4 Xception)

本专栏介绍基于深度学习进行图像识别的经典和前沿模型&#xff0c;将持续更新&#xff0c;包括不仅限于&#xff1a;AlexNet&#xff0c; ZFNet&#xff0c;VGG&#xff0c;GoogLeNet&#xff0c;ResNet&#xff0c;DenseNet&#xff0c;SENet&#xff0c;MobileNet&#xff0c…

JavaWeb学习-MyBatis-入门

JavaWeb学习-MyBatis-入门 快速入门准备工作配置Mybatis(数据库连接)编写程序mappertest 配置SQL提示JDBC介绍概述案例 数据库连接池概述连接池切换Druid连接池 lombok工具介绍maven坐标案例 来源 快速入门 准备工作 创建SpringBoot工程 数据库表usercreate table user (id …

flume 进阶 自定义source(十)

需求 每隔五秒输出5次数据 pom文件 <dependencies><dependency><groupId>org.apache.flume</groupId><artifactId>flume-ng-core</artifactId><version>1.9.0</version></dependency></dependencies>代码 pac…

NETALAND惊艳上线,平行云助力元宇宙大玩家网易闪亮登场

近日&#xff0c;网易传媒旗下全新的泛娱乐体验空间NETALAND惊艳上线。NETALAND以其近乎于电影质感的场景&#xff0c;趣味的互动模式&#xff0c;流畅、沉浸的交互体验&#xff0c;给营销行业带来了一份新答卷。 NETALAND整合了网易传媒强大的元宇宙技术和丰富的内容生态&…

【Jenkins】新手安装、运行Jenkins(详细教学)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、…

【c语言】Union共用体

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c语言系列专栏&#xff1a;c语言之路重点知识整合 &#x…

如何将 O2OA 集成到企业微信实现微信办公

O2OA 平台拥有配套的原生开发的安卓和 IOS 移动 APP&#xff0c;可以以自建应用的方式集成到企业微信&#xff0c;同步企业微信的企业通讯录作为本地组织人员架构&#xff0c;并且可以将待办等通知直接推送到企业微信进行消息提醒。本篇主要介绍如何将 O2OA 集成到企业微信实现…

4年外包出来人废了,5次面试全挂....

我的情况 大概介绍一下个人情况&#xff0c;男&#xff0c;毕业于普通二本院校非计算机专业&#xff0c;18年跨专业入行测试&#xff0c;第一份工作在湖南某软件公司&#xff0c;做了接近4年的外包测试工程师&#xff0c;今年年初&#xff0c;感觉自己不能够再这样下去了&…