Isaac Gym, Sim, Lab
本文仅为个人学习笔记,文章参考请见参考资料部分,主要目的是进行多场景并行仿真测试,笔记中大部分内容都是针对于这个目标。
参考资料
常见问题 — Isaac Lab 文档
https://github.com/isaac-sim/IsaacLab
一. Gym, Sim, Lab 之间的关系
Isaac Gym [MWG+21] 提供了一个高性能的基于GPU的机器人学习物理模拟器。它建立在 PhysX 之上,支持GPU加速的刚体模拟和用于直接访问物理模拟数据的Python API。通过端到端的GPU pipeline,相对于基于CPU的物理引擎,可以实现高帧率。该工具已成功应用于许多研究项目中,包括: 四足动物行走 [RHRH22] [RHBH22] 、手中操作 [HAM+22] [AML+22] 和工业装配 [NSA+22] 。
尽管Isaac Gym很成功,但它不是为机器人学习而设计的通用模拟器。例如,它不包括可变形和刚性对象之间的交互,高保真度渲染以及ROS的支持。该工具主要是作为预览版发布,以展示底层物理引擎的功能。随着 Isaac Sim 的发布,NVIDIA正在构建通用的机器人模拟器,并将Isaac Gym的功能集成到Isaac Sim中。
Isaac Sim 是一个构建在Omniverse之上的机器人模拟工具包,Omniverse是旨在统一复杂3D工作流的通用平台。Isaac Sim利用最新的图形和物理模拟技术,为机器人提供高保真度的模拟环境。它支持ROS/ROS2、各种传感器模拟、域随机化和合成数据创建工具。Isaac Sim中的分块渲染支持在环境中进行矢量化渲染,并支持使用 Isaac Automator 在云中运行。总的来说,它是机器人学家的一个强大工具,是机器人模拟领域的一个重要进步。
随着以上两个工具的发布,NVIDIA还发布了一个名为 IsaacGymEnvs 和 OmniIsaacGymEnvs 的开源环境集,它们是分别建立在Isaac Gym和Isaac Sim之上。这些环境旨在展示底层模拟器的功能,并为了解模拟器用于机器人学习的可能性提供了一个起点。这些环境可用于基准测试,但不适用于开发和测试定制环境和算法。这就是Isaac Lab的作用所在。
Isaac Lab建立在Isaac Sim之上,为机器人学习提供一个统一且灵活的框架,利用最新的模拟技术。它被设计成模块化和可扩展的,旨在简化机器人研究中常见的工作流程(如RL、基于演示的学习和运动规划)。尽管它包含一些预先构建的环境、传感器和任务,但它的主要目标是提供一个开源的、统一的、易于使用的界面,用于开发和测试定制环境和机器人学习算法。它不仅继承了Isaac Sim的功能,还添加了一些与机器人学习研究相关的新功能。例如,在模拟中包括执行器动力学、程序地形生成和支持从人类演示中收集数据。
Isaac Lab取代了以前的 IsaacGymEnvs 、 OmniIsaacGymEnvs 和 Orbit 框架,将成为Isaac Sim的单一机器人学习框架。之前发布的框架已被弃用,我们鼓励用户按照我们的 迁移指南 完成迁移工作。
Isaac Sim 为闭源状态,用户很难为模拟器做出贡献并构建一个共同的研究框架。Isaac Lab提供了一个开源平台,让社区能够以集中的努力推动进步,共同设计基准和机器人学习系统。这使我们能够重复使用现有的组件和算法,并在彼此的工作基础上进行开发。这样不仅节省了时间和精力,还让我们能够专注于研究的更重要方面。我们希望Isaac Lab成为机器人学习研究的事实标准平台,并成为一个利用Isaac Sim的环境 动物园 (即多样化的环境)。随着该框架的成熟,我们预见它将大量受益于NVIDIA内部和合作伙伴的最新仿真进展以及机器人技术领域的研究。
二. Isaac Lab 安装
我是远程服务器安装 lab ,因为这个docker是直接依赖于isaac sim docker的镜像,所以先安装 Isaac Sim 的 docker。
接下来找一个地方放 isaac lab 的文件
git clone https://github.com/isaac-sim/IsaacLab.git
这里我使用X11方式,X11 转发是一种机制,允许图形用户界面(GUI)应用程序在远程机器上运行,而显示在本地机器上。
安装的太大太慢可以加清华源或者找代理
vi ./docker/Dockerfile.base在里面找到RUN --mount=type=cache,target=${DOCKER_USER_HOME}/.cache/pip \${ISAACLAB_PATH}/isaaclab.sh --install后面加一个ENV+你的代理内容
指定安装 lab 4.1.0版本,因为我的 isaacsim 镜像的是4.1.0
ISAACSIM_BASE_IMAGE=nvcr.io/nvidia/isaac-sim ISAACSIM_VERSION=4.1.0 ./docker/container.py start
安装完成后输出以下类似内容:
测试后发现这种安装方式会导致一些东西安装失败,需要将刚刚加入的env内容删去再重新运行一遍,补充安装失败的部分
启动:
# Enter the container
# We pass 'base' explicitly, but if we hadn't it would default to 'base'./docker/container.py enter basepython docker/container.py enter
测试:
isaaclab -p source/standalone/tutorials/00_sim/log_time.py --headless
停止:
# stop the container
./docker/container.py stop
三.Isaac Lab 使用
任务设计工作流
- 基于管理器的环境创建基于管理器的强化学习环境 — Isaac Lab 文档
- 直接式的环境创建直接工作流RL环境 — Isaac Lab 文档
关节系统/关节驱动
现实中常说的驱动,在仿真中可以等于驱动关节,也称为自由度(DOF)。在物理系统中,驱动通常通过主动组件进行,例如电动或液压马达,或通过被动组件,例如弹簧。这些组件可能会引入某些非线性特性,包括延迟或最大可产生的速度或扭矩。
在仿真中,关节可以是位置控制、速度控制或扭矩控制。对于位置和速度控制,物理引擎内部实现了一个弹簧-阻尼(PD)控制器,用于计算作用在执行关节上的扭矩。在扭矩控制中,命令直接设置为关节力。虽然这模拟了关节机制的理想行为,但并不能真实地模拟驱动器在现实世界中的工作方式。因此,我们提供了一个机制来注入外部模型,以计算关节命令,以代表物理机器人的行为。
3个自由度:指一个物体在空间中可以进行的三种独立运动。这些运动可以分为 线性运动 和 旋转运动,具体取决于所研究的系统和约束条件。
(线性三自由度)如果一个物体仅限于在三维空间中进行平移(没有旋转),则其自由度是三个,每个方向对应一个自由度:
- X 方向的平移:沿水平轴(左右方向)的运动。
- Y 方向的平移:沿垂直轴(前后方向)的运动。
- Z 方向的平移:沿深度轴(上下方向)的运动。
(旋转三自由度)如果一个物体固定在某点(如悬挂在一个固定点上),则它只能围绕该点旋转,具有三个旋转自由度:
- 绕 X 轴的旋转(滚动,Roll):物体绕水平轴旋转。
- 绕 Y 轴的旋转(俯仰,Pitch):物体绕垂直轴旋转。
- 绕 Z 轴的旋转(偏航,Yaw):物体绕深度轴旋转。
(组合三自由度)在某些情况下,三自由度可以是线性运动和旋转运动的组合。例如:
- 一个平面内的运动(如机器人臂末端在一个平面内移动)可能包含两个线性运动和一个旋转运动。
- 某些机械系统可能通过两平移加一旋转的方式实现三自由度。
传感器
传感器 — Isaac Lab 文档
每个传感器在 Isaac Lab 中都继承自 SensorBase
抽象类。这个 update_period
是以 “模拟” 秒为单位定义的,这意味着即使仿真中的时间流逝相对于现实世界有所延迟,传感器也会以适当的速率更新。
传感器类别中的光线投射传感器其实通俗意义上讲就是激光雷达的上层概括说法。单位是度。
坐标系转换器
坐标系转换器 — Isaac Lab 文档
坐标系转换:在任意欧几里得坐标系的基底下重写向量或四元数。在 Isaac Sim 和 USD 文件中有很多方式来进行坐标系转换,但在 Isaac Lab 的基于 GPU 的仿真和克隆环境中实现这些方法可能会显得繁琐。于是有了坐标系转换传感器,能够跟踪并计算场景中感兴趣的刚体的相对坐标系转换。
可用环境中没有轮式机器人呢。(操作臂、四足运动任务、宇树科技的机器人及机器狗、导航任务用的ANYmal C机器人、Crazyfie无人机、倒立摆问题测试机器人、还有一些综合环境等lab下载好了看看)
强化学习
有点感兴趣,但暂时用不到,等过一阵回来玩
多GPU、多节点进行强化学习训练多GPU和多节点训练 — Isaac Lab 文档
场景演示
创建和生成具有不同配置的程序生成地形
./isaaclab.sh -p source/standalone/demos/procedural_terrain.py
Hydra配置系统
Hydra 配置系统 — Isaac Lab 文档
以通过命令行参数修改任务的配置,这对于自动化实验和执行超参数调整非常有用。
相关文章:
Isaac Gym, Sim, Lab
本文仅为个人学习笔记,文章参考请见参考资料部分,主要目的是进行多场景并行仿真测试,笔记中大部分内容都是针对于这个目标。 参考资料 常见问题 — Isaac Lab 文档 https://github.com/isaac-sim/IsaacLab 一. Gym, Sim, Lab 之间的关系 Is…...
活着就好20241217
亲爱的朋友们,大家早上好!🌞 今天是17号,星期二,2024年12月的第十七天,同时也是第50周的第八天,农历甲辰[龙]年十一月初十三日。在这晨光熹微的美好时刻,愿那温暖而明媚的阳光轻轻拂…...
第十六章:IO流 (java.io包中)
一、理解 1. 简单而言:流就是内存与存储设备之间传输数据的通道、管道。 2. 分类: (1) 按方向 ( 以 JVM 虚拟机为参照物 ) 【重点】 输入流:将 < 存储设备 > 中的内容读入到 < 内存 > 中。 输出流:将 < 内…...
Introduction to NoSQL Systems
What is NoSQL NoSQL database are no-tabular非數據表格 database that store data differently than relational tables 其數據的存儲方式與關係型表格不同 Database that provide a mechanism機制 for data storage retrieval 檢索 that is modelled in means other than …...
【JVM】JVM基础教程(四)
上一章:【JVM】JVM基础教程(三)-CSDN博客 目录 自动垃圾回收 方法区的回收 方法区回收条件 手动触发回收 堆回收 如何判断堆上的对象可以回收? 可以给对象引用赋值null,切断引用 引用计数法 循环引用缺点 查…...
前端实现在线预览excel文件
在前端开发中,经常会遇到需要在线预览各种文件的需求。本文将介绍如何使用前端技术实现在线预览 Excel 文件的功能。 一、基于微软office服务的excel预览 获取要预览的 Excel 文件的 URL(例如存储在 OneDrive 或 SharePoint 上的文件)。 使…...
Python 写的《桌面时钟》屏保
原代码: # 日历式时钟 # 导入所需的库 # 作者:Hoye # 日期:2024年12月16日 # 功能:显示当前日期、星期、时间,并显示模拟时钟 import tkinter as tk from tkinter import ttk import time import math import sysdef …...
计算机视觉单阶段实例分割实践指南与综述
概述 原文地址:https://towardsdatascience.com/single-stage-instance-segmentation-a-review-1eeb66e0cc49 实例分割是一项具有挑战性的计算机视觉任务,需要预测对象实例及其每像素分割掩码。这使其成为语义分割和目标检测的混合体。 自 Mask R-CNN …...
Axios结合Typescript 二次封装完整详细场景使用案例
Axios 是一个基于 promise 的 HTTP 客户端,用于浏览器和 node.js。二次封装 Axios 主要是为了统一管理 HTTP 请求,例如设置统一的请求前缀、头部、超时时间,统一处理请求和响应的格式,以及错误处理等。 以下是一个使用 TypeScrip…...
C++面试:HTTP1.0/1.1,HTTP2.0,HTPP3.0的区别
1.你对HTTP1.0/1.1,HTTP2.0,HTPP3.0有什么了解? 答:HTTP1.0: ①属于无连接式,每次发送HTTP请求都需要建立TCP连接。 ②会造成发送时的对头阻塞,当上一个请求没有应答,当前的请求就会…...
使用 Docker Compose 部署 Redis 主从与 Sentinel 高可用集群
文章目录 使用 Docker Compose 部署 Redis 主从与 Sentinel 高可用集群Redis 主从架构简介Redis Sentinel 简介配置文件1. 主节点配置 (redis-master.conf)2. 从节点配置 (redis-slave1.conf 和 redis-slave2.conf)redis-slave1.confredis-slave2.conf3. Sentinel 配置 (sentin…...
【Java】4、虚拟机 JVM
目录 Java内存区域详解(重点) JVM垃圾回收详解(重点) 类文件结构详解 类加载过程详解 类加载器详解(重点) 最重要的JVM参数总结 JDK监控和故障处理工具总结 JVM线上问题排查和性能调优案例 参考: JVM 核心技术 32 讲 深入浅出 Java 虚拟机...
Vue3之组合式API详解
Vue 3引入了一种新的API风格——组合式API(Composition API),旨在提升组件的逻辑复用性和可维护性。本文将详细阐述Vue 3中的组合式API,包括其定义、特点、使用场景、优势等,并给出具体的示例代码。 一、定义 组合式…...
Flutter编译Module was compiled with an incompatible version of Kotlin错误解决
文章目录 编译报错如下解决方法修复方案 编译报错如下 e: C:/Users/YUAN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.9.20/e58b4816ac517e9cc5df1db051120c63d4cde669/kotlin-stdlib-1.9 .20.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module:…...
Uniapp插件如何通过NFC读取多种证卡信息?
nfc读卡uniapp插件,由中软高科进行开发,主要是通过NFC读取居民身份证、港澳台居住证、外国人居住证、护照等证卡的信息。经过多个版本的升级更新,目前性能已趋于稳定,并且读卡速度较之最初版本有了大的提升。 注意事项 测试使用的…...
本地docker镜像改名字
如果你想修改本地 Docker 镜像的名字,可以通过创建该镜像的新标签(tag)来实现。Docker 中没有直接修改镜像名字的命令,但可以通过重新打标签的方式实现类似的效果。以下是具体步骤: 查看当前镜像: docker…...
VS Code 远程连接 SSH 服务器
文章目录 一、安装 Remote - SSH 扩展并连接远程主机二、免密连接远程主机1. 生成 SSH 密钥对2. 将公钥复制到远程服务器3. 配置 SSH 客服端4. 连接测试 随着技术的不断迭代更新,在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器(我曾经也是个 …...
艾体宝案例丨CircleCI 助力 ANA Systems 打造高效 CI/CD 模型
在现代软件开发领域,效率和可靠性是企业在竞争中取胜的关键。本文将深入探讨 ANA Systems 如何通过引入业界领先的 CI/CD 平台——CircleCI,克服传统开发流程的瓶颈,实现开发运营效率的全面提升。同时,本文还将详细解析 CircleCI …...
vue 上传组件 vxe-upload 实现拖拽调整顺序
vue 上传组件 vxe-upload 实现拖拽调整顺序,通过设置 drag-sort 参数就可以启用拖拽排序功能 官网:https://vxeui.com/ 图片拖拽排序 <template><div><vxe-upload v-model"imgList" mode"image" multiple drag-sor…...
Elasticsearch的一些介绍
你想问的可能是 **Elasticsearch**,以下是关于它的一些介绍: ### 概述 Elasticsearch是一个基于Apache Lucene库构建的开源分布式搜索和分析引擎,采用Java语言编写,具有高性能、可扩展性和易用性等特点,可用于各种数据…...
从源码构建安装Landoop kafka-connect-ui
背景 部署Landoop kafka-connect-ui最简单的办法还是通过docker来部署,我们之前的kafka-connect-ui就是通过docker部署的,但是,最近发现个问题:当使用docker部署且防火墙使用的是firewalld的情况下,就会出现端口冲突。…...
MybatisPlus-扩展功能
代码生成 在使用MybatisPlus以后,基础的Mapper、Service、PO代码相对固定,重复编写也比较麻烦。因此MybatisPlus官方提供了代码生成器根据数据库表结构生成PO、Mapper、Service等相关代码。只不过代码生成器同样要编码使用,也很麻烦。 这里…...
发布/部署WebApi服务器(IIS+.NET8+ASP.NETCore)
CS软件授权注册系统-发布/部署WebApi服务器(IIS.NET8ASP.NETCore) 目录 本文摘要VS2022配置发布VS2022发布WebApiIIS服务器部署WebApi 将程序文件复制到云服务器添加网站配置应用程序池配置dns域名配置端口阿里云ECS服务器配置19980端口配置https协议 (申请ssl证书)测试WebAp…...
【2025最新计算机毕业设计】基于SpringBoot+Vue城市中小学体育场馆预约系统【提供源码+答辩PPT+文档+项目部署】
一、项目技术架构: 本项目是一款城市中小学体育场馆预约系统的设计与实现。 该SpringBootVue的城市中小学体育场馆预约系统,后端采用SpringBoot架构,前端采用VueElementUI实现页面的快速开发,并使用关系型数据库MySQL存储系统运行…...
Spring Security 6 系列之二 - 基于数据库的用户认证和认证原理
之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…...
vue中打包dist文件内static 和 assets 的区别
背景 在Vue.js项目中,assets 和 static 是两个用于存放静态资源的文件夹,但它们在使用方式和处理机制上有所不同 用途 assets: assets 文件夹通常用于存放那些需要在构建过程中被Webpack处理的静态资源。这些资源可以包括图片、字体、样式文件&#…...
Big Model weekly | 第49期
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 01 Magnetic Preference Optimization: Achieving Last-iterate Convergence for Language Models Alignment 自我对弈方法在多个领域增强模型能力方面展现出了显著的成功。在基于人类反馈的强化学习࿰…...
Node.js内置模块
1.内置模块 Node.js的中文网参考手册:https://nodejs.cn//api 帮助文档 API文档:查看对应的模块,左边是模块,右边是模块的成员 源码:https://github.com/nodejs/node/tree/main/lib 查看 例如: http.js 创建web服务器的模块 -->进入源码中,搜索…...
使用Nexus3搭建npm私有仓库
一、npm介绍 npm的全称是Node Package Manager,它是一个开放源代码的命令行工具,用于安装、更新和管理Node.js模块。npm是Node.js的官方模块管理器,它允许用户从一个集中的仓库中下载和安装公共的Node.js模块,并将这些模块集成到…...
MySQL学习之表操作
MySQL学习之表操作 基础命令 查询当前所在数据库的所有表 show tables;查看指定的表结构, 可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信息 mysql> desc user; ----------------------------------------------- | Field |…...
C语言学习day22:ReadProcessMemory函数/游戏内存数据读取工具开发
简言: ReadProcessMemory函数是 Windows API 中的一个函数,用于从目标进程的虚拟内存空间中读取数据。这个函数非常有用,尤其是在进行内存分析、调试、或某些类型的逆向工程时。 ReadProcessMemory函数 函数原型 BOOL ReadProcessMemory(…...
Linux虚拟文件系统
参考:深入分析LINUX内核源码 深入分析Linux内核源码 (kerneltravel.net) 作为一个最著名的自由软件,Linux 确实名不虚传,几乎处处体现了“自由”,你可以编译适合自己系统要求的内核,或者轻松添加别人开发的新的模块。只…...
OpenIPC开源FPV之Adaptive-Link天空端代码解析
OpenIPC开源FPV之Adaptive-Link天空端代码解析 1. 源由2. 框架代码3. 报文处理3.1 special报文3.2 普通报文 4. 工作流程4.1 Profile 竞选4.2 Profile 研判4.3 Profile 应用 5. 总结6. 参考资料7. 补充资料7.1 RSSI 和 SNR 的物理含义7.2 信号质量加权的理论依据7.3 实际应用中…...
NPU是什么?电脑NPU和CPU、GPU区别介绍
随着人工智能技术的飞速发展,计算机硬件架构也在不断演进以适应日益复杂的AI应用场景。其中,NPU(Neural Processing Unit,神经网络处理器)作为一种专为深度学习和神经网络运算设计的新型处理器,正逐渐崭露头…...
.Net WebAPI(一)
文章目录 项目地址一、WebAPI基础1. 项目初始化1.1 创建简单的API1.1.1 get请求1.1.2 post请求1.1.3 put请求1.1.4 Delete请求 1.2 webapi的流程 2.Controllers2.1 创建一个shirts的Controller 3. Routing3.1 使用和创建MapControllers3.2 使用Routing的模板语言 4. Mould Bind…...
.NET 技术 | 调用系统API创建Windows服务
01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失…...
OpenLinkSaas 2025年1月开发计划
先来看看OpenLinkSaas的大目标 在OpenLinkSaas的产品目标中,让开发人员更加方便的使用云资源是目标之一。通过各大云厂商的API,来可视化云上基础设施的数据是远远不够的。我们准备在2025年1月份增加方便管理和运营研发场景下服务器的能力。 这部分的功能…...
同态加密算法详解及Python实现
目录 同态加密算法详解及Python实现第一部分:同态加密概述与原理1.1 什么是同态加密?同态加密的定义:1.2 同态加密的分类1.3 同态加密的优势与挑战优势挑战第二部分:常见同态加密算法及其应用场景2.1 RSA同态加密支持操作应用场景2.2 Paillier加密支持操作应用场景2.3 Gent…...
【HarmonyOS NEXT】ArkTs函数、类、接口、泛型、装饰器解析与使用
1. 前置学习文档 【HarmonyOS NEXT】ArkTs数据类型解析与使用(https://juejin.cn/spost/7448894500348608522) 2. 前言 在原生JavaScript中只有函数和类的实现,为了更好的面向对象编程,TypeScript 引入了接口、泛型、装饰器等特性。ArkTS也继承了这些特性…...
【数学】矩阵的逆与伪逆 EEGLAB
文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中,运行程序时出现了矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug,调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …...
用github镜像加速, --recursive还是去github站怎么处理?
小伙伴们大多碰到过github抽风的情况,时通时断,时快时慢,非常考验心情。 以前碰到连不上的时候,我大多就是在gitee和gitcode网站找一下镜像,找到后直接git clone 新地址即可。但是碰到 --recursive的时候就不行了&…...
第P2周:Pytorch实现CIFAR10彩色图片识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 实现CIFAR-10的彩色图片识别实现比P1周更复杂一点的CNN网络 具体实现 (一)环境 语言环境:Python 3.10 编 译 器: …...
springboot3访问第三方接口
添加依赖(如果尚未添加) 在pom.xml文件中,确保已经包含spring-boot-starter-web依赖,因为RestTemplate通常在这个依赖范围内。如果没有,添加如下依赖: <dependency><groupId>org.springframe…...
Ubuntu K8s
https://serious-lose.notion.site/Ubuntu-K8s-d8d6a978ad784c1baa2fc8c531fbce68?pvs74 2 核 2G Ubuntu 20.4 IP 172.24.53.10 kubeadmkubeletkubectl版本1.23.01.23.01.23.0 kubeadm、kubelet 和 kubectl 是 Kubernetes 生态系统中的三个重要组件 kubeadm: 主…...
大数据第三次周赛
类斐波那契循环数 #include<bits/stdc.h> using namespace std; #define int long long int arr[1000010]; bool key(int k){int num0;string strto_string(k);for(int i0;i<str.length();i){arr[num]str[i]-0;}int l0,rnum-1;int shix0; while(shix<k){shix0;for…...
《Java核心技术I》Swing用户界面组件
Swing和模型-视图-控制器设计模式 用户界面组件各个组成部分,如按钮,复选框,文本框或复杂的树控件,每个组件都有三个特征: 内容,如按钮的状态,文本域中的文本。外观,颜色,…...
Web开发 -前端部分-CSS
CSS CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)。 一 基础知识 1 标题格式 标题格式一: 行内样式 <!DOCTYPE html> <html lang"en"><head><meta…...
旅游系统旅游小程序PHP+Uniapp
旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统 更新日志 V1.3.0 1、修复富文本标签 2、新增景点入驻【高级版本】3、新增门票核销【高级版】4、新增门票端口【高级版】...
Windows 与 Linux 下 Ping IPv6 地址 | 常用网络命令
注:本文为网络命令相关文章合辑。 未整理去重。 一、IPv6 概述 IPv6 即 “Internet 协议版本 6”,因 IPv4 地址资源面临耗尽问题而被引入以替代 IPv4。IPv6 则提供了理论上多达 2 128 2^{128} 2128 个地址,有效解决地址不足困境。 IPv6 具…...
前端学习一
一 进程与线程 线程是进程执行的最小单位,进程是系统分配任务的最小单位。 一个进程可执行最少一个线程。线程分为子线程和主线程。 主线程关闭则子线程关闭。 二 浏览器进程 浏览器是多进程多线程应用。 进程包括: 浏览器进程 负责程序交互渲染…...