自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 收藏
  • 关注

原创 日常知识点之随手问题整理(vcpkg安装osgearth并进行测试简单整理)

========》2:特别注意,32位/64位,以及debug和release的选择,以及地球的显示除了依赖bin目录下,还以来plugins目录下dll。=========》虽然不影响测试和运行,但结论好像是windows是不使用这个,建议排除掉,最好的方式是源码安装时排除掉。=========》3:可以先不关注demo,用自带的工具进行测试,排除问题,验证自己写的.earth文件的正确性。=========》1:首先调整电脑显卡相关,更新驱动,优化显卡选项是独显,依然蓝屏。

2025-05-13 22:39:05 695

原创 日常知识点之随手问题整理(思考单播,组播,广播哪个更省带宽)

新入职的公司在某些场景下无脑使用组播技术,自己突然就意识到一个问题:单播,组播,广播,哪个更省带宽?有所收获,做点笔记,仅仅是个人理解~

2025-05-09 22:56:03 379

原创 日常知识点之随手问题整理(虚函数 虚函数表 继承的使用场景)

新来的同事提到一个虚函数解耦头文件的问题,就想起来对虚函数进行一些回顾。他的问题是,通过纯虚函数,如何实现不包含头文件即可真正调用到子类的实际接口。====》这里肯定是不合理的,需要一个中间管理类,对纯虚函数和相关子类进行管理,实现接口调用。(类似工厂模式,实现解耦吧)。====》衍生考虑,通过基类调用到真实的子类行为接口,知识点整理。记忆中遇到过继承相关的架构代码,记忆中一个点就是:通过容器存储基类的指针,实际指针进行调用时为子类的接口。

2025-05-07 23:13:29 465

原创 日常知识点之刷题一

/输入每个启动的时间和编号int n, m;return;int t, p;i < m;i++)//已经存储了发动机的个数 和要启动的发动机个数 已经存储了在时刻启动发动机的信息//打印最后启动的发动机个数 和发动机编号//使用数组标识每个发动机的最终状态//为了后面计算方便//每次启动 实际上是x号发动机在y号启动的 依次遍历给取最小值i++)//遍历启动的发动机时刻//在这个时刻启动了这个发动机j < n;j++)

2025-02-24 23:09:13 917

原创 日常知识点之遗留问题梳理(有个面试题关于函数调用约定)

寄存器的概念以及线程切换时对寄存器是如何处理的。如何通过寄存器管理以及调用代码的?需要简单了解不同寄存器的作用,以及如何配合工作。掌握反汇编查看源码分析问题的手段。函数调用约定就是对函数调用的一个约束和规定,描述了函数参数是怎么传递和由谁清除堆栈的。​ 1:它决定了,函数参数传递的方式(是否采用寄存器传递参数,采用哪个寄存器传递参数,参数压栈的顺序等),​ 2:函数调用结束后栈指针由谁恢复(被调用的函数恢复还是调用者恢复),函数修饰名的产生方法。__stdcall。

2025-02-20 19:01:33 670

原创 日常知识点之遗留问题梳理(有个面试题关于virtual的位置,虚函数表)

遇到一个面试题,继承的时候,virtual的写与不写问题,以及virtual放在基类成员函数前,放在子类成员函数前的差异。。

2025-02-15 15:39:52 415

原创 日常知识点之遗留问题梳理(被问到用uml画设计模式)

好多年不接触uml了,有一天面试,让用uml画出设计模式,已经对uml的概念很模糊,隐约记得就是用例图,类图之类的,后面确定后,就是类图,用例图,时序图,都属于uml,按需画图。简单潦草做思路汇总,个人汇总。

2025-02-15 01:26:24 1000

原创 日常知识点之遗留问题梳理(定时器/时间轮定时器)

定时器的核心知识点,对我来说就是获取当前时间和设置回调函数。简单练习:​ c语言通过gettimeofday 获取当前时间并进行处理​ 回调函数的定义(函数参数有必要适当存储) typedef void(Timerfunc)(void p);1.2 :运行结果2:借助已有的stl容器实现是最方便的不知道哪里参考的一个代码,借助了stl中的一个优先级队列,就简单整理一下吧。回顾好久没写的细节:0:优先级队列 priority_queue 支持大堆小堆 (自己定义比较函数)1:锁和条件变量

2025-02-14 14:31:17 544

原创 日常知识点之遗留问题梳理(timerfd+epoll实现定时器的功能)

定时器一直是自己心心念念的概念,以前只是草草使用,这次对部分遗留作简单整理。总结:思考最简单定时器的逻辑,timerfd相关接口逻辑,epoll进行关联事件逻辑。

2025-02-14 00:32:18 956

