- 博客(23)
- 收藏
- 关注
原创 书生实战营第一关-Linux基础知识
运行hello_world.py配置端口映射以后的结果。使用VScode的插件通过SSH成功连接到远程主机。然后通过RSA算法生成SSH公钥并添加到平台。配置好以后,无需输入密码即可登录到远程主机。
2025-02-07 10:17:13
200
原创 罗技G29在ROS系统下的力反馈配置
配置好ROS以后发现方向盘没有阻力,因此需要给G29加force-feedback(力反馈)。步骤如下:1、PID 控制模式通过 PID 控制将轮子旋转到指定角度。此模式可以在您松开双手的情况下将车轮旋转到指定角度,因此此模式对自动驾驶系统的用户界面非常有用。2、恒力模式以指定的恒力将操纵盘旋转到指定的角度(最大力由 rosparam 指定)。此模式可以更轻松地在驾驶模拟器中手动控制车辆。如果您在双手离开的情况下使用并旋转力超过 0.3,则轮子会左右移动。
2024-11-07 19:10:04
622
原创 (已解决)ROS结合pyqt5 GUI的多线程场景问题
在进行Ubuntu下PyQt5与Ros结合的项目开发时考虑到ros处理回调以及循环等可能会导致GUI界面假死,所以打算将Ros的回调处理逻辑和GUI界面的更新放在两个线程,GUI当然是主线程,ros是子线程。我这里是使用ROS订阅手柄,测试代码,发现了一些问题。
2024-11-04 10:05:28
393
原创 (已解决)Linux下libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: 无法打开共享对象文件
libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: 无法打开共享对象文件: 没有那个文件或目录 (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
2024-10-30 16:27:53
1406
2
原创 (已解决)ROS如何使用catkin_make加参数单独编译工作空间下的单个包
【代码】ROS如何使用catkin_make加参数单独编译工作空间下的单个包。
2024-10-30 16:05:08
431
原创 (已解决)Ubuntu运行pyqt和opencv程序时候出现qt.qpa.plugin: Could not load the Qt platform plugin “xcb“
在网上找了很多方法,卸载库,安装库,甚至重新创建虚拟环境,都没用,焦头烂额,后来找到了一个。如果按照此方法未解决问题,可以去原网站看看还有没有其他解决方案。外网的博主的方法,运行,一秒解决问题!
2024-10-30 15:48:33
683
转载 两台电脑已用网线连接但飞秋看不到对方(无法看到局域网内的好友)解决办法
在对计算机硬盘重新分区或者在两台电脑之间进行资料转移时,用U盘或者硬盘速度不够快,最简单的方法是两台计算机用网线直接相连,组成局域网,使用飞秋传输数据。
2024-09-24 09:07:06
2627
原创 MySQL(含面试题)
请注意,以上提到的优化策略可能不适用于所有数据库系统和应用程序。在实际应用中,应根据具体的数据库类型、工作负载和硬件环境来选择合适的优化方法。此外,当对数据库进行更改时,务必备份并在测试环境中验证更改的影响。SQL语句性能优化是提高数据库应用程序效率的关键。
2023-09-08 20:16:21
127
1
原创 排序算法详解
插入排序在实现上,通常采用in-place排序(即只需用到 {\displaystyle O(1)} {\displaystyle O(1)}的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后,再分别对小数区与大数区进行排序。挪位,为最新元素提供插入空间。
2023-09-02 11:03:50
305
转载 C库字符串函数介绍
C 库函数 char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 '\0'。返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。
2023-09-02 09:10:54
341
原创 刷题算法逻辑篇
例如,如果你的键是字符串,那么它将花费 O(m),其中 m 是字符串的长度。大多数算法的时间复杂度为 O(n⋅k),k 是在每个节点上做的操作数, 通常是 O(1)。根据实现的不同,通过索引访问元素可能比 O(n) 快,但有一个重要的常量除数。图上的 DFS 和 BFS:O(n⋅k+e),其中 n 是节点数,e 是边数,前提是每个节点处理花费都是。在最坏的情况下,二分查找的时间复杂度为 O(logn),其中 n 是初始搜索空间的大小。O(n⋅k),其中 n 是状态数,k 是每个状态所需要的操作数。
2023-09-01 21:05:47
107
1
原创 C++中的STL标准库常用函数lower_bound()、upper_bound()、equal_range() 以及 binary_search() 的用法
lower_bound() 函数定义在。
2023-09-01 20:40:04
2724
1
原创 Linux基本知识(含面试题)
Linux进程中,应用可见的内存空间是一样的,是如何做到的A.使用虚拟内存转换B.运行时分配不—样的实际地址C.都不是D.编译时区分正确答案是A.使用虚拟内存转换。在Linux进程中,应用可见的内存空间是一样的,这是通过使用虚拟内存转换来实现的。虚拟内存技术使得每个进程都拥有独立的内存空间,同时保证了不同进程之间的隔离性。通过虚拟内存转换,可以将逻辑地址转换为物理地址,使得每个进程可以使用相同的逻辑地址空间,但实际上访问的是不同的物理地址空间。
2023-09-01 19:25:32
968
1
原创 常见设计模式讲解(含面经)
单例模式:保证类的实例化对象仅有一个,并且提供一个访问他的全局访问点。应用场景:表示文件系统的类,一个操作系统一定是只有一个文件系统,因此文件系统的类的实例有且仅有一个。打印机打印程序的实例,一台计算机可以连接好几台打印机,但是计算机上的打印程序只有一个,就可以通过单例模式来避免两个打印作业同时输出到打印机。实现方式:单例模式可以通过全局或者静态变量的形式实现,这样比较简单,但是这样会影响封装性,难以保证别的代码不会对全局变量造成影响。
2023-09-01 10:31:09
118
1
原创 算法相关知识(含面试题)
背包问题的基本条件:背包容量V和一些物品,物品有体积和价值两个属性。0-1背包的问题限制的条件是每个物品只有一种,要么放入背包,要么不放入,如何才能使得背包获得最大的价值,最终的结果,背包可以不被放满。多重背包问题是介于0-1背包和完全背包问题之间,多重背包的每个物品的数量是有限的,是介于1到无限之间的某个数。当然我们仍然可以转化为0-1背包问题来解决.同样是有N种物品和一个容量为V的背包,和0-1背包不同的是每种物品的个数是无限个。
2023-09-01 10:22:00
61
1
原创 QT相关知识(含面经)
本篇文章讲解了Qt中的各种内存管理机制,算是做了一个比较全面的描述。之所以说是必读,是因为笔者在工作中发现,内存管理确实非常重要。Qt内存管理机制是贯穿整个Qt中所有类的核心线索之一,搞懂了内存管理能在脑海中形成内存中对象的布局图,写代码的时候才能下笔如有神,管理起项目中众多的对象才能游刃有余,提高开发效率;能够减少bug的产生。有经验的开发者应该知道,内存问题很难调试定位到具体的位置,往往导致奇怪的bug出现。能够帮助理解Qt众多类的底层不变的逻辑,学起来更容易。
2023-09-01 10:16:18
3070
1
原创 计算机网络相关知识(含面试题)
TCP是一种面向连接的协议,而UDP是一种无连接的协议。TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;可以改为三次挥手,但是三次挥手并不是一个可靠的过程,因为可能存在半开连接的情况,即客户端发出了Fin报文,但是服务器没有收到或者在服务端回复了Ack报文后,客户端没有收到。在TCP四次挥手过程中,客户端和服务器都发送和接收Fin和Ack报文,从而确保连接的可靠关闭。因此,虽然四次挥手过程可能会显得有些多余,但它实际上是必要的,以确保网络通信的可靠性和安全性。
2023-09-01 10:16:15
150
1
原创 数据库相关知识(含面试题)
MySQL和SQLite是两种常用的数据库管理系统,它们各自具有优点和缺点。总体来说,MySQL具有更强大的功能和性能,而SQLite具有轻量级和便携性的优势。在功能方面,MySQL支持大量数据库功能,包括事务处理、存储过程、视图等,而SQLite只支持基本的SQL功能。此外,MySQL是面向大型企业的,适合处理大量数据和高并发访问,而SQLite适合小型应用程序和嵌入式系统。在性能方面,MySQL通常比SQLite更快,尤其是在读取和写入大型数据集时。
2023-09-01 10:16:12
104
1
原创 操作系统知识汇总(含面试题)
进程间通信的方式有六种示意图如下所示:包括管道、消息队列、共享内存、信号量、信号、sokect等管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。命名管道(named pipe):命名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semaphore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。
2023-09-01 10:16:05
438
1
转载 C++相关岗位面经
指针传递:本质上是值传递,只不过拷贝的是指针的值,拷贝之后实参和形参是不同的指针,但指向的地址都相同。通过指针可以间接的访问指针所指向的对象,从而可以修改它所指对象的值。值传递:形参是实参的拷贝,函数对形参的所有操作不会影响实参。形参是实参的拷贝,改变形参的值并不会影响外部实参的值。引用传递:当形参是引用类型时,我们说它对应的实参被引用传递。部分编译器在底层也是使用指针来实现引用传递。
2023-08-16 08:36:27
60
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人