自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人教人学不会,事教人一次就好(用经历进行职业反思)

从我开始养成写博客的方式后,脑中的一些念头总想用博文的方式进行记录,只是做一些记录和反省。这次的经历从某种意义上来说给我的收益和反思是颠覆性的,真的是 人教人永远学不会,事教人一次就会,作为一个程序员,不应该单纯的陷入在技术的舒适区,应该考虑一些基于技术之上,对自己职业生涯有所规划的问题。存在必有其价值,弱势方必然没有其话语权,影响力,领导力这些核心素养的培养很重要。

2025-12-18 03:25:58 581

原创 基于仿真体系下的时间管理个人梳理(主要考虑基于支持rtps2.5的fastdds如何实现它)

LVC仿真体系是一种广泛应用于军事训练、测试和评估的很合模拟框架。Live(真实)仿真涉及实际装备和人员。Virtual(虚拟)仿真使用模拟器由真人操作。Constructive(构造性)仿真通过计算机模型生成试题和行为。====》这种体系的集成要求高度精确的时间管理,以确保不同组件之间的同步、事件顺序和时空一致性。====》时间管理是LVC仿真体系的核心技术之一,主要处理分布式环境中时间同步、事件处理、以及因果关系维护。

2025-12-18 00:44:49 749

原创 fastdds初入门之环境安装及整体了解

从上面的安装逻辑,可以看出安装目录为F:\fastdds1\install,需要了解该目录下的相关目录层级,同时要注意依赖的第三方库的路径,这里我直接把FF:\fastdds1\thirdparty\install\bin目录下的内容拷贝到F:\fastdds1\install\bin下,并设置F:\fastdds1\install\bin到环境变量中。首先,fastdds中的相关examples都是相同的套路,可以看到,相关参数的描述,以及运行后pub端和sub端的交互是正常的。

2025-12-16 16:50:40 792

原创 读书之反思写架构设计文档时如何画图_个人笔记

项目反思+项目亮点+问题及解决方案。

2025-11-19 21:11:25 822

原创 读书之反思系统架构设计原则_个人笔记

当我开始关注架构以及管理的一些书籍时,我探索到《左耳听风,传奇程序员的练级攻略》这本书(已深读),结合自己的现状,这本书让我感触颇多,然后,以这本书为线索,我知道有个骨灰级的大牛,叫陈皓,再就知道他有个网站叫酷壳,试着了解了一下,发现他的博客的确有深度,学习中,其中“我做系统架构的一些原则”【】,这篇文章是我当下关注如何提升架构能力的一个点,当时做了笔记,借着空闲做个反思和汇总。作者博文中有详细的介绍,自己只是个人简单做笔记和反思(写博文的意义只是为了自己反思)。

2025-11-12 00:21:07 738

原创 读书之《架构师的自我修炼》_个人笔记

1.前几章从操作系统,数据结构,到java的jvm垃圾回收机制,属于程序员的基础。2.第四章将网络的基础进行描述,提到dubbo分布式服务框架,dns,http,链路层负载均衡(LVS:虚拟IP+链路层实现负载均衡方案)。3.文件系统原理,inode结构4kb,raid硬盘阵列(Raid0~Raid5),HDFS(hadoop分布式文件系统,一分钟写TB级的文件)。

2025-11-09 23:24:49 976 1

原创 2025年11月一吐为快

用经历体会潦草,认识了现实。

2025-11-09 11:18:22 575

原创 opendds初入门之qos策略再练习(可靠传输和持久化)

已经基于最简单的可靠传输和尽力传输对opendds中的qos策略流程进行了梳理。本次开始关注其他一些策略。​ =====》单播场景下,为什么持久化存储方案不生效?PERSISTENT_DURABILITY_QOS 组播就可以。总结:这里在测试qos策略的时候,反思测试流程:​ 1.首先可以基于只设置DataWriter和DataReader的qos,最小化测试,支持可靠传输,支持历史数据重传策略。

