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

事件、页面跳转、wxml语法——微信小程序学习笔记

1. 事件

1.1 事件绑定

<!--pages/infoPage/infoPage.wxml--><button type="primary" bind:tap="childrenClicked">子按钮</button>
// pages/infoPage/infoPage.jsPage({childrenClicked(){console.log("childrenClicked")}
})

1.2 事件冒泡

<!--pages/infoPage/infoPage.wxml--><view class="parentContainer" style="background-color: burlywood;" bind:tap="parentClicked"><button type="primary" bind:tap="childrenClicked">子按钮</button>
</view>
// pages/infoPage/infoPage.jsPage({parentClicked(){console.log("parentClicked")},childrenClicked(){console.log("childrenClicked")}
})

点击子按钮,会先执行子按钮“bind:tap”绑定的函数,再执行父控件“bind:tap”绑定的函数,如下图,

也就是此事件传递了下去,称为“事件冒泡”,如果不想传递给父控件,即阻止事件冒泡,使用“catch:tap”进行绑定,即

<!--pages/infoPage/infoPage.wxml--><view class="parentContainer" style="background-color: burlywood;" bind:tap="parentClicked"><button type="primary" catch:tap="childrenClicked">子按钮</button>
</view>

1.3 事件对象-传参

当绑定了事件后 --》函数都可以接收一个参数 事件对象(event)

    childrenClicked(event) {console.log("childrenClicked")// 通过打印查看event结构console.log(event);//获取数据var dataset = event.target.dataset;console.log("name:" + dataset.name);console.log("customName:" + event.mark.customName);}

其中,targert 为事件触发者,currentTarget:事件绑定者,当有事件冒泡时,两个值可能不一样。

传参方式

  • data-*
  • mark:自定义属性

2. 页面跳转

2.1 navigator组件跳转(声明式导航)

导航 / navigator

  1. 最基本的跳转
    <navigator url="/pages/loginPage/loginPage"><button type="primary">登录</button>
    </navigator>
  2. 更多跳转方式--》open-type属性跳转方式:

    navigate:保存当前页面,跳转到应用内的某个页面,但不能跳到 tabbar 页面;

    redirect:关闭当前页面,跳转到应用内的某个页面,但不能跳到t abbar 页面;

    switchTab:跳转到 tabbar 页面,并关闭其他所有非 tabbar页面;

    reLaunch:关闭所有页面,打开到应用内的某个页面;

    navigateBack:关闭当前页面,返回上一页面或多级页面。(感觉像导航的返回按钮的功能),如果退回两级页面,delta代码退回的层数,代码这样写

    <navigator open-type="navigateBack" delta="2">返回两级</navigator>

  3. 跳转携带数据

        携带数据的格式是单参数:[url]?[key1]=[val1] 或多参数[url]?[key1]=[val1]&[key2]=[key2]...

        携带参数: 


<!--pages/infoPage/infoPage.wxml-->
<navigator url="/pages/loginPage/loginPage?name=小米&age=12">点击跳转到新页面
</navigator>

        获取参数:

// pages/loginPage/loginPage.js
Page({/*** 生命周期函数--监听页面加载*/onLoad(options) {console.log(options);}})

 

2.2 js跳转(编程式导航)

比如:

<!--pages/infoPage/infoPage.wxml-->
<button type="primary" bind:tap="switchLoginPage">跳转到登录页</button>
// pages/infoPage/infoPage.jsPage({switchLoginPage(){wx.navigateTo({url: '/pages/loginPage/loginPage',})}
})

3. wxml 语法

