- 博客(46)
- 收藏
- 关注
原创 二分法的时间复杂度是logN
是(0,+∞),即x>0。当有8个元素时,即x为8,y为3.当α=10时,记为y=lg x。当α=2时,记为y=log x。当α=e时,记为y=ln x。二分法的时间复杂度是logN。其中x是自变量,函数的。,可表示为x=a^y。
2024-05-14 17:37:21
150
原创 颈椎锻炼方式
2. 颈部旋转运动:坐直,慢慢将头向一侧转动,直到感到轻微的拉伸,保持数秒钟,然后缓慢回到起始位置。7. 颈部侧弯运动:坐直,将头向一侧倾斜,直到感到轻微的拉伸,保持数秒钟,然后缓慢回到起始位置。6. 肩部放松运动:坐直或站立,将双手放在肩膀上,慢慢将肩膀向下放松,保持数秒钟,然后缓慢放松。1. 颈部伸展运动:坐直,慢慢将头向前伸展,直到感到轻微的拉伸,保持数秒钟,然后缓慢放松。3. 肩部卷动运动:坐直或站立,将肩膀向前卷动,然后向上卷动,再向后卷动,最后向下卷动。
2024-05-07 09:08:52
226
原创 压缩/解压缩:deflate算法,LZ77,huffman,gzip,zlib
是对deflate进行的封装。gzip本身只是一种文件格式,其内部通常采用Deflate数据格式,而Deflate采用LZ77压缩算法来压缩数据。gzip=gzip头+deflate 编码的实际内容+gzip尾。zlib=zlib头+deflate编码的实际内容+zlib尾。是对deflate进行的封装。
2023-12-28 16:38:32
501
原创 adb - Android Debug Bridge
adb - Android Debug Bridge 可以从windows连接到板子进行上传文件,下载文件,登录到板子上调试文件。
2023-12-25 17:38:09
371
原创 tcpdump
抓取时间同步,以太封装的PTP (Precision Timing Protocol)报文,其帧头中以太类型值=0x88F7。如果没有指定类型,缺省的类型是host。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。如果没有指明方向关键字,则缺省是src or dst关键字。抓取网卡eth0上端口范围是10000到10005的udp包。抓取网卡eth0上10000或10001端口的udp包。取与 “and”或“&&”取或 “or”或“ll“”逻辑运算 表示方法。
2023-11-17 11:39:43
41
原创 linux命令行上翻匹配查找
# ~/.inputrc"\e[A": history-search-backward"\e[B": history-search-forward
2023-08-24 10:24:48
91
原创 atomic
表示该原子操作必须顺序一致的,这是C++11中所有atomic原子操作的默认值。这样来理解“顺序一致”:即代码在线程中运行的顺序与程序员看到的代码顺序一致。也就是说,用此值提示编译器“
2023-08-17 15:18:03
62
原创 std::thread & std::function & lamda & std::ref
【代码】std::thread & std::function & lamda。
2023-08-16 11:08:11
110
原创 unique_lock & shared_mutex & condition_var
2. 当准备数据的线程调用notify_one()通知条件变量时,处理数据的线程从睡眠状态中苏醒,重新获取互斥锁,并且再次检查条件是否满足。当条件不满足时,线程将对互斥量解锁,并且重新开始等待。同样的,当任一线程拥有一个独占锁时,其他线程就无法获得共享锁或独占锁,直到第一个线程放弃其拥有的锁。比较灵活,锁可转移,会占用比较多的空间,并且比 std::lock_guard 稍慢一些。当任一线程拥有一个共享锁时,某一线程尝试获取一个独占锁时,需要等到其他线程放弃他们的锁;wait()会检查lamda条件,
2023-07-04 11:02:21
85
1
原创 Effective Modern Cpp 学习笔记 item24 通用引用 item1 模板类型推导
Effective Modern Cpp学习笔记 item24 通用引用item1 模板类型推导
2022-06-17 17:49:15
155
原创 /dev/sda & /dev/sdb & /dev/zero && dd命令 && fallocate
/dev/fd0 第一个软驱/dev/fd1 第二个软驱/dev/sda 第一块硬盘, sda1, sda2是sda这块硬盘上的两个分区/dev/sdb 第二块硬盘, 以此类推./dev/scd0 第一个SCSI CD-ROM, 可以用/dev/sr0./dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。下面使用dd命令将从zero设备中创建一个10K大小(bs决定每次读写1024字节,count定义读
2022-04-08 14:54:09
6655
原创 POSIX
POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )一般情况下,应用程序通过应用编程接口(API)而不是直接通过系统调用来编程。这点很重要,因为应用程序使用的这种编程接口实际上并不需要和内核 提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用,也可以通过调用多个系统调用来实现,而完全不使用任何系 统调用也不存在问题。实际上,API可以在各种不同的操作系统上实现,给应用程
2022-04-07 20:05:10
109
原创 ros commands
roscore另开一个窗口:$ ps -ef | grep /rosroscorerosmasterrosoutrosnode listrosnode info /rosoutrosnode ping rosoutrosrun turtlesim turtlesim_noderosrun turtlesim turtlesim_node __name:=myturtle另开一个窗口:$ ps -ef | grep /rosroscorerosmasterrosou.
2022-04-02 14:25:51
96
原创 apt安装与源码编译安装
1. apt-get安装apt一般直接安装已经编译好的可执行文件,会直接帮你处理依赖关系。apt-get install安装目录是包的维护者确定的,不是用户。系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下文档一般在 /usr/share;可执行文件 /usr/bin;配置文件 /etc;lib文件 /usr/lib。2. 源码编译安装一般是下载安装包文件,比如:tar包,然后解压,配置安装的路径,配置环境变
2022-04-02 10:21:58
5967
原创 CMake工作流程 && catkin工作流程
CMake工作流程# 在CMake工作空间下$ mkdir build$ cd build$ cmake ..$ make$ make install # (可选)catkin工作流程# 在catkin工作空间下$ catkin_make$ catkin_make install # (可选)上述命令会构建src目录下的所有catkin项目。源代码默认位置在catkin_ws/src,如果存放在my_src,那可以这样来使用catkin_make:# 在cat
2022-04-02 09:19:56
346
原创 ROS1 - melodic 编译之报错系列
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3sudo apt install libconsole-bridge-devsudo apt-get install libpoco-devsudo apt install libtinyxml-devsudo apt install libcurl4-openssl-
2022-03-31 13:52:18
1593
原创 Linux Shell >/dev/null 2>&1 含义
/dev/null :代表空设备文件,可以理解为一个垃圾桶> :代表重定向到哪里,例如:echo "123" > /home/123.txt1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"2 :表示stderr标准错误& :表示等同于的意思,2>&1,表示2的输出重定向等同于11 > /dev/null 2>&1 语句含义:1 > /dev/null : ...
2022-03-25 14:48:04
540
原创 VIM Tips
块插入:第一步:按下组合键“CTRL+v” 进入“可视 块”模式,选取这一列操作多少行第二步:按下shift+i第三步:输入要插入的内容第四步:按ESC,之后就会看到插入的效果。
2022-03-25 13:57:02
91
原创 ROS2 - foxy 安装之报错系列
issue1: qt_gui_cpp sip binding generator not availablesudo apt-get install sip-dev pyqt5-dev python-sip-dev pyqt5-dev-toolswget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.13/sip-4.19.13.tar.gz# install SIP firsttar xzf sip-4.19.13.tar..
2022-03-25 10:35:51
3368
原创 gcc报错 can not be used when making a shared object; recompile with -fPIC
PIC是Position-Independent-Code的缩写。在计算机系统中,PIC和PIE(Position-IndependentExecutable)是可以在主存中不同位置执行的目标代码。PIC经常被用在共享库中,这样就能将相同的库代码为每个程序映射到一个位置,不用担心覆盖掉其他程序或共享库。修改cmakeset(extra_cmake_args)list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=-std=c++14 -w -fPIC
2022-03-24 15:07:17
7274
1
原创 安装QT5
1. Qt官网下载http://www.qt.io/download-open-source/ 对应安装包2. 我下的是qt-opensource-linux-x64-5.14.2.run,进入下载文件夹下,执行添加执行权限命令:sudo chmod +x qt-opensource-linux-x64-5.14.2.run然后执行安装命令:sudo ./qt-opensource-linux-x64-5.14.2.run弹出安装窗口,按照安装步骤,点击下一步,直至安装完成。3. 配置环
2022-03-24 14:17:12
688
原创 linux 常用命令
SHELL相关查看当前发行版可以使用的shell$ cat /etc/shells输出如下# /etc/shells: valid login shells/bin/sh/bin/dash/bin/bash/bin/rbash查看当前使用的shell$ echo $SHELL输出 : /bin/bash修改shell$chsh输出如下Password:...
2022-03-21 10:51:12
1106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人