2025-10-29 18:01:11 902

原创 opendds初入门之模拟丢包分析链路,理解TopicQos和DataWriter/DataReader的关系

前期探索已经对opendds的相关内容有了一定的了解,关于opendds中的qos策略也进行了简单的整理。本想对qos策略统一做练习了解,发现仅仅是可靠传输策略的开始也遇到一些问题,所以对可靠传输qos策略的验证先做笔记。主要内容:​ 1.了解了topicQos,如何设置以及在对端打印,了解了datawriter和Datareader如何用到topicQos,专门的默认参数支持。​ 2.模拟丢包场景,使用wireshark抓包,配合构造rtps链路+tcp传输,查看消息现象和消息报文。

2025-10-28 00:12:34 848

原创 opendds初入门之monitor监控的简单练习

使用过程中,发现monitor这个软件基于集中模式下确实能正常运行,但是总会有卡死,异常等一些情况,还是不那么好用。

2025-10-21 20:23:06 452

原创 opendds初入门之qos策略初了解(有遗留)

有意思的是,了解了qos实际上对整个发布订阅就有了一定的认识,也发现这里的qos之间是有一定的包含关系的。││ │ └── TopicQos #每一层都可以设置 QoS,下层实体会默认继承上层的 QoS 配置,但也可以显式覆盖。//分别在发布端和订阅端定义对应qos策略,查看匹配个数。参考OpenDDS\tests\DCPS\BuiltInTopicTest中monitor.cpp代码//简单验证 在MytestPublisher.cpp 中新增//获取默认的qos并进行设置。

2025-10-19 21:57:12 705

原创 opendds初入门之订阅端过滤内容接收练习(实际上只是接收端过滤,链路无影响)

从opendds中自带的测试代码中ipshaps中可以进行参考,opendds提供了订阅端信息过滤的能力。

2025-10-19 16:49:49 591

原创 opendds初入门之发布订阅基本练习

目前,已经基于opendds的源码,已经对各技术点核心有了明确的理解和认知,接下来依次做练习巩固。

2025-10-19 13:51:13 783

原创 读书之《人件》_个人笔记

时间碎片(不应同时负责多个项目,身份切换的影响),牺牲产品质量(降低质量的行为影响了建立起来的自我认知),伪造日期(工期需要有适当压力但可完成,过早不可形成或者伪造都会带来反作用,大家又不是傻子,完全不可能完成的任务有打击力),反向从团队自毁的角度考虑如何形成凝聚力:防御性管理(给予员工足够的信任,允许犯错),官僚主义(无意义的一些文案工作,阻碍了团队的形成),物理隔离(团队或者紧密交流的人应该在一起),===》精英团队(让员工做头等舱的意识),需要独特感体察内心的宁静,管理的一致让团队失去新鲜血液。

2025-10-09 11:50:20 307

原创 读书之架构师的自我修炼_关注阅读同类书籍反思和笔记

2.方法论,提供了一些程序员的正确提升方法,认知(一手信息,信息质量,经验性知识),知识(知识树,知识缘由,学习方法),技能(匠艺精神,犯错,找高人交流),领导力(特长/兴趣,自律,勤奋)。《人件》这本书给我惊艳相比上面两本稍多,这本书就像是对我当下思想的一个汇总,作为一个脑力密集型的工作,我一直信奉的是人是核心,搬砖的工作方式虽然可以看到工作量,但是却不一定看得到效率,这本书以“人”为核心,对“项目”的完成,“团队”的构建进行了深入的讨论。匠艺精神,工程师文化,和高人交流切磋,关注最新前沿一手消息。

2025-10-09 00:38:27 799

原创 opendds初入门之考虑业务(理论理解,下一步实践)

