- 博客(53)
- 资源 (42)
- 收藏
- 关注
原创 SpringBoot中6种跨域请求解决方案
在Web开发中,浏览器的同源策略(Same-Origin Policy)是一项重要的安全机制,它限制了一个源(Origin)中加载的文档或脚本如何与另一个源的资源进行交互。所谓同源,指的是协议、域名和端口号都相同。当前端应用试图请求与自身不同源的后端API时,就会遇到跨域问题。例如,当的前端应用尝试访问跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种标准机制,允许服务器声明哪些源可以访问其资源。
2025-04-03 07:49:10
87
原创 Spring Boot 实现文件断点续传
在处理大文件传输或网络不稳定的情况下,文件断点续传功能显得尤为重要。本文将详细介绍如何使用实现文件的断点续传功能,并提供完整的前后端代码实现。断点续传的核心原理是,主要包括。
2025-04-02 07:23:35
313
原创 Spring Boot 实现文件秒传功能
在开发Web应用时,文件上传是一个常见需求。然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余。此时可以使用技术通过识别重复文件,实现瞬间完成上传的效果,大大提升了用户体验和系统效率。
2025-04-01 07:07:55
370
原创 Spring Boot 数据脱敏实现
通过以上步骤,在Spring Boot 项目中实现了数据脱敏功能。使用自定义注解和处理器并结合策略模式,可以灵活地对敏感信息进行脱敏处理。
2025-03-31 07:40:02
259
原创 Spring Boot 实现密码安全存储的5种方式
BCrypt内置加盐机制,避免彩虹表攻击。支持设置计算复杂度,可增强哈希强度。哈希结果固定为 60 个字符,方便存储。PBKDF2(Password-Based Key Derivation Function 2)是一种基于密码的密钥派生函数,支持多次迭代计算,进一步增强安全性。Argon2是一种密码哈希算法,2015 年获得密码哈希竞赛(Password Hashing Competition)冠军。它目前被认为是最安全的密码哈希算法之一。SCrypt。
2025-03-30 08:05:00
455
原创 SpringBoot全局异常处理的5种实现方式
在实际开发中,异常处理是一个非常重要的环节。合理的异常处理机制不仅能提高系统的健壮性,还能大大提升用户体验。本文将详细介绍SpringBoot中全局异常处理的几种实现方式。Spring Boot提供了BasicErrorController来处理应用中的错误,我们可以通过继承或替换它来自定义错误处理逻辑。String message = "未知错误";case 404:message = "请求的资源不存在";break;
2025-03-29 07:44:57
849
原创 SpringBoot实战:七种统计方法耗时的实现方式
这种方法结合了自定义注解和AOP,可以更精确地控制哪些方法需要进行耗时统计。@Aspect@ComponentSystem.out.println("方法[" + methodDesc + "]耗时:" + stopWatch.getTotalTimeMillis() + "ms");@Service@TimeLog("查询商品详情")// 业务逻辑优点:更精细的控制,注解可携带更多信息,便于定制缺点:需要手动在方法上添加注解。
2025-03-28 07:16:05
479
原创 SpringBoot实现网页消息推送的5种方法
已成为提升用户体验的关键技术。无论是聊天应用、通知系统、实时数据展示,还是协同办公场景,都需要服务器能够主动向客户端推送消息。本文将详细介绍SpringBoot中实现网页消息推送的几种主流方案,帮助开发者根据实际需求选择最合适的技术。在实际应用中,也可以结合多种技术,提供优雅降级方案,确保在各种环境下都能提供良好的用户体验。:客户端以固定的时间间隔频繁发送请求,询问服务器是否有新消息。直到有新消息或超时,然后客户端立即发起新的请求。:客户端发送请求后,如果服务器没有新消息,则。,而不需要客户端重复请求。
2025-03-27 07:31:51
820
原创 真正的高手,都懂得把大事切成“脑细胞友好型“任务
无论选择哪种方式,最重要的是对自己的工作节奏有清晰的认知,并在实践中不断优化。渐进式处理是提升个人能力的长效机制,而突击式处理则是应对变化和挑战的必要手段。在实际工作中,可以根据任务的紧急程度和复杂性灵活调整策略。
2025-03-26 07:30:25
558
原创 AI 发展这么猛,程序员还要不要搞技术
而程序员的价值,恰恰在于能够运用自己的知识、经验和创造力,解决复杂的问题。程序员需要正视 AI 带来的冲击,积极拥抱变化,升级自己的“技术”,才能在 AI 时代立于不败之地。随着 AI 的发展,一些传统的技术栈,如某些特定的编程语言、框架,其价值可能会逐渐降低。AI 可以根据程序员的描述,自动生成代码,减少重复性工作,这里比较考验提示词的输出能力,能不能准确的描述出需求。程序员需要关注新兴技术的发展趋势,保持学习热情,不断更新自己的知识体系,才能在快速变化的技术浪潮中立于不败之地。
2025-03-25 07:30:46
885
原创 架构师核心技能与知识:十大必备能力
实践中,我发现很多架构师喜欢过度设计,将系统切分得过细。选择最适合项目实际情况的技术栈,而非最炫酷的。我曾见过一个创业团队盲目采用微服务,结果花了大量时间处理分布式问题,而核心业务却迟迟无法落地。实践心得:养成良好的工作习惯,每次需求讨论后整理关键点,并主动与各方确认,避免理解断层。我们需要学会"听出"产品经理和业务方未能明确表达的隐性需求,甚至要预判业务未来发展方向。作为架构师需要不断学习和实践,在各个维度上持续提升,才能在复杂多变的技术环境中游刃有余,设计出优秀的系统架构。优秀的架构师需要设计完善的。
2025-03-24 07:48:25
913
原创 Spring Boot 项目 90% 存在这 15 个致命漏洞,你的代码在裸奔吗?
项目中的安全问题不容忽视,开发者需要时刻保持警惕,采取积极的措施来保护应用的安全。
2025-03-23 08:06:17
1197
原创 一边还债一边盖新房,架构升级的“地狱模式“
产品架构升级一般来说发生在产品还能持续盈利,并且具备不错的市场机会,但是当前产品的技术债已经严重影响迭代开发周期以及需要高昂的开发成本,终于公司决定快刀斩乱麻,重新设计,进行架构升级。架构升级至少来说顶层设计、使用的技术栈、业务接口、各种中间件大概率会进行革新替换。某种程度上,都可以认为这是一个全新的产品。但是,这里有个前提,不能丢掉老客户,也就是你做的新版本得能向前兼容,它需要继承C的意志。想必,到这里,你已经有答案了。D选项在几个品类中的实现复杂度遥遥领先。
2025-03-22 09:07:24
466
原创 Redis 性能提升秘籍:12个实用技巧
Redis 作为一款高性能的键值存储数据库,广泛应用于缓存、会话管理、消息队列等场景。然而,如果使用不当,Redis 的性能可能会大打折扣。本文将总结 15 个实用的 Redis 性能优化技巧,帮助你充分发挥 Redis 的潜力,提升应用的整体性能。
2025-03-21 07:44:07
851
原创 系统防御性设计思维
虽说上面说了要识别变化预留一定的变化适应性,但也不能走极端,所有地方都想保证灵活,好的解决方案不是过度设计,而是建立合理的扩展边界,让系统在应对变化时游刃有余,在成本与灵活之间找到相对合适的平衡点。
2025-03-20 00:11:46
845
原创 从“谁都能继承”到“我说了算”:密封类的权限革命
密封类为我们带来了更强大的代码设计和控制能力。无论是从代码安全性、可读性还是在实际项目中的应用场景来看,密封类都展现出了其独特的价值。合理运用密封类将有助于我们构建更加健壮、高效和易于维护的软件系统。
2025-03-19 07:31:22
110
原创 一次由IDEA配置引发的Redis连接问题
书接上回 『』,某日下午,A同学又找到我确认个接口的实现逻辑,说话间点击了IDEA的启动按钮开始启动服务。项目启动过程中我猛然发现A同学IDEA的控制台怎么出现了错误,瞬间引起了我的注意我:“嗯?你这怎么启动还报错, 啥配置不对吗?A同学:”我这最近一直是这样,不过不影响使用,接口啥的都能正常访问。我:“具体啥错误,你没分析看看?A同学:”是一个Redis连接的错误,好像是Redis连接不上。
2025-03-18 07:33:02
811
原创 Java本地AI推理初体验:Jlama+LangChain4j构建离线问答系统
Jlama 是专为 Java 生态设计的现代化大型语言模型(LLM)推理引擎,旨在让开发者无需依赖外部服务即可直接在 Java 应用中运行本地化模型推理。本文将结合Jlama + langchain4j 实现一个本地可运行的简单问答Demo。
2025-03-17 07:43:22
264
原创 告别“我觉得”,用 JMH 搞懂你的 Java 代码性能
JMH 是一个非常强大的 Java 性能测试框架。掌握 JMH,可以让你对自己的代码性能更有信心,避免“我觉得”式的盲目优化。
2025-03-16 07:26:27
891
原创 ArchUnit:Java架构测试的利器
在常见的 Java 项目中,分层架构如表现层、业务逻辑层和数据访问层是非常普遍的。使用 ArchUnit,我们可以轻松定义各层之间的访问规则。例如,规定表现层只能调用业务逻辑层的接口,而业务逻辑层不能直接访问数据访问层的实现类。通过这样的规则定义,ArchUnit 能够在测试过程中检查代码是否严格遵守了分层架构的约束,防止层与层之间的非法依赖,从而保持架构的清晰性和稳定性。ArchUnit 提供了一种强大而有效的方式来确保项目架构的质量和稳定性。
2025-03-15 08:35:34
899
原创 程序员自学一门技术的心法
以上几点知识说明了学习一门技术需要掌握的几个维度,之间没有严格的先后顺序,可以按照自己的习惯和最高效的方式来,学会系统性的掌握一门技术。随着掌握的技术和积攒的经验越来越丰富,后面学习新技术大多数情况下是一种大脑知识库的增量迭代而不是从零开始,前提是要多总结与系统化。
2025-03-14 08:01:56
731
原创 Java工程分包设计:提升代码可维护性的艺术
好的分包设计是工程质量的基础,它能让代码结构更加清晰,降低维护成本。没有绝对完美的分包方案,关键是要根据项目特点和团队情况选择合适的策略,并在开发过程中持续优化。最后,分包设计不是一成不变的,它应该随着项目的发展而演进。定期的代码重构和架构优化,才能保持系统的长期健康发展。
2025-03-13 08:13:09
750
原创 Spring Boot动态切换Web服务器实践:基于配置文件实现Tomcat/Jetty/Undertow无缝切换
<plugin></plugin>
2025-03-12 07:57:52
364
原创 致程序员:别让这些关键因素,悄然影响你的职业生涯
对程序员来说,技术仅仅代表了一部分能力,,但一些看似微不足道的习惯和行为,却影响了个人的成长与发展。存在问题不可怕,最可怕的是不自知,沿着错误的道路一直走下去,错过了成长的时机。根据我的个人工作经验,我总结了以下10条工作中影响发展与成长的关键因素或行为。
2025-03-11 08:30:23
788
原创 Spring Boot 的 20个实用技巧
每次启动 Spring Boot 应用,看到默认的启动 Banner 是不是觉得有点单调?其实,我们可以自定义这个 Banner,让启动界面充满个性。只需在目录下创建一个banner.txt文件,在里面写入你想要展示的内容,比如公司 logo、项目名称、版本号等。____ _ _ _这样,下次启动应用时,就能看到自定义的 Banner。为我们提供了更多灵活的启动配置方式,通过链式调用,可以在代码层面方便地设置应用的各种属性。.run(args);
2025-03-10 08:03:12
913
原创 简历上这样写项目经验,HR:“呐,这个就叫做专业”
总结经过这个项目个人从中学到的关于技术、团队、项目管理等方面的知识和经验,体现个人的总结思考能力。下面提供一份按照上述结构虚拟的项目描述模板,方便大家参考一份漂亮的简历只是让你有了面试机会,到最终能否入职还需要在面试阶段的出色发挥,所以简历造假要不得,一切按实际来,可以稍微夸张,但是面试过程要自己能holder住,不然,就是搬起石头砸自己的脚。祝,大家都能找到自己满意的工作。
2025-03-09 09:07:50
1140
原创 关于Manus你应该知道的10个常识和误区
两个之间没有直接关系,也不是同一类产品,DeepSeek本质上仍是大模型,是经典大模型的一问一答形式,最终的输出还需要你自己整理,与DeepSeek相比,Manus更像一个独立的个体,一个指令能帮你解决全部问题,直接给你结果,过程出现错误会自我修正,不用多次交互。1、Manus是什么?3、Manus是对大模型的一层封装,可以简单理解为套壳应用,只不过底层套的是大模型,跟现在市面上已有的AI Agent类似,据网上资料,Manus底层应该调用了Claude等多个国外大模型,使用需要网络,你懂的。
2025-03-07 09:32:38
255
原创 面试官:”老板说我们要聚焦增效,你怎么看?“
本文与架构设计、具体的技术无关,是某年公司布置的年终作业,公司宣贯了的理念,我对此形成一些理解与感悟。
2025-03-06 08:03:24
295
原创 空降架构师如何用2周让领导刮目相看?
其实通过这个事情是想跟大家提一个概念叫超预期交付什么是超预期,就是在别人的潜意识或者经验里认为这个事情你大概能做到60分,但是你做到了70分,甚至85分,给人一种惊喜。能让别人感觉惊喜这也算提供了一种情绪价值。其实按照技术副总的期望应该我第一阶段提交一份优化设计方案就OK了。但是我做到了方案的尽可能完善,同时又在这个过程从团队角度出发,输出了『XX系统快速入门指南』与『数据库设计』两份材料,那么这个产出就超出了领导的预期,作为刚入职的员工通过这次产出就建立了一种初步的信任。
2025-03-05 08:21:05
694
原创 谁动了我的SunEC?——记深夜排查SSL握手失败的惊魂一小时
昨天说的那个功能做好了,验证了下基本流程没问题,但是测试过程发现个问题,就是调用完我新加的那个方法后再次访问界面就失败了,服务端口、进程资源啥的都正常,我分析了下,暂时没找到问题,但是重启服务后再访问界面就没有问题。我说:“那得解决呀,没找到问题原因你就不确定什么时候会再次发生,即使重启正常了,可能运行一会或者操作个啥就又出问题了,另外,万一这个问题影响的不止这一处不就是留了个大坑,你再去查查看,如果没解决我等会开完会一起看看“。突然想起来中午A同学的那个问题,过去看了下A同学还在工位,我过去问了下。
2025-03-04 07:58:59
639
原创 定位问题与解决问题
先问个问题大家感觉软件项目中与哪个更难。先不着急下结论,我觉得有必要先澄清这两个概念,为什么?做事,一定是有方法的,用对方法可以事半功倍,明确概念能让我们对事物有清晰的认识,进而决定采用什么样的措施,我们得知道当前是在定位问题还是解决问题亦或是制造问题,后面这点适用于做任何事。好了,先简单总结下概念:分析、寻找问题出现的原因:经过实施一个有效的办法,让问题不再是问题(这里可能有产生副作用,就是制造了新的问题)接下来,分别分析下它们的基本逻辑注:后面的内容均以软件开发场景为例。
2025-03-02 11:18:37
281
原创 突破CRUD | 万能树工具类封装
0、学完本文你或许可以收获感受一个树工具从初始逐步优化完善的过程树工具封装的设计思考与实现思路最后收获一款拿来即用的树工具源代码对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始。1、树长什么样 ?前端的树组件大多数情况下出现在后端的管理系统中,比如我们常见的菜单树、机构树、某某分类树、树表格等。大致像下方图片所展示的这样。菜单树机构树树表格大...
2020-02-21 16:42:49
299
原创 SpringBoot 配置文件与依赖库分离打包配置
一、应用场景一般情况下我们对springboot应用打包时使用springboot的maven插件spring-boot-maven-plugin的maven进行打包,打包完成得到一个fatjar,fatjar的优点是可以直接运行,缺点是体积太大,不利于传输。springboot应用打出来的fatjar体积少则几十M,多则上百M,在往服务器部署传输时十分不便,可能只改了某个类文件,都需要重...
2020-01-15 23:32:00
1094
原创 程序员规范 | 个人PC工作目录模板
概述分享一套个人PC上的工作目录结构,主要是因为看到很多小伙伴还有团队内部开发人员的个人工作目录略显混乱,经常找个软件或找个代码之类的,点点点就是找不到。看的人捉急。一套目录能解决问题吗 ?并不能,其实我想表达的是你应该需要一套自己的逻辑和习惯来降低记忆负担,提高效率,如果暂时没有,希望我分享的能给你一点帮助。目录分类├─dev // 个人开发目录├─enter...
2020-01-15 23:07:02
3154
原创 突破CRUD | 简单优雅的代码生成工具诞生记(万字长文慎入)
0、学习本文你或许可以收获1、一个需求从产生、分析到解决的全过程思考2、简单的面向对象分析实践3、UML类图实践4、设计模式的实践应用5、最后收获一款还算不错的代码生成工具实现思路和源代码本文将从上面第一点提到的全过程 需求->目标->思路->设计->实现->总结 逐一展开。本文为了尽量还原真实场景下如何从无到有实现一个需求,所以全文会假设大家都不...
2020-01-09 09:39:04
560
原创 洞悉本质 | 论软件设计中间加一层的威力
为什么写这个主题?软件设计中间加一层的解决方案,随处可见。写本文的目的也是因为看到很多场景都是基于这个思想的应用,就想着梳理一下,让大家看到一些本质的内容。顺便以现今主流的一些技术或概念作为样本,进行拆解,辅助大家理解。搞清底层逻辑和设计思想,才不会被各种技术名词,技术概念整的一脸懵逼。现在铺天盖地的三高讲解、培训,千万悠着点学,别整的身体三高了,哈哈,开个玩笑。但是软件的设计思想层面的...
2019-12-30 09:00:45
529
原创 金三银四,如何征服面试官,拿到Offer
又到了茶余饭后的时间,想想写点什么,掐指一算,噢呦,快到3月份了,职场的金三银四跳槽季又来了,不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息,就是好多公司在优化裁员,代表的就是滴滴、京东这种大型互联网公司,已经官宣了。即使这种情况下,我相信,3、4月份仍然会有一波离职、求职潮。作为求职这来说,面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能...
2019-12-25 10:32:58
454
2
java json包java json包java json包
2011-06-04
jsf jar包及学习文档
2011-05-27
SQL语句大全 常用操作
2011-05-20
object-c初学者中文详细教程
2011-05-06
满汉楼餐饮管理系统JAVA项目源码
2011-04-27
常用JavaScript特效
2011-04-03
mysql oracle sqlserver数据库jar包大全
2011-04-03
js实现的俄罗斯方块
2011-09-30
超级震撼的javascript网页效果
2011-09-30
Javascript高级教程
2011-08-19
java 多媒体播放器
2011-07-29
淘宝API文档手册淘宝API文档手册
2011-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人