K8s的资源组件介绍
引言 这篇重点介绍K8s的资源组件和相关配置使用。 1. Node & Pod Node: 是 Pod 真正运行的主机,可以是物理机,也可以是虚拟机。为了管理 Pod,每个 Node 节点上至少要运行 container runtime(比如 docker, rkt, containerd)、kubelet 和 kube-proxy 服务。 Pod: 是一组紧密关联的容器集合(也可以是单个容器),它们共享 IPC(进程间通信) , Network namespace 和 文件存储(需挂载到容器),是 Kubernetes 调度的基本单位。 Node和Pod的关系如下图所示: 上图中的Node中共有4个Pod,分别为: 2. Namespaces 是对一组资源和对象的抽象集合,相当于给k8s系统内部的对象划分一些命名空间。常见的 pods, services, replication controllers 和 deployments 等都是属于某一个 namespace 的(默认是...
ROS2简介与基本使用
1. ROS2 介绍与安装 1.1 ROS2 的历史 ROS(Robot Operating System,机器人操作系统),但 ROS 本身并不是一个操作系统,而是可以安装在现在已有的操作系统上(Linux、Windows、Mac)的软件库和工具集 ROS 出生于 2007 年,ROS 的出现解决了机器人各个组件之间的通信问题,同时基于 ROS 完善的通信机制,越来越多的优秀的机器人算法集成到了 ROS 中来 现在的 ROS 功能已经变得非常的丰富和强大。但随着对 ROS 功能上要求越来越多,一些原始的架构和设计不能够满足目前的使用需求,这也是 ROS2 出现的原因 1.1.1 ROS 的作用 做一个机器人需要涉及到多个部分,而且这些部分之间还要进行通信,如果想要整个机器人可以跑起来,那么必须要有一个东西将下面的几个部分合理的连接到一起,这个东西就是 ROS 感知部分:激光雷达、深度相机、IMU、里程计、碰撞感知、建图 决策部分:路径规划(navigation)算法、定位算法 控制部分:轮子驱动 1.1.2 为什么需要 ROS2 2007 年 ROS...
c++之组合、继承、聚合及依赖
在学习c++的过程中相信大家对这几个概念都不陌生。 c++中一些常用的设计模式都是由这几种特性组合而成。本文再从整体对这个概念或者特性进行简要的介绍。 组合 c++中类之间的一种关系叫做"has-a"的关系。这种关系表示的是一个类中包含另一类的对象,体现了“有一个”的关系。这个被包含的类一般以实例对象的形式存在,而非指针对象的形式存在。请看下面的示例: 12345678910111213141516171819class Engine{ public: void start() { cout<<"引擎启动"<<endl; }}class car{private: Engine engine; //这里以实例的形式存在,而非指针,在类关系中是组合的关系public: void startCar() { engine.start(); //启动引擎 }} ...
用Enterprise Architect画类图和顺序图
新建一个Project 没什么好说的,“文件-新建项目”,然后选择保存位置就好了,模式的话由于我喜欢一个包一张图所以一般都选择“新建包的时候同时新建图”。 会弹出一个模型向导的对话框, 是给你导入模板的,我不需要,所以都不选直接点确定。 在项目浏览器里新增包,一个图一个包比较舒服: UML的图就主要在UML Structural和UML Behavioral两个包里: 有时候你新建在图里的元素删除了只是在图里删除而没有在包里删除,作为一个强迫症,总是要多动手删一次= = EA还提供一些像Word那样的操作,比如这两个按钮可以修改元素的层次关系: ...
Enterprise Architect类图的绘制
1.新建类图 新建图,弹出的窗口如下 2.绘制类图 常用类之间的关系 上方菜单栏找到图,找到并打开工具箱的视图, 鼠标悬浮就会显示元素对应的信息功能,拖到元素到工作区就会对应生成,新建一个类, 在类上鼠标右键添加其他信息,常用的是功能与属性的属性和操作, 其中属性是成员变量,操作是方法, 类之间的关系,可以在工具箱里添加,也可以在类的 箭头样式的那个图标 上拖动 3.多种类的关系的类图绘制 有时候,类的关系不止一种,两个类之间可能有多种关系,如下 两个类之间有聚合、依赖两种关系,使用Enterprise Architect,先画聚合关系, 然后在连接线上,右键选择高级–>改变方向,目标到起始 结果如下:
Cursor使用介绍
Cursor是一款AI代码编辑器,官网地址为https://www.cursor.com/ 直接在官网下载安装即可,基于VS Code二次开发而来,之所以没有采用插件方式,在官方网站上给出的答案是某些功能插件无法实现,产品专注在使用AI来进行编程方面,价格方面还不便宜,Pro单月20刀,企业版单月单个用户40刀,但某些功能确实好用啊,有找外包替你完成部分工作的感觉,不付费的话使用次数有限制。 最基本功能:Tab键代码自动补全。在写代码时,后面会有代码提示,官网上说是一个更强大的 Copilot(Github出品的代码补全工具),Copilot我只体验过,没有深度使用,不能给出比较准确的对比评价。 第二个特色功能:根据提示修改代码或生成命令。快捷键Ctrl/Cmd + k,比如下图,找到需要优化问题代码片段,选中需要优化一段代码,快捷键Ctrl/Cmd + k,输入提示“优化一下”,就会生成新代码,比较有特色是可以分段部分接受修改,根据右侧图中红框内快捷键操作即可,如果有错误,还可以继续进行AI Fix修复,用来重构代码效率会大大提高。 如果在终端中按快捷键Ctrl/Cmd...
Qt5.14.2与VS2022配置
1.qt6要在线安装,安装时间比较长,要求网络要稳定,不适合快速安装 2.使用qt5.14.2离线安装包,安装速度快,可以快速安装。 3.安装完qt.5.14.2后打开QtCreate4.0.1,打开 工具->选项->Kits,发现如下图: 没有找到MSVC2017,安装qt时选择安装MSVC2017的, 4.打开Visual Studio Installer,确保VS2022已经安装MSVC2017 5.确保WindowSDK有安装 6.到qtcreate中 工具->选项->Debuggers,查看有没有调试器 如果没有,到控制面板->程序卸载,查找 右击->更改,勾选如下图 等待安装完成。 7.安装完成后,在qtcreate->工具->选项->kits->Debuggers中看到cdb.exe调试器 8.重新添加编译器 9.重新配置Kits中构建套件(Kit) 10.如果报错 原因 解决
Ubuntu添加用户增加sudo授权
1.安装sudo 1apt install sudo 2.创建用户 123sudo useradd -m usernamesudo passwd usernamesudo usermod -s /bin/bash username 3.让用户拥有sudo权限 在Linux系统中,如果你想让一个名为username的用户拥有sudo权限,你需要编辑/etc/sudoers文件或者使用usermod命令将该用户添加到sudo组中(假设你的系统使用sudo组来管理sudo权限)。下面是两种方法的详细步骤: 方法一:编辑/etc/sudoers文件 在打开的编辑器中,添加以下行来给予username用户sudo权限: 1username ALL=(ALL:ALL) ALL 这行配置的意思是:用户username可以从任何主机(ALL)以任何用户(第一个ALL)和任何组(第二个ALL)的身份执行任何命令(最后一个ALL)。 方法二:使用usermod命令将用户添加到sudo组 ...
UE5和VS2022下载安装
先看一下UE和VS的兼容性 为了让VS更好兼容UE5,因此这里下载VS2022版本 步骤 一、Visual Studio下载安装 1. 进入Visual Studio 官网,点击下载 下载社区版即可 下载后点击应用程序开始安装 2. 在安装程序的“工作负荷”面板,先勾选“使用C++”的游戏开发,然后勾选“Windows 10 SDK”和“Unreal Engine 安装程序” 在安装程序的“单个组件”面板,保证如下选项已被勾选: 3. 可以再设置一下安装位置 4. 点击安装 5. 其它注意 1.UE5.4不支持VS2022之前的版本 2.VS2022安装选项要有 .NET 桌面开发 使用 C++ 进行桌面开发 使用 C++ 进行游戏开发 C++ profiling tools C++ AddressSanitizer Windows 10 SDK (10.0.18362 or Newer) Unreal Engine installer 在单个组件中...
Linux下安装navicat_navicat
1.在https://www.navicat.com.cn/download/navicat-premium下载navicat安装包 2.在终端执行命令 给navicat16-premium-cs.AppImage赋予可执行的权限 1chmod +x navicat16-premium-cs.AppImage 启动Navicat16 1./navicat16-premium-cs.AppImage 3.点击连接——mysql——输入连接名以及密码,点击确定。 其中, 连接名:为这次连接起个名字,可以随意填写 主机:mysql数据库所在的主机的ip 端口:mysql服务所在的端口号 用户名、密码:登录mysql时的用户名、密码 其实就是在终端执行mysql -h192.168.110.112 -P3306 -uroot -p命令所写的参数 点击测试连接可以测试能否正常连接指定的数据库 4.navicat 需要注册,如不注册只有14天的使用时间,执行下面两个命令,即可无限使用: 关闭Navicat程序,删除如下2个文件 12rm -rf...