已经基于opendds的源码对opendds的基本能力有了了解,基于已经了解到的信息实现符合我们业务的发布订阅基础组件功能。需要考虑的目标范围:1:符合业务的发布订阅交互网络链路(提供基础的网络链路) ====》需要考虑支持集中模式和非集中模式。2:需要考虑网络布局,实现跨局域网场景下的业务交互。3:需要考虑节点监控,opendds已经自带了monitor的监控逻辑了(专门的监控topic+内置主题)。

2025-09-28 18:49:24 1052

原创 opendds初入门之对inforepo模式运行探索

opendds的集中模式inforepo一般是在主线程中运行,直接run进行阻塞等待,内部有一系列的资源初始化以及ace和tao的相关底层资源。业务探索,需要把inforepo的集中模式和UI界面进行配合使用,也就是说ui是主进程,而inforepo需要移到子线程中处理。补充:opendds下的项目,每个项目下都自带一个可执行脚本run_test.pl,对于测试样例,可以在对应项目生成可执行文件目录下执行perl run_test.pl进行运行演示,观察现象。

2025-09-26 17:35:37 392

原创 opendds初入门之对其支持的tools进行梳理

对opendds下的tools下的工具进行浅了解,从宏观的角度首先知道其作用以及内部实现原理。

2025-09-26 16:46:00 229

原创 opendds初入门之监控monitor的实现梳理

opendds提供了对监控功能的支持,使用专门的topic对涉及的各组件进行消息上报。通过唯一工厂基类实例,不止限定了范围,又支持了扩展(上层调用不变,按需自己实现底层)。工厂子类内部,统一的监控类多态思维,实现上层调用不变,下层按需自己扩展。opendds的底层提供了对监控功能的支持,把监控数据发布出去,monitor app是监控信息的展现,使用内置主题+必要监控topic的订阅,按需处理后展现。

2025-09-26 16:42:41 752

原创 opendds初入门之考虑为什么要用opendds

对比其他的发布订阅开源代码(就理论理解,待使用探索),opendds在设计上更重,更复杂一些,支持的功能更多,实时性也支持更好,与其他的库比,在设计的目的上就已经有差异了(opendds适合复杂实时场景)。如何实现节点监控,内置主题对节点监控的影响?集中模式和非集中模式下内置主题的影响差异是什么?

2025-09-26 16:37:06 906

原创 opendds初入门之安装环境后初步探索

ishapes测试源码中可以看出,DataReader读数据不止可以用listener,也可以专门的线程一致试着读数据(ShapeTypeDataReader_var去读)。

2025-09-26 16:32:18 990

原创 opendds初入门之windows环境上vs2015编译opendds

新版本可能因 std 库问题编译失败。最终梳理opendds的推荐安装方式,并不是使用cmake,对我们常见到的用cmake生成vs项目并不友好。需要使用configure生成对应mpc的东东,然后用mpc进行编译。

2025-09-26 16:20:41 725

原创 音视频重回顾及nat内网穿透相关再整理笔记

以前系统得粗略对音视频有过技术栈基类,现在重新回顾。除此之外,最近刚好实现一个双网卡加入内网的测试方案,涉及内网穿透的知识,刚好对内网穿透逻辑进行整理。

2025-07-21 21:43:44 227

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

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

2025-05-13 22:39:05 910 1

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

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

2025-05-09 22:56:03 476

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

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

2025-05-07 23:13:29 504

原创 日常知识点之刷题一

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

2025-02-24 23:09:13 955

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

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

2025-02-20 19:01:33 763

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

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

2025-02-15 15:39:52 451

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

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

2025-02-15 01:26:24 1032

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

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

2025-02-14 14:31:17 611

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

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

2025-02-14 00:32:18 1108

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

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

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

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

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

2025-02-07 10:34:47 942

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

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

2024-09-18 23:18:16 1506

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

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

2024-09-17 22:22:06 1552

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

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

2024-09-11 14:12:56 1808

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

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

2024-09-10 22:46:16 897

原创 存储课程学习笔记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 843

原创 存储课程学习笔记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 2577 1

空空如也

空空如也

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

TA关注的人

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