RUNOOB教程Vue学习笔记day3

避开模板匹配的坑:OpenCVSharp中边缘梯度算法的优化实践 本文深入探讨了OpenCVSharp中边缘梯度算法在模板匹配中的优化实践,解决了传统方法在尺度变化、角度旋转和光照差异下的局限性。通过Sobel算子提取边缘梯度特征,结合轮廓检测和多尺度匹配策略,显著提升了匹配的鲁棒性和准确性。文章还分享了并行计算、内存访问优化等实战技巧,适用于工业检测和自动化识别场景。 阅读详情
<!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">
    <script src="vue.min.js"></script>
    <title>vue study day3</title>
</head>
<body>

    <div id="test">
        <ul>
            <li v-for="n in 10">{{n}}</li>
        </ul>
        <ol>
            <li v-for="site in sites">{{site.name}}</li>
        </ol>
        <template v-for="site in sites">
            <li>{{site.name}}</li>
            <li>-------------</li>
        </template>
        <ul>
            <li v-for="value in object">{{value}}</li>
            <li v-for="(key, value) in object">{{key}} : {{value}}</li>
            <li v-for="(key, value, index) in object">{{index+1}}、{{key}}:{{value}}</li>
        </ul>
    </div>

    <div id="test2">
        <p>原始字符串:{{message}}</p>
        <p>计算反转字符串:{{reverseMessage}}</p>
        <p>methods反转字符串:{{reverseMessage2()}}</p>
        <p>site: {{site}}</p>
    </div>

    <div id="test3">
        <p class="cla1">计算器:{{counter}}</p>
        <button @click="counter++" class="cla1">点我加一</button>
        <br>
        米:<input type="text" v-model="meters" />
        千米:<input type="text" v-model="kilometers" />
        <p id="info"></p>
    </div>

    <div id="test4">
        <div v-bind:class="params">box</div>
        <div :class="{'box': boxFlag, 'green': greenFlag}">box</div>
        <div :class="classObject">box</div>
        <div :class="['box', greenFlag? green: '']">box</div>
        <div class="box" :style="{color: orange, fontSize: fSize + 'px'}">box</div>
    </div>

    <div id="test5">
        <p id="even"></p>
        <button v-on:click="func">Greet</button>
        <button @click="say('Hi')">Hi</button>
    </div>

    <div id="test6">
        <p>input元素:</p>
        <input type="text" v-model="message" placeholder="请输入..." />
        <p>消息是:{{message}}</p>

        <p>testarea 元素:</p>
        <textarea v-model="textarea" placeholder="多行文本输入..."></textarea>
        <p>textarea是:{{textarea}}</p>

        <p>单个复选框:</p>
        <input type="checkbox" id="sin" v-model="single"/>
        <label for="sin">{{single}}</label>

        <p>多个复选框:</p>
        <input type="checkbox" id="one" value="one" v-model="checks"/>
        <label for="one">one</label>
        <input type="checkbox" id="two" value="two" v-model="checks"/>
        <label for="two">two</label>
        <input type="checkbox" id="three" value="three" v-model="checks"/>
        <label for="three">three</label>
        <p>多选结果是:{{checks}}</p>

        <input id="baidu" type="radio" value="baidu" v-model="radio">
        <label for="baidu">baidy</label>
        <input id="google" type="radio" value="google" v-model="radio">
        <label for="google">google</label>
        <p>单选结果是:{{radio}}</p>

        <select v-model="select">
            <option value="">--请选择--</option>
            <option value="baidu">baidu</option>
            <option value="google">google</option>
        </select>
        <p>下拉的选择是:{{select}}</p>
    </div>
    
<script>
// v-for指令:循环迭代数组集合
new Vue({
    el: '#test',
    data: {
        sites: [
            {name: 'one'},
            {name: 'two'},
            {name: 'three'},
        ],
        object: {
            name: 'myName',
            site: 'mySite',
            prof: 'myProf'
        }
    }
})

