微信小程序开发:页面结构与样式设计
微信小程序页面结构与样式设计研究
摘要
微信小程序作为移动互联网的重要应用形式,其页面结构与样式设计对于用户体验和功能实现具有关键作用。本文深入探讨微信小程序的页面结构与样式设计,包括WXML语法与页面结构搭建、WXSS样式编写与页面美化提升以及页面布局原理与常见布局方式实践等方面,结合具体案例进行分析,旨在为微信小程序的开发提供理论指导和实践参考。
关键词
微信小程序;WXML;WXSS;页面布局
一、引言
随着移动互联网的飞速发展,微信小程序作为一种无需安装即可使用的轻量化应用,受到了广泛的关注和应用。良好的页面结构与样式设计不仅能够提升用户体验,还能增强小程序的功能性和可维护性。因此,深入研究微信小程序的页面结构与样式设计具有重要的现实意义。
二、WXML语法与页面结构搭建
(一)WXML基本语法结构
WXML(WeiXin Markup Language)是微信小程序的标记语言,用于构建页面的结构。其基本语法结构包括标签的使用、属性的设置以及数据绑定语法等。
-
标签的使用:WXML提供了多种标签,如
<view>
、<text>
、<image>
等,用于构建页面的不同元素。例如,<view>
标签用于定义一个视图容器,<text>
标签用于显示文本内容,<image>
标签用于显示图片。 -
属性的设置:在WXML中,可以通过设置标签的属性来控制元素的外观和行为。常见的属性包括
id
、class
、style
等。例如,通过id
属性可以唯一标识一个元素,方便在样式表和脚本中进行操作;通过class
属性可以为元素添加样式类,实现样式的复用;通过style
属性可以直接为元素设置内联样式。 -
数据绑定语法:WXML支持数据绑定,通过
{{}}
表达式可以将页面数据与视图层进行绑定。当数据发生变化时,视图层会自动更新。例如,在<text>
标签中使用{{message}}
可以动态显示message
数据的值。
(二)WXML高级语法
为了实现更复杂的页面内容展示与更新,WXML提供了条件渲染和列表渲染等高级语法。
-
条件渲染:通过
wx:if
、wx:elif
、wx:else
指令可以实现条件渲染。例如,根据用户的登录状态显示不同的内容:
<view wx:if="{{isLoggedIn}}">欢迎,{{userInfo.name}}</view>
<view wx:else>请先登录</view>
-
列表渲染:使用
wx:for
指令可以实现列表渲染。例如,遍历一个数组显示列表项:
<view wx:for="{{items}}" wx:key="id">{{item.name}}</view>
其中,wx:key
用于指定列表中每一项的唯一标识,提高渲染性能。
(三)WXML组件嵌套关系与布局原理
理解WXML组件的嵌套关系与布局原理是构建复杂页面结构的基础。通过合理嵌套组件,可以实现如导航栏、内容区、底部栏等布局。例如,一个简单的页面布局可以这样构建:
<view class="container"><view class="header">导航栏</view><view class="content">内容区</view><view class="footer">底部栏</view>
</view>
在样式表中,可以通过设置不同的样式类来控制各个区域的布局和外观。
(四)WXML模块化开发技巧
为了提高代码的复用性与可维护性,可以使用WXML的模块化开发技巧。通过import
和include
语句可以引入外部文件。例如,将公共的头部导航栏提取到一个单独的文件header.wxml
中,在其他页面中通过<import src="header.wxml"/>
引入,然后在需要的位置使用<include target="header"/>
来插入头部导航栏的内容。
三、WXSS样式编写与页面美化提升
(一)WXSS样式语法
WXSS(WeiXin Style Sheets)是微信小程序的样式表语言,其语法与CSS类似,但又有其自身的特点。深入学习WXSS的样式语法,包括选择器的使用、样式属性的设置等,是实现页面美化提升的关键。
-
选择器的使用:常见的选择器包括元素选择器、类选择器、ID选择器等。例如,通过类选择器可以为具有相同类的元素设置统一的样式:
.my-class {color: red;font-size: 16px;
}
-
样式属性的设置:WXSS提供了丰富的样式属性,如颜色、字体、边距等,用于控制元素的外观。例如,通过设置
margin
属性可以调整元素的外边距,padding
属性可以调整元素的内边距,border
属性可以设置元素的边框。
(二)盒模型与布局控制
理解盒模型的概念与应用对于实现精确的页面布局控制至关重要。盒模型包括内容(content)、内边距(padding)、边框(border)和外边距(margin)四个部分。通过合理设置这些属性,可以精确控制元素的尺寸与布局。例如,一个元素的总宽度等于内容宽度加上左右内边距、左右边框和左右外边距的总和。
(三)Flexbox布局
Flexbox布局是一种灵活的布局方式,特别适合用于移动设备上的页面设计。通过使用display: flex
、flex-direction
、justify-content
等常用的Flex属性,可以实现灵活的页面元素排列与对齐。例如,实现水平居中和垂直居中的布局:
.container {display: flex;justify-content: center;align-items: center;height: 100vh;
}
(四)样式表的组织与管理
为了提高样式的可读性与可维护性,需要探索样式表的组织与管理方法。可以采用模块化样式,将不同的样式规则按照功能或组件进行划分,存放在不同的文件中,然后通过@import
语句引入。此外,也可以使用一些成熟的样式库,如Taro UI等,来加快开发速度并保证样式的质量和一致性。
四、页面布局原理与常见布局方式实践
(一)页面布局原理
研究小程序页面布局的原理,包括视口的概念、屏幕适配机制等,对于实现自适应布局至关重要。视口是用户可以看到的页面区域,其宽度和高度会根据设备的不同而变化。屏幕适配机制则是通过一些技术手段,使得页面在不同尺寸的屏幕上都能良好地显示。例如,可以使用rpx
(responsive pixel)单位,它是一种响应式像素单位,会根据屏幕宽度自动调整大小,从而实现自适应布局。
(二)常见布局方式实践
在实际开发中,会遇到各种不同的布局需求,需要实践常见的页面布局方式。
-
单列布局:适用于内容主要按照垂直方向排列的页面。例如,一个简单的文章详情页,可以使用单列布局,将标题、内容等元素依次排列。
-
多列布局:适用于需要将内容分成多个列显示的页面。例如,一个商品列表页,可以使用多列布局,将多个商品并排显示。
-
网格布局:通过将页面划分成网格,使得元素在网格中排列,实现更加灵活和规整的布局。例如,在一个图片展示页面,可以使用网格布局,将图片按照一定的行列数排列展示。
(三)元素样式适配
处理页面中的图片、文字等元素的样式适配问题,确保在不同屏幕尺寸下元素的显示比例协调、文字可读性良好。例如,对于图片,可以设置width: 100%
和height: auto
,使其能够自适应容器的宽度;对于文字,可以使用rpx
单位设置字体大小,保证在不同设备上文字的可读性。
(四)布局性能优化
关注布局性能优化,避免过度复杂的布局结构导致页面渲染缓慢,提高用户体验。例如,减少不必要的嵌套层级,使用高效的布局方式,避免使用过多的绝对定位等可能导致布局重绘的操作。
五、结论
微信小程序的页面结构与样式设计是小程序开发中的重要环节。通过深入学习WXML语法与页面结构搭建、WXSS样式编写与页面美化提升以及页面布局原理与常见布局方式实践等方面的知识,可以构建出具有良好用户体验和功能性的微信小程序。在实际开发中,应根据具体的需求和场景,灵活运用所学的知识和技巧,不断优化页面结构与样式设计,提高小程序的质量和竞争力。
附录
示例代码
WXML示例代码
<view class="container"><view class="header"><text class="title">我的小程序</text></view><view class="content"><view wx:for="{{items}}" wx:key="id" class="item"><text>{{item.name}}</text><text>{{item.price}}</text></view></view><view class="footer"><text class="copyright">© 2023 我的小程序</text></view>
</view>
WXSS示例代码
.container {display: flex;flex-direction: column;height: 100vh;
}.header {background-color: #f0f0f0;padding: 20rpx;
}.title {font-size: 36rpx;font-weight: bold;
}.content {flex: 1;padding: 20rpx;
}.item {margin-bottom: 20rpx;padding: 10rpx;border-bottom: 1rpx solid #eee;
}.footer {background-color: #f0f0f0;padding: 20rpx;text-align: center;
}.copyright {font-size: 24rpx;color: #666;
}
JavaScript示例代码
Page({data: {items: [{ id: 1, name: '商品1', price: '¥10' },{ id: 2, name: '商品2', price: '¥20' },{ id: 3, name: '商品3', price: '¥30' }]}
});
WXML常用标签及其作用
标签 | 作用描述 | 示例代码 |
---|---|---|
<view> | 定义一个视图容器 | <view class="container"></view> |
<text> | 显示文本内容 | <text>这是一个文本</text> |
<image> | 显示图片 | <image src="image.jpg"></image> |
<button> | 定义一个按钮 | <button>点击我</button> |
<scroll-view> | 创建一个可滚动的视图区域 | <scroll-view scroll-y="true" class="scroll-view">内容</scroll-view> |
<navigator> | 定义一个导航链接 | <navigator url="/pages/detail/detail">跳转到详情页</navigator> |
Flexbox布局常用属性及其取值
属性 | 取值选项 | 描述 | 示例代码 |
---|---|---|---|
display | flex | 将元素设置为弹性布局容器 | .container { display: flex; } |
flex-direction | row 、column 等 | 定义主轴的方向 | .container { flex-direction: row; } |
justify-content | flex-start 、center 、flex-end 等 | 定义项目在主轴上的对齐方式 | .container { justify-content: center; } |
align-items | stretch 、center 、flex-start 、flex-end 等 | 定义项目在交叉轴上的对齐方式 | .container { align-items: center; } |
flex-wrap | nowrap 、wrap 等 | 定义项目是否换行 | .container { flex-wrap: wrap; } |
flex | 数值 | 定义项目的伸缩比例 | .item { flex: 1; } |
相关文章:
微信小程序开发:页面结构与样式设计
微信小程序页面结构与样式设计研究 摘要 微信小程序作为移动互联网的重要应用形式,其页面结构与样式设计对于用户体验和功能实现具有关键作用。本文深入探讨微信小程序的页面结构与样式设计,包括WXML语法与页面结构搭建、WXSS样式编写与页面美化提升以…...
Linux paste命令
目录 一. 简介二. 基本语法三. 小案例 一. 简介 paste 命令用于合并多个文件的行,按列方式输出,默认以制表符(Tab)分隔。 ⏹基本语法 paste [选项] 文件1 文件2 ...二. 基本语法 <()的方式模拟文件流paste命令将2个文件流粘…...
关于Object.assign
Object.assign 基本用法 Object.assign() 方法用于将所有可枚举属性的值从一个或者多个源对象source复制到目标对象。它将返回目标对象target const target { a: 1, b: 2 } const source { b: 4, c: 5 }const returnedTarget Object.assign(target, source)target // { a…...
新能源汽车充换站如何实现光储充一体化管理?
长三角某换电站光伏板晒到发烫,却因电网限电被迫切机;北京五环充电站每月多缴6万超容费;深圳物流车充电高峰排队3小时...当95%的充换站深陷“用不起绿电、扛不住扩容、算不清碳账”困局,安科瑞用一组真实数据撕开行业潜规则&#…...
Flink 流处理框架的核心特性
文章目录 事件时间支持Flink状态编程一、状态的类型1. 托管状态(Managed State)2. 原始状态(Raw State) 二、状态的管理和容错 Flink端到端的一致性1、检查点机制2、幂等3、事务 水位线窗口操作1、窗口类型2、窗口操作的时间语义 …...
蓝桥杯之AT24C02的页写页读
一、原理: 1、页写:一次性向AT24C02里的多个数据存储单元地址写入多个数据 (1)在AT24C02的页写模式下,每次写入数据后,存储单元地址会自动加1。 (2)一页有8个数据存储单元ÿ…...
计算机二级web易错点(7)-选择题
在 JavaScript 中,substr() 方法用于从字符串中提取子字符串。它接受两个参数,第一个参数表示开始提取的位置(索引从 0 开始),第二个参数表示要提取的字符数量。 在代码 var str"abcdefgh"; alert(str.subs…...
WordPress子主题插件 Child Theme Configurator
一、插件介绍 Child Theme Configurator 是一款强大的 WordPress 插件,专为创建和管理子主题(Child Theme)而设计。使用子主题可以安全地自定义 WordPress 站点,而不会影响原主题(Parent Theme),同时确保主题更新时不会丢失修改。 该插件适用于初学者和高级开发者,提…...
[网鼎杯 2020 白虎组]PicDown1 [反弹shell] [敏感文件路径] [文件描述符]
常见读取路径 /etc/passwd一些用户和权限还有一些乱七八糟的 /proc/self/cmdline包含用于开始当前进程的命令 /proc/self/cwd/app.py当前工作目录的app.py /proc/self/environ包含了可用进程的环境变量 /proc/pid/exe 包含了正在进程中运行的程序链接; /proc/pid…...
基于Spring Boot的乡村养老服务管理系统的设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
ElasticSearch 可观测性最佳实践
ElasticSearch 概述 ElasticSearch 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别(大数据时代)的数据。ES 也使用 Java 开…...
Java----正则表达式的学习
正则表达式可以检验字符串是否满足一定规则,并用来校验数据格式的合法性。 在一段文本当中查找满足需求的内容: import java.math.BigDecimal; import java.math.BigInteger; import java.util.Random;import static java.lang.Math.abs; import static…...
为何AI系统比以往任何时候都更需要红队测试
AI 系统已深度融入现代生活,但并非无懈可击。红队测试作为一项关键技术,正通过系统性地挖掘 AI 漏洞,显著提升其安全性与可靠性。随着人工智能技术的快速迭代,这种全面测试的需求愈发迫切,不仅能防范潜在危害ÿ…...
ElementPlus 快速入门
目录 前言 为什么要学习 ElementPlus? 正文 步骤 1 创建 一个工程化的vue 项目 2 安装 element-Plus :Form 表单 | Element Plus 1 点击 当前界面的指南 2 点击左边菜单栏上的安装,选择包管理器 3 运行该命令 demo(案例1 ) 步骤 …...
vue3 ts 请求封装后端接口
一 首页-广告区域-小程序 首页-广告区域-小程序 GET/home/banner1.1 请求封装 首页-广告区域 home.ts export const getHomeBannerApi (distributionSite 1) > {return http<BannerItem[]>({method: GET,url: /home/banner,data: {distributionSite,},}) }函数定…...
[ACTF2020 新生赛]BackupFile-3.23BUUCTF练习day5(1)
[ACTF2020 新生赛]BackupFile-3.23BUUCTF练习day5(1) 解题过程 打开题目环境 看题目意思应该是让我找备份文件 备份文件一般的后缀名为 .rar .zip .7z .tar.gz .bak .swp .txt .html .bak 直接扫描一下 在url中输入/index.php.bak 弱类型比较 为弱相等,即当…...
信创-人大金仓数据库创建
一. 官文 资源下载地址 https://download.kingbase.com.cn/xzzx/index.htm 下载安装文件 下载授权文件 产品文档地址:https://help.kingbase.com.cn/v8/index.html 二. 概念 2.1 体系结构 实例结构 :由数据库文件和 KingbaseES 实例组成。数据…...
【QT】QTCreator测试程序
使用QTCreator实现窗体,其中拟合程度图左侧是测点列表,右侧是改测点的拟合程度图(不使用UI,使用代码编写实现) 实现思路 创建主窗口:继承 QMainWindow 类来创建主窗口。布局管理:使用 QSplitt…...
Python入门基础
python基础类型转换 str()与int()类型转换 name 张三 age 20 print(type(name),type(age))print(我叫name 今年, str(age)岁 )a10 b198.8 cFalse print(type(a),type(b),type(c)) print(str(a),str(b),str(c))s1 128 f198.7 s276.77 ffTrue s3hello print(type(s…...
Debug-037-table列表勾选回显方案
效果展示: 图1 图2 最近实现一个支持勾选的el-table可以回显之前勾选项的功能。实现了一个“编辑”的功能: 在图1中的列表中有三行数据,当点击“更换设备”按钮时,打开抽屉显示el-table组件如图2所示,可以直接回显勾选…...
Zotero·Awesome GPT配置
使用API配置(稳定,氪金) 配置1-1 (方式1)在DeepSeek 开放平台获得API Key,输入Awesome GPT的api key中;base api选项选择deepseek;Temperature设置1,Related Number设置…...
在 Simulink 里构建输水隧洞充水过程模型的基本步骤与思路
下面为你介绍在 Simulink 里构建输水隧洞充水过程模型的基本步骤与思路,不过由于没办法直接生成 Simulink 模型文件,这里会给出一个模拟该过程的 Matlab 脚本代码示例。 建模思路 输水隧洞充水过程一般能够用一阶常微分方程来描述,其方程如…...
网络基础梳理
为什么要有网络呢? 在一开始科学家们都是自己在计算机当中做实验但是难免需要共同进行科研。假设现在一个业务需要三个人共同完成,那么现在就有问题了: 由于第一个人完成工作前,其他两人无法开始,这导致工作流程是串行…...
Android开发检查是否是各大厂商手机的工具类
Android开发检查是否是各大厂商手机的工具类 有时需要知道该手机是vivo,oppo,xiaomi,huawei等手机时,需要用到 public class RomUtils {private static final String TAG "Rom";public static final String ROM_MIUI "MIUI";public static …...
系统与网络安全------网络应用基础(2)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 交换机 认识交换机 交换机,Switch 用户将多台计算机/交换机连接在一起,组建网络 交换机负责为其中任意两台计算机提供独享线路进行通信 非网管型交换机 即插即用交换机 即插即用&…...
vue项目配置服务器代理,解决请求跨域问题
在 Vue 项目中配置代理服务器,以下是常见的两种方式: 1、基于vue-cil(webpack)框架项目 vue.config.js module.exports {devServer: {proxy: {/api: {target: http://xxxxxx.com, // 服务器地址changeOrigin: true,pathRewrit…...
【硬核实战】ETCD+AI智能调度深度整合!从架构设计到调优避坑,手把手教你打造高可用调度系统!
一、核心架构设计:ETCD如何赋能AI调度? 🔥 架构图: [AI调度引擎] ← 实时数据 → [ETCD集群] ↓ 决策指令 [执行层(车辆/物流/交通设备)] 核心角色: ETCD:存储调度策略、节点状…...
《软件安装与使用教程》— NVIDIA CUDA在Windows的安装教程
《软件安装与使用教程》— NVIDIA CUDA在Windows的安装教程 Installed: - Nsight Monitor Not Installed: - Nsight for Visual Studio 2019 Reason: VS2019 was not found - Nsight for Visual Studio 2017 Reason: VS2017 was not found - Integrated Graphics Frame Debugge…...
Spring的bean生命周期
Spring框架中的bean生命周期指的是在容器中一个bean从创建到销毁的整个过程。以下是Spring中bean的生命周期的主要阶段: 实例化Bean:容器根据bean的定义创建bean的实例。 设值注入:容器通过setter方法或字段直接注入bean的属性。 调用Bean的…...
java执行jar包提示没有主清单属性
以前都没遇到过这种情况,什么时候打jar, war包都没有遇到过, 按照网上说的创建了META-INF/MANIFEST.MF 还是报错 于是检查下maven 打包发现:竟然有skip 为true 去掉 skip true ,进行打包,编译后正常...
基于 FPGA的HLS技术与应用
1、hls简介 HLS ( high level synthesis )即高层次综合,主要是利用高级编程语言实现算法。 2、循环优化 约束语法: #pragma HLS unroll #pragma HLS PIPELINE II1 绝大多数循环都以串行的方式执行,这种执行方…...
[笔记] SpringBoot3 使用 EasyExcel 封装工具类实现复杂 Excel 数据处理:使用Java构建高效的数据导入解决方案
文章目录 一. 特殊 Excel 表格例子二. 使用示例1. bo 示例(部分字段)2. 自定义监听器3. 使用方法 三. 实现1. 工具类2. 默认基础导入(特殊 Excel 建立在这个基础上)2.1 Excel 导入监听2.2 默认监听2.3 Excel 返回对象2.3 默认excel返回对象实现 3. 特殊 Excel3.1 单元格位置类3…...
【数据库】sql错题详解
1. 执行子查询 SELECT 供应商号 FROM 订购单 WHERE 职工号 IN (E1, E3) GROUP BY 供应商号 HAVING COUNT(DISTINCT 职工号) 2筛选职工号为 E1 或 E3 的记录: 依据 WHERE 职工号 IN (E1, E3) 这个条件,从 订购单 表中把职工号为 E1 或者 E3 的记录筛选出…...
Three.js贴图技巧:优化性能与效果
引言 在当今数字化的时代,WebGL 技术为开发者们打开了一扇通往交互式 3D 图形世界的大门,而 Three.js 作为JavaScript库中的佼佼者,凭借其简单易用的 API 和丰富的功能,在创建3D场景和交互应用方面得到了广泛应用。在Three.js构建…...
Java Collection API增强功能系列之一 Arrays.asList()
在Java编程中,Arrays.asList() 是一个高频使用却又容易引发陷阱的工具方法。它能够快速将数组转换为列表,但其特殊行为常常让开发者踩坑。本文将深入剖析该方法的本质特性,并揭示其使用时的注意事项。一、方法定义与基础用法 1. 方法签名 p…...
websocket中spring注入失效
一个null指针引发的思考 websocket中spring注入失效 一个null指针引发的思考场景代码SpringBoot入口类配置类websocket类 问题排查问题1:问题2: 反思解决方案一:方案二:方案三:方案四: 场景 首页有个webso…...
Nat Commun:网络结构在塑造神经表征的强度中扮演着‘幕后推手’的角色
摘要 人类通过一系列离散事件构建他们对世界的心智模型。这一过程被称为图学习,它产生了一个编码事件间转移概率图的模型。近期的研究表明,一些网络比其他网络更容易学习,但这种效应的神经基础仍然未知。在这里,本研究使用功能磁共…...
Driver具体负责什么工作
在 Apache Spark 中,Driver(驱动程序) 是 Spark 应用的核心控制节点,负责协调整个应用的执行流程。它是用户编写的 Spark 应用程序(如 main() 方法)的入口点,直接决定了任务的调度、资源分配和结…...
LeetCode 热题 100----2.移动零
LeetCode 热题 100----2.移动零 题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums [0,1,0,3,12] 输出: [1,3,12,…...
能源革命新突破:虚拟电厂赋能微电网智能调控,构建低碳生态新格局
在“双碳”目标的引领下,中央一号文件明确提出了“推进农村能源革命,深化绿色低碳技术应用”。作为能耗集中区域,产业园区如何实现清洁能源高效消纳与碳减排的目标成为了难题,中电国为推出的虚拟电厂与风光储充柴多能互补的微电网…...
Java集合框架深度剖析:从数据结构到实战应用
引言 Java集合框架是Java开发中的核心组件之一,其设计目标是提供高性能、高复用性的数据容器。无论是数据处理、缓存设计还是高并发场景,集合框架都扮演着关键角色。本文将从List、Map、Set三大核心接口出发,深入剖析其主流实现类࿰…...
基于灵动微单片机SPIN系列的两轮车解决方案
电动车需配备与电机兼容性更高的双模控制器。灵动针对两轮车提供了相应的方案和解决算法。在两轮车的霍尔传感器出现故障时,系统应能继续有效地驱动电机。除了常规的过流、过压、过温保护措施外,灵动的方案还支持防盗功能,具备电刹车能力&…...
ngx_http_core_server_name
定义在 src\http\ngx_http_core_module.c static char * ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {ngx_http_core_srv_conf_t *cscf conf;u_char ch;ngx_str_t *value;ngx_uint_t i;ngx_…...
【Docker系列一】Docker 简介
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
[C++面试] 你了解transform吗?
层级核心知识点入门基本语法、与for_each对比、单/双范围操作进阶动态扩展、原地转换、类型兼容性、异常安全高阶性能优化、C20 Ranges、transform_if模拟 一、入门 1、描述std::transform的基本功能,并写出两种版本的函数原型 std::transform函数是 C 标准库<…...
MSE分类时梯度消失的问题详解和交叉熵损失的梯度推导
下面是MSE不适合分类任务的解释,包含梯度推导。以及交叉熵的梯度推导。 前文请移步笔者的另一篇博客:大模型训练为什么选择交叉熵损失(Cross-Entropy Loss):均方误差(MSE)和交叉熵损失的深入对比…...
docker 安装部署 canal
1 mysql 安装 1.1 拉取镜像 docker pull mysql:8.4.41.2 创建挂载目录 mkdir -p /user/lzl/tool/docker/mysql/mysql_8.4.4/home/confmkdir -p /user/lzl/tool/docker/mysql/mysql_8.4.4/home/datamkdir -p /user/lzl/tool/docker/mysql/mysql_8.4.4/home/log1.3 编辑配置文…...
flowable适配达梦7 (2.1)
经过第一版的问题解决,后端项目可以启动,前端页面也集成进去。 前端在流程设计页面报错 之后发现主要是组件中modelerStore这个值没有 解决方法:在data增加对象 给component/process/designer.vue 中涉及到的每个子组件传入 :modelerStore“modeler…...
优化 Docker 镜像 技巧
优化 Docker 镜像可以提高构建速度、减少镜像大小、提高安全性和效率。以下是一些优化 Docker 镜像的方法: 使用适当的基础镜像 选择合适的基础镜像可以减小镜像大小,并确保基础镜像的安全性和更新性。Alpine、Ubuntu Minimal 等轻量级基础镜像是常用选…...
Spring Boot框架中常用注解
以下是Spring Boot框架中常用注解的详细说明,包括名称、用途、用法、使用位置及扩展示例,按功能模块分类整理: 一、核心启动与配置注解 1. SpringBootApplication 用途:主启动类注解,整合了 Configuration、EnableAu…...