设计模式笔记

设计模式笔记

本文基于黑马程序员设计模式教程,系统介绍设计模式核心内容:涵盖设计模式概述(定义、分类为创建型/结构型/行为型)、UML类图表示法及类间关系(如关联、继承、依赖等)、软件设计原则(单一职责、开闭原则、里氏代换等七大原则)。详细讲解创建型模式(单例、工厂、原型、建造者)、结构型模式(代理、适配器、装饰、桥接、外观等)和行为型模式(观察者、策略、命令、责任链等)的定义、结构、优缺点及应用场景,旨在总结设计经验,提升代码标准化与可重用性。

elm项目新增电子钱包

“饿了吧”项目新增电子钱包功能以解决原有银行卡/第三方支付的局限性,提升系统灵活性与用户黏性。核心功能包括:充值提现(支持动态奖励规则)、支付转账(保障交易原子性)、余额及交易流水查询、资金冻结(保障交易安全)与VIP透支。系统采用领域驱动设计(DDD),将虚拟钱包与三方支付解耦,通过充血模型实现高内聚代码结构。数据库设计包含钱包表与交易流水表,代码分层实现Controller、Service、Mapper及领域模型类。经单元测试验证各业务逻辑正确性,集成测试(Apifox)确认充值、提现、转账、冻结/解冻等接口功能正常,确保系统稳定可靠。

elm项目新增电子钱包
数电实验四 单周期MIPS处理器的设计与实现

数电实验四 单周期MIPS处理器的设计与实现

本实验基于SystemVerilog HDL设计并实现单周期MIPS处理器MiniMIPS32,实验目的包括熟悉MIPS指令集、掌握单周期处理器设计方法及功能验证。处理器采用32位数据通路、小端模式,支持lw、sw、addu等10条指令,采用哈佛结构分离指令与数据存储器。设计划分为控制单元、寄存器文件、ALU等6个子模块,实现取指、译码、执行、访存、写回功能。通过6个测试用例进行功能验证,包括仿真测试和远程FPGA硬件平台验证,测试结果正确,LED指示灯显示绿色成功状态。实验完整实现了单周期MIPS处理器的硬件设计与验证流程。

计算机网络socket实验第四周

本文基于协议设计要求,实现服务器并发处理能力,通过select()方法而非多线程支持多客户端连接。核心设计包括:设置最大连接数1024,确保客户端暂停或出错不影响其他用户;采用I/O多路复用技术,避免多线程资源浪费;使用fdclient[]数组存储连接文件描述符,fdptr索引辅助遍历处理。算法流程涵盖初始化套接字、select()监控多socket、处理新连接与业务请求、日志记录等。实验通过ApacheBench测试,结果显示并发数32时性能最佳(每秒请求数45.56,平均响应时间21.949ms),验证了并发处理的有效性。

计算机网络socket实验第四周
计算机网络socket实验第三周

计算机网络socket实验第三周

本研究通过启动服务器后运行客户端命令`./liso_client 127.0.0.1 9999 samples/request_pipeline`进行实验,主要包含浏览器测试与实验平台评测两部分。实验结果通过图片直观展示,其中浏览器测试聚焦于客户端与浏览器的交互功能验证,实验平台评测则对系统性能及稳定性进行综合评估。整体实验流程清晰,结果可视化呈现,为后续系统优化提供了数据支持。

计算机网络socket实验第二周

本文为实验结果与分析部分,展示了GET、HEAD、POST三种HTTP方法在server端与client端的实验结果,并呈现了400、501、505等错误类型在两端的测试情况。此外,还包含日志模块的实现效果及测试平台的整体结果,全面验证了相关功能的表现。

计算机网络socket实验第二周
计算机网络socket实验第一周

计算机网络socket实验第一周

本文详细介绍了HTTP协议的echo web server实现项目。项目要求掌握HTTP/1.1标准、Socket编程及lex/yacc解析工具,搭建开发环境并实现服务器功能。代码架构包含客户端(echo_client.c)、服务器(echo_server.c)、词法/语法分析器(lexer.l、parser.y)及解析模块(parse.c),支持GET、HEAD、POST请求的回显,并对未实现方法返回501状态码、格式错误请求返回400状态码。通过修改解析规则处理畸形请求,优化内存分配,实现服务端与客户端通信。实验结果验证了各HTTP方法的正确响应及错误处理机制,所有任务均已完成,包括协议设计、代码实现、功能测试等。

OpenGaussLab3

本次实验因华为云服务器欠费,借用同学服务器完成,聚焦openGauss数据库日志与恢复机制。实验旨在深入理解WAL日志文件、XLOG记录组织、日志写入过程、检查点机制及数据库恢复原理,掌握备份与PITR恢复方法。通过查看WAL日志基本信息与命名、验证immediate关闭模式下的恢复过程、分析源代码输出调试信息,并结合pg_control文件查看,打通了日志与恢复模块的原理学习与系统实现鸿沟。实验通过源码阅读与分析,深化了对数据库ACID特性保障机制的理解,对确保数据完整性具有重要意义。

OpenGaussLab3
Wireshark实验

Wireshark实验

本文为网络协议实验总结,涵盖Wireshark基础使用、HTTP协议分析、TCP协议探究及DHCP协议实践。实验一通过Wireshark捕获数据包,识别SSDP、DNS、ICMPv6等协议,测量HTTP GET响应时间约0.2秒,并获取客户端与服务器IP地址。实验二分析HTTP交互,确认浏览器与服务器均运行HTTP/1.1,解析语言偏好、状态码(200 OK)、文件修改时间及内容长度,研究条件GET(304 Not Modified)、长文档TCP分段(4段)及嵌入对象串行下载机制。实验三探究TCP连接,记录SYN序列号0、SYNACK确认号1,计算RTT及EstimatedRTT,分析吞吐量(约29.17 KB/s),识别慢启动与拥塞避免阶段。实验四验证DHCP四包交换(Discover/Offer/Request/ACK),通过UDP端口67/68通信,分配IP地址192.168.1.101,租赁时间86400秒,解释ARP包在地址冲突检测中的作用。

数据库原理复习

本文系统介绍了数据库核心知识,涵盖事务管理、数据建模、规范化设计、数据操作及安全机制。事务部分详述ACID特性(原子性、持久性、一致性、隔离性)及并发控制、恢复技术;数据建模涉及ER模型(实体集、联系集、属性、弱实体集);规范化设计讲解函数依赖与范式(1NF-4NF);数据操作包括关系代数、SQL语句、索引类型(聚集索引、辅助索引等);安全机制涉及权限管理与触发器。整体构建了数据库从理论到实践的完整框架。

数据库原理复习