原创 日常知识点之面试后反思裸写string类

/函数前面用const 表示的是函数返回值const//函数后面用用const修饰 可以使常量调用,表示该函数内部不可以修改成员变量//c字符串对string进行初始化 c字符串为NULL 不为NULL//以及c字符串本身也是一以\0终止if (str)//str为NULL 会导致抛异常elselength = 0;//字符串之间 拷贝构造函数 使用传递引用的方式提升性能//在自己类的成员函数中 参数可以直接访问私有成员//移动构造函数 注意&& 浅拷贝。

2025-02-12 21:10:48 544 1

原创 日常知识点之面试后反思遗留问题汇总

==》线程池中专门的线程1负责消费线程,(除了执行线程外 线程1管理消费task的调用函数和task进行绑定(确定调用函数) 线程2 负责执行task进行消费 线程3 负责线程的释放)=======》通过回调函数可以设置自定义执行业务,对结果进行返回 数据的发送 同样是调用上面的网络入口id和session的关联进行回复。===》业务不复杂的话,epoll作为入口,接收后管理fd,把fd和接收数据放入队列,下一个线程取队列进行处理,处理完找fd回复。(最大线程数,当前线程数))

2025-02-07 10:34:47 878

原创 dpdk课程学习之练习笔记八(dpvs的了解)

1:知道了lvs能实现的功能,挺强大。2:熟悉练习一下dpdk的环境搭建,设置网卡支持多队列,设置巨页,dpdk接管网卡。3:dpvs是基于dpdk上的一个产物,了解一下,未涉及相关业务,并未深入。

2024-09-18 23:18:16 1392

原创 bpf的了解以及bpftrace的简单练习

使用ebpf可以实现的功能打开新世界,可以不改变源码的情况下,实现内存,网络,对应接口等各种期望内容的监控。可以使用bpf直接进行开发,使用clang编译成ebpf字节序后加载进行使用。使用bcc进行开发实现功能,多是python/lua,对应的demo可以参考githuab.使用bpftool工具集可以进行加载,查看,卸载等一系列的功能,没有过多研究。

2024-09-17 22:22:06 1237

原创 存储课程学习笔记8_spdk的安装以及简单demo测试

1:对spdk进行安装以及demo测试。2:对宏观上spdk控制磁盘的架构和方案进行认识。3:基于已经能通过spdk对磁盘进行访问的功能,后续按需按业务就得思考了(如何有效管理磁盘?

2024-09-11 14:12:56 1560

原创 存储课程学习笔记7_fuse库的简单使用(fuse,opencv的demo)

1:fuse的开发,实际上和前面借助内核插入文件系统大框架感觉差不多,都是实现文件系统基础指令对应的函数。2:借助opencv实现给图片加水印,opencv的编译以及简单测试。3:简单了解fuse库下的example下demo,以及简单验证demo。4:fuse的扩展功能可以根据业务自行扩展,这里只是入门了解。

2024-09-10 22:46:16 674

原创 存储课程学习笔记6_io接口练习(readv,writev, 借助本地socket实现进程间(sendmsg,recvmsg)通过共享内存数据交互)

1:主要练习sendv和readv函数接口, 构造struct iovec结构体发送或者接收不连续内存的处理。2:练习AF_UNIX 进行原生socket的通信。3:基于socket通信的基础上,创建共享内存,多个进程之间实现交互(shm_open, mmap)4:多个进程之间使用共享资源(这里共享内存),需要考虑互斥。

2024-09-10 17:22:12 766

原创 存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)

1:实际上主要用liburing库对io_uring的使用进行测试。2:使用新的开源库,实际上从库中对应的example中开始进行逻辑分析是最合理的。3:io_uring 高效异步IO方案,可以用于磁盘,数据库,大规模io处理,网络等方向(这里以作为tcp server测试)。4:可以用开源库rust_echo_bench 对服务器性能进行测试。5:可以用fio对磁盘读写性能进行测试。

2024-09-10 16:20:32 2227 1

原创 存储课程学习笔记4_设计数据结构管理nvme磁盘(基于已经通过struct nvme_user_io和ioctl实现了对nvme设备的读写)

已经能对nvme设备进行基本的读和写了,如何对nvme磁盘进行管理。根据不同的业务设计,自己定义数据结构对磁盘进行管理,这里定义结构进行管理测试。可以看看ioctl中参数NVME_IOCTL_SUBMIT_IO 跟踪代码对细节进行了解。思考:基于当前磁盘的读写,如何实现一个文件系统对该磁盘进行控制。

2024-09-10 00:29:44 1056

原创 存储课程学习笔记3_读写nvme磁盘(清除脏数据,struct nvme_user_io和ioctl进行读写,struct block_device内核提供接口读写)