// computed:计算属性,返回经过处理的属性值和methods效果一致,但computed依赖缓存性能好些
var vm = new Vue({
    el: '#test2',
    data: {
        message: 'aabbccxddd,斯蒂芬斯'
    },
    computed: {
        //默认计算属性的 getter
        reverseMessage: function() {
            //this 指向vm实例
            return this.message.split('').reverse().join('')
        },
        //可以添加setter方法
        site: {
            get: function() {
                return this.message
            },
            set: function(newValue) {
                this.message = newValue
            }
        }
    },
    methods: {
        reverseMessage2: function() {
            return this.message.split('').reverse().join('') 
        }
    }
})
vm.site = "123456789"
document.write("message:" + vm.message)

// watch:监听属性,响应数据变化
var vm2 = new Vue({
    el: "#test3",
    data: {
        counter: 1,
        meters: 0,
        kilometers: 0
    },
    watch: {
        kilometers: function(val) {
            this.kilometers = val
            this.meters = val * 1000
        },
        meters: function(val) {
            this.meters = val
            this.kilometers = val/1000
        }
    }
})
vm2.$watch('counter', function(newv, oldv) {
    document.getElementById("info").innerHTML = '计算器变化:'+ oldv + ' to ' + newv
})
vm2.$watch('kilometers', function(newv, oldv) {
    document.getElementById("info").innerHTML = '修改前:'+ oldv + ' 修改后 ' + newv
})

// v-bind:表达式动态绑定样式
new Vue({
    el: '#test4',
    data: {
        params: ['box', 'green'],
        boxFlag: true,
        greenFlag: false,
        green: 'green',
        error: {
            value: true,
            type: 'fatal'
        },
        orange: 'blue',
        fSize: 50
    },
    computed: {
        classObject: function() {
            return {
                cla1: true,
                box: this.boxFlag && this.error.value,
                'red': this.error.value && this.error.type === 'fatal'
            }
        }
    }
})

// v-on指令:事件处理器
// vuejs为该指令提供了事件修饰符处理DOM事件细节,如event.preventDefault()或event.stopPropagation()
// 使用.后缀方式调用修饰符
// .stop - 阻止冒泡
// .prevent - 阻止默认事件
// .capture - 阻止捕获
// .self - 只监听出发该元素的事件
// .once - 只触发一次
// .left - 左键事件
// .right - 右键事件
// .middle - 中间滚轮事件

// 阻止单击事件冒泡
// <a v-on:click.stop = "doThis"></a>
// 提交事件不在重载界面
// <form v-on:submit.prevent = "doSubmit"></form>
// 修饰符可以串联
// <a v-on:click.stop.prevent = "doThat"></a>
// 只有修饰符
// <form v-on:submit.prevent></form>
// 添加事件监听器时使用事件捕获模式
// <div v-on:click.capture = "doThat">...</div>
// 只当事件在该元素本身而不是子元素触发时触发回调
// <div v-on:click.self = "doThis">...</div>
// once事件只能点击一次,2.1.4版本新增
// <a v-on:click.once = "doThis"></a>

// vue可在监听键盘事件时添加按键修饰符
// 只有在keyCode是enter(13)时调用vm.submit()
// <input v-on:keyup.13 = "submit">
// 常用按键别名
// <input @keyup.enter = "submit">
// .enter
// .tab
// .delete(捕获删除和退格)
// .esc
// .space
// .up
// .down
// .left
// .right
// .ctrl
// .shift
// .alt
// .meta
// Alt + C 
// <input @keyup.alt.67="clear">
// Ctrl + Click
// <div @click.ctrl="doSomething">Do something</div>
new Vue({
    el: '#test5',
    data: {
        count: 1
    },
    methods: {
        // event是原生DOM事件
        func: function(event) {
            this.count += 1
            document.getElementById("even").innerHTML = "hello~ Vue." +this.count+' ' + event.target.tagName
        },
        say: function(val) {
            alert(val)
        }
    }
})

