- 博客(68)
- 资源 (6)
- 问答 (2)
- 收藏
- 关注
原创 HTML5教程 - 5 文本语义标签
主要讲解了一些基础的标签的使用和含义,列举了很多的文本格式化标签。这里需要记住,使用标签的时候,看重的是标签的。
2025-03-05 08:00:00
1070
原创 HTML5教程 - 4 字符编码
也就是说,保存文档的时候,一定要选择支持文档内容的编码进行保存,只要保存成功了,选择对应的编码读取就可以了。但是如果保存的字符编码不支持保存的内容,那完犊子了,你内容就没有成功,切记切记!关闭 VSCode,重新使用 VSCode 打开保存的文件(不关闭会有缓存),会发现之前的文档乱码了,因为打开的时候,默认是使用 UTF-8 字符编码打开。但是美国人使用计算机,欧洲人也要使用计算机啊,但是欧洲的语言128个字符满足不了啊,因为包括罗马字母和符号等,于是欧洲搞了一个。:将字符转换为二进制码的过程称为编码。
2025-03-04 08:00:00
1018
原创 HTML5教程 - 3 开发环境
在其中可以找到各个标签的详细介绍和属性说明,如果用到了可以查询一下,W3school 作为一个工具来使用,在必要的时候查询一下还是很好用的。但是作为一个教程,我觉得学习起来没有。我们在学习 HTML 的时候,会用到很多的标签,标签又有很多的属性,我们没办法全记住,需要的时候可以查询文档。这里是最权威的,网页内容很多,而且是英文,看起来很繁琐,需要耐心看,不行就看下面的 W3school 的文档。在对文件进行修改后,需要手动保存,网页才会刷新,我们也可以设置VS Code自动保存,这样网页就会自动刷新。
2025-03-03 23:14:44
803
原创 Vue3教程 - 5 指令与事件修饰符
如上面的代码,在一个div中有一个按钮,同时给div和按钮添加了点击事件,当点击按钮的时候,会先触发按钮的点击事件,然后再触发div的点击事件,事件是从内部元素向上冒泡的,如果想阻止触发div的点击事件,可以给按钮的点击事件添加。指令其实就是 Vue 中的定义的特有属性,通过这些属性,可以让模板中的数据 Vue 中的数据进行绑定,前面也简单的使用了,下面详细介绍一下。是作用在外部元素上的,那么内部所有元素的事件都不会触发外部元素的事件,只监听自身元素的事件。如果想事件由外向内传递,可以使用。
2025-02-21 08:45:00
1001
原创 HTML5教程 - 2 HTML5简介
HTML(Hypertext Markup Language)超文本标记语言。HTML 主要负责网页三要素中的结构,HTML使用标签的形式来表示网页中的不同组成部分,所谓的超文本指的是超链接,使用超链接从一个网页跳转到另一个网页。HTML历史上有如下版本HTML 1.0:在1993年6月作为互联网工程工作小组(IETF)工作草案发布;HTML 2.0:1995年1 1月作为RFC 1866发布,于2000年6月发布之后被宣布已经过时;HTML 3.2:1997年1月14日,W3C推荐标准;
2025-02-20 08:45:00
1272
原创 HTML5教程 - 1 前端简介
现在我们来学习HTML5的课程,HTML是做什么的呢,我还是哔哔两句吧。C/S架构全称为Client/Server,也就是客户端/服务器架构。用户需要下载客户端的软件,例如QQ,微信,还有手机里的各种App 等软件,都需要下载软件进行安装,我们下载安装的就是客户端。通过使用客户端和服务器进行连接交互。B/S架构全称为Browser/Server,也就是浏览器/服务器架构。Browser指的就是浏览器,用户打开浏览器就能访问网页,不需要下载客户端,例如访问京东、淘宝等网站。
2025-02-19 09:24:22
923
原创 Vue3教程 - 4 Vue3的API
如果你没有 Vue2 的基础,也没有关系,这里是一个比较,后面我们还是以 Vue3 中的组合式 API 进行学习,但是老的项目肯定是 Vue2 的,如果有时间,可以多了解一些。通过上面的代码可以看到,使用响应式编程,我们不用去获取和操作 DOM 元素,只需要修改数据,就可以实现页面的自动渲染,和传统的前端开发相比,非常的方便。删掉以后,是可以正常工作的,但是删掉以后,组件的名称没有办法定义了,组件的名称默认就是文件的名称,也就是。的值,但是在模板中引用的时候,引用的是变量的名称,不需要。
2024-12-18 12:36:16
741
原创 ROS2教程 - 8 参数
中,取消了 Master 和集中式的参数服务器,每个节点都有自己的参数管理系统。上面对单个参数进行获取和设置,有时候节点的参数比较多,一个一个修改不太方便,我们还可以将某个节点所有的参数导出到一个 yaml 文件,然后修改这个文件,修改完成,再将这个文件导入到节点中。在 ROS1 中,有参数服务器(Parameter Server),它是一个集中式的存储系统,用于存储和检索参数。在上面的命令中,修改了背景颜色蓝色通道的值,所以小海龟的窗口的背景颜色会发生变化。
2024-12-17 08:30:00
1117
原创 ROS2教程 - 7 动作通信
ROS2 中的动作 action 是一种通信机制,用于处理长时间运行的任务。它结合了服务(Service)和话题(Topic)的特点。与服务类似,动作也是采用服务端/客户端的 C/S 架构,动作有一个目标请求(Goal)和一个最终的结果(Result)。但与服务不同的是,动作还提供了反馈(Feedback)机制,允许在任务执行过程中持续地发送任务进度信息。例如,在一个机器人导航任务中,动作的目标可以是导航到某个特定位置。
2024-12-16 08:30:00
1369
原创 ROS2教程 - 6 通信接口
同时为了避免重复造轮子和统一数据结构,ROS官方提供了很多标准的通信接口,我们可以直接使用。如果满足不了你的要求,那么你可以自定义通信接口,像在服务通信章节, 我们也是使用了自己定义的通信接口实现了两个整数的相加。通过通信接口,可以让不同的语言实现的节点进行通信,ROS 会根据通信接口生成对应语言的数据结构。可以在 ROS2 的安装路径下查看 ROS2 自带的通信接口有哪些。这里所说的通信接口是节点之间进行通信的数据格式。,也可以看到很多的通信接口。查看接口的详细定义。
2024-12-13 08:30:00
557
原创 ROS2教程 - 5 服务通信
服务通信也是ROS中一种极其常用的通信模式,但是和话题有很多不同。服务有点类似于方法的调用,客户端调用服务端,服务端返回结果给客户端。服务分为服务端和客户端服务端:提供服务的节点,等待其他节点发出请求,并根据请求进行相应的处理,然后返回结果。客户端:发起请求的节点,将请求发送给服务端,等待服务端处理并返回响应。每个服务都需要定义一个服务类型,它包含请求和响应的消息结构。请求:客户端发送给服务端的内容。响应:服务端返回给客户端的结果。在 ROS 中,服务类型定义使用.srv文件,该文件包含请求和。
2024-12-12 08:30:00
926
原创 ROS2教程 - 4 话题通信
在搭建 ROS2 环境的时候,演示了小海龟案例,其中启动了两个节点,一个是窗口显示小海龟的节点,一个是键盘控制的节点。键盘为什么能控制小海龟窗口的运动呢,这里就涉及到节点之间的通信。在机器人的组件中,有摄像头、雷达等传感器,这些传感器都是一个个节点,他们会采集数据,并将数据传递给其他一个或多个节点进行显示或处理。ROS 中节点间的通信有很多方式,例如话题、服务、参数服务器等,其中话题是用的最多的一种通信方式,像摄像头数、雷达等数据都是话题在节点之间进行传输的。
2024-12-02 08:00:00
2538
原创 ROS2教程 - 3 HelloWorld
我们在开发机器人的时候,机器人的摄像头、雷达等硬件,厂家会提供 ROS 开发的功能包,我们只需要在我们的项目中集成厂家提供的 ROS 功能包,就能获取到硬件传感器的数据。ROS 开发主要使用 C++ 或 Python 实现,如果要实现的功能,对性能有要求,可以使用 C++ 实现,如果对性能没有特别高的要求,可以使用 Python 实现,Python 的开发效率要高一些。所以在 ROS 中实现功能是通过节点来实现的,节点是在功能包中,一个功能包可以提供多个功能,功能包是在工作空间中进行管理的。
2024-12-01 08:00:00
1225
原创 ROS2教程 - 2 环境安装
ROS1 只能在 ubuntu 系统上安装,ROS2全面支持三种平台:Ubuntu、MAC OS X、Windows10,下面在 Ubuntu22.04 上进行安装,如果要在 Ubuntu20.04 上安装,只能通过源码安装,比较麻烦,推荐 Ubuntu22.04。上面的命令是启动键盘控制节点,可以在该终端(焦点在终端,不是小海龟窗口),通过上下左右键,控制小海龟运动了。通过设置环境变量,每次打开终端,都可以让终端知道 ROS2 安装在哪里,就可以运行 ros2命令了。,但是国内很难访问,经常安装失败。
2024-11-29 21:24:32
2037
原创 ROS2教程 - 1 ROS简介
如果现在让我们开发一个机器人,没有可用的框架支持,那么该如何实现呢?我们可能在 Windows 或 Linux 系统上进行开发,需要集成各个传感器和驱动程序,用于获取传感器的数据。我们可能开发一个模块读取传感器的数据,开发别的模块实现功能,这样传感器的数据可能需要在多个模块之间进行传输,随着功能的复杂,模块间的通信也变化复杂。关键每个人要开发一个机器人,都需要重新来搞一套,非常麻烦。ROS 它来了。ROS (Robot Operating System,机器人操作系统) 是用于开发机器人的一个系统,说叫机器
2024-11-29 21:18:29
996
原创 Vue3教程 - 3 HelloWorld
在 Vue2 中,我们主要使用 vue-cli 来构建我们的前端项目,在 Vue3 中,我们将使用 Vite 来构建项目,它由Vue.js的作者尤雨溪开发。在开发 Vue 项目的时候,Vite 可以帮助我们创建项目,并对项目进行编译,提供开发服务器的支持,在本地启动前端服务,使用浏览器进行访问;在将项目打包部署到生产环境中,Vite 使用 Rollup 进行打包和优化,生成高效的静态资源,减少打包体积,并支持代码分割,按需加载模块,提高加载速度。在上面的代码中,使用。下面来正式进入 Vue3 的学习。
2024-10-11 23:11:27
1024
原创 Vue3教程 - 2 开发环境搭建
要进行 Vue 开发,需要安装 Node.js,因为构建 Vue 项目的工具,例如 Webpack、Vite等,这些工具依赖于Node.js环境来运行。这里我就使用 VSCode 了,免费,而且 Vue 官方针对 VSCode 开发了插件,所以还是不错的选择。安装 Node.js 可以使用 nvm 来安装,通过 nvm 可以很方便的切换 Node.js 版本。但是上面的方式,因为网络原因还是可能安装失败,如果安装失败,实在不行,就在 github 上下载。主要是使用淘宝的镜像源,加速依赖包的下载。
2024-09-24 08:00:00
1067
原创 Vue3教程 - 1 Vue简介
Vue (发音为 /vjuː/,类似view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。(来自官网)Vue 3是Vue.js框架的最新版本,于2020年9月正式发布。它在Vue 2的基础上进行了重大改进和增强,为开发者提供了更好的性能、开发体验和功能。响应式系统。
2024-09-23 22:46:25
1020
原创 Java基础教程 - 10 异常
除了使用 Java 内置的异常类型外,您还可以自定义异常类,以便更好地描述特定的异常情况。自定义异常类一般情况下都是继承 Exception 或 RuntimeException 类,如果继承 Exception,属于编译时异常,需要在编译的时候就要处理,如果继承 RuntimeException,那么是运行时异常。异常类建议以 Exception 结尾,见名知意。举个栗子:下面我们首先自定义了两个异常类,然后根据需要抛出这两个异常类的对象,在捕获异常的时候,根据异常类型进行不同的处理。
2024-06-05 08:30:00
1072
原创 Java基础教程 - 9 集合
方法,比较当前对象和target的大小,如果想从小到大排列,则当前对象的属性小于 target 的属性,返回负数,如果相等,返回0,如果大于,返回正数,则就实现了从小到大排列,反之从大到小排列。如果知道列表中要放多少数据,建议在新建数组的时候指定列表大初始大小,这样避免扩容,从而耗费性能,因为列表的底层还是使用数组实现的,默认长度是10,而数组是无法动态修改大小的,所以在扩容的时候会创建一个新的列表,将之前列表中的数据拷贝到新列表中。List 有序,是添加元素的时候,后添加的元素会排列到前面元素的后面。
2024-05-24 07:45:00
1789
原创 Java基础教程 - 8 枚举类
枚举使用enum关键字来定义。/*** 定义枚举*/SPRING,SUMMER,AUTUMN,WINTER/*** 测试类*/// SPRING// 获取父类// 父类是:class java.lang.Enum枚举也是一种类,而且其中定义的常量就是这个类的实例对象。枚举类因为是类,建议使用驼峰规则,其中的常量使用大写。使用的时候就是对象,赋值给Season类型的变量。因为枚举是类,所以枚举中也是可以定义属性的,而且可以有构造方法。/*** 定义枚举*/
2024-05-23 08:45:00
823
原创 Java基础教程 - 7 面向对象-5
在实际的开发中,我们一般使用 static 和 final 来共同修饰全局变量,此时的变量的值是无法修改的,也就成了全局的常量。// 定义用户名最大长度// 定义用户名最小长度定义常量的时候,常量的名称一般统一为大些,单词之间使用下划线分隔。String name = "逗比";System.out.println("我要哔哔两句");System.out.println("我爱学习");// 静态成员内部类。
2024-05-22 09:00:00
765
原创 Java基础教程 - 7 面向对象-4
多态就是多种状态,同一个类型的父类型对象,因为指向的是不同的子对象,而表现出的不同的状态。所以多态是建立在继承的基础之上的。System.out.println("我会啾啾叫");System.out.println("我会咕咕叫");// 创建一个麻雀对象// 创建一个鸽子对象上面麻雀类和鸽子类都继承自鸟类,然后创建了一个麻雀对象和鸽子对象,都赋给了鸟类,通过两个对象分别调用 tweet() 方法。执行结果:我会啾啾叫我会咕咕叫。
2024-05-20 08:30:00
1526
原创 Java基础教程 - 7 面向对象-3
静态方法是不能被重写的,但是子类可以定义和父类相同签名的方法,但这两个方法相互独立,没有关系,用父类的引用调用的就是父类的方法,不会因为引用指向子类而不同。麻雀和鸽子都会飞,我们可以在麻雀类中定义一个飞的方法,在鸽子类中定义一个飞的方法,但是这两个飞的方法是一样的,都是用翅膀飞。父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或A类的子类;例如,鸟类提供了叫的方法,但是我麻雀有自己的叫法,我要啾啾叫,那么我们可以重写父类的方法,实现自己的个性化。因此,在大多数情况下,如果你用。
2024-05-18 08:45:00
901
原创 Java基础教程 - 7 面向对象-1
类中可以定义属性和行为,属性也就是成员变量,表示这个类有哪些数据信息,行为也叫成员方法,表示这个类能干什么。例如,对于学生类而言,学号、姓名、年级就是属性,学习这个行为,可以定义为方法。/***定义类使用class关键字,后面跟类名*/System.out.println("我是" + name + ", 我在学习");上面的类定义了三个成员变量(sid、name、age),public表示访问修饰符,用来限制属性的访问权限,后面再讲,现在使用public。后面是变量类型和变量的名称。
2024-05-15 19:00:00
892
原创 Java基础教程 - 6 方法
下面定义一个将两个数相加的方法/*** 定义两个数相加的方法*/public static int add() { // 定义方法public是权限修饰符,表示在哪里可以访问到这个方法,static 表示是静态方法,这里 public static 先不用管,固定写法就好。int表示返回值类型,int 表示这个方法返回一个整形的数据,方法的返回值可以是任何类型或者是void;add表示方法名,方法名按照标识符命名规则即可,推荐使用首字母小写的驼峰规则(xxxYyyZzz);()
2024-05-10 08:45:00
1354
原创 Java基础教程 - 5 数组
栈中存放的是局部变量,也就是方法中定义的变量,现在我们定义的变量都是在方法中的,也就是 main 方法,所以 numbers 变量是存储在栈中的,但是右边的数组值是存储在堆中的,numbers 变量中存储的是一个地址值,是数组的首地址(第一个元素的起始地址,也就是1的起始地址,上面的地址值是胡诌的)。第二轮需要拿4进行比较,最终找到第二大的数6,6会沉到7前面,就不用和7比较了,也就是每比较一次,在最后面就会少比较一次,因为大的都沉到底部了,后面都是排序好的,自然就不用比较了。
2024-05-06 21:05:23
933
原创 Java基础教程 - 4 流程控制
代码执行到while,会判断是否满足条件,如果满足,就会进入while循环,执行满足条件要做的事情,执行完成,会重新判断while后面的条件,如果满足会继续循环,如果不满足就不在进入循环。加1,然后再执行while后面的条件判断,判断 i
2024-05-05 22:21:47
979
1
原创 Java基础教程 - 3 运算符
同样,如果判断一个整数是否是偶数,那么可以将这个数 % 2,然后查看结果是否是 0,如果是 0 就是偶数,否则是奇数。逻辑短路就是在进行逻辑运算的时候,如果已经能够得到最后的值,就不会再继续进行判断了。需要注意的是,自增自减运算符可以放在变量的前面或后面,这会影响到表达式的值。复合赋值运算符运算完成,类型是不变的,如果使用普通方式,则需要强制转换。看着上面的代码,眼不眼晕。上面的运算了解一下就好了,实际开发中不涉及底层的,基本用不到。上面那么多运算符,如果同时运算的时候,优先级是怎么样的呢?
2024-05-01 08:00:00
256
原创 Java基础教程 - 2 基础语法
所以我们现在定义变量来保存数据。定义变量的格式:类型 变量名 = 值;// 定义一个字符串变量,用来存储姓名// 定义一个整数变量// 定义一个浮点数类型// 定义完变量就可以使用变量了// Doubi// 18// 1.78在上面的代码中,我们分别使用了不同的类型定义了不同类型的数据,使用String定义字符串类型,使用int定义整形数,使用double定义浮点数,使用给变量赋值。Java 是强类型语言,就是每个变量都要指明类型。
2024-04-29 08:30:00
628
原创 Java基础教程- 1 Java 简介
(了解一下即可,对学习没影响,总得了解一下它是怎么来滴~)Java是由Sun公司(已被Oracle收购)的詹姆斯·高斯林(人称 Java之父)和麦克·舍林丹等人于1990年代初开发的一种编程语言,最初被命名为Oak,Oak的目标是作为家用电器等小型系统的编程语言,用于电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。
2024-04-27 20:20:23
987
1
原创 Docker进阶教程 - 3 虚悬镜像
通常在构建的过程中,取消构建、构建出现问题的时候,会出现异常的镜像,这种镜像没有名称和标签。因此,这些镜像被称为虚悬镜像,因为它们“悬浮”在Docker中,没有被任何容器所使用,也不会被Docker清理工具删除。虚悬镜像的产生概率不高,但一旦生成,可能会对系统造成一些潜在的风险。因此,一旦发现虚悬镜像,应该立即删除。什么是虚悬镜像(dangling image)?
2024-03-19 09:00:00
652
原创 最细致最简单的 Arm 架构搭建 Harbor
也不知道为什么不更新,我看到有回复说是团队资源有限,如果你看到有推出或更新 arm 架构版本,麻烦发邮件给我,我会更新笔记。提示不要使用 localhost,因为 Harbor 需要被外部客户端访问。可以在这里修改登录密码,当然后面登录后也可以在页面中进行修改。文件中配置的密码(Harbor12345)来登录。文件修改好了,现在可以启动运行了,直接运行。来访问,遇到证书警告,直接同意。如果遇到权限问题,可以使用。也可以在自己的主机上修改。使用 admin 和。中配置了域名,所以在。解压的文件夹下有一个。
2024-03-18 20:27:59
4560
1
原创 Docker进阶教程 - 2 Docker部署SpringBoot项目
另外如果项目中用到数据库或redis缓存等组件,注意修改地址,不要为 localhost,因为部署到 docker 中,是不在一个容器中的,所以要写明数据库或缓存的地址。我们可以在项目根目录下创建一个 docker 文件夹,然后在这个文件夹中编写一个 Dockerfile 文件,并将 jar 包拷贝并放在这个目录下。其实这里主要是比较清晰的管理 docker 文件,这里的两个文件后面是需要拷贝到 Docker 宿主机上的。这一步不影响后面的构建,只是为了将 Dockerfile 比较清晰的保存在项目下。
2024-03-18 09:00:00
1103
原创 Docker基础教程 - 7 容器数据卷
我们在运行容器的时候,产生的数据都是保存在容器内部的。如果使用Docker来运行mysql容器,数据都保存在容器内部,此时删除容器,数据就全部没了!没了!了!比删库跑路还容易,简直离谱他妈给离谱开门——离谱到家了。所以需要容器卷,将主机的目录挂载到容器内部(宿主机目录相当于一个外部移动硬盘一样),将容器的目录与宿主机的目录进行映射,将数据保存到宿主机上,这样,即使容器被删除,挂载到容器卷中的数据仍然会被保留在宿主机上。使用容器卷既可以实现容器数据的持久化,也可以在容器间共享数据。
2024-03-08 07:45:00
973
原创 Docker基础教程 - 6 Docker平台架构
之后,内存的使用权会从这一层转移到内核,然后这一层就会被卸载,释放出存储空间。这种分层的设计使得镜像的复用和共享变得非常容易,比如有多个镜像都从相同的Base Image构建而来,那么宿主机只需在磁盘上保留一份Base Image,同时内存中也只需要加载一份Base Image,这样就可以为所有的容器服务了,而且镜像的每一层都可以被共享,减小了传输和存储的开销。容器,就是一个运行的 Redis 了,每个容器之间是相互隔离的,就像一个个的集装箱,所以 Docker 的图标就是一个鲸鱼上面有很多的集装箱。
2024-03-07 07:45:00
959
原创 Docker基础教程 - 5 其他命令
具体命令是上面查看帮助文档中列出的命令,通过命令文档可以查看命令需要的参数,这个还是比较实用的。前面镜像和容器的命令已经介绍的差不多了,还有一些其他的一些命令,简单了解一下。下面是控制 Docker 服务的一些命令,这是属于Linux命令。通过这个命令可以看到 docker 有哪些命令和参数。
2024-03-06 07:45:00
275
Dart基础笔记,免费下载,给个好评,在线阅读地址:https://www.doubibiji.com
2024-03-06
Docker Compose演示中的SpringBoot项目源码和jar包
2024-03-01
Quartz动态调度示例
2024-01-06
Python基础教程笔记
2023-04-09
HTML5基础教程PDF版
2023-07-22
mybatis plus 批量插入如何设置雪花算法id
2021-06-22
thymeleaf 标签如何实现 JSTL的c:if功能呢
2017-11-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人