- 博客(66)
- 收藏
- 关注
原创 基于MD5分块哈希的前端图片重复检测方案
本方案通过以下创新点实现高效上传:前端预处理机制哈希分块计算优化服务端快速查询未来优化方向:WebAssembly加速计算多哈希混合校验断点续传集成。
2025-03-06 19:13:29
561
原创 Scala 编程实验报告
通过本次实验,我掌握了 Scala 的基本语法、数据结构和控制结构,能够编写自定义类和特质,并熟练使用匿名函数。同时,我熟悉了 Scala 的容器类库的基本层次结构,能够熟练使用常用的容器类进行数据操作。此外,我还学会了使用 Scala 的 REPL 模式和编译运行方法,能够高效地进行函数式编程。
2025-03-06 16:11:26
440
原创 MyBatis-Plus驼峰映射配置:告别手动映射的繁琐
在开发过程中,处理数据库与Java实体之间的字段映射是一个重要但容易出错的环节。传统的做法是手动在SQL中将数据库字段映射到Java字段,虽然可靠,但随着项目规模的扩大,这种方式效率低下且容易出错。MyBatis-Plus提供了一种简单高效的解决方案——最后个人建议是一开始就设置自动驼峰映射,如果真的有字段需要手动映射的,再去做手动映射,这样开发体验会好很多。本文将详细介绍如何配置MyBatis-Plus实现驼峰映射,提升开发效率。然后继续开发,效率和感觉就舒服多了。
2025-02-28 15:51:01
310
原创 解决Spring Boot中LocalDateTime返回前端数据为数组结构的问题
在Spring Boot中,默认的序列化行为可能会导致JSON返回为数组结构。通过使用注解或全局配置Jackson的日期格式,可以将日期时间格式化为字符串,避免这种问题。希望本文能帮助你在实际项目中更好地处理日期时间的序列化问题,提升API的可读性和用户体验。
2025-02-26 19:30:32
1340
原创 宝可梦图鉴App:专为宝可梦粉丝打造的便捷查询工具
宝可梦图鉴App”是一款专为宝可梦粉丝设计的手机应用,旨在为用户提供一个便捷、功能丰富的宝可梦查询工具。用户可以通过该应用浏览所有宝可梦的详细信息,随时随地查看它们的属性、技能、进化线、蛋群信息,甚至精灵的捕获位置。与原版数据相比,改版后的精灵数据可能会有很大不同,因此,这款应用旨在为玩家提供最新、最全面的改版精灵信息。
2025-02-24 15:17:42
1216
原创 css过渡的几个案例
这些案例展示了CSS过渡的不同应用场景,你可以根据实际需求调整过渡的属性、时长和缓动函数。如果你有具体的需求,可以告诉我,我可以帮你定制更复杂的过渡效果!
2025-02-23 16:20:37
362
原创 基于Spring AOP实现方法执行时间监控与日志记录
Spring AOP 是一种通过动态代理实现的面向切面编程框架。它允许开发者定义切面(Aspect),并在特定的点(Pointcut)织入增强处理(Advice)。常见的应用场景包括日志记录、事务管理、权限控制、性能监控等。@TakeTime为了方便地标记需要监控的方法,我们可以创建一个自定义注解@TakeTime。通过自定义注解和Spring AOP,可以实现对方法执行时间的监控和详细日志的记录。这不仅有助于性能优化和问题排查,还能提升开发效率和系统可维护性。
2025-02-22 20:21:16
1300
原创 Spring Boot Validation 接口校验:从零到掌握
Spring Validation 是一个用于数据校验的框架,它基于和实现。通过在 JavaBean 的字段上添加特定的注解,可以定义数据的校验规则。Spring Boot 通过整合 Hibernate Validator,使得在 Web 应用中使用数据校验变得更加简单。如果内置的校验注解无法满足需求,可以通过自定义注解来扩展校验功能。String message() default "手机号格式不正确";Class<?Class<?
2025-02-22 09:52:32
1060
原创 Redis 缓存穿透、击穿、雪崩:问题与解决方案
缓存穿透、击穿和雪崩是使用 Redis 缓存时可能遇到的三大常见问题。通过合理的解决方案,可以有效避免这些问题,提升系统的稳定性和性能。缓存穿透布隆过滤器:高效过滤不存在的数据,但实现复杂。缓存空值:简单实现,但可能浪费缓存空间。随机退避:分散缓存失效时间,但需要合理设置过期时间。缓存击穿互斥锁:确保只有一个请求查询数据库,但需要实现分布式锁。永不过期:避免热点数据失效,但需要定期更新数据。随机过期时间:分散失效时间,但可能会有部分数据过期。缓存雪崩随机过期时间:分散失效时间,简单实现。
2025-02-21 19:35:49
1821
原创 CSS常用样式详解:从基础到实战
通过本文的学习,我们掌握了CSS中的各种常用样式,从基础的选择器和盒模型,到高级的Flexbox、Grid布局,再到响应式设计和动画效果。通过丰富的代码示例和实际案例,你可以更好地理解和应用这些知识。本文不仅适用于新手,也适用于有一定经验的开发者,帮助你进一步提升CSS技能。在实际开发中,建议多多实践,将各种样式应用到具体的项目中。同时,关注前端开发的最新趋势,学习更多高级的CSS技巧,持续提升自己的专业能力。
2025-02-21 09:31:02
912
原创 Redis 持久化:从零到掌握
Redis 作为一款广泛使用的内存数据库,虽然核心功能是基于内存提供高性能的数据存取,但在实际应用中,数据的持久化是不可忽视的。毕竟,内存中的数据一旦出现故障或重启,就会面临数据丢失的风险。因此,Redis 提供了多种持久化机制,确保数据能够安全地存储在磁盘中。本文将详细介绍 Redis 的持久化机制,包括 RDB 和 AOF 两种持久化方式的工作原理、配置方法、优缺点以及实际应用场景。
2025-02-19 19:33:56
1162
原创 使用 Docker 部署 Spark 集群
通过以上步骤,你已经成功使用 Docker 部署了一个 Spark 集群,包括一个 Master 节点和两个 Worker 节点。快速部署:通过 Docker Compose 一键式部署,无需手动配置每个节点。资源隔离:每个节点运行在独立的容器中,资源分配清晰。易于扩展:可以轻松添加或删除 Worker 节点以适应不同的工作负载。环境一致性:所有节点使用相同的 Spark 镜像,确保环境一致。你可以根据需要调整文件中的配置,例如增加 Worker 节点的数量、调整内存和 CPU 核数等。
2025-02-17 21:29:27
1369
原创 Python抓取豆瓣电影Top250
在本篇文章中,我们将探讨如何利用Python编程语言中的requests库和库来抓取豆瓣网站上电影Top250的数据信息。通过本文的学习,读者将掌握基本的网络爬虫技巧,了解如何解析HTML文档,以及怎样高效地处理和存储抓取到的数据。简要介绍为什么选择豆瓣Top250作为抓取目标,以及这项任务可能带来的价值或学习点。
2025-01-05 17:11:54
453
原创 Knife4j快速入门
Knife4j是一个用于生成和展示API文档的工具,同时它还提供了在线调试的功能,下图是其工作界面。Knife4j有多个版本,最新版的Knife4j基于开源项目,这个开源项目的核心功能就是根据SpringBoot项目中的代码自动生成符合OpenAPI规范的接口信息。OpenAPI规范定义接口文档的内容和格式,其前身是Swagger规范。
2024-11-24 21:29:35
504
原创 Redis快速入门
1.Reids定义Redis(Remote Dictionary Server)是一个基于内存的键值对存储系统,常用作缓存服务。由于Reids将数据都保存在内存中,因此其读写性能十分惊人,同时,为保证数据的可靠性,Redis会将数据备份到硬盘上,用于故障发生时的数据恢复。Redis特点高性能:Redis主要将数据存储在内存中,因此读写速度非常快,适合对速度有较高要求的场景。支持多种数据结构。
2024-11-24 18:17:55
854
原创 15个MySQL表设计的经验准则
如果没有特殊的理由,一般都建议将字段定义为 NOT NULL。为什么?首先,NOT NULL 可以防止出现空指针问题。其实,NULL值的存储也需要额外的存储空间,它也会导致比较运算更为复杂,是优化器难以优化SQL。NULL值有可能会导致索引失效如果将字段默认设置成一个空字符串或常量值并没有什么不同,且都不会影响到应用逻辑,那就可以将这个字段设置为NOT NULL。
2024-11-03 19:19:29
854
原创 MinIO 使用基础教程
MinIO 是一个高性能的对象存储系统,兼容 Amazon S3 API。它通常用于存储大规模非结构化数据,如图片、视频、日志文件等。MinIO 支持多种部署方式,包括单节点和多节点集群模式。对于网站系统,若为降低成本投入,将文件存储服务和网站系统部署在同一台服务器中,访问量不大,基本不会有问题,但访问量逐渐升高,网站文件资源读取逐渐频繁,单机服务器可能难以承载较大的请求量,可能会出现网站打不开,甚至系统异常等问题。
2024-11-02 18:46:51
3815
1
原创 Spring Boot 3 + Spring Security + Knife4j 无法访问 Swagger 文档的问题及解决方案
在使用Spring Boot 3框架结合Spring Security进行项目开发时,我们可能会遇到集成Knife4j后Swagger文档无法正常访问的情况。本文将探讨可能的原因以及相应的解决办法。
2024-10-31 18:44:37
1037
原创 如何解决前端发送数据到后端为空的问题
在进行前后端交互时,经常会遇到前端发送数据到后端时数据为空的问题。本文将详细探讨如何解决这一问题,并提供具体的解决方案。
2024-10-29 19:14:32
1146
原创 Docker创建常用的容器
MySQL 是一个广泛使用的数据库管理系统。创建 MySQL 的 Docker 容器,你需要确保容器可以持久化数据,并且可以通过网络访问。启动前需要先创建Minio外部挂载的配置文件( /minio/config),和存储上传文件的目录( /minio/data)注意获取镜像的时候要获取management版本的,不要获取last版本的,management版本的才带有管理界面。一个用来存放配置,一个用来存储上传文件的目录。
2024-10-27 21:18:58
374
原创 Git快速上手
Git 是一个免费且开源的分布式版本控制系统,被广泛用于软件开发中的代码版本控制。通过使用 Git,开发者可以高效地追踪文件的变化历史,并支持多人协作开发。本教程将带你快速了解 Git 的基本概念和操作,帮助你开始使用 Git 管理你的项目。git init输入后,会自动生成一个.git目录,注意这个目录是一个隐藏目录,而当前目录就是我们的工作目录。git status如果已经成功配置为Git本地仓库,那么输入后可以看到:这表示我们还没有向仓库中提交任何内容,也就是一个空的状态。
2024-10-24 19:43:42
1419
原创 Spring boot 控制台输出大佛
在resource文件夹下穿件一个txt文件命名为 banner.txt ,然后把大佛祖的代码粘贴上去。
2024-10-20 20:12:26
626
1
原创 日志系统介绍
添加上这行代码即可,可根据文档自由调整-- ch.qos.logback.core.rolling.RollingFileAppender用于文件日志记录,它支持滚动 -->-- 自定义滚动策略,防止日志文件无限变大,也就是日志文件写到什么时候为止,重新创建一个新的日志文件开始写 -->-- 文件保存位置以及文件命名规则,这里用到了%d{yyyy-MM-dd}表示当前日期,%i表示这一天的第N个日志 -->-- 到期自动清理日志文件 -->
2024-10-20 20:05:23
771
原创 数据库基础
数据库是用于存储、管理和检索数据的系统。它们在现代应用程序中扮演着至关重要的角色,确保数据的一致性、完整性和安全性。本文将介绍数据库的基础知识及其关键组件。
2024-10-13 14:57:26
1117
原创 解决Vue 3中Element Plus el-color-picker 组件消失的问题
组件无法正常显示的情况。这可能是由于多种原因造成的,包括但不限于CSS加载问题、JavaScript错误、版本兼容性等。本文将指导你如何排查并解决这个问题。在使用Vue 3和Element Plus框架构建应用程序时,你可能会遇到。在 el-color-picker 后面加上。
2024-09-23 21:00:15
553
原创 CentOS 7 上安装 Docker
至此,你已经在 CentOS 7 上成功安装了 Docker,并且可以开始使用 Docker 进行开发和部署工作了。Docker 提供了许多高级功能,比如网络配置、数据卷管理和 Swarm 模式等,有兴趣的话可以进一步探索。希望这篇教程对你有所帮助!
2024-09-09 19:55:05
697
原创 hive入门
打开:命令提示符程序,输入mysql -uroot -p 回车查看数据库使用数据库use 数据库名称;创建数据库删除数据库查看当前使用的数据库查看当前use的数据库。
2024-09-08 12:15:45
1736
原创 环境变量的配置
env在 Vue 3 项目中配置环境变量是一种常见的做法,可以让你根据不同环境(开发、测试、生产等)使用不同的配置。这有助于在不同环境下运行相同的应用程序时,能够适应各自的环境特性,如 API 地址、数据库连接字符串等。
2024-08-28 23:30:08
522
原创 Vue 项目中使用路由鉴权实现网页进度条
在 Web 开发中,用户界面的流畅性和交互性对用户体验至关重要。为了在页面跳转时给用户提供反馈,我们可以利用 NProgress 这样的第三方库来实现一个进度条。本文档将指导您如何在 Vue 项目中结合路由鉴权来实现这一功能。
2024-08-27 21:42:07
440
原创 JavaScript基础
JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的"脚本".JavaScript 是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多为什么学习 JavaScript操控浏览器的能力广泛的使用领域易学性JavaScript版本es6后面单独拉出来讲解。
2024-08-19 20:47:04
848
原创 Vue 3 实现网页全屏效果
在 Web 开发中,全屏模式可以提供沉浸式的用户体验,尤其是在观看视频、演示文稿或展示特定功能时。本文将介绍如何使用 Vue 3 和 Element Plus 来实现一个简单的网页全屏功能。
2024-08-19 20:43:02
1785
原创 Vue 3 + Pinia 实现网页刷新功能
在现代 Web 开发中,保持用户界面的动态性和响应性至关重要。当用户触发某些操作时,例如点击按钮或者完成表单提交,我们往往需要刷新页面的一部分来展示最新的数据。本文将介绍如何使用 Vue 3 和 Pinia 来实现这一功能。
2024-08-19 19:16:06
1230
1
原创 element-plus默认菜单打开
在 Vue 3 中使用 Element Plus 的组件时,默认情况下菜单项是关闭状态的。如果你想让某个菜单项默认处于展开状态,你可以通过设置菜单项的属性来实现。
2024-08-18 16:12:08
1534
原创 表单自定义规则的校验
在 Vue 3 中使用 Element Plus 的表单组件进行自定义规则的校验非常方便。Element Plus 提供了ElForm和ElFormItem组件,它们内置了表单验证的功能。下面我将详细介绍如何使用 Element Plus 进行自定义规则的校验。
2024-08-16 15:39:37
509
原创 SVG图标配置
在开发项目时,确实经常使用 SVG(Scalable Vector Graphics)矢量图,因为它们具有许多优点。:SVG 图形可以在任何尺寸下保持高质量,不会像位图图像那样失真。这意味着无论屏幕大小或分辨率如何变化,SVG 图形都能保持清晰度。:相比于传统的位图格式(如 PNG 或 JPEG),SVG 文件通常较小,因此在网页上加载更快,节省带宽。:SVG 图形是基于 XML 的,所以可以使用文本编辑器进行编辑,也可以使用 CSS 或 JavaScript 动态改变颜色、大小和样式。
2024-08-11 21:46:35
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人