// v-model指令:表单数据双向绑定
// v_model修饰符:lazy、number、trim
// 默认下同步双向值,但可以添加一个修饰符lazy,从而转变为在change事件中同步
// 在 "change" 而不是 "input" 事件中更新
// <input v-model.lazy="msg" >
// 将用户的输入值转为Number类型(如果原值的转换结果为 NaN 则返回原值)
// <input v-model.number="age" type="number">
// 自动过滤用户输入的首尾空格
// <input v-model.trim="msg">
new Vue({
    el: '#test6',
    data: {
        message: '有点牛',
        textarea: 'long text',
        single: false,
        checks: [],
        radio: 'baidu',
        select: ''
    }
})
</script>

<style>
.cla1 {
    font-size: 25px;
}
.box {
    width: 100px;
    height: 100px;
    background-color: goldenrod;
    display: block;
    text-align: center;
    line-height: 100px;
    margin: 4px;
    border: black 1px solid;
}
.green {
    background-color: green;
}
.red {
    background-color: red;
}
</style>
</body>
</html>

 

lammps教程:非晶sio2建模方法 大家好,我是小马老师。 本文介绍非晶sio2的建模方法。 sio2的建模方法有很多,可以下载cif文件使用atomsk转为data文件,也可以直接在ms中导入sio2结构,这些方法建的sio2都是标准的sio2晶体。 如果要建立非晶状态的sio2,就是把排列规则的sio2变成无序排列的sio2。 非晶建模方法有很多,在lammps中,可以通过高温高压的方法打乱sio2的排列实现非晶建模。 代码中的温度和步数可根据需要自己调整。 下面给出in文件案例代码。 units metal atom 阅读详情

相关推荐

SAP MIRO发票自动化:BAPI_INCOMINGINVOICE_CREATE实战解析

本文深入解析了如何使用SAP标准BAPI_INCOMINGINVOICE_CREATE实现MIRO发票校验流程的自动化。通过实战代码示例,详细阐述了从采购订单和收货凭证获取数据、构建BAPI核心参数、处理常见错误到高级场景优化的完整路径,旨在帮助SAP开发人员构建稳定、高效的自动化解决方案,提升财务处理效率与准确性。

weixin_29243279的博客 502

正则表达式中?=、?<=、?!、?<!的使用区别

?=用法 exp1(?=exp2):查找exp1后面是exp2的exp1。 var str = '123456runoob123runoob456'; var r = /runoob(?=[\d+])/g;//查找数字前面的runoob console.log(r.exec(str));//打印的是runoob123中的runoob ?<=用法 (?<=exp2)exp1:查找 exp1前面是exp2的exp1。 var str = '123456google123runoob456'; va

一直在努力的小幸运 1万+

CIC-IDS-2018数据集高效预处理实战:从数据清洗到特征整合

本文详细介绍了CIC-IDS-2018数据集的高效预处理方法,从数据清洗到特征整合的全流程实战。通过内存优化、异常值处理和特征工程等技巧,帮助网络安全研究人员快速处理大规模网络流量数据,提升机器学习模型的训练效率和准确率。特别针对特征数据的预处理提供了实用代码示例和优化建议。

weixin_29274969的博客 502

RUNOOB JavaScript 基础语法

JavaScript 基础语法 JavaScript 的特点: JavaScript是一种动态类型、弱类型、基于原型的解释型脚本语言 动态类型:变量在声明时不需要声明类型,在运行时根据被赋值类型进行转化 弱类型:可根据环境的变换自动转换变量类型 基于原型:没有面向对象语言中类和实例的区别,新的对象通过构造器函数继承原型对象,实例化后具有原型对象的属性以及本身定义的属性 解释型脚本语言:解释器JavaScript引擎。可理解为:JavaScript为控制浏览器和HTML页面交互编写规则 JavaScrip

qq_43156556的博客 1305

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

UVM概述及uvm_component和uvm_object(一)

UVM:Universal Verification Methodology(通用验证方法学) UVM:是建立在systemverilog平台上的一个库,提供了一系列的接口,让我们能够更方便的进行验证。验证平台组成: Driver:用来把不同的激励施加给DUT; Monitor:用来检测DUT的输出; Scoreboard:专门用来比较期望值与monitor检测到的DUT输出; Refer