3.1 模版语法

  1.  页面的js中定义一些变量
  2. 在wxml中使用 {{}} 包裹,显示数据
  3. 可以显示变量、算数运算、三元运算和逻辑判断,不能编写js语句或js方法
    <!--pages/loginPage/loginPage.wxml-->
    <view>-------wxml语法------</view>
    <view>- 字符串</view>
    <view>姓名:{{name}}</view>
    <view>年龄:{{age}}</view>
    <view>籍贯:{{postion}}</view>
    <view>----------------------</view>
    <view>- 对象</view>
    <view>名称:{{userInfo.name}}</view>
    <view>宽:{{userInfo.width}}</view>
    <view>高:{{userInfo.height}}</view>
    <view>颜色:{{userInfo.color}}</view>
    <view>----------------------</view>
    <view>- 数组</view>
    <view>狗:{{animalsArr[0]}}</view>
    <view>猫:{{animalsArr[1]}}</view>
    <view>猴:{{animalsArr[2]}}</view>
    <view>----------------------</view>
    <view>算数运算:10+20={{10+20}}</view>
    <view>三元运算:num>11 {{num>11?'真':'假'}}</view>
    <view>逻辑判断:num>11 {{num>11}}</view>// pages/loginPage/loginPage.js
    Page({/*** 页面的初始数据* wxml 中使用的变量,必须放在data中*/data: {name:"王小明",age:14,postion:"河北",userInfo:{width:100,height:200},animalsArr:["dog","cat","monkey"],num:10}
    })
  4. 如果在js中改变了变量值,想与页面中的一起变化,使用this.setData({key:val})
        //改变数据onChangeNumVal(){this.setData({age:this.data.age+1})},//改变对象onChangeObjectName(){//修改对象值// this.setData({//     'userInfo.name':"矩形"// });//增加对象参数值和修改//解压赋值// const info = {...this.data.userInfo,color:"red",name:"矩形"};// this.setData({//     userInfo:info// });//简写 const userInfo = {...this.data.userInfo,color:"red",name:"矩形"};this.setData({userInfo});},//数组//增加onAddOfArr(){// //方法一// this.data.animalsArr.push("cow");// this.setData({//     animalsArr:this.data.animalsArr// })// //方法二// const animalsArr = this.data.animalsArr.concat("sheep");// this.setData({//     animalsArr// })//方法三const animalsArr = [...this.data.animalsArr,'rabbit'];this.setData({animalsArr})},//删除onDelOfArr(){this.data.animalsArr.pop();this.setData({animalsArr:this.data.animalsArr})},//修改onModifyOfArr(){this.data.animalsArr[0]="puppy";this.setData({// animalsArr:this.data.animalsArr'animalsArr[0]':"puppy"})},

3.2 列表渲染

列表渲染 | 微信开放文档

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item

## js
goodsList:[{id:'1001',name:'牙膏',price:10},{id:'1002',name:'香皂',price:5},{id:'1003',name:'牛奶',price:50},{id:'1004',name:'八宝粥',price:60}]## wxml
<view>-----------列表渲染-----------</view>
<view wx:for="{{goodsList}}" wx:key="index"><text>{{item.id}}--{{item.name}}--{{item.price}}</text>
</view>
<view>-----------列表渲染-block-----------</view>
<view wx:for="{{goodsList}}" wx:key="index"><block>{{item.id}}--{{item.name}}--{{item.price}}</block>
</view>

3.3 条件渲染

3.3.1  wx:if wx:elif wx:else 的简单用法

## js
score:60,## wxml
<view><input type="text" model:value='{{score}}' style="border: 1px solid #555555;" /><text wx:if="{{score>=90&& score<=100}}">优秀</text><text wx:elif="{{score>=80&& score<90}}">良好</text><text wx:elif="{{score>=60&& score<80}}">及格</text><text wx:else>不及格</text>
</view>

 3.3.2  wx:if 与 hidden 的区别

  • wx:if 删除元素
  • hidden 不删除元素(隐藏元素)

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。 

<view><!-- <image  src="/img/head.jpg" mode="aspectFit" style="width: 100rpx; height: 100rpx;" hidden="{{isShowImage}}"/> --><image  src="/img/head.jpg" mode="aspectFit" style="width: 100rpx; height: 100rpx;" wx:if="{{isShowImage}}"/><button type="primary" size="mini" bind:tap="onChangeImgVisible">是否显示图片</button>
</view>

相关文章:

