Axure常用变量及使用方法详解
点击下载《Axure常用变量及使用方法详解.pdf》
摘要
Axure RP 作为一款领先的前端原型设计工具,提供了全面的 变量 和 函数 系统,以支持复杂的交互设计和动态内容展示。本文将从专业角度详细解析 Axure 中的 全局变量、中继器数据集变量/函数、元件变量/函数、页面变量/函数、窗口变量/函数、鼠标指针变量/函数、数值处理函数、字符串处理函数、日期处理函数 以及 布尔值 的逻辑运算符。通过详细的示例和步骤说明,帮助读者全面理解和掌握这些关键功能,从而在原型设计中实现更高效、更灵活的交互效果。
1. 全局变量(Global Variables)
1.1 变量类型
[[GlobalVariableName]]
:自定义全局变量,用于在整个原型中共享数据。
1.2 使用场景
-
跨页面数据传递:在多个页面之间传递用户输入或计算结果。
-
示例:
在登录页面设置 userName,当用户输入用户名登录成功后,使用该变量保存用户输入的用户名,然后在其他页面展示当前登录的用户。
<!-- 在主页显示 --> 欢迎, [[userName]]!
-
-
用户偏好设置存储:存储用户的偏好设置,如主题、语言等。
- 示例:设置
[[theme]]
为用户选择的值,并在不同页面应用相应的主题。
- 示例:设置
-
多组件共享参数:在多个组件之间共享参数,如筛选条件、排序方式等。
- 示例:设置
[[filterCriteria]]
为用户选择的筛选条件,并在多个中继器中使用该变量。
- 示例:设置
1.3 注意事项
- 命名规范:使用有意义的名称,避免使用保留字。
- 作用域管理:全局变量在整个原型中共享,需谨慎使用以避免命名冲突和数据污染。
2. 中继器数据集(Repeater Dataset)
2.1 变量类型
[[Item.ColumnName]]
:当前行中指定列的值。[[TargetItem.ColumnName]]
:目标行中指定列的值(用于条件判断或交互)。[[Repeater]]
:当前中继器对象,可用于访问中继器的属性和方法。
2.2 核心函数
函数 | 描述 | 示例 |
---|---|---|
Item.Repeater | 当前项所属的中继器对象 | [[Item.Repeater.name]] |
Item.index | 当前项的索引(从 1 开始) | [[Item.index]] |
Item.isFirst | 当前项是否为第一项 | [[Item.isFirst]] |
Item.isLast | 当前项是否为最后一项 | [[Item.isLast]] |
Item.isEven | 当前项的索引是否为偶数 | [[Item.isEven]] |
Item.isOdd | 当前项的索引是否为奇数 | [[Item.isOdd]] |
Item.isMarked | 当前项是否被标记 | [[Item.isMarked]] |
Item.isVisible | 当前项是否可见 | [[Item.isVisible]] |
Item.columnCount | 当前中继器的列数 | [[Item.columnCount]] |
Item.rowCount | 当前中继器的总行数 | [[Item.rowCount]] |
2.3 使用示例
-
动态生成列表项:
"[[Item.Name]]: [[Item.Description]]"
2.4 注意事项
- 数据集操作:通过 “设置数据集” 动作可以动态更新中继器数据。
- 分页控制:使用
Item.rowCount
和Item.index
实现分页功能。
3. 元件变量/函数(Widget)
3.1 变量类型
[[This]]
:当前元件对象。[[Target]]
:目标元件对象(用于交互中引用其他元件)。
3.2 核心函数
函数 | 描述 | 示例 |
---|---|---|
this.text | 当前元件的文本内容 | [[This.text]] |
this.x | 当前元件的 x 坐标 | [[This.x]] |
this.y | 当前元件的 y 坐标 | [[This.y]] |
this.width | 当前元件的宽度 | [[This.width]] |
this.height | 当前元件的高度 | [[This.height]] |
this.rotation | 当前元件的旋转角度 | [[This.rotation]] |
this.opacity | 当前元件的透明度 | [[This.opacity]] |
this.isVisible | 当前元件是否可见 | [[This.isVisible]] |
this.isSelected | 当前元件是否被选中 | [[This.isSelected]] |
this.scrollX | 当前元件的水平滚动位置 | [[This.scrollX]] |
this.scrollY | 当前元件的垂直滚动位置 | [[This.scrollY]] |
3.3 使用示例
-
动态调整元件大小:
// 设置元件宽度为 200px [[This.width]] = 200
-
切换元件可见性:
// 切换元件的可见性 [[This.isVisible]] = ![[This.isVisible]]
-
移动元件位置:
// 将元件移动到 (100, 100) 坐标 [[This.x]] = 100 [[This.y]] = 100
3.4 注意事项
- 动态更新:通过 “设置文本”、“设置尺寸” 等动作可以动态更新元件的属性。
- 事件驱动:元件变量常用于事件驱动的交互设计中。
4. 页面变量/函数(Page)
4.1 变量类型
[[PageName]]
:当前页面的名称。
4.2 核心函数
函数 | 描述 | 示例 |
---|---|---|
Page.width | 当前页面的宽度 | [[Page.width]] |
Page.height | 当前页面的高度 | [[Page.height]] |
Page.scrollX | 当前页面的水平滚动位置 | [[Page.scrollX]] |
Page.scrollY | 当前页面的垂直滚动位置 | [[Page.scrollY]] |
Page.url | 当前页面的 URL | [[Page.url]] |
Page.title | 当前页面的标题 | [[Page.title]] |
4.3 使用示例
-
显示当前页面名称:
"当前页面: [[PageName]]"
-
根据页面宽度调整布局:
// 根据页面宽度设置背景颜色 [[Page.width]] > 1200 ? "large-layout" : "small-layout"
4.4 注意事项
- 页面导航:通过页面变量可以实现页面间的数据传递和导航控制。
- 动态页面:适用于需要根据用户操作动态改变页面属性的场景。
5. 窗口变量/函数(Window)
5.1 核心函数
函数 | 描述 | 示例 |
---|---|---|
Window.width | 浏览器窗口的宽度 | [[Window.width]] |
Window.height | 浏览器窗口的高度 | [[Window.height]] |
Window.scrollX | 当前窗口的水平滚动位置 | [[Window.scrollX]] |
Window.scrollY | 当前窗口的垂直滚动位置 | [[Window.scrollY]] |
Window.name | 当前窗口的名称 | [[Window.name]] |
Window.top | 当前窗口的顶部位置 | [[Window.top]] |
Window.left | 当前窗口的左侧位置 | [[Window.left]] |
5.2 使用示例
-
显示窗口大小:
"窗口大小: [[Window.width]]x[[Window.height]]"
-
根据滚动位置显示按钮:
// 当滚动位置超过 100px 时显示按钮 [[Window.scrollY]] > 100 ? "show-button" : "hide-button"
5.3 注意事项
- 响应式设计:通过窗口变量可以实现响应式布局和动态调整。
- 滚动控制:适用于需要根据滚动位置触发交互的场景。
6. 鼠标指针(Cursor)
6.1 核心函数
函数 | 描述 | 示例 |
---|---|---|
Cursor.x | 鼠标指针的 x 坐标 | [[Cursor.x]] |
Cursor.y | 鼠标指针的 y 坐标 | [[Cursor.y]] |
Cursor.dragX | 鼠标拖动的水平距离 | [[Cursor.dragX]] |
Cursor.dragY | 鼠标拖动的垂直距离 | [[Cursor.dragY]] |
Cursor.totalDragX | 鼠标拖动的总水平距离 | [[Cursor.totalDragX]] |
Cursor.totalDragY | 鼠标拖动的总垂直距离 | [[Cursor.totalDragY]] |
Cursor.downTime | 鼠标按下持续的时间 | [[Cursor.downTime]] |
6.2 使用示例
-
显示鼠标位置:
"鼠标位置: ([[Cursor.x]], [[Cursor.y]])"
-
检测鼠标拖动:
// 当拖动距离超过 50px 时执行操作 [[Cursor.totalDragX]] > 50 || [[Cursor.totalDragY]] > 50 ? "drag-detected" : "no-drag"
6.3 注意事项
- 交互触发:通过鼠标指针变量可以实现鼠标悬停、点击、拖动等交互触发。
- 动态响应:适用于需要根据鼠标位置或状态动态改变元件属性的场景。
7. 数值处理(Number)
7.1 变量类型
[[LVAR1]]
:数值型局部变量。
7.2 核心函数
函数 | 描述 | 示例 |
---|---|---|
toFixed(decimalPlaces) | 将数字格式化为指定的小数位数 | [[NumberVar.toFixed(2)]] |
toExponential(decimalPlaces) | 将数字转换为指数表示法 | [[NumberVar.toExponential(2)]] |
toPrecision(precision) | 将数字格式化为指定的总位数 | [[NumberVar.toPrecision(5)]] |
Math.abs() | 返回数字的绝对值 | [[Math.abs(NumberVar)]] |
Math.ceil() | 返回大于或等于数字的最小整数 | [[Math.ceil(NumberVar)]] |
Math.floor() | 返回小于或等于数字的最大整数 | [[Math.floor(NumberVar)]] |
Math.max() | 返回一组数字中的最大值 | [[Math.max(num1, num2)]] |
Math.min() | 返回一组数字中的最小值 | [[Math.min(num1, num2)]] |
Math.random() | 返回 0 到 1 之间的随机数 | [[Math.random()]] |
Math.round() | 返回四舍五入后的整数 | [[Math.round(NumberVar)]] |
Math.sqrt() | 返回数字的平方根 | [[Math.sqrt(NumberVar)]] |
7.3 使用示例
-
计算总和:
[[Math.round([[num1]] + [[num2]])]
-
生成随机数:
[[Math.random()]]
7.4 注意事项
- 数据类型:确保参与运算的变量是数值类型,否则可能导致计算错误。
- 精度控制:在处理浮点数时,注意精度问题。
8. 字符串处理(String)
8.1 核心函数
函数 | 描述 | 示例 |
---|---|---|
length | 返回字符串的长度 | [[StringVar.length]] |
concat(string) | 连接两个或多个字符串 | [[StringVar.concat("!")]] |
indexOf(searchValue) | 返回子字符串首次出现的位置 | [[StringVar.indexOf("test")]] |
lastIndexOf(searchValue) | 返回子字符串最后一次出现的位置 | [[StringVar.lastIndexOf("test")]] |
replace(searchValue, replaceValue) | 替换字符串中的子字符串 | [[StringVar.replace("test", "sample")]] |
slice(startIndex, endIndex) | 提取字符串的子字符串 | [[StringVar.slice(0, 5)]] |
split(separator) | 将字符串分割成数组 | [[StringVar.split(",")]] |
substr(startIndex, length) | 从指定位置开始提取指定长度的子字符串 | [[StringVar.substr(2, 3)]] |
substring(startIndex, endIndex) | 提取两个指定位置之间的子字符串 | [[StringVar.substring(0, 5)]] |
toLowerCase() | 将字符串转换为小写 | [[StringVar.toLowerCase()]] |
toUpperCase() | 将字符串转换为大写 | [[StringVar.toUpperCase()]] |
trim() | 去除字符串两端的空白字符 | [[StringVar.trim()]] |
8.2 使用示例
-
拼接字符串:
[["Hello, " + [[userName]] + "!"]]
-
截取字符串:
[["Hello World!".substring(0, 5)]]
8.3 注意事项
- 编码问题:处理多语言文本时,注意字符编码。
- 格式化:根据需要格式化字符串以匹配特定需求。
9. 日期处理(Date)
9.1 变量类型
[[Now]]
:当前日期时间。
9.2 核心函数
函数 | 描述 | 示例 |
---|---|---|
getDate() | 返回日期中的日 | [[Now.getDate()]] |
getDay() | 返回星期中的第几天 | [[Now.getDay()]] |
getFullYear() | 返回四位数的年份 | [[Now.getFullYear()]] |
getHours() | 返回小时 | [[Now.getHours()]] |
getMilliseconds() | 返回毫秒 | [[Now.getMilliseconds()]] |
getMinutes() | 返回分钟 | [[Now.getMinutes()]] |
getMonth() | 返回月份 | [[Now.getMonth()]] |
getSeconds() | 返回秒 | [[Now.getSeconds()]] |
getTime() | 返回时间戳 | [[Now.getTime()]] |
getTimezoneOffset() | 返回时区偏移量 | [[Now.getTimezoneOffset()]] |
Date.parse(dateString) | 解析日期字符串 | [[Date.parse("2023-10-01")]] |
9.3 使用示例
-
显示当前日期:
"当前日期: [[Now.getFullYear()]]年[[Now.getMonth() + 1]]月[[Now.getDate()]]日"
9.4 注意事项
- 时区问题:处理跨时区应用时,注意时区的影响。
- 格式转换:根据需要格式化日期和时间以匹配特定需求。
10. 布尔值(Boolean)
10.1 逻辑运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 等于 | [[num1 == num2]] |
!= | 不等于 | [[num1 != num2]] |
> | 大于 | [[num1 > num2]] |
< | 小于 | [[num1 < num2]] |
>= | 大于等于 | [[num1 >= num2]] |
<= | 小于等于 | [[num1 <= num2]] |
&& | 逻辑与 | [[(num1 > 0) && (num2 > 0)]] |
` | ` | |
! | 逻辑非 | [[!(num1 > 0)]] |
10.2 使用示例
-
条件判断:
[[If([[userIsLoggedIn]], "已登录", "未登录")]]
-
逻辑运算:
[[If([[(num1 > 0) && (num2 > 0)]], "两者都大于零", "至少有一个不大于零")]]
10.3 注意事项
- 逻辑正确性:确保逻辑运算符的使用符合预期。
- 短路运算:了解逻辑运算符的短路特性,避免不必要的计算。
总结
Axure 提供了全面的 变量 和 函数 系统,涵盖了从全局变量到布尔值的多种数据类型和操作函数。通过详细的分类和说明,本文全面介绍了 Axure 中各个类别所有的方法和变量,帮助读者在原型设计中更加得心应手。希望本文的内容能为你的 Axure 原型设计提供有价值的参考和指导。
点击下载《Axure常用变量及使用方法详解.pdf》
相关文章:
Axure常用变量及使用方法详解
点击下载《Axure常用变量及使用方法详解.pdf》 摘要 Axure RP 作为一款领先的前端原型设计工具,提供了全面的 变量 和 函数 系统,以支持复杂的交互设计和动态内容展示。本文将从专业角度详细解析 Axure 中的 全局变量、中继器数据集变量/函数、元件变量…...
为企业级AI交互系统OpenWebUI集成LDAP用户权限认证(2)
为企业级AI交互系统OpenWebUI集成LDAP用户权限认证(2) 本文介绍如何OpenWebUI系统集成LDAP认证服务,及其用户权限及用户组设置。 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录…...
mac 被禁用docker ui后,如何使用lima虚拟机启动docker
本机macos 安装lima brew install lima创建配置 echo "\\ndynamic:\n big-sur:\n image: docker://docker:git\n linux:\n image: docker.io/limasoftware/ubuntu:20.04 \\n" > ~/.lima/default.yaml启动名叫default的虚拟机 limactl start default进…...
C#实现AES-CBC加密工具类(含完整源码及使用教程)
一、AES-CBC加密应用场景 AES(Advanced Encryption Standard)作为全球公认的安全加密标准,广泛使用在以下场景: API通信加密:保护HTTP接口传输的敏感数据(如身份令牌、支付信息)文件安全存储&…...
Unity辅助工具_头部与svn
Unity调用者按钮增加PlaySideButton using QQu; using UnityEditor; using UnityEngine; [InitializeOnLoad] public class PlaySideButton {static PlaySideButton(){UnityEditorToolbar.RightToolbarGUI.Add(OnRightToolbarGUI);UnityEditorToolbar.LeftToolbarGUI.Add(OnLe…...
VBA 数据库同一表的当前行与其他行的主键重复判断实现方案1
目的,判断是否主键重复,不重复则登录新数据,重复则不登录。 定义类型: DataRecord tableName 表名 rowNumber 行号 columnName 列名 data 数据 想要实现的代码逻辑如下: 模拟数据库的登录过程。假设…...
Pytorch系列教程:可视化Pytorch模型训练过程
深度学习和理解训练过程中的学习和进步机制对于优化性能、诊断欠拟合或过拟合等问题至关重要。将训练过程可视化的过程为学习的动态提供了有价值的见解,使我们能够做出合理的决策。训练进度必须可视化的两种方法是:使用Matplotlib和Tensor Board。在本文…...
CSS伸缩盒模型(弹性盒子)
伸缩盒模型(Flexbox,Flexible Box Layout)是 CSS 中一种一维布局模型,用于更高效地处理元素的对齐、分布和响应式布局。其核心思想是让容器内的子元素(称为“项目”)能够灵活地自动调整大小和位置以适应不同…...
C++蓝桥杯基础篇(十一)
片头 嗨~小伙伴们,大家好!今天我们来学习C蓝桥杯基础篇(十一),学习类,结构体,指针相关知识,准备好了吗?咱们开始咯~ 一、类与结构体 类的定义:在C中&#x…...
版本控制泄露源码 .svn
##相关知识 SVN源码泄露 SVN(subversion)是源代码版本管理软件,造成 SVN 源代码漏洞的主要原因是管理员操作不规范。“ 在使用 SVN 管理本地代码过程中,会自动生成一个名为 .svn 的隐藏文件夹,其中包含重要的源代码信…...
基于单片机的风速报警装置设计
标题:基于单片机的风速报警装置设计 内容:1.摘要 本设计聚焦于基于单片机的风速报警装置,旨在解决传统风速监测缺乏实时报警功能的问题。采用单片机作为核心控制单元,结合风速传感器采集风速数据。经实验测试,该装置能准确测量 0 - 60m/s 范…...
YOLOv12本地部署教程——42%速度提升,让高效目标检测触手可及
YOLOv12 是“你只看一次”(You Only Look Once, YOLO)系列的最新版本,于 2025 年 2 月发布。它引入了注意力机制,提升了检测精度,同时保持了高效的实时性能。在保持速度的同时,显著提升了检测精度。例如&am…...
Banana Pi OpenWRT One Wifi6 OpenWrt社区官方开源路由器评测
第一款不可破解、开源、版权软件、符合 FCC、CE 和 RoHS 的维修权路由器 OpenWRT项目今年已经20岁了,为了纪念这一时刻,Banana Pi OpenWrt One/AP-24.XY路由器开发系统已经上市。这是OpenWRT团队与硬件公司的第一个联合项目。选择 Banana Pi,…...
【算法】经典排序算法介绍+代码示例
排序算法介绍 1)冒泡排序 (Bubble Sort)2)选择排序(Selection Sort)3)插入排序(Insertion Sort)4)希尔排序(Shell Sort)5)归并排序(Me…...
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_02带边框和斑马纹的固定表头表格
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
【Linux】线程控制
目录 一、原生线程库: 二、线程控制: 1、线程创建: 2、线程等待: 自定义类型的接收对象: 编辑 3、线程终止: pthread_exit: pthread_cancel: 4、线程ID: 线程库的底层原…...
pyqt联合designer的运用和设置
PyQt Designer 简介 PyQt Designer 是一个用于创建和设计 PyQt 应用程序用户界面的可视化工具。它允许用户通过拖放方式添加和排列各种控件,如按钮、文本框、滑块等,并设置它们的属性和样式,从而快速构建出美观且功能完整的 UI 界面。 Windows版本:【免费】安装包别管啊啊…...
spring boot3.4.3+MybatisPlus3.5.5+swagger-ui2.7.0
使用 MyBatis-Plus 操作 books 表。我们将实现以下功能: 创建实体类 Book。 创建 Mapper 接口 BookMapper。 创建 Service 层 BookService 和 BookServiceImpl。 创建 Controller 层 BookController。 配置 MyBatis-Plus 和数据库连接。 1. 项目结构 src ├─…...
利用微软的 HTML 应用程序宿主程序的攻击
mshta.exe 是微软的 HTML 应用程序宿主程序(Microsoft HTML Application Host),属于 Windows 系统组件。它的核心功能是运行 .hta(HTML Application)文件,允许通过 HTML、JavaScript、VBScript 等技术创建交…...
【深度学习】读写文件
读写文件 到目前为止,我们讨论了如何处理数据,以及如何构建、训练和测试深度学习模型。 然而,有时我们希望保存训练的模型,以备将来在各种环境中使用(比如在部署中进行预测)。 此外,当运行一个…...
Bert的使用
一、Data.py # data负责产生两个dataloader from torch.utils.data import DataLoader, Dataset from sklearn.model_selection import train_test_split #给X,Y 和分割比例, 分割出来一个训练集和验证机的X, Y import torchdef read_file(path):data []label …...
Unity使用UGUI制作无限滑动列表
原理参照上一篇使用NGUI的制作无限滑动列表的文章 Unity 使用NGUI制作无限滑动列表_unity 滑动列表很多物体-CSDN博客 准备工作: 新建一个空物体命名为LoopList,并调整其大小, 并增加Scroll Rect组件(用于滑动)、Re…...
ThinkPHP6用户登录系统的全过程
ThinkPHP6用户登录系统的全过程涉及请求处理、数据传输、路由分发、控制器逻辑、模型验证及中间件协作等多个模块的交互。详细的过程解析如下: 1. 前端请求与路由分发 前端发起请求:用户在前端页面(如Vue组件或HTML表单)输入用户…...
C++全栈聊天项目(2) 单例模式封装Http管理者
完善注册类界面 先在注册类构造函数里添加lineEdit的模式为密码模式 ui->lineEdit_Passwd->setEchoMode(QLineEdit::Password); ui->lineEdit_Confirm->setEchoMode(QLineEdit::Password);我们在注册界面的ui里添加一个widget,widget内部包含一个tip居…...
【鸿蒙开发】OpenHarmony调测工具hdc使用教程(设备开发者)
00. 目录 文章目录 00. 目录01. OpenHarmony概述02. hdc简介03. hdc获取04. option相关的命令05. 查询设备列表的命令06. 服务进程相关命令07. 网络相关的命令08. 文件相关的命令09. 应用相关的命令10. 调试相关的命令11. 常见问题12. 附录 01. OpenHarmony概述 OpenHarmony是…...
ORACLE EBS数据库RELINK方式搭建克隆环境
ORACLE EBS系统的数据库,一般都安装了很多特定功能的小补丁来解决特定的BUG;因此对于已经安装好的系统,想要克隆一套测试环境、搭建一个新的备机做测试等,如果按照生产环境标准,则需要安装大量补丁,带来很大…...
MySQL regexp 命令
REGEXP命令是一种用于进行正则表达式匹配的运算符,允许在查询中使用正则表达式来匹配字符串模式1。 基本语法 基本的语法结构如下: SELECT * FROM table_name WHERE column_name REGEXP pattern; 这里,pattern是你要匹配的正则表达式模…...
前端实习到工作的经历
看了很多人的程序员生涯之路,我突然意识到我也该记录一些东西,因此有感而发。 我是一个24届毕业生,大三下就开始找前端实习,当时学校不让走,我们都是先面着然后准备放假就去。当时周围小伙伴都找好了,考完…...
Vue3——Fragment
文章目录 一、Fragment的核心意义1. 解决Vue2的单根限制问题2. 减少不必要的 DOM 嵌套3. 语义化和结构化 二、Fragment 的实现原理三、Fragment 使用方式1. 基本用法2. 结合条件渲染3. 动态组件 四、实际应用场景1. 列表/表格组件2. 布局组件3. 语义化标签 五、注意事项1. 属性…...
Linux_16进程地址空间
CPU内的寄存器只有一套,但是CPU内寄存器的数据可能会有多份! 一、程序地址空间 下面这个图对应的是内存吗?(实际上是虚拟的进程地址空间) 32位机器内存最大为多少? 32位操作系统的地址总线为32位&#x…...
职坐标机器学习编程实战:调试优化与自动化测试精要
内容概要 在机器学习编程实践中,代码调试优化与自动化测试工具的应用是构建高可靠性系统的核心环节。本书聚焦从数据预处理到模型部署的全流程,通过特征工程优化、训练过程监控及持续集成方案的设计,系统化解决算法工程化中的典型问题。在特…...
git文件过大导致gitea仓库镜像推送失败问题解决(push failed: context deadline exceeded)
问题描述: 今天发现gitea仓库推送到某个镜像仓库的操作几个月前已经报错终止推送了,报错如下: 首先翻译报错提示可知是因为git仓库大小超过1G限制。检查本地.git文件,发现.git文件大小已达到1.13G。确定是.git文件过大导致&…...
llvm数据流分析
llvm数据流分析 1.数据流分析2.LLVM实现2.1.常量传播2.2.活跃性分析 相关参考文档:DataFlowAnalysisIntro、ustc编译原理课程、南大程序分析课程1、南大程序分析课程2。 1.数据流分析 数据流分析在编译优化等程序分析任务上都有重要应用。通常数据流分析可被抽象为…...
Vite为什么选用Rollup打包?
Vite 在生产阶段使用 Rollup 打包,但这不是唯一选择。它的设计背后有明确的权衡和考量,同时开发者也可以选择其他替代方案。 一、为什么 Vite 默认使用 Rollup? 1. Rollup 的核心优势 • Tree-shaking:Rollup 的静态分析能力极强&…...
Docker 入门与实战指南
Docker 入门与实战指南 一、Docker 简介 Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包成一个可移植的容器。容器可以在任何安装了 Docker 的环境中运行,确保应用的一致性和可移植性。 1.1 为什么使用 Docker? 环境一…...
C# 常用数据类型
C# 数据类型分为 值类型、引用类型 和 特殊类型,以下是详细分类及对应范围/说明: 一、值类型(Value Types) 值类型直接存储数据,分配在栈内存中,默认不可为 null。 简单类型 整数类型…...
深入解读 JavaScript 中 `this` 的指向机制:覆盖所有场景与底层原理
this 是 JavaScript 中最容易引发困惑的核心概念之一,它的指向在不同场景下呈现截然不同的行为。本文将系统性地解析 this 的所有使用场景,结合代码示例和底层原理,帮助你彻底掌握其运行机制。 一、全局环境下的 this 1. 浏览器环境 在浏览器…...
无人机全景应用解析与技术演进趋势
无人机全景应用解析与技术演进趋势 ——从立体安防到万物互联的空中革命 一、现有应用场景全景解析 (一)公共安全领域 1. 立体安防体系 空中哨兵:搭载 77 GHz 77\text{GHz} 77GHz毫米波雷达(探测距离 5 km 5\text{km} 5km&…...
手写简易Tomcat核心实现:深入理解Servlet容器原理
目录 一、Tomcat概况 1. tomcat全局图 2.项目结构概览 二、实现步骤详解 2.1 基础工具包(com.qcby.util) 2.1.1 ResponseUtil:HTTP响应生成工具 2.1.2 SearchClassUtil:类扫描工具 2.1.3 WebServlet:自定义注解…...
【音视频】ffmpeg命令提取像素格式
1、提取YUV数据 提取yuv数据,并保持分辨率与原视频一致 使用-pix_fmt或-pixel_format指定yuv格式提取数据,并保持原来的分辨率 ffmpeg -i music.mp4 -t "01:00" -pixel_format yuv420p music.yuv提取成功后,可以使用ffplay指定y…...
深度剖析Redis:双写一致性问题及解决方案全景解析
在高并发场景下,缓存与数据库的双写一致性是每个开发者必须直面的核心挑战。本文通过5大解决方案,带你彻底攻克这一技术难关! 一、问题全景图:当缓存遇到数据库 1.1 典型问题场景 // 典型问题代码示例 public void updateProduc…...
Redis----大key、热key解决方案、脑裂问题
文章中相关知识点在往期已经更新过了,如果有友友不理解可翻看往期内容 出现脑裂问题怎么保证集群还是高可用的 什么是脑裂问题 脑裂说的就是当我们的主节点没有挂,但是因为网络延迟较大,然后和主节点相连的哨兵通信较差,之后主…...
Android 调用c++报错 exception of type std::bad_alloc: std::bad_alloc
一、报错信息 terminating with uncaught exception of type std::bad_alloc: std::bad_alloc 查了那部分报错c++代码 szGridSize因为文件太大,初始化溢出了 pEGM->pData = new float[szGridSize]; 解决办法 直接抛出异常,文件太大就失败吧 最后还增加一个日志输出,给…...
【从零开始学习计算机科学】操作系统(五)处理器调度
【从零开始学习计算机科学】操作系统(五)处理器调度 处理器调度一些简单的短程调度算法的思路先来先服务(First-Come-First-Served,FCFS)优先级调度及其变种最短作业优先调度算法(SJF)--非抢占式最短作业优先调度算法(SJF)--抢占式最高响应比优先调度算法轮转调度算法…...
LeetCode1871 跳跃游戏VII
LeetCode 跳跃游戏 IV:二进制字符串的跳跃问题 题目描述 给定一个下标从 0 开始的二进制字符串 s 和两个整数 minJump 和 maxJump。初始时,你位于下标 0 处(保证该位置为 0)。你需要判断是否能到达字符串的最后一个位置…...
ResNet50深度解析:原理、结构与PyTorch实现
ResNet50深度解析:原理、结构与PyTorch实现 1. 引言 ResNet(残差网络)是深度学习领域的一项重大突破,它巧妙解决了深层神经网络训练中的梯度消失/爆炸问题,使得构建和训练更深的网络成为可能。作为计算机视觉领域的里…...
MATLAB 控制系统设计与仿真 - 24
PID 控制器分析- 控制器的形式 连续控制器的结构: 为滤波时间常数,这类PID控制器在MATLAB系统控制工具箱称为并联PID控制器,可由MATLAB提供的pid函数直接输入,格式为: 其他类型的控制器也可以由该函数直接输入&#x…...
数字IC后端设计实现教程 |Innovus ICC2 Routing Pin Access Setting设置方法
默认情况下routing 引擎可以在标准单元可以打孔的任何地方(via region)打孔,甚至工具还会先拉出一块metal,然后再打孔过渡到高层。 随之工艺节点越做越小,标准单元内部的结构也越来越复杂。此时如果还沿用传统工艺的走…...
mysql经典试题共34题
1、准备数据 -- drop drop table if exists dept; drop table if exists emp; drop table if exists salgrade;-- CREATE CREATE TABLE dept (deptno int NOT NULL COMMENT 部门编号,dname varchar(14) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMM…...
网络编程-----服务器(多路复用IO 和 TCP并发模型)
一、单循环服务器模型 1. 核心特征 while(1){newfd accept();recv();close(newfd);}2. 典型应用场景 HTTP短连接服务(早期Apache)CGI快速处理简单测试服务器 3. 综合代码 #include <stdio.h> #include <sys/types.h> /* See NO…...