分类: 「一个为多用户VR体验设计的位置共享系统」

11 篇文章

测试的革命——从脆弱脚本到优雅的进程内测试 – #10
就在我认为我们为 PICO Radar 项目构建的基石已经足够坚固时,一个深刻的洞察让我停下了脚步,并开启了一段意料之外但收获颇丰的重构之旅。 今天,我想和大家分享的,不仅仅是一次技术升级,更是一次关于“如何正确地测试”的哲学思辨。我们告别了那些曾经服务于我们的、但日益显得笨拙的 Shell 脚本,并拥抱了一个由 C++ 驱动的、真正优雅的自动化测…
【PICORadar】集成测试的熔炉——多组件系统的端到端验证 – #09
引言:从零件到整车的跨越 大家好,我是书樱! 经过前八篇开发日志的积累,PICO Radar项目已经拥有了众多经过单元测试验证的"零件": PlayerRegistry (玩家状态管理) WebSocketServer (实时通信) DiscoveryServer (服务发现) SingleInstanceGuard (进程控制…
【PICORadar】零配置服务发现——UDP协议的网络编程艺术 – #08
引言:VR环境下的网络发现挑战 大家好,我是书樱! 在PICO VR的使用场景中,用户通常戴着头显,无法方便地进行复杂的网络配置。传统的"输入服务器IP地址"方案在VR环境中几乎不可行。我们需要的是一种"即插即用"的魔法体验——设备开机,自动发现服务器,无缝连接。 今天分享的故事,是关于如何设计和实现一个优雅…
【PICORadar】可靠性史诗——征服并发、泄漏与协议死锁的技术探险 – #07
引言:从功能实现到工业级可靠性 大家好,我是书樱。 在软件开发的征途中,实现功能往往只是万里长征的第一步。真正的挑战在于确保这些功能在真实世界的复杂环境中依然坚如磐石。今天分享的故事,源于PICO Radar核心广播功能的一次深度质量重构——一场与资源泄漏、并发冲突和协议死锁的技术决战。 这是关于如何通过严格的代码审查、对底层原理的深刻理解和健壮的…
【PICORadar】不朽基石——构建具备自愈能力的系统级健壮性 – #06
引言:从测试失败到系统健壮性的工程蜕变 大家好,我是书樱。 在软件工程的征途中,真正的突破往往源于对"异常"的深度剖析。今天分享的故事,始于一个看似简单的测试失败,却引领我们完成了一次对系统健壮性的根本性改造——从"让代码能跑"迈向"让代码在异常情况下依然可靠"的新境界。 这不仅是一次技术…
【PICORadar】铸造钢铁骨架——自动化质量保障与CI/CD工程实践 – #05
引言:软件工程的基石 大家好,我是书樱。 在PICO Radar项目经历了核心功能开发、网络服务构建、以及CMake现代化改造后,我们面临一个关键的工程决策:如何确保代码库的长期健康和可维护性?一个充满bug、风格混乱、难以重构的代码库,无论功能多么强大,都注定走向失败。 因此,在继续新功能开发之前,我们决定投资于项目的"钢铁骨架&quo…
【PICORadar】构建系统重构——从命令式到声明式的演进 – #04
大家好,我是书樱。 在为PICO Radar服务器建立网络基础之后,我们的下一个逻辑步骤是实现安全的第一道防线:客户端鉴权。这个任务涉及到更新Protobuf定义、扩展网络会话逻辑等。然而,在我满怀信心地按下编译按钮后,迎接我的却不是成功,而是一场来自构建系统深处的"叛乱"。 这次意外的挑战,迫使我们对项目的CMake脚本进行了…
【PICORadar】网络基石——异步I/O与服务器架构设计 – #03
大家好,我是书樱。 在上一篇日志中,我们通过TDD为PlayerRegistry核心模块建立了坚实的、可验证的基础。它就像一台经过精密调校的引擎,现在是时候为这台引擎构建传动系统和底盘,让它真正连接到外部世界。今天,我们将深入探讨如何构建一个功能完备的WebSocket服务器,将核心逻辑暴露于网络之中。 第一阶段:技术栈演进与架构升级 从webso…
【PICORadar】以测试驱动设计——构建可验证的核心模块 – #02
大家好,我是书樱。 在上一篇日志中,我们成功搭建了项目的构建系统与依赖管理框架。现在,地基稳固,是时候开始真正的功能开发了。一个常见的工程冲动是直接投身于最显眼的部分,比如网络服务器或用户界面。然而,我们选择了一条更为严谨的路径:先构建系统的核心,并让测试来引领我们的设计。 第一阶段:TDD哲学与实践方法论 TDD:不仅是验证,更是设计工具 我们采…
【PICORadar】构建系统与依赖管理策略的演进 – #01
大家好,我是书樱。 在上一篇日志中,我们为PICO Radar绘制了详尽的架构蓝图。今天,我们将从抽象的设计走向具象的实现。在软件工程中,这第一步并非编写业务逻辑,而是构筑一个坚实的“脚手架”——一个能够自动化编译、链接、并精确管理所有外部代码的构建系统。 对于C++而言,这片领域充满了挑战与决策。让我带您走过这段令人兴奋而又充满技术挑战的搭建历程…