- 博客(24)
- 收藏
- 关注
原创 博客测试报告自测版
本项目实现了一个基于前后端分离的轻量型个人博客系统,涵盖登录、写博、删除、详情查看等核心功能。采用MySQL存储数据,前端静态渲染用户信息与头像,未实现注册、自定义头像及动态分类树。测试覆盖功能、自动化(Selenium)、性能(JMeter)与弱网(Fiddler)四大维度,验证了主链路流畅性。发现3个主要问题:前端静态数据未同步、高并发下接口超时与鉴权失效、列表接口未分页导致数据过大。虽存在性能瓶颈,但系统在低并发下运行稳定,功能完整,具备结项条件。
2026-11-08 22:27:36
174
原创 Leecode983最低票价
LeetCode 983最低票价问题通过动态规划求解一年内旅行的最小购票成本。给定严格递增的出行日数组和三种票(1/7/30天),使用dp[i]表示覆盖前i个出行日的最小花费。核心思想:仅在出行日买票,利用二分查找快速定位前驱状态,状态转移方程为dp[i] = min(dp[j1]+cost[0], dp[j2]+cost[1], dp[j3]+cost[2]),其中j1、j2、j3分别对应减1、7、30天后的最近出行日索引。时间复杂度O(N log N),空间复杂度O(N)。
2026-11-08 14:04:23
58
原创 鲲之大,一锅炖不下?Hadoop分布式基础
本文系统阐述了大数据的定义与五大特性(Volume、Velocity、Variety、Value、Veracity),并深入解析Hadoop分布式架构。以“鲲”喻海量数据,介绍HDFS实现数据切块、多副本存储与元数据管理;MapReduce实现计算分发与结果汇总;YARN负责资源调度,支持多框架协同。通过写/读流程详解,展现HDFS高容错、可扩展的优势,同时指出其在小文件处理、低延迟场景下的局限。整体呈现了基于Hadoop的大数据存储与计算解决方案的核心机制与适用场景。
2026-10-20 12:06:41
216
原创 软件生命周期与常见模型总结(附敏捷:Scrum流程)
软件生命周期涵盖需求分析、计划、设计、编码、测试及运行维护六个阶段,各阶段任务明确,产出相应文档。常见开发模型包括瀑布模型(线性、适合需求固定项目)、螺旋模型(强调风险管理,适用于大型复杂项目)、增量与迭代模型(分阶段交付,支持需求变更)、敏捷模型(快速响应变化,以Scrum为代表,强调协作与持续改进)以及测试模型如V模型和W模型。其中,W模型通过测试与开发并行提升早期发现问题的能力,但流程僵化,难以适应敏捷开发。
2026-10-19 09:57:33
179
原创 mysql (3) mysql表中的CRUD操作(增删改查)
本文系统讲解MySQL中表的CRUD操作:创建表、插入数据(单行/多行、去重更新、替换)、查询(指定列、表达式、别名、去重、WHERE条件、排序、分页)、更新与删除。重点介绍聚合函数(COUNT、SUM、AVG等)与GROUP BY结合使用,实现分组统计,并通过EMP、DEPT等表实例演示部门平均工资、岗位薪资分析及HAVING过滤。强调SQL优化与安全操作规范。
2026-09-29 10:27:49
285
1
原创 mysql(4) 内置函数,复合查询以及内外连接
本文系统梳理了MySQL中常用函数与查询技术,涵盖日期函数(如CURRENT_DATE、DATE_ADD)、字符串处理(如SUBSTRING、REPLACE)、数学运算(如ABS、RAND)及其它实用函数(如IFNULL、USER)。重点讲解了基本查询、多表连接(内连接、外连接)、自连接与子查询的应用,并通过案例演示了条件筛选、数据合并(UNION)及复杂查询逻辑,适用于数据库开发与数据分析场景。
2026-09-29 10:27:38
171
原创 mysql (2)数据类型与表的约束
本文系统介绍了MySQL中的数据类型与表约束。数据类型涵盖整型(如tinyint、bit)、小数(float、decimal)、字符串(char、varchar)、日期时间及枚举(enum)、集合(set)类型,强调根据业务需求选择合适类型以优化存储与性能。表约束部分重点讲解了NULL/NOT NULL、DEFAULT、COMMENT、ZEROFILL、PRIMARY KEY、AUTO_INCREMENT、UNIQUE KEY和FOREIGN KEY等机制,通过实例说明其在保证数据完整性、唯一性及引用一致性
2026-09-27 17:04:56
320
原创 Mysql(1)数据库表的基本操作
本文系统介绍了MySQL数据库与表的基本操作。涵盖数据库的创建(指定字符集utf8、校验规则如utf8_general_ci)、查看、修改(字符集/校验规则)、删除及备份还原;强调字符集影响中文支持,校验规则决定大小写敏感性。表操作包括创建(含存储引擎差异)、查看结构、修改结构(增删改列)、重命名及删除。重点提醒:删除操作不可逆,需谨慎;建议使用反引号避免关键字冲突,备份时注意多库备份语法。
2026-09-27 17:04:41
159
原创 多路转接epoll
本文深入总结了Linux网络编程中I/O多路转接的核心技术:poll与epoll。首先梳理了poll的函数接口、pollfd结构体(输入events与输出revents分离)以及三类事件(可读、可写、异常)。接着重点剖析epoll的三大API(epoll_create、epoll_ctl、epoll_wait)及其底层工作原理——红黑树与就绪链表,并详细对比了LT(水平触发)与ET(边缘触发)两种模式。LT模式安全但通知频繁,ET模式高效但要求非阻塞循环读。
2026-09-13 15:38:30
208
1
原创 MyBatis 基础与实战:配置文件、Mapper 映射及单元测试详解
MyBatis是一款轻量级半自动ORM框架,通过自定义SQL实现灵活的数据库操作。其核心优势在于支持动态SQL、结果映射及缓存机制,可有效提升性能与开发效率。通过配置驼峰命名转换、外部properties文件引入、别名设置及XML映射文件,可简化开发流程。结合Mapper接口与XML动态标签(如<if>、<foreach>),实现复杂查询与增删改查逻辑。单元测试验证了其与Spring集成的正确性,确保数据操作可靠。
2026-09-12 17:12:48
234
原创 Java JDBC 三层架构实战笔记:从Entity到Service的完整构建
本文以“学生信息管理”为场景,梳理基于JDBC原生API构建三层架构(Entity–DAO–Service)的开发笔记。文章阐述DAO层增删改查的实现,重点剖析PreparedStatement预编译防注入与性能优化。工具类封装方面,展示JDBCUtils的静态驱动加载、方法重载与参数绑定,体现代码复用。针对动态多条件查询,通过StudentsQueryDto封装查询条件,实现DAO层“拆包翻译”。Service层通过构造器注入与薄封装,确保业务与数据解耦。全文理论与实践结合,适合初学者理解JDBC原生开发
2026-09-04 13:11:15
334
原创 JDBC从入门到实战:概念,角色与核心编程步骤详解
JDBC是Java访问数据库的标准接口,定义统一访问规范。核心组件有DriverManager、Connection、Statement、ResultSet。工作原理为加载注册驱动,DriverManager获取连接,Connection生成Statement,Statement执行SQL,ResultSet存储结果,关闭资源。工作流程包括加载驱动、获取连接、创建语句、执行SQL、处理结果、释放资源。编程步骤涵盖注册驱动、建立连接、执行增删改查、遍历结果、关闭连接。代码示例展示完整实现,运行结果正确输出数据
2026-09-01 20:54:11
217
原创 拆解IP协议:地址、首部、路由与转发
内容涵盖网络层IP概念、地址构成、查找主机方法、IP协议头、分用、TCP/IP模型、网段划分、CIDR、NAT、路由等。摘要需简洁。</think>本文介绍了网络层IP的核心概念:IP地址由网络号和主机号构成,通过子网掩码与运算判断是否在同一网段;IP协议头含版本、首部长度、TTL、协议等关键字段,接收端据此分离报头与载荷并分用;同时说明了TCP/IP五层模型、网段划分、特殊IP、私有/公网地址及NAT技
2026-08-31 16:53:53
342
1
原创 上一篇文章中 HTTP服务器浏览器响应跳转hello world页面踩的坑
开发C++ HTTP服务器时出现ERR_INVALID_HTTP_RESPONSE错误,经测试发现服务端返回数据不完整。主要问题包括错误发送请求数据、Content-Length不匹配、未完整发送数据。修正发送逻辑,确保发送响应而非请求数据。动态计算Content-Length并严格匹配实际body长度。使用循环send保证完整数据发送,优先用短连接测试基础功能。关键调试经验:对比原始请求/响应日志,精确计算数据长度,处理分次发送。常用调试命令包括telnet和curl验证基础通信。重点检查响应头格式和bo
2026-08-11 14:56:19
222
原创 搞懂HTTP协议,并亲手让浏览器显示“hello world“
本文系统介绍了HTTP协议的核心原理与技术实现。HTTP作为应用层协议,采用客户端-服务器模型,具有无连接、无状态特性。详细解析了DNS流程和URL结构,区分HTTP(应用层规范)与Socket(传输层接口)的协作关系。深入分析了HTTP报文结构(起始行/头部/空行/正文),通过实例展示响应生成过程。解释了URL编码原理,并提供C++实现的简易HTTP服务器代码,演示TCP连接处理与HTTP响应逻辑。全文通过技术解析+代码示例,清晰呈现了从URL输入到页面渲染的完整通信链路。
2026-08-10 21:23:52
276
原创 UDP网络编程实战:UdpServer核心闭环剖析与“幽灵客户端”排坑实录
文章摘要: 本文深入剖析了UDP服务器(UdpServer类)的核心实现,重点解析了Start函数的闭环逻辑。通过RALL机制管理套接字资源,确保异常安全;利用回调函数(callback_t)实现业务解耦,网络层仅负责收发数据。客户端需内置服务器IP/Port,通过sendto/recvfrom完成无连接通信,并避免手动bind端口。服务端通过Init绑定地址,Start循环处理请求,强调缓冲区安全(预留\0)和错误恢复能力。实战中需警惕非阻塞模式导致的CPU跑满问题,并通过环境检查(如ps/netstat
2026-08-06 20:49:05
421
原创 从网络通信本质,Socket,字节序,IP首部,位段转换到最终的UdpServer封装
本文摘要:本文深入探讨了网络通信的核心机制,重点分析了Socket编程中的关键概念和技术细节。首先介绍了四元组(源IP、源端口、目标IP、目标端口)作为网络进程唯一标识的原理,以及大端小端字节序转换的必要性。接着详细解析了Socket接口的多态设计思想,包括AF_INET和AF_UNIX两种通信方式的对比。文章还剖析了IPv4协议头结构,解释了各字段的功能。最后通过封装UdpServer类的实例,演示了UDP通信中地址获取、数据收发和业务逻辑解耦的实践方法,强调了回调机制在网络编程中的重要性。全文从理论到实
2026-08-02 15:52:45
538
1
原创 平衡二叉树、相交链表与随机指针链表的LeetCode经典题解析
本文摘要: 平衡二叉树判断:采用自底向上的后序遍历方式,通过递归计算子树高度并检查高度差(≤1),时间复杂度优化至O(n)。关键点包括剪枝优化和高度差判断。 相交链表查找:使用双指针法,当指针到达链表末尾时切换到另一链表头部,最终相遇点即为交点或NULL。该方法保证两指针遍历相同长度。 随机链表复制:分三步实现 - 在原节点后插入复制节点、设置random指针、拆分新旧链表。通过原地操作实现O(1)空间复杂度的深拷贝。
2026-07-26 16:36:44
189
1
原创 从零搭建本地Kubernetes开发环境:Docker Desktop +kind完整指南
本文详细介绍了在Docker Desktop上搭建Kubernetes开发环境并部署Nginx应用的完整流程。主要内容包括:1. Docker Desktop启用Kubernetes及国内镜像加速配置 2. Kind集群的镜像管理技巧(kind load命令) 3. 无状态应用Deployment的YAML编写与部署 4. 常见问题ImagePullBackOff的排查方法 5. 常用kubectl命令速查 6. 滚动更新策略配置建议 文章特别针对国内开发者提供了镜像拉取的解决方案,并分享了从环境准备到应用
2026-07-19 17:18:50
296
原创 软件测试金字塔实战指南:从单元测试到系统测试的解析
摘要:测试金字塔模型将自动化测试分为三层:单元测试(底层,70%)、集成测试(中层,20%)和系统测试(顶层,10%)。单元测试针对最小可测试单元,运行快、成本低;集成测试验证模块协作,需启动部分基础设施;系统测试模拟真实用户操作,验证全流程。核心原则是底层测试数量多、速度快,顶层测试数量少、成本高。实际案例展示了如何针对用户注册功能编写不同层级的测试,包括用户名限制和唯一性校验的验证。通过合理分配测试类型,可构建高效可靠的测试体系。
2026-07-15 15:05:01
380
原创 Udp 网络编程的初始环境搭建与编译
本文介绍了UDP通信程序的环境搭建与编译过程。主要内容包括:1. 通过Makefile实现client_udp和server_udp的自动化编译,解释了.PHONY伪目标的作用及自动变量$@与$^的使用场景;2. 项目文件架构说明,包含客户端实现、服务器类声明与主程序文件;3. 重点讲解了头文件守卫的必要性及其原理,以及UDP服务器的初始化方法;4. 说明主程序中使用std::unique_ptr进行自动内存管理的原因;5. 最终完成基础UDP通信环境的搭建。文章详细介绍了编译过程中的技术细节和注意事项,为
2026-07-11 15:26:48
170
原创 Junit5+Mockito实现已投票事件的测试策略
本文探讨了活动报名系统中投票功能的关键约束与测试方案。通过分析vote()方法的业务逻辑(参数校验、存在性校验、资格校验和幂等性校验),采用JUnit5参数化测试和Mockito模拟技术,设计了覆盖有效/无效等价类及边界值的测试用例。测试方案通过动态路由机制将不同场景的Mock行为与统一异常断言解耦,确保代码健壮性同时满足未来扩展需求。文章详细展示了输入域划分、边界值选取策略及测试实现方法,为类似功能的测试设计提供了可复用的方法论。
2026-06-29 00:47:22
208
原创 网络基础(2)
网络传输:MAC地址用于局域网通信,以太网帧原子传输。分层架构逻辑水平通信,物理垂直传输。封装与解包,通过协议结构体操作内存。IP地址屏蔽底层差异,跨网传输时IP不变、MAC逐跳变。
2026-06-22 21:07:39
223
原创 网络基础(1)
本文摘要:文章系统介绍了TCP/IP网络通信的分层架构,重点分析了五层模型(物理层、数据链路层、网络层、传输层、应用层)的核心功能与协作机制。通过主机通信案例,阐述了各层解决的关键问题:物理信号传输、帧组织/校验(链路层)、IP寻址/路由(网络层)、可靠传输(TCP)以及应用数据处理(HTTP等)。同时对比了标准化协议与操作系统实现的辩证关系,强调协议分层通过关注点分离实现网络互操作性,不同系统可通过遵循统一协议标准(如RFC规范)实现互联互通。全文揭示了网络分层架构在解决复杂通信问题中的设计优势。
2026-06-21 14:14:50
269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