1:初始化nvme磁盘,清空脏数据 dd指令2:struct nvme_user_io结构体+ioctl实现直接控制nvme磁盘。了解block块3:借助内核接口插入内核模块实现对nvme磁盘的访问。(struct block_device对象以及struct bio实现提交请求)4:已经实现基本的对nvme磁盘的基本读和写访问,已经能访问磁盘了,基于当前已有功能,思考如何有效管理整个磁盘,如何实现文件系统的功能。

2024-09-09 22:43:27 1411

原创 存储课程学习笔记2_借助内核插入一个文件系统,用文件夹下测试文件系统(mount文件系统到目录下是入口)

0:mount是入口,一个裸盘先赋予文件系统,然后mount后才可以用。1:内核提供了插入文件系统的方法,register_filesystem函数和对应的struct file_system_type 结构体。2:插入内核模块的demo,基于插入内核模块,实现插入一个新的文件系统。

2024-09-09 20:49:35 863

原创 存储课程学习笔记1_访问scsi磁盘读写测试(struct sg_io_hdr,ioctl,mmap)

scsi

2024-09-09 18:29:59 1047

原创 日常知识点之阿里云服务器提示禁用了密码登录方式

使用阿里云服务器进行一些实例测试时,发现业务启动后,服务器连接卡死,重连显示拒绝密码登录。尝试好几次,因为在做的业务,怀疑可能时磁盘或者内存导致,但是,这玩意为啥会导致拒绝密码登录也是迷糊,就探索探索。查看虚拟机监控,发现是云盘读写bps占满,结合百度说内存满了设置交换分区就好了,试了试果然解决。如下,出现问题时查看监控:我的虚拟机安装的是ubuntu,直接百度设置交换分区,一次解决。因为是回顾昨天的问题,也是直接问ai,给出交换分区设置方式:设置后,当前状态如下,问题解决启动正常。后来发现重启虚

2024-08-08 10:40:52 1299

原创 日常知识点之遇到问题结构体按位构造协议时和期望不一致,研究记录一下

疑问:本想按照定义的结构给结构体赋值,发现赋值后期望结果和预期不一致。总结:其实核心还是按位处理,按位处理时是从低位往高位写。

2024-08-08 10:09:07 440

原创 qt初入门10:常用的单例,代码做个记录备份

简单想想:实现单例时,需要考虑对象唯一,不允许用户实例化,考虑初始化时线程安全,该单例对象的释放问题。这个代码感觉挺好的,做个备份,至于更优(调用更简单),把单例封装成模板,借助c++宏等方案,参考。4:考虑该对象的释放,栈对象不用考虑,堆对象的释放可以借助智能指针/单例类中类析构时释放。2:禁用构造函数,提供静态成员函数初始化/获取该唯一对象。最近用qt比较多,看到一个好的demo,一直用,做个备份。3:考虑多线程的安全,初始化该对象前考虑加锁。1:借助static静态成员变量,保证唯一。

2024-07-23 17:43:32 203

原创 qt初入门9:qt记录日志的方式,日志库了解练习(qInstallMessageHandler,qslog, log4qt)

初次接触qt相关的日志库,有需要用一个qt的日志库,就瞎折腾。最终发现,好像最基本的是最合理的,直接用log4qt在cpp中LOG4QT_DECLARE_STATIC_LOGGER静态定义最方便吧,结合配置文件也能满足需求。最终感觉,直接用log4qt应该完全能满足需求,日志文件中也能定制自己需要的布局,也支持多线程等。啥也不是,先操作后再思考吧。

2024-07-22 18:46:00 3060 1

原创 qt初入门8:下拉框,输入框模糊查询,提示简单了解 (借助QCompleter)

实现一个简单的模糊查询的逻辑,输入框能提示相关项。主要借助qt的QCompleter 类(),结合一些控件,比如QComboBox和QLineEdit,实现模糊查询的功能。

2024-07-19 15:00:00 1048 2

原创 qt初入门7:进度条,定时器,时间控件练习

参考课本demo,空闲时间练习一下进度条,定时器,日期相关控件和使用。

2024-01-26 10:55:19 605

原创 qt初入门6:QChar和QString相关接口练习

简单了解编码:​ latin1(ISO 8859-1)字符集是对ASCII基本字符集的扩展,都是1字节编码。Unicode编码有多重存储方案,utf-8使用1~4字节编码,最少1字节;utf-16使用2-4字节编码,最少2字节。主要练习Qchar,QString,Qstring和数值的转换,以及资源文件的加载和显示居中处理。QChar主要练习一下unicode编码,和ASCII字符串编码c字符的转换。

2024-01-24 15:46:46 1810

原创 qt初入门5:字体设置和元对象系统的练习

