自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring Boot 分层架构与数据流转详解

本文解析了后端开发中的核心分层架构。主要包含Controller层(处理HTTP请求)、Service层(业务逻辑)、Mapper层(数据库操作)、Entity层(数据库映射)。重点介绍了DTO(接收请求数据)和VO(返回响应数据)的设计要点:DTO用于参数校验和接收前端数据,VO则对敏感字段脱敏并格式化展示数据。文章强调分层职责隔离的重要性,指出常见错误做法(如直接返回Entity),并给出数据流转的最佳实践。通过明确的分层设计,可构建更安全、易维护的系统架构。

2025-06-10 17:52:59 934 1

原创 接口:Spring Boot + Vue 框架的新手大魔王(后端解释)

三层架构及其协作流程:Controller层作为请求入口,负责接收DTO并返回包装后的R响应(包含VO);Service层处理核心业务逻辑,进行DTO/Entity/VO转换;Mapper层执行数据库CRUD操作。重点讲解了DTO(数据传输)、VO(视图展示)和R(统一响应)三个核心概念的区别与配合。通过"创建用户"的完整案例,展示了从Vue前端发起请求到SpringBoot后端处理并返回数据的全链路流程,强调了前后端分离开发中清晰的接口定义和规范的数据传输的重要性

2025-06-05 17:21:13 964

原创 接口:Spring Boot + Vue 框架的新手大魔王(前端解释)

接口交互。前端Vue通过api文件夹中的axios请求函数(GET/POST/PUT/DELETE)向后端发送请求,注意设置URL、方法和Content-Type(常用application/json)。强调手动编写JS代码的重要性,避免依赖AI生成代码。在Vue组件中导入并调用这些API函数,使用async/await处理异步请求。后端SpringBoot提供对应接口,完成数据交互。全文采用生活化比喻,帮助初学者快速理解前后端通信机制。

2025-06-05 17:12:52 517

原创 Ubuntu安装Docker命令清单(以20.04为例)

Ubuntu 20.04安装Docker完整指南:1)卸载旧版本后,通过添加官方GPG密钥和仓库源进行安装;2)完成基础安装后需配置镜像加速(建议使用国内源)和数据目录迁移;3)常见问题包括服务启动失败和权限问题,可通过reload服务和用户组配置解决;4)安装后需验证版本、测试容器运行并检查服务状态;5)系统要求64位Ubuntu≥18.04,内核≥5.4。附注包含网络端口配置和彻底卸载方法。

2025-06-03 14:27:22 580

原创 由docker引入架构简单展开说说技术栈学习之路

系统性地讲解了技术架构的演进历程。从单机架构起步,历经应用数据分离、集群部署、读写分离、引入缓存、分库分表等关键阶段,最终发展为微服务架构和容器化部署。每个阶段都对应解决特定的性能瓶颈:单机架构应对初创期需求,集群解决高并发问题,读写分离化解数据库压力,缓存优化热点数据访问,分库分表处理数据膨胀,微服务架构则突破系统复杂度瓶颈。分布式技术提供"多机协作"的物理基础,微服务实现"分而治之"的逻辑艺术,二者共同构建高并发、高可用的现代系统。架构演进没有银弹,需要根据业务发展阶段选择合适方案。

2025-06-03 10:39:27 809

原创 Git就like物流:你的代码是这样被“快递“的!

Git代码管理三阶段详解:工作区、暂存区与版本库本文将Git比作智能物流系统,用生动比喻解释代码管理的核心概念:三大核心区域:工作区(创意工坊)、暂存区(分拣台)和版本库(智能仓库)标准工作流:通过git add将工作区改动放入暂存区,再用git commit提交到版本库实用操作技巧:批量提交、状态查询和.git目录结构解析常见错误及解决方案,如遗漏文件提交的情况处理物流链思维:Git将代码生命周期变为可追踪的完整流程通过物流系统类比,帮助开发者直观理解Git的核心机制,掌握基本的版本控制