南国之邱 1万+

谷歌地图api开发基础(一)

首先你需要拥有一个免费的 Google 地图 API key。 访问https://code.google.com/apis/console/, 使用你的Google账号登陆。 点击 "Create Project" 按钮。 在服务列表中找到Google Maps API v3,然后点击 "off"(关闭) 让其开启该服务器 在下一个步骤中,选择"I Agree..." 然后点击 "...

jacklin_01的博客 3851

BIOS/UEFI完全指南:从开机自检到超频魔改的底层硬件控制

计算机启动过程始于固件层,其核心是负责硬件初始化与引导的系统软件。传统BIOS基于16位实模式,寻址能力有限,而现代UEFI采用保护模式,支持图形界面与安全启动,实现了从概念到架构的革新。这一演进带来了显著的技术价值:更快的启动速度、更强的安全性以及对大容量存储设备的原生支持。在工程实践中,无论是解决“虚拟化技术禁用”问题、调整内存XMP配置以提升性能,还是为老主板“魔改”添加NVMe支持,都需要深入理解并操作BIOS/UEFI设置。掌握这些底层交互能力,是进行硬件调试、系统优化与故障排查的关键,也是连接抽

weixin_34236869的博客 457

RUNOOB教程Vue学习笔记day2

<!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>Vu.

zero_130的博客 1135

YOLO + SubspaceAD:一张良品图,检出所有未知缺陷

当YOLO遇上子空间建模,工业质检正迎来从“见多识广”到“举一反三”的质变时刻。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 496

补丁1.0:使用Eviews做ADF检验

补丁1.0:使用Eviews做ADF检验

Jet4505的博客 1961

RUNOOB教程Vue学习笔记day1

<!DOCTYPE html> <html> <meta charset="utf-8"> <title>Vue study first day!</title> <script src="vue.min.js"></script> <head> <body> <div id="app"> .

zero_130的博客 370

手把手教你学Simulink实例:基于Simulink的超级电容器充放电仿真

超级电容器(Supercapacitor)是一种高容量电容器,具有快速充放电能力、长寿命和高功率密度等优点。它在能量存储系统、电动汽车、不间断电源(UPS)等领域有广泛应用。为了更好地理解和设计超级电容器的应用系统,通常需要进行详细的仿真分析。Simulink 提供了一个强大的仿真环境,可以用来设计、分析和验证超级电容器充放电系统的控制策略。本教程将详细介绍如何使用 Simulink 进行超级电容器充放电的仿真实例。通过本教程,我们详细介绍了如何使用 Simulink 进行超级电容器充放电的仿真实例。

MHD0815的博客 581

vueDiff算法

【代码】vueDiff算法。

qq_35359474的博客 76

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

vue 表格 vxe-table 如何让下拉筛选弹窗根据屏幕自动更新位置

vxe-table 通过 filterConfig.transfer: true 将筛选面板渲染至 document.body,解决因容器 overflow: hidden 导致的面板裁剪问题。面板基于视口自动定位,空间不足时向上翻转,滚动与窗口缩放时动态更新位置,确保始终可见且不被遮挡。生效前提:列需配置 filterRender,表格需有固定高度或处于可滚动容器中。该配置为表格级设置,适用于所有启用了筛选的列。

chocolate2s的博客 251

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

前端登录页面的书写与验证(后端)

如果有该用户就登录成功跳转至主页,如果没有用户和密码错误就登录失败不跳转。(3)写后端代码,接受前端请求并返回数据(新建目录houduan,在houduan/index.js写入)(2)前端配置路由地址,方便登录成功后页面的跳转(在routers.js写入)输入admin和123456,就可以实现登录并跳转至主页(内容暂时没有写)了。(4)后端操作数据库拿数据(在houduan/login_bs.js写入)(1)前端代码(在login2.vue文件写入)先启动后端:在terminal终端输入以下命令。

weixin_46452278的博客 202

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Vue3——第 14 篇:生命周期钩子——从创建到销毁的全过程