事件、页面跳转、wxml语法——微信小程序学习笔记

1. 事件 1.1 事件绑定 <!--pages/infoPage/infoPage.wxml--><button type"primary" bind:tap"childrenClicked">子按钮</button> // pages/infoPage/infoPage.jsPage({childrenClicked(){console.log("childrenClicked")} …...

关于kafka的一些知识总结

Kafka 1. 基本知识 1.1 前置知识 topic表示一个类型/业务的数据的组为方便扩展&#xff0c;提高吞吐率&#xff0c;一个topic分为多个partition。配合分区的设计&#xff0c;提出消费者组的概念&#xff0c;每个消费者并行消费&#xff0c;同时&#xff0c;一个分区的数据&a…...

系统架构书单推荐(一)领域驱动设计与面向对象

本文主要是个人在学习过程中所涉猎的一些经典书籍&#xff0c;有些已经阅读完&#xff0c;有些还在阅读中。于我而言&#xff0c;希望追求软件系统设计相关的原则、方法、思想、本质的东西&#xff0c;并希望通过不断的学习、实践和积累&#xff0c;提升自身的知识和认知。希望…...

JS—原型与原型链:2分钟掌握原型链

个人博客&#xff1a;haichenyi.com。感谢关注 一. 目录 一–目录二–原型三–原型链 二. 原型 什么是原型&#xff1f; 每个JavaScript对象都有一个原型&#xff0c;这个原型也是一个对象。比方说 function Person(name) {this.name name; } let person new Person(&quo…...

微软产品的专有名词和官方视频教程

Legend/Acronyms (D) Microsoft Documentation (V) Video (B) Blog (S) Site (IG)<...

OpenCV旋转估计(5)图像拼接的一个函数waveCorrect()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 waveCorrect 是OpenCV中用于图像拼接的一个函数&#xff0c;特别适用于全景图拼接过程中校正波浪形失真&#xff08;Wave Correction&#xff09…...

基于3DMax与Vray引擎的轻量级室内场景渲染实践

欢迎踏入3DMAX室内渲染的沉浸式学习之旅!在这个精心设计的实战教程中,我们将携手揭开3DMAX与Vray这对黄金搭档在打造现实室内场景时的核心奥秘。无论您是渴望入门的3D新手,还是追求极致效果的专业设计师,这里都将为您呈现从场景蓝图构建到光影魔法施加的完整技术图谱。我们…...

项目日记 -云备份 -服务器配置信息模块

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【项目日记-云备份】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 代码已上传 gitee 目录 前言配置信息文件文件配置类getInstance 获得实例readConfigFile 读取配置信息文件 测试 #mermaid-svg-ewlCpjdOf0q0VTLI {font-family:…...

Linux冯诺依曼体系与计算机系统架构认知(8)

文章目录 前言一、冯诺依曼体系冯•诺依曼体系结构推导内存提高冯•诺依曼体系结构效率的方法你用QQ和朋友聊天时数据的流动过程与冯•诺依曼体系结构相关的一些知识 二、计算机层次结构分析操作系统(Operator System)驱动层的作用与意义系统调用接口(system call)用户操作接口…...

23.linux下电脑健康检查

电脑健康检查 硬盘 工具 sudo apt-get install smartmontools检查命令 sudo smartctl -a /dev/sdb1输出结果 # smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.8.0-52-generic] (local build) # Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools…...

使用HAI来打通DeepSeek的任督二脉

一、什么是HAI HAI是一款专注于AI与科学计算领域的云服务产品&#xff0c;旨在为开发者、企业及科研人员提供高效、易用的算力支持与全栈解决方案。主要使用场景为&#xff1a; AI作画&#xff0c;AI对话/写作、AI开发/测试。 二、开通HAI 选择CPU算力 16核32GB&#xff0c;这…...

.NET 10 新的 JsonIgnoreCondition