2025-05-29 18:44:31 376

原创 Cyberduck 是什么

把复杂的协议、云端,变成你熟悉的文件夹操作。告别装一堆不同的客户端,一个Cyberduck走天下。传输速度快,连接稳定可靠。加密传输,开源透明。核心功能全免费,无广告骚扰。无论你是开发者、站长、设计师,还是只是需要经常和云端/服务器打交道的普通用户,Cyberduck 都能让你的文件传输和管理体验变得无比轻松愉快!还在等什么?快去Cyberduck 官网把这只可爱又强大的小鸭子带回家吧!让它成为你数字世界里的得力文件搬运助手!🦆✨嘎嘎!传输愉快!😄。

2025-05-29 18:36:19 640

原创 Git入门

🌟:你准备好让代码拥有“后悔药”功能了吗?:执行后生成.git隐藏文件夹——这是Git的!⏳千万别手贱修改里面的文件,否则你的代码历史可能崩塌!💥。

2025-05-28 18:46:14 391

原创 Vue组件化

组件化 = 化整为零 + 灵活复用用“乐高思维”写代码,告别复制粘贴,拥抱高效优雅! 🎉(附赠口诀:“拆组件,拼页面,全局注册走天下!” 😎)

2025-05-27 14:38:03 571

原创 Git安装

git

2025-05-27 11:54:23 482

原创 测试人员:从需求到闭环

测试人员在软件开发中扮演着质量守护者的角色。文章以航海为喻,系统阐述了测试人员在各阶段的关键使命:从需求评审阶段的"灵魂拷问"和风险预警,到设计分层测试策略;从持续集成中的缺陷管理,到用户验收测试的最终验证;直至上线后的监控与持续改进。测试人员通过早期介入、自动化测试和质量闭环管理,构建覆盖全流程的质量防护网,在确保产品质量的同时推动团队持续进步。文章强调"质量左移"和"质量右移"理念,展现测试工作既严谨又创新的专业价值。

2025-05-26 09:59:39 934

原创 遇见Flask

Flask是一个轻量级的Python Web框架,以其极简和灵活著称。自2010年诞生以来,Flask凭借其核心组件Werkzeug和Jinja2,为开发者提供了一个自由创作的平台。与Django等全功能框架不同,Flask不强制使用特定的数据库或目录结构,而是鼓励开发者根据自己的需求进行定制。这种“少即是多”的哲学使得Flask成为初学者和极客的理想选择。通过简单的代码,开发者可以快速构建Web应用,如博客原型。Flask的插件生态系统丰富,支持如Flask-RESTful、Flask-SQLAlchem

2025-05-21 16:58:16 554

原创 前端小demo项目实战<京东秒杀Tab栏切换、进度条控制和成绩管理表单>

文章介绍了三个Vue.js实战项目:京东秒杀Tab栏切换、进度条控制和成绩管理表单。京东秒杀项目通过v-for动态渲染Tab栏,并使用ref管理当前高亮项,实现点击切换高亮效果。进度条项目通过ref和computed属性控制进度条的动态变化,点击按钮更新进度。成绩管理表单项目展示了如何实现数据的增删、统计和本地持久化,使用v-model进行表单双向绑定,computed计算总数量和平均分,watch监听数据变化并存入本地存储。这些项目帮助开发者熟悉Vue.js的核心指令和响应式数据管理,提升实战能力。

2025-05-20 14:21:14 704

原创 Jenkins简单认识

Jenkins 是一款开源的自动化服务器,专为持续集成与持续交付(CI/CD)而生。它像一位不知疲倦的工匠,将开发者的代码碎片精心打磨,串联成可交付的成品。无论是凌晨三点的紧急构建,还是跨团队协作的复杂流程,Jenkins 总能以精准的节奏,将混乱转化为秩序。从用户提供的配置页面中,我们窥见了 Jenkins 的冰山一角。以下是它脱颖而出的关键:页面的 Trigger 模块揭示了 Jenkins 的核心能力——自动化触发。无论是代码提交、定时任务,还是外部 API 调用,Jenkins 都能瞬间响应。例如:

2025-05-20 09:56:42 929

原创 vue3搭建脚手架前的前置知识

Vue3作为渐进式框架,允许开发者逐步应用其API,支持传统和工程化开发方式。核心概念包括声明式渲染、setup函数、以及数据响应式(reactive和ref)。开发环境推荐使用VSCode配合相关插件,并采用Vite/Webpack进行模块化构建。JavaScript前置知识如变量与常量、模板字符串、解构赋值、箭头函数、数组方法和异步处理是学习Vue3的基础。重点总结中强调了响应式数据的重要性、setup函数的作用、工程化开发的必要性,以及JavaScript基础知识的掌握。学习建议包括动手实践、结合项目

2025-05-15 14:32:44 420

原创 ✨ Vue3 入门秘籍:JavaScript 基础速成,小白也能秒懂!

文章通过生动的比喻和实例,介绍了JavaScript中的基础概念和操作,为学习Vue3打下坚实基础。首先,区分了变量(let)和常量(const)的使用场景,强调变量的灵活性和常量的不可变性。接着,讲解了模板字符串的便利性,以及对象操作中点号和中括号的区别。文章还介绍了数组和对象的解构赋值、箭头函数的简洁写法,以及数组的遍历、过滤和汇总操作。此外,还涉及了异步编程中的Promise和Async/Await,模块化的导入导出,以及Web存储中的localStorage使用。

2025-05-15 11:03:21 338

原创 ✨接口测试用例设计指南:全面覆盖与精准验证

接口测试是确保系统间通信稳定性和准确性的关键环节。本文详细探讨了查询类接口(GET)和操作类接口(POST/PUT/DELETE)的测试用例设计策略。对于查询类接口,重点在于参数覆盖和分页机制的验证,包括单字段和组合查询的效果,以及分页的连续性和边界场景。操作类接口的测试则侧重于必填字段的等价类与边界值分析,非必填字段的灵活性验证,以及删除接口的存在性和数据一致性检查。此外,文章还强调了复杂场景的覆盖策略,如电商订单的多条件查询和错误注入测试,以及测试策略的层次化落地,包括基础覆盖、深度挖掘和性能兜底

2025-05-14 12:03:34 892

原创 ✨测试 & 数据库核心书单推荐(从“小白”到“架构师”的无缝攻略)

:: 🚀。

2025-04-29 17:35:03 535

原创 ✨ 揭秘字节跳动「压箱底」黑话指南

—字节这份高薪JD背后,藏着AI测试工程师的「赛博词典」。我们用“人话”拆解那些看着头疼的术语,看完你也能对着面试官说行话👇。:”我测过ChatGPT对话,发现有时候会胡说八道“:”我们的评测体系分三个维度——

2025-04-29 17:31:49 665

原创 ✨ YAML交响曲:用「数据音符」谱写代码乐章

当YAML在IDE中起舞,缩进成为诗行的韵脚,注释化作散文的旁白。这不是冰冷的配置,而是开发者写给机器的十四行诗——用空格作逗点,用连字符谱曲,在key: value的对仗中寻找代码的平仄之美。✨ 今日魔法作业用YAML为你最喜欢的咖啡写一份「风味档案」,让机器也能品味人间烟火!咖啡宇宙:- 名称: "星辰拿铁"风味笔记:- 前调: "焦糖甜吻"- 中调: "坚果圆舞曲"- 余韵: "巧克力叹息"魔法配方:浓缩咖啡: "30ml"星云牛奶: "200ml"银河糖浆: "1泵"

2025-04-28 12:40:23 261

原创 ✨ Apifox:这玩意儿是接口界的“瑞士军刀”吧!

✅。

2025-04-25 13:41:10 754

原创 ✨从零到英雄:构建高效Pytest自动化测试框架的终极指南

