底层框架和工具链

server/2024/10/18 3:03:22/

整体说明

一图胜千言,看看吧。

数据表导出

数据配置表导出算是一种无法绕开的基础设施吧。

大致使用

使用界面

核心模块

项目由2个模块组成,一个是核心模块,另一个是图形化模块。
这里展示的是核心模块中的代码结构。
核心模块
数据类型的相关截图。
数据类型

图形模块

使用javafx来绘制相关图形。
图形模块

配置表的结构设计

这几年花了一些时间,思考在过往项目中遇到的一些配置相关的问题,如何设计一份更好的配置结构。
结构设计

协议模拟工具

模拟协议发送,整体规划由3部分组成(client模拟、压测、探测程序),目前只完成了第一部分。

大致使用

大致使用

client模拟模块

图形化界面,模拟client发送协议。
图形组件
登录游戏相关协议处理
登录处理

底层框架

稍微有点追求。

大致结构

大致结构

核心模块

core模块,定义了一些核心概念,以及用于其它底层模块之间的解耦。
核心模块

工具模块

提炼了一些常用工具。
工具模块
编写了大量测试用例。
工具模块的测试用例

持久化基本模块

persistence-base模块。
持久化基本模块1
编写了大量测试用例
持久化基本模块的测试用例

组件模块

component模块。
组件模块1
编写了大量的测试用例。
测试用例

热更模块

hot-update模块。
热更模块

mysql持久化模块

persistence-mysql模块。
mysql持久化模块
编写了大量的测试用例。
mysql持久化模块的测试用例

网络模块

network模块。
这里有个特殊的地方:为了让网络模块和协议模块之间解耦,导致将大量的代码放到了核心模块,网络模块变得很薄了,这里需要再斟酌一下。
网络模块

协议模块

proto模块。
协议模块

字典树模块

trie模块。
自身所接触过的项目都是用哈希方式实现的trie,它占用的内存比较大。被这个问题纠结了很久,所以自己实现了一个基于双数组方式实现的trie。
字典树模块
编写了大量的测试用例。
字典树的测试用例


http://www.ppmy.cn/server/131752.html

相关文章

Matlab实现海洋捕食者优化算法优化回声状态网络模型 (MPA-ESN)(附源码)

目录 1.内容介绍 2部分代码 3.实验结果 4.内容获取 1内容介绍 海洋捕食者优化算法(Marine Predators Algorithm, MPA)是一种基于海洋生物捕食行为的新型群体智能优化算法。MPA通过模拟海洋捕食者如鲨鱼、海豚等在寻找猎物时的追踪、包围和攻击行为&…

图论day57|101.孤岛的总面积(卡码网)【逆向思维】 、102.沉没孤岛(卡码网)、103.水流问题(卡码网)【逆向思维】

图论day57|101.孤岛的总面积(卡码网)【逆向思维】 、102.沉没孤岛(卡码网)、103.水流问题(卡码网)【逆向思维】 101.孤岛的总面积(卡码网)102.沉没孤岛(卡码网)103.水流问题(卡码网)1.常规思维2.逆向思维 1…

从opencv-python入门opencv--GUI功能之图像和视频操作

从opencv-python入门opencv--GUI功能之图像和视频操作 一、文章介绍二、图像的读取显示及保存1、 cv.imread()2、cv.imshow()3、cv.imwrite()4、cv.waitKey()5、cv.destroyAllWindows()6、图像读写存完整示例代码及效果 三、视频读取保存功能1、cv.VideoCapture()(1…

SpringBoot项目错误日志打印不容易注意到的坑

文章目录 一、不要使用e.printStackTrace()二、不要使用log.error(e.getMessage())三、不要在日志打印时进行字符串拼接 先说结论:建议使用log.error(String msg, Throwable t)方式打印错误日志,最好在加上try中的各种参数的信息方便排查 Slf4j public …

YARN调度原理详解

YARN(Yet Another Resource Negotiator)是 Hadoop 集群的资源管理和作业调度框架,它的设计旨在更好地管理和调度 Hadoop 集群中的资源。YARN 解决了传统 Hadoop MapReduce 中资源管理与作业调度紧耦合的问题,使得不同类型的计算任…

数据中心物理安全的历史和演变

在当今的数字时代,数据中心托管已成为我们互联世界的支柱。这些设施在存储、管理和处理我们日常生活所需的大量信息方面发挥着至关重要的作用。从社交媒体平台和电子商务网站到流媒体服务和云计算,数据中心为我们依赖的数字服务提供支持。 随着企业越来…

基于FPGA的多路视频缓存

对于多路视频传输的场合,需要正确设置同步。 uifdma_dbuf0 的写通道输出帧同步计数器直接接入 uifdma_dbuf0,uifdma_dbuf1, uifdma_dbuf2, uifdma_dbuf3 的写通道同步计数输入。uifdma_dbuf0 的读通道,延迟 1 帧于 uifdma_dbuf0 的写通道帧计…

React Native源码学习

核心组件 基础组件:View、Text、Image、TextInput、ScrollView(性能没有FlatList好,因为它会一次性把子元素渲染出来)、StyleSheet交互组件:button列表视图:FlatList(优先渲染屏幕上可见的元素&…