空闲时间,参考课本demo,做一下练习。字体的颜色主要用QPalette类,调色板的作用,控制着窗口部件的颜色和外观,包括背景色、前景色、文本颜色、边框颜色等。字体的显示样式主要用Font类,用于管理字体。元对象的使用(QObject派生类都具有与之相关联的元对象):主要练习通过元对象系统,获取类名,属性等,这里可以设置一些类信息和属性信息,然后使用。只贴出必要代码,其他的都是信号,槽,以及控件的基础使用。

2024-01-20 16:34:51 778

原创 qt初入门4:大小端(小端转成大端code)

判断电脑大小端,并进行小端转换成大端。

2024-01-12 15:55:30 1396

原创 qt初入门3:文件,目录,临时文件,监视相关demo

参考qt的书籍demo,做练习QCoreApplication类 主要处理获取app所在目录,路径,app名称,lib库路径等。QFile类 主要实现文件拷贝,校验存在,删除,重命名,移动到回收站等。QFileInfo类 获取文件必要信息,比如绝对路径,文件名,路径,大小,创建时间,最后修改时间等属性QDir类 获取操作系统的一些目录路径 比如根目录,临时目录,home目录,分区,当前目录(可以设置)等。目录的增删改查(递归删除目录) 路径,名称,遍历目录,遍历文件等。

2024-01-11 19:48:04 737

原创 qt初入门2:qt选择一个文件或者目录,获取当前目录,操作文件目录等整理

最近用qt操作文件或者目录的动作比较多,简单整理一下常用的接口,方便回顾。总的来说,其实就是用文件选择对话框QFileDialog类,以及操作文件信息的QFileInfo类,以及相关QCoreApplication中静态成员函数获取一些信息,qDir类。

2024-01-09 18:07:35 4004

原创 读书之深入理解ffmpeg_简单笔记3(初步)

注册事件,处理事件的方式。

2024-01-05 11:26:01 1305

原创 读书之深入理解ffmpeg_简单笔记2(初步)

再回看第一遍通读后的笔记,感觉还有很多的细节需要一一攻克,。mp4的封装格式,解析方式。flv的封装格式,解析方式。ts的封装格式,解析方式。

2024-01-05 11:22:14 1522

原创 读书之深入理解ffmpeg_简单笔记1(初步)

AVFormat(封装,解封装),AVCodec(编码,解码模块),AVFilter(滤镜模块),AVDevices(设备模块),AVUtils(通用工具模块)swscale(图像转换模块)swresample(音频转换模块)ffmpeg编译后生成三个工具,ffmpeg(编解码工具),ffplay(播放器),ffprobe(多媒体分析器)安装:可以去官网直接下载可执行程序,也可以去源码安装(整理过,这里略过)

2024-01-05 11:19:01 1543

原创 读书之unix环境高级编程_简单笔记2(初步)

手头有比较多的技术书籍,弃之可惜,放之惭愧,借助空闲时间,先草读,再demo整理。unix环境高级编程 草读简单整理,为下一步整理细节技术点做准备。(仅个人笔记)

2024-01-05 10:54:36 1025

原创 读书之unix环境高级编程_简单笔记1(初步)

手头有比较多的技术书籍,弃之可惜,放之惭愧,借助空闲时间,先草读,再demo整理。unix环境高级编程 草读简单整理,为下一步整理细节技术点做准备(仅个人笔记)。基本的文件操作,线程,进程,系统,进程间通信,终端控制等。

2024-01-05 10:52:40 926

原创 读书之unix网络编程卷1_简单笔记(初步)

手头有比较多的技术书籍,弃之可惜,放之惭愧,借助空闲时间,先草读,再demo整理。unix网络编程卷1 草读简单笔记,为下一步整理细节技术点做准备。

2024-01-05 10:46:25 525

原创 借助libcurl实现ftp文件上传,断点续传demo梳理。

公司业务,需要实现一个ftp大文件上传的功能,简单搭建一个ftp服务器,首先研究demo,以及断点上传的功能。1:首先了解文件上传相关协议,ftp,sftp或者基于http,其他自己实现等。2:确定基于ftp实现,搭建简单的ftp服务器并用工具确定服务器正常。3:基于现有的服务器,了解相关ftp开源库,使用代码实现文件上传最基本的功能。4:考虑到大文件的传输,首先考虑断点续传功能,后期用线程池/多线程方案进行适配优化。5:考虑使用场景,适配在windows上进行测试,基于qt。

2024-01-03 19:41:50 3541 1

原创 udp的简单整理

最近思考udp处理的一些细节,根据公开课,反复思考,终于有所理解,做整理备用。

2023-09-17 22:52:56 1444

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除