一个好的测试框架不是写出来的,而是在实践中不断进化出来的。pytest --base-url=https://staging.env # 测试环境。pytest --base-url=https://prod.env # 生产环境。,可以实现混沌工程测试——像故意给工厂断电一样验证系统韧性!:YAML数据与代码解耦,非技术人员也能维护用例。是厂长,统筹全局,一键启动所有生产线。从混乱到有序,这就是自动化测试的力量!是工具仓库,提供标准化“生产设备”库模拟第三方依赖,像搭建虚拟测试车间。

2025-04-24 15:00:46 833

原创 ✨ 基于Pytest的自动化测试框架架构解析

整个框架如同一条自动化流水线,从配置加载到测试执行,最终输出可视化报告,高效可靠地保障产品质量!:Swagger文档解析器,可自动生成测试脚本,如同“智能设计图纸生成器”。:创建带认证的API客户端,如同标准化电路接口,确保设备即插即用。:自动生成可视化测试报告(含趋势图),如同工厂的“质检报告单”。:YAML数据加载器,像自动供料机,精准输送测试数据。:测试完成自动发送通知,如同工厂的“广播系统”。:工厂的“总指挥”,负责启动流水线并监控生产。:通用接口流水线,像工厂的“基础零件车间”。

2025-04-24 13:27:30 530

原创 测试用例如何编写

比如说在导航栏功能上就可以写成一个case,包含了页面的交互(不同的选项会刷新不同的数据),同时需要验证页面显示的数据是否跟数据库表的记录保持一致。当然你也可以将这个case 分成两个,一个纯数据验证。一个就是页面效果展示。功能效验可以跟数据效验相结合,也可以独立, 页面展示也能独立。综合起来,做测试用例时,需要考虑两个方面(主要配合接口测试)

2025-04-14 19:24:42 249

原创 Python--字典

字典也是一个常用的结构. 字典的所有操作都是围绕 key 来展开的.需要表示 "键值对映射" 这种场景时就可以考虑使用字典.

2025-03-08 12:28:35 587

原创 Python-列表和元组

列表和元组都是日常开发最常用到的类型. 最核心的操作就是根据 [ ] 来按下标操作. 在需要表示一个 "序列" 的场景下, 就可以考虑使用列表和元组. 如果元素不需要改变, 则优先考虑元组. 如果元素需要改变, 则优先考虑列表.

2025-03-07 23:26:05 680

原创 初始Python----

函数是编程语言中的一个核心语法机制. Python 中的函数和大部分编程语言中的函数功能都是基本类似的.函数的定义 函数的调用 函数的参数传递

2025-03-06 23:53:14 591

原创 Python初始----some语句介绍

条件语句能够表达 "如果 ... 否则 ..." 这样的语义. 这构成了计算机中基础的 逻辑判定.条件语句也叫做分支语句, 表示了接下来的逻辑可能有几种走向比如,最经典的条件语句就是如果 我认真敲代码我就很容易找到工作否则我就容易毕业就失业。

2025-03-05 22:09:08 543

原创 初始Python---运算符

0.1 + 0.2 的结果并非是 0.3 , 而是带了个小尾巴. 虽然这个尾巴非常小了, 但是 == 是锱铢 必较的, 仍然会导致 == 的结果为 False。想象一个英文词典, 上面的单词都是按照字母顺序排列. 如果首个字母相同, 就比较第二个字母. (就 比如著名单词 abandon).// 是取整除法(也叫地板除). 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五 入)例如 += -= *= /= %=

2025-03-05 21:42:15 833

原创 初始Python<常量、变量、注释、输入输出>

有的时候, 我们需要进行的计算可能更复杂一些, 需要把一些计算的中间结果保存起来. 这个时候就需要用 到变量我们可以用方差来举一个例子来认识变量avg, total, result 均为变量.** 在 Python 中表示乘方运算. ** 2 即为求平方.就像计算器中的 M 键功能类似, 通过变量就可以保存计算过程中的中间结果.变量可以视为是一块能够容纳数据的空间。a=10a 为变量名. 当我们创建很多个变量的时候, 就可以用名字来进行区分.