Intro 之前提了一个 api 建议为 JsonIgnore 添加两个扩展,WhenReading 和 WhenWriting,主要的一个用例是 WhenReading 我们的 Api Response 里有一个字段非常的大,不需要在 response 里包含,但是从 json 里反序列化时时需要地所以不能简单地直接忽略,在使用 Newtonsoft.J…...

数据结构——哈夫曼编码、哈夫曼树

1 哈夫曼树、哈夫曼编码 定义 哈夫曼树又称最优二叉树&#xff0c;是一种带权路径长度最短的二叉树。所谓树的带权路径长度&#xff0c;就是树中所有的叶结点的权值乘上其到根结点的路径长度&#xff08;若根结点为 0 层&#xff0c;叶结点到根结点的路径长度为叶结点的层数&…...

MySQL 调优:查询慢除了索引还能因为什么?

文章目录 情况一&#xff1a;连接数过小情况二&#xff1a;Buffer Pool 太小 MySQL 查询慢除了索引还能因为什么&#xff1f;MySQL 查询慢&#xff0c;我们一般也会想到是因为索引&#xff0c;但除了索引还有哪些原因会导致数据库查询变慢呢&#xff1f; 以下以 MySQL 中一条 S…...

数据库锁机制

一、数据库锁的分类 数据库锁机制根据不同的维度可分为多种类型: 按锁的粒度划分: 行级锁(Row-Level Lock):锁定单行数据,粒度最细,并发度高,如InnoDB引擎的行锁。表级锁(Table-Level Lock):锁定整张表,并发度低,如MyISAM引擎的表锁。页级锁(Page-Level Lock):…...

计算机二级web易错点(6)-选择题

在软件或系统的三层架构中&#xff0c;三层分别为表示层、逻辑层&#xff08;业务逻辑层&#xff09;和数据访问层。表示层主要负责与用户交互&#xff0c;展示数据和接收用户输入&#xff1b;逻辑层处于中间位置&#xff0c;负责处理业务逻辑&#xff0c;对表示层传来的请求进…...

深入理解 lt; 和 gt;:HTML 实体转义的核心指南!!!

&#x1f6e1;️ 深入理解 < 和 >&#xff1a;HTML 实体转义的核心指南 &#x1f6e1;️ 在编程和文档编写中&#xff0c;< 和 > 符号无处不在&#xff0c;但它们也是引发语法错误、安全漏洞和渲染混乱的头号元凶&#xff01;&#x1f525; 本文将聚焦 <&#…...

windows环境下NER Python项目环境配置(内含真的从头安的perl配置)

注意 本文是基于完整项目的环境配置&#xff0c;即本身可运行项目你拿来用 其中有一些其他问题&#xff0c;知道的忽略即可 导入pycharm基本包怎么下就不说了&#xff08;这个都问&#xff1f;给你一拳o(&#xff40;ω*)o&#xff09; 看perl跳转第5条 1.predict报错多个设备…...

Redis + 布隆过滤器解决缓存穿透问题

Redis 布隆过滤器解决缓存穿透问题 1. Redis 布隆过滤器解决缓存穿透问题 &#x1f4cc; 什么是缓存穿透&#xff1f; 缓存穿透指的是查询的数据既不在缓存&#xff0c;也不在数据库&#xff0c;导致每次查询都直接访问数据库&#xff0c;增加数据库压力。 例如&#xff1…...

2025年3月 CCF GESP C++ 二级 真题解析