Vue 3 生命周期钩子是组件在创建、挂载、更新、卸载等阶段自动执行的函数,提供精准控制时机。核心钩子包括 onMounted(DOM 操作与数据请求)、onUpdated(更新后处理)、onBeforeUnmount(资源清理)等。合理使用可优化性能、管理副作用,提升应用稳定性。

810cheng 279

Razor 视图 + JavaScript + Vue/iView 组件实现的表格自定义列

本文介绍了如何在 Razor 视图项目中,通过 JavaScript 初始化 Vue 实例,并利用 iView Table 实现表格自定义列。该方案的要点是:服务端输出列定义和行数据,前端将列配置转换为响应式数据,用户通过勾选或拖拽控制列的显隐与顺序。通过本地存储保存用户偏好后,表格自定义列还能在多次访问中保持一致,提升系统的易用性。

qq_59041750的博客 297

Vue 编译器换掉 source map,快了三四成

Vue 核心仓库中,johnsoncodehk 提出一项关键性能优化 PR(#16126),重构编译器 source map 生成机制,实现 CPU 降低 30%、内存减少 40%,修复十余个报错指错行问题。新方案摒弃旧有双轨映射,改用片段自带来源范围,提升准确性与效率。虽引入破坏性改动(移除 MagicString 导出),影响部分工具链,但已通过生态测试验证。该变更将进入小版本,对构建工具开发者尤为值得关注。PR 地址

前端之虎陈随易 200

全栈 AI 问答应用开发:FastAPI 异步推理与 Vue 流式渲染实战

原生 EventSource 无法传递复杂请求体,后端同步推理易阻塞事件循环,前端流式解析常遇半包与乱码。FastAPI 的 async def 路由中若直接执行同步推理,事件循环会被瞬间独占,导致并发请求全面排队。思路:原生 EventSource 只能发 GET 请求,无法在请求体中传递复杂的 JSON 上下文,也不支持自定义鉴权头,无法满足多轮对话需求。前端粘包与乱码:TextDecoder 必须带 { stream: true },且必须使用 buffer 变量按 \n\n 拼接未闭合数据。

2402_85729970的博客 285

用 Go + Edge 把 `dist` 变成双击即用的 exe,Vue 桌面应用打包器

用 Go + Edge 把 `dist` 变成双击即用的 exe

weixin_55636632的博客 386

Django 权限系统项目实战详细图文教程 6--系统主页功能实现 2

6、Django 权限系统项目实战详细图文教程 6--系统主页功能实现 2

测试开发 203

Vue 前端开发 AI 对话页面:流式消息渲染、文件上传

关键点是不能手动设置 Content-Type 为 multipart/form-data,必须由浏览器自动生成带有 boundary 的请求头,否则后端无法解析。思路:将对象序列化为 JSON 字符串,作为 FormData 的一个普通字段(如 formData.append(‘payload’, JSON.stringify(data))),后端接收该字段后再反序列化。若上传大文件(>10MB),需实现独立的分片上传接口,在提交对话前先获取文件 id 或 url,再随文本发送引用。移除输入框的禁用态;

2402_85729970的博客 388

Vue Router

介绍vue-router的基本使用以及核心概念

k_5412528的博客 193

Avue CRUD自定义操作下拉按钮的最简单方法

Avue CRUD自定义操作下拉按钮的最简单方法。

经验之谈,不做搬运工 51

成为全栈·Vue 管理后台篇·Vue响应式与 React Hooks:同一交互的两种运行模型

本文以同一套管理后台中的文章筛选、分页和权限展示为例,对比 Vue 响应式依赖追踪与 React 组件重新渲染模型。通过 ref、computed、watch 和 useState、useMemo、useEffect,解释两种框架的状态传播、闭包与依赖处理差异,并给出从 React 页面迁移 Vue 时区分本地状态、派生状态、服务器状态和副作用的检查方法。

FungLeo's Blog 234
上一篇: RUNOOB教程Vue学习笔记day2
zero_130
博客等级 码龄10年 21粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值