- 博客(208)
- 收藏
- 关注

原创 leetcode需要背下来的程序&语法糖 [更新中]
C++13的string类型在使用.back()方法的时候不会考虑string是否为空,如果string为空的话会有越界错误。
2025-05-29 23:38:18
326

原创 弱监督语义分割学习计划(0)-计划制定
经过与deepseek的一番讨论和交流,DeepSeek为我设计了一个。:Class Activation Map (CAM)优化、伪标签迭代。:掌握图像级/点监督分割方法,构建弱监督野外场景Pipeline。,结合理论与实践,并最终导向可落地的开源项目。:解决野外场景的域偏移问题(如仿真→真实场景迁移):构建完整Pipeline,产出开源仓库与仿真视频。:掌握传统语义分割核心模型与野外场景数据特性。
2025-02-18 14:17:20
881
原创 ubuntu apt安装与dpkg安装相互之间的关系
Linux系统中,neofetch显示的dpkg包数量包含了所有通过apt安装的软件包。apt是高层工具,自动处理依赖关系并调用底层的dpkg执行安装。apt通过软件源下载.deb包并解决依赖,而直接使用dpkg安装本地.deb文件则需手动处理依赖。apt安装的包会被dpkg记录,两者共同构成系统中的软件包管理。flatpak和snap则是独立的容器化包管理系统,与apt/dpkg无直接关系。
2025-08-03 15:48:09
485
原创 update-alternatives(linux系统中对于多程序版本的管理工具)
update-alternatives是Ubuntu/Debian系统中管理多版本软件的命令行工具。它通过两级符号链接机制(如/usr/bin/java→/etc/alternatives/java→实际路径)实现版本切换,避免直接修改系统目录。支持自动(按优先级)和手动模式,常用命令包括--display查看版本、--config交互切换,还可手动--install添加或--remove删除备选项。该工具与包管理器兼容,既保证灵活性又确保安全性,是管理Java/Python等多版本环境的理想方案。
2025-08-03 15:17:01
726
原创 一个物理引擎仿真器(mujoco这种)的计算流程
当前状态:你的车在地图上的位置和当前车速。带约束优化:你观察路况(约束),比如前方有障碍物(接触),路面有摩擦力,你需要决定现在应该踩多少油门/刹车,以及方向盘要打多少(计算接触力)。前向动力学:根据你踩油门/刹车的力度和车子本身的性能(质量、引擎),计算出车子在这一瞬间的加速度。龙格库塔:根据这个瞬时加速度,以及你对接下来一小段时间路况变化的预估(多次采样),在地图上精确地画出你车子下一秒钟的新位置。
2025-08-02 23:13:39
566
原创 linux eval命令的使用方法介绍
摘要: eval是Linux中一个功能强大但极其危险的命令,它能将字符串参数拼接后作为新命令进行二次解析执行。其核心机制是"双重扫描":先进行常规变量替换,再将结果字符串交给shell重新解析执行。主要应用场景包括动态变量名引用、执行含特殊字符的命令、批量设置变量等。但eval存在严重安全风险(如命令注入),业界有"eval is evil"的警告。更安全的替代方案包括:使用${!varname}进行间接引用、用数组处理含空格的命令、通过read解析变量赋值等。建议将
2025-08-02 21:13:22
944
原创 linux source命令使用详细介绍
source 是 Linux/Unix 中的 Shell 内置命令,用于在当前 Shell 环境中直接执行脚本(不创建子 Shell)。主要特点包括:脚本中的变量、函数等会保留在当前环境;常用于加载配置文件(如 .bashrc)、修改环境变量或定义函数。与直接执行脚本不同,source 的修改会立即生效,但需注意脚本中的 exit 会终止当前 Shell。典型使用场景包括环境配置加载、动态路径添加和函数定义。使用时建议明确路径,避免安全隐患。
2025-08-02 21:10:09
229
原创 rosdep的作用以及rosdep install时的常用参数
rosdep的作用:一个跨平台的 ROS 系统依赖安装工具,它读取,将抽象的依赖名映射到具体的系统软件包并进行安装。的含义“请扫描我工作空间下的src文件夹,找出里面所有 ROS 源码包的系统依赖项。在安装时,请忽略掉那些源码已经存在于src文件夹里的包本身。整个过程请严格按照 ROS Humble 发行版的规则来执行。这个命令是在编译一个从源码获取的 ROS 2 工作空间之前,必须执行的关键步骤,它确保了编译过程不会因为缺少依赖库而失败。
2025-08-02 19:19:37
689
原创 linux ssh公钥移除办法
移除通过添加的公钥,其操作逻辑正好是的逆过程。的作用是将你的(例如的内容)追加到中。因此,要移除这个公钥,你需要在上编辑那个文件,并删除对应的公钥行。
2025-08-02 15:11:26
904
原创 Ubuntu系统间SSH控制详细指南
SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地运行网络服务。它最常见的用途是远程登录系统,以及在系统之间安全地传输文件。
2025-08-02 14:34:13
586
原创 filezilla出现connected refused的时候排查问题
服务器:SSH服务装了吗?服务器:SSH服务运行了吗?-> 不行就服务器:防火墙挡了吗?-> 如果active,就服务器:端口对吗?-> 确认端口号客户端:FileZilla里协议、主机、端口、用户名填对了吗?特别是sftp://协议和端口号。按照这个顺序排查,基本上都能解决“Connection refused”的问题。
2025-08-02 14:23:17
827
原创 通过filezilla在局域网下实现高速传输数据
本文介绍了FileZilla的安装与使用方法。Linux系统通过apt安装openssh-server,Windows可参考相关教程。使用部分详细说明了WiFi和有线网络两种连接方式,包括IP设置和连通性测试步骤,并展示了20-40MB/s的传输速度。常见问题解答了不同频段WiFi连接和"connection refused"错误的排查方法,提供了相关技术文章的参考链接。文章配有详细的配置截图,便于用户直观理解操作流程。
2025-08-02 13:39:08
215
原创 ubuntu使用man手册中文版办法
安装使用:直接不生效?:检查locale命令输出,确保LANG是。某些还是英文?:正常,说明该命令的中文手册页不存在,man自动显示了英文版。希望能帮助到你!
2025-08-01 15:49:26
350
原创 system.conf linux用于启动和管理系统进程的初始化系统和服务管理器的配置文件
这个文件是 systemd的主配置文件。systemd是现代 Linux 发行版(包括 Ubuntu)中用于启动和管理系统进程的初始化系统和服务管理器。你可以把它看作是系统的“大管家”(PID 1),它负责启动所有其他程序,并监控它们的状态。文件中的配置项定义了systemd管理器自身的行为,以及所有由它管理的服务(services)、挂载点(mounts)、套接字(sockets)等的全局默认值。是systemd的大脑中枢配置文件,它掌管着systemd自身的行为和所有系统服务的全局默认设置。
2025-07-31 23:19:55
666
原创 systmctl的作用,使用场景和用法
(系统和服务的初始化及管理工具)的核心命令。它负责控制系统的启动、服务管理、日志查看等,是现代 Linux 发行版(如 Ubuntu 16.04+、CentOS 7+、Fedora 等)中替代传统。,你可以高效管理系统和服务,尤其适合自动化运维和故障排查。如需更深入学习,可通过。是 Linux 系统中用于管理。
2025-07-31 22:12:39
308
原创 Linux Flathub软件管理方法 使用指南
Flathub 是 Flatpak 应用程序的主要分发中心,类似于 Linux 上的"应用商店"。它提供了一种跨发行版的软件打包和分发方式,让用户可以在任何 Linux 发行版上运行相同的软件。
2025-07-31 21:51:44
720
原创 Python .toml 安装文件介绍
toml文件是一种用于配置的文件格式。它的全称是,即 “汤姆的(创始人)显而易见的、最小化的语言”。核心目标:人类易于阅读:它的语法非常直观,就像一个初始化(.ini)文件,但功能更强大。易于解析:计算机程序可以轻松地将其内容解析成统一的数据结构(通常是字典或哈希表)。无歧义:一种 TOML 文件格式应该只对应一种解析后的数据结构,避免了像 YAML 那样可能出现的歧义。在 Python 生态中,.toml文件变得越来越重要,特别是在PEP 518之后,它被选为。
2025-07-30 22:19:47
948
原创 linux更新内核启动镜像文件命令(sudo update-initramfs -u)的作用
这个命令的作用是:为当前正在运行的内核,重新生成(或更新)initramfs启动镜像文件。为了完全理解它,我们需要先弄明白initramfs是什么。initramfs是一个强大的系统底层命令,它像是在为你系统的“智能启动钥匙”更新程序。对于普通用户来说,它大部分时间是自动运行的。你只需要在手动修改了核心启动配置或修复特定启动故障时,才需要亲自调用它。
2025-07-30 11:43:42
829
原创 Linux系统的虚拟控制台介绍(桌面卡死的拯救方案)
当你按下(或者F1-F6中的任意一个) 时,你进入的是虚拟控制台 (Virtual Console),也常被称为。简单来说,这是一个纯文本、全屏的命令行界面。在这个模式下,你看不到你熟悉的桌面、图标、窗口或鼠标指针。你只能通过键盘输入命令来与操作系统进行交互。在现代Linux系统中,通常会预留多个虚拟控制台。到通常对应6个独立的文本模式虚拟控制台 (tty1 到 tty6)。你的图形桌面环境(GUI)也运行在一个虚拟控制台之上,通常是在tty2(对于较新的Ubuntu版本) 或tty1。
2025-07-29 22:29:36
845
原创 linux启动项选择文件(grub文件)的配置和修改
(尤其是在UEFI启动模式下),但主要配置和核心文件位于其他目录。如果EFI分区损坏,需重新安装GRUB到EFI分区(假设磁盘为。GRUB菜单的配置文件和相关文件分布在多个位置,两者协同工作,确保系统正常启动。
2025-07-29 21:42:41
363
原创 系统选择菜单(ubuntu grub)介绍
Ubuntu的GRUB菜单是您电脑的启动管理器和系统急救中心。它不仅是选择操作系统的入口,更是您在系统遇到启动问题时的第一道防线。了解它的基本功能,对于每一位Ubuntu用户来说都是非常有用的。
2025-07-29 21:30:00
884
原创 多个同一频段的设别如何避免相互干扰
我一直以为不同的频谱是用来区分不同设备的,那多个2.4G或者5G的信号源在一起发射和接受,互相之间如何保证不干扰吗,不是通过使用不同的信道吗,那使用了不同的信道怎么保证传输速率呢。即使使用了不同信道,如果多个设备同时通信,仍然可能影响速率。,但具体如何保证传输速率,还涉及更复杂的技术。,能获得最佳速率和抗干扰能力!
2025-07-29 17:02:36
1116
原创 5G到底比2.4G快在了哪里,为什么频率只高了一倍网络带宽却可以快10多倍
(如 Wi-Fi 6 的 5GHz 可达 9.6Gbps,而 2.4GHz 通常只有 600Mbps)。你提到的“5G 频率比 2.4G 快了一倍,但理论速率却高 15 倍”是一个很好的问题。虽然 5GHz 的频率数值(5.0)只是 2.4GHz(2.4)的约 2 倍,但。
2025-07-29 16:56:05
531
原创 gnome和gtk介绍及其之间的关系
特性GTKGNOME类型软件开发库 (Library / Toolkit)完整的桌面环境 (Desktop Environment)目标用户应用程序开发者电脑的最终用户目的提供构建图形界面的“零件”提供一个完整的、可交互的图形化工作空间关系GNOME 是用 GTK 构建的GNOME 使用 GTK 作为其基础比喻乐高积木用乐高积木搭好的城市例子一个按钮、一个文本框文件管理器、系统设置面板、桌面本身你看到的整个桌面环境是GNOME。“文件”这个应用程序是GNOME项目的一部分。
2025-07-29 16:08:38
751
原创 [gnome] 使用flatpak安装gnome-extension进行系统美化
首先可以参考这篇文章Ubuntu下GNOME桌面美化知道美化的具体方式和大致方向,但是对于一部分人来说,在打开gnome extension的浏览器页面想要安装浏览器插件时,会出现如下图所示的问题:提示说不支持API v6系列,那么这里提供一种替代解决方案,使用flatpak安装gnome-extension进行系统美化。
2025-07-29 10:02:59
602
原创 linux安装zsh,oh-my-zsh,配置zsh主题及插件的方法
Zsh 配置文件~/.zshrcOh My Zsh 目录自定义内容目录(自定义主题和插件建议放在这里)应用配置更新 Oh My Zshomz update(会自动更新框架、主题和插件)通过以上步骤,你已经成功地为你的 Linux 系统配置了一个功能强大且外观漂亮的 Zsh 环境。享受高效的命令行体验吧!
2025-07-28 23:30:44
1368
原创 一个很巧妙的回溯写法解析(from leetcode灵神)
状态定义清晰:用两个参数就完整地描述了当前递归的状态。决策简单明确:对于每个元素nums[i],只有“选”和“不选”两个分支,通过两个递归调用完美地体现了这一点。代码极其精简:它没有显式地去存储每个子集,而是在递归的“归途”中,当一个子集构建完成时(到达 base case),立刻计算其“或”值并与目标比较,从而节省了大量空间。希望这个详细的解释能帮助你理解这个巧妙的算法!
2025-07-28 20:18:52
624
原创 C++常见的仿函数,预定义函数,functor,二元操作函数(对vector操作,加减乘除取余位运算等 )
头文件是你的好朋友,它提供了丰富的预定义函数对象。使用透明函数对象(如)是现代C++的最佳实践,代码更简洁。对于简单的、标准的操作(加、乘、位运算),直接使用这些函数对象非常方便。对于更复杂的逻辑,尤其是求最值,Lambda 表达式通常是更灵活、更具可读性的选择。使用reduce时,选择正确的初始值至关重要,它决定了整个计算的基础。
2025-07-28 20:06:07
424
原创 通俗理解主机的BIOS和UEFI启动方式
创建(Creating):在制作 U 盘的过程中,安装程序会自动写入两套不同的引导信息,一套给 BIOS 用,一套给 UEFI 用。运行(Running):当你把这个 U 盘插入电脑并选择从它启动时:如果你的电脑是老式 BIOS 电脑,它会读取 MBR,以BIOS 模式(也叫 Legacy 模式)启动 U 盘里的 Ubuntu。如果你的电脑是新式 UEFI 电脑,它会读取 EFI 分区,以UEFI 模式启动 U 盘里的 Ubuntu。
2025-07-27 22:41:19
780
原创 catkin_make与catkin build的关系与区别(使用catkin build的好处)
提供了一套名为的现代化命令行工具,它是 ROS1 默认构建工具的一个功能更强大、速度更快、用户体验更好的替代品。是一个为 ROS1 开发者准备的生产力工具。它通过提供等一系列命令,彻底革新了 ROS1 的开发工作流,带来了更快的编译速度、更清晰的工作空间管理和更友好的用户交互。对于任何还在使用 ROS1 (尤其是 Noetic) 的开发者来说,从切换到是一个毫无疑问的正确选择。
2025-07-27 21:08:40
569
原创 解决启动项中会起死回生的幽灵引导项的问题
现在源头文件已经被处理掉了,我们可以永久地删除 NVRAM 中的启动项了。# -b 指定要删除的启动项编号, -B 表示删除 sudo efibootmgr -b 0001 -B执行后,再次运行检查一下,Boot0001应该已经消失了。问题原因:你的第 5 分区上有一个残留的 EFI 引导文件夹,导致 UEFI 固件每次开机都自动重新注册它。解决方法:在 Ubuntu 中挂载这个分区,将其中多余的EFI文件夹重命名或删除,然后用efibootmgr做最后的清理。
2025-07-27 16:50:27
1127
原创 关于BOOT引导启动项的说明
这是UEFI提供的网络启动选项,与本地操作系统无关,通常用于从局域网加载系统(如无盘工作站)。如果需要进一步操作(如修复引导或调整分区),建议先备份重要数据并查阅对应系统的官方文档。在双系统电脑中,启动项选择的实现涉及多个硬件和软件组件的协同工作,主要依赖于。:开机时,UEFI固件(主板上的程序)会扫描所有存储设备的。)会读取操作系统的信息,生成启动菜单。一个单系统的Ubuntu的输出结果。一个多系统的Ubuntu的输出结果。:ESP分区中的引导管理器(如。,查找可用的引导加载程序(
2025-07-27 15:10:20
752
原创 ubuntu 多网络路由优先级问题
这个问题的本质是路由冲突。当Ubuntu的NetworkManager检测到两个活动的连接时,它会根据一定的规则(如metric值,通常有线连接的metric更低/优先级更高)来设置默认路由。通过明确告诉系统哪个连接不应该作为默认路由,我们就能完美解决这个冲突,实现“有线上局域网,WIFI上互联网”的目标。如果以上步骤操作后仍有问题,请将第1步中几个诊断命令的输出结果贴出来,以便进一步分析。
2025-07-25 19:14:14
921
原创 linux ldd命令的作用以及在ROS中的应用(显示可执行文件所依赖的所有共享库)
ldd是 Linux 系统中用于打印共享库依赖关系的实用工具。它能够显示一个可执行文件或共享库所依赖的所有动态链接库(.so文件)及其路径。以下是关于ldd=>not found-v-u-d-r-dlddlddlddlddnot foundlddobjdumpreadelf通过ldd,你可以快速诊断程序与库的依赖关系,但务必注意其潜在的安全风险。对于生产环境,建议结合静态分析工具使用。
2025-07-25 18:50:28
757
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人