1. 单选题(每题2分&#xff0c;共30分) 第1题 试题&#xff1a;2025年春节有两件轰动全球的事件&#xff0c;一个是DeepSeek横空出世&#xff0c;另一个是贺岁片《哪吒2》票房惊人&#xff0c;入了全球票房榜。下面关于DeepSeek与《哪吒2》的描述成立的是( )。 A. 《哪吒2》是一…...

回顾Python基础语法,辨析和C++等的不同~

由于很多院校的计科尤其软工专业在本科期间会设置大量有关不同编程语言的语法基础课&#xff0c;虽然整体来看大同小异&#xff0c;但还是有些细节在不同语言有所差异&#xff1a;比如分号在C和Java必须加&#xff0c;Python和JavaScript则不必&#xff0c;而在Matlab中加入则不…...

ubuntu设置开机自动运行应用

系统版本&#xff1a;Ubuntu 24.04.1 LTS桌面版 按招网上的资料显示&#xff0c;当前版本主要的实现方式有以下两种&#xff0c; 方式1&#xff1a;通过图形界面的【启动应用程序】设置开机自启动&#xff1b;方式2&#xff1a;配置为服务实现开机自启动。 但是在我的电脑上方…...

2024年MathorCup数学建模D题量子计算在矿山设备配置及运营中的建模应用解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 D题 量子计算在矿山设备配置及运营中的建模应用 原题再现&#xff1a; 随着智能技术的发展&#xff0c;智慧矿山的概念越来越受到重视。越来越多的设备供应商正在向智慧矿山整体解决方案供应商转型&#xff0c;是否具备提供整体解…...

MCU vs SoC

MCU&#xff08;Microcontroller Unit&#xff0c;单片机&#xff09;和SoC&#xff08;System on Chip&#xff0c;片上系统&#xff09;是两种不同的芯片类型&#xff0c;尽管它们都实现了高度集成&#xff0c;但在设计目标、功能复杂性和应用场景上存在显著差异。以下是两者…...

我的uniapp自定义模板

uniapp自定义模板 如有纰漏请谅解&#xff0c;以官方文档为准后面这段时间我会学习小程序开发的知识&#xff0c;会持续更新可以查看我的github&#xff0c;后续我会上传我的uniapp相关练习代码有兴趣的话可以浏览我的个人网站&#xff0c;我会在上面持续更新内容&#xff0c;…...

JVM 类加载器之间的层次关系,以及类加载的委托机制

JVM 类加载器之间存在一种层次关系&#xff0c;通常被称为双亲委派模型 (Parent Delegation Model)。这种层次关系和委托机制是 Java 类加载机制的核心&#xff0c;对于保证 Java 程序的安全性和避免类冲突至关重要。 1. 类加载器的层次关系: JVM 中的类加载器&#xff08;Cl…...

吞吐与时延的博弈,超发与冗余的交换

做传输协议加速&#xff0c;大家默认激进超发原则&#xff0c;却认为冗余双发不道德&#xff0c;其实这两个是一回事&#xff0c;它们本质上是一种 “矩” 内的交换&#xff0c;就像力和力臂交换但乘积不变一样&#xff0c;成本是固定的。 人们更能原谅激进超发是因为人们对吞…...

Jackson使用ObjectNode对象实现JSON对象数据(一):增、删、改、查

Jackson 是一款高性能的 Java JSON 处理库,广泛应用于 Java 对象的序列化(转为JSON)与反序列化(JSON转为对象)‌。作为 Spring MVC 默认的JSON解析器‌,其核心优势包括‌高性能‌、‌灵活性‌和‌丰富的功能支持‌。 Jackson 库中 ObjectNode 是操作 JSON 对象的核心类,…...

【递归、搜索和回溯算法】专题三 :穷举VS暴搜VS深搜VS回溯VS剪枝

回溯算法 回溯算法是一种经典的递归算法&#xff0c;通常用于解决组合问题、排列问题和搜索问题等。 基本思想&#xff1a;从一个初始状态开始&#xff0c;按照一定的规则向前搜索&#xff0c;当搜索到某个状态无法前进时&#xff0c;回退到钱一个状态&#xff0c;再按照其他的…...

Ubuntu如何部署AI-Sphere-Butler(metahuman-stream)

环境&#xff1a; Ubuntu 20.04、22.04 Python3.10 Pytorch 1.12 CUDA 11.3 问题描述&#xff1a; Ubuntu如何部署AI-Sphere-Butler&#xff08;metahuman-stream&#xff08;LiveTalking&#xff09;&#xff09; 解决方案&#xff1a; 一、部署 本次部署以云服务器&a…...

基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手

基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手 一、准备工作&#xff1a;组装你的"数码工具箱" 1. 安装基础工具&#xff08;Python环境&#xff09; 操作步骤&#xff1a; 访问Python官网下载安装包安装时务必勾选Add Python to…...

SpringBoot分布式定时任务实战:告别重复执行的烦恼

场景再现&#xff1a;你刚部署完基于SpringBoot的集群服务&#xff0c;凌晨3点突然收到监控告警——优惠券发放量超出预算两倍&#xff01;检查日志发现&#xff0c;两个节点同时执行了定时任务。这种分布式环境下的定时任务难题&#xff0c;该如何彻底解决&#xff1f; 本文将…...

第十二章 | Solidity 智能合约前后端集成实战

&#x1f4da; 第十二章 | Solidity 智能合约前后端集成实战 ——链上合约 前端钱包 用户交互&#xff0c;打造完整 DApp&#xff01; 这章我们正式进入 DApp 全栈开发领域&#xff01; 用 Ethers.js React/Vue 完成前端和合约交互完整的「前端发起交易 → 钱包签名 → 链上…...

sqlite3数据库(文件)损坏恢复方法

问题描述 实时控制系统在运行过程中&#xff0c;我使用DB Browser for SQLite工具写sqlite数据库操作&#xff0c;工具异常退出&#xff0c;再次使用此工具打开数据文件时&#xff0c;数据文件打不开&#xff0c;报错:invalid rootpage&#xff0c;如何处理&#xff1f; 解决…...

正则艺术:深入探讨高级语法——零宽断言与反向引用实战

正则艺术:深入探讨高级语法——零宽断言与反向引用实战 在 Python 这门语言中,正则表达式无疑是一把神奇的钥匙。它不仅能够轻松实现字符串匹配、替换和拆分,更在数据清洗、日志分析、爬虫开发等场景中大放异彩。作为一名拥有多年实战与教学经验的 Python 程序专家,今天我…...

python——UI自动化(1) selenium之介绍和环境配置

一、selenium介绍 selenium是一个第三方库&#xff0c;python有很多库&#xff1b; 1、什么是ui自动化? 通过模拟手工操作用户ui页面的方式&#xff0c;用代码去实现自动化操作和验证的行为。 2、ui自动化的优点&#xff1f; &#xff08;1&#xff09;解决重复性的功能测…...

专题|Python贝叶斯网络BN动态推理因果建模:MLE/Bayes、有向无环图DAG可视化分析呼吸疾病、汽车效能数据2实例合集

原文链接&#xff1a;https://tecdat.cn/?p41199 作为数据科学家&#xff0c;我们始终在探索能够有效处理复杂系统不确定性的建模工具。本专题合集系统性地解构了贝叶斯网络&#xff08;BN&#xff09;这一概率图模型在当代数据分析中的创新应用&#xff0c;通过开源工具bnlea…...

MQ,RabbitMQ,MQ的好处,RabbitMQ的原理和核心组件,工作模式

1.MQ MQ全称 Message Queue&#xff08;消息队列&#xff09;&#xff0c;是在消息的传输过程中 保存消息的容器。它是应用程序和应用程序之间的通信方法 1.1 为什么使用MQ 在项目中&#xff0c;可将一些无需即时返回且耗时的操作提取出来&#xff0c;进行异步处理&#xff0…...

STM32__红外避障模块的使用

目录 一、红外避障模块 概述 二、直接读取OUT引脚电平 三、使用中断方式触发 一、红外避障模块 概述 引脚解释&#xff1a; VCC接3.3V 或 5.0VGND接开发板的GNDOUT数字量输出(0或1&#xff09;; 低电平时表示前方有障碍 ; 通过可调电阻调整检测距离 产品特点&#xff1a; …...

第三天 开始Unity Shader的学习之旅之第二天的补充

Unity Shader的学习笔记 第三天 开始Unity Shader的学习之旅之第二天的补充 文章目录 Unity Shader的学习笔记前言一、Unity 提供的内置文件和变量1. 内置的包含文件2. UnityCG.cginc中的常用结构体 二、Unity 提供的Cg/HLSL语义1. 从应用阶段传递模型数据给顶点着色器时Unity…...

文献分享: ColXTR——将ColBERTv2的优化引入ColXTR

1. ColXTR \textbf{1. ColXTR} 1. ColXTR原理 1.1. ColBERTv2 \textbf{1.1. ColBERTv2} 1.1. ColBERTv2概述 1.1.1. \textbf{1.1.1. } 1.1.1. 训练优化 1️⃣难负样本生成 初筛&#xff1a;基于 BM-25 \text{BM-25} BM-25找到可能的负样本重排&#xff1a;使用 KL \text{KL} KL…...

【第21节】windows sdk编程:网络编程基础

目录 引言&#xff1a;网络编程基础 一、socket介绍(套接字) 1.1 Berkeley Socket套接字 1.2 WinSocket套接字 1.3 WSAtartup函数 1.4 socket函数 1.5 字节序转换 1.6 绑定套接字 1.7 监听 1.8 连接 1.9 接收数据 1.10 发送数据 1.11 关闭套接字 二、UDP连接流程…...

《深度剖析:BERT与GPT——自然语言处理架构的璀璨双星》

在自然语言处理&#xff08;NLP&#xff09;的广袤星空中&#xff0c;BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;与GPT&#xff08;Generative Pretrained Transformer&#xff09;系列模型宛如两颗最为耀眼的星辰&#xff0c;引领…...

景联文科技:以高质量数据标注推动人工智能领域创新与发展

在当今这个由数据驱动的时代&#xff0c;高质量的数据标注对于推动机器学习、自然语言处理&#xff08;NLP&#xff09;、计算机视觉等领域的发展具有不可替代的重要性。数据标注过程涉及对原始数据进行加工&#xff0c;通过标注特定对象的特征来生成能够被机器学习模型识别和使…...

LeetCode 30 —— 30.串联所有单词的子串

题目&#xff1a; 给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配&#xff0c;中间不能有其他字符&#xff0c;但不需要考虑 words 中单词串联的顺序。 示例 1&#xff…...

【redis】主从复制:单点问题、配置详解、特点详解

文章目录 单点问题什么是主从复制主从模式能解决的问题并发量有限可用性问题 配置建立复制通过配置文件来指定端口配置主从查看集群结构 断开复制 特点安全性只读传输延迟 单点问题 分布式系统中&#xff0c;涉及到一个非常关键的问题&#xff1a;单点问题 某个服务器程序&…...

VSCode创建VUE项目(四)增加用户Session管理

将用户信息存储或者更新到Session sessionStorage.setItem("userID",loginform.value.username); sessionStorage.setItem(loginTime, Date.now()); 获取Session信息 const storedUserInfo sessionStorage.getItem(userID); const loginTime sessionStorage.get…...

Spring Boot(十六):拦截器Interceptor

拦截器的简介 拦截器&#xff08;Interceptor&#xff09;​是Spring框架中的概​念&#xff0c;它同样适​用于Spring Boot&#xff0c;​因为Spring Boot是基于Spring框架的。拦截器是​一种AOP&#xff08;面向切面编程&#xff09;​的轻量级实现方式&#xff0c;它允许我…...

考研复习之队列

循环队列 队列为满的条件 队列为满的条件需要特殊处理&#xff0c;因为当队列满时&#xff0c;队尾指针的下一个位置应该是队头指针。但是&#xff0c;我们不能直接比较 rear 1 和 front 是否相等&#xff0c;因为 rear 1 可能会超出数组索引的范围。因此&#xff0c;我们需…...

sql-labs

p1 sql注入的目的是为了破坏sql语句结构&#xff0c;有三种参数类型&#xff0c;字符型&#xff08;就是一个字符1或者a之类的&#xff09;&#xff0c;字符串&#xff08;“hellow之类的”&#xff09;型&#xff0c;数值型&#xff0c;前两个有闭合&#xff0c;注释符号有# …...