2025-03-04 23:37:58 724

原创 《基于Selenium的网页聊天室自动化测试实战报告》

目标系统:基于WebSocket的实时聊天室核心功能:用户注册/登录、会话框发送信息、好友列表、信息发送技术栈:html + Springboot + MySQL数据库。

2025-03-03 19:53:54 1223

原创 《基于Selenium的论坛系统自动化测试实战报告》

目标系统:基于WebSocket的实时聊天室核心功能:用户注册/登录、会话框发送信息、好友列表、信息发送技术栈:html + Springboot + MySQL数据库。

2025-03-03 19:53:02 1755

原创 Java中的继承

super和this的关系继承下代码块的执行顺序protected关键字

2025-01-18 13:17:01 316

原创 Java中的继承

继承的概念继承的语法子类中访问父类的成员变量 ①.子类和父类不存在同名成员变量 ②.子类和父类成员变量同名子类中访问父类的成员方法 成员方法名字不同 成员方法名字相同  super关键字

2025-01-17 17:46:38 1013

原创 具体讲讲内部类

内部类的分类实例内部类静态内部类局部内部类

2025-01-16 13:09:28 1241

原创 代码块<说说普通代码块、构造代码块、静态代码块>

普通代码块构造代码块静态代码块

2025-01-16 11:18:09 459

原创 static成员

静态成员变量的特性】不属于某个具体的对象,是类的属性,所有对象所共享的,不存储在某个对象的空间中既可以通过对象访问,也可以通过类名访问,类变量存储在方法区中生命周期伴随类的一生(类创建它创建,类消失它消失)不属于某个具体的对象,是类方法可以通过对象调用,也可以通过 类名.静态方法名(...)调用不能在静态方法中访问任何非静态成员变量静态方法不能调用任何非静态方法,因为静态方法有this参数,在静态方法中调用时候无法传递this引用静态方法无法重写,不能用来实现多态

2025-01-15 13:32:45 816

原创 封装和包-简单说

面向对象有三大特性:封装、继承、多态包 导入包中的类 自定义包 常见包

2025-01-14 11:12:23 772

原创 对象的构造及初始化

针对问题1,我们给出了对象的构造方法,可以用来解决对象该如何初始化在java方法内部定义一个局部变量时必须要初始化,否则就会编译失败。比如要让上面的代码通过编译,只需要在正式使用a之前,给a设置一个初始值即可。如果是对象的话结果如下我们就需要调用之前的setDate方法才能将具体日期设置到对象中去。同时有两个问题针对问题1,我们给出了对象的构造方法,可以用来解决对象该如何初始化构造方法(也叫做构造器)是一个特殊的成员方法,

2025-01-13 11:06:03 391

原创 this引用

this引用指向当前对象,在成员方法中所有成员变量的操作,都是通过该引用去访问还是对前面的例子进行修改this引用的都是调用成员方法的对象也就是说它引用的都是同一个地址,都是从一开始就调用的成员方法的对象,后面再去调用时,都是这一个物理内存的地址。

2025-01-12 11:17:52 241

与我的基于JSP、java、Tomcat三者的项目实战-校园交易平台系统所搭配可以使用的ppt项目展示,有需要的可以自取

与我的基于JSP、java、Tomcat三者的项目实战--校园交易平台系统所搭配可以使用的ppt项目展示,有需要的可以自取

2024-08-07

计算机网络实验(实验报告)-基于eNSP操作(包含真机操作截图)(万字爆更)-华为

这类实现是基于计算机网络(第八版)所有实验的总和,所有实验面面俱到,每个步骤一个一个字打上来,无论你是要深入学习还是完成课程作业,这都是你的一个不错的选择

2024-07-09

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

TA关注的人

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