项目经验
文章平均质量分 83
项目实战技巧
ATFWUS
电子科技大学硕士,CSDN博客专家。曾在两家top互联网大厂及一家央企工作,拥有丰富的工程实践经验,热爱技术的开源与分享。关注我,一起在计算机的海洋里系统化的学习!(本博客简介见个人主页或博客简介专栏)
展开
-
【项目方案】IP地址地理解析方案对比与选型
目前,许多项目在用户发布言论时需要解析其 IP 地址,并且在账号管理中也有查看最近登录地的需求。然而,市面上的相关教程通常缺乏全面性,往往只提供一种简单的方法,导致在技术方案选型时难以进行有效的方案对比。本文旨在对常见的 IP 地址地理位置解析方案进行系统化分析和对比,以期为独立开发者或刚接触该领域的开发者提供指导与帮助。原创 2024-08-14 10:54:56 · 971 阅读 · 0 评论 -
解决 MDCFilter 引起的 Shiro UnavailableSecurityManagerException 异常:将过滤器交给 Shiro 管理
若将自定义的 MDCFilter 注册到 FilterRegistrationBean 中,而又在 MDCFilter 中使用了和 Shiro 相关的操作(如获取当前登录用户),此时会因为 MDCFilter 先于 SecurityManager 实例化导致出现 UnavailableSecurityManagerException 的异常,我们只需将 MDCFilter 注册到 Shiro 的过滤器链中即可解决这个问题。原创 2024-07-25 12:08:15 · 789 阅读 · 0 评论 -
解决 Shiro 重复调用 doGetAuthenticationInfo 导致异常处理错误的问题
遇到一个 Shiro 中反复调用 doGetAuthenticationInfo 导致异常没有被成功处理的问题,经过一些源码调试,发现了问题的所在,只需在继承 BasicHttpAuthenticationFilter 的类中重写 onAccessDenied 方法即可。原创 2024-07-24 17:09:17 · 1250 阅读 · 0 评论 -
【项目排错】谨防不同包下的BeanUtils混用
今天排查项目里一个奇奇怪怪的NPE问题,经过调试,最后竟是混用了不同包的BeanUtils所导致的,这里记录一下。原创 2023-08-04 16:53:35 · 29369 阅读 · 0 评论 -
【实用代码】日志转Json详细解析 (LogToJson)
在项目中记录日志的时候,常常会直接输出一个对象,直接输出对象会调用对象的toString方法,最终一会把一个对象的每个字段甚至嵌套的字段都打印出来。但是一般拿到日志需要做某些分析或排查问题的时候,常常需要将日志转成json字符串,方便在各种中间件传输以及接口调用。本文针对这种场景,设计了一种快速将日志转换成json的工具,非常实用,并且提出了一种通用的方法去做类似的转换工作。原创 2022-08-25 14:29:26 · 62975 阅读 · 0 评论 -
用IDEA打开并调试没有使用maven的普通Java WEB项目
最近有一个改一个eclipse写的老项目的需求,没有用maven,由于对IDEA熟悉一些,所以用IDEA来改,记录一下如何用IDEA打开并调试一个没有使用maven的普通Java WEB项目。原创 2022-05-15 16:39:17 · 1902 阅读 · 1 评论 -
CTF平台实时榜单功能后端设计方案
CTF平台中实时榜单的后端设计部分缓存方案分享原创 2021-11-14 14:08:57 · 6070 阅读 · 2 评论 -
表单式工作流功能模块设计方案
最近一个项目中需要独自设计一个表单式工作流功能模块,在此将整个功能模块的设计思路分享出来。原创 2021-08-26 15:25:47 · 9986 阅读 · 3 评论 -
SpringBoot2.3x集成Swagger3
SpringBoot2.3x集成Swagger3过程和注意事项原创 2021-03-10 15:01:47 · 486 阅读 · 0 评论 -
【Spring Boot获取路径问题解决】关于getServletContext().getRealPath获取得到临时路径的问题
考虑到oss得外网流量费有点贵,所以决定搭建一个专门做文件存储的微服务模块,但是在里面遇到一个小问题,就是使用getServletContext().getRealPath()得到的始终是临时文件路径,而且每次重启服务,路径还会变,这确实有点恼火,经过一番源码的折腾,最终找到了问题的所在。环境:SpringBoot 2.2.1。微服务架构。问题:使用getServletContext().getRealPath()得到的是临时文件的路径。每次重启服务,这个临时文件的路径还会变更。类似.原创 2020-08-28 22:01:54 · 15594 阅读 · 8 评论 -
【前端小组件实现记载】基于cookie的验证码计时器-vue-js
在项目中需要使用到验证码功能时,点击获取验证码后,需要在一定的时间后才能再次获。,一般的使用的是普通的计时器,但是普通计时器会有一个缺陷:只要页面一刷新,就会重新计时,不能起到实际防止反复调用接口的作用。所以设计一个基于cookie的计时器,是很有必要的。项目环境:vue-cli插件:js-cookie按钮样式:semantic-ui拟实现的功能:默认情况下,验证码按钮显示发送验证码点击获取验证码,按钮禁用,出现倒计时效果此时,刷新页面,倒计时效果不会消失,直到倒计时完成.原创 2020-08-15 21:06:53 · 17041 阅读 · 0 评论 -
【敏感词汇过滤算法】基于DFA-前缀树的敏感词汇过滤算法(项目实用)
在敏感词汇过滤这块,不同的算法所造成的性能差异是非常大的,选择一个合适的算法非常重要。因为以前做算法的时候做过类似前缀树的字符串匹配之类的算法,所以一开始就打算用前缀树做的,后面了解了一下DFA的相关算法原理,其实用在敏感词汇过滤这块,主要还是前缀树的应用。这个算法最原始的实现我是采用的建立树结构的方式,发现性能还是不佳,最后借鉴了一些基于HashMap构造前缀树的方法来实现。算是使用比较广泛的算法了。在这里进行了完整的封装,并且做了一些小的优化。这个算法并不是目前最好的敏感词过滤算法,但是比.原创 2020-08-06 22:20:26 · 17985 阅读 · 2 评论 -
【OSS存储模块搭建】阿里云OSS微服务模块的搭建
经过一番纠结,最后决定,项目所有的文件资源还是单独放阿里云的oss上比较好,以下是这个文件系统的微服务模块搭建过程。0x01.OSS概述全称阿里云对象存储OSS阿里云oss其实就是阿里云提供的类型云盘的服务,收费也还算合理,一般小项目使用简直香的不行啊,哈哈哈~由于是阿里的产品,不管是技术上,还是服务上,体验都非常良好。具体前往:https://www.aliyun.com/product/oss0x02.OSS的基础使用首先你需要在上面那个链接里开通阿里云oss,.原创 2020-08-02 16:44:23 · 17848 阅读 · 1 评论 -
【Spring-Boot微服务架构基础搭建】前期环境搭建
正准备开始做的项目,说大不大,说小不小,所以纠结了好久的架构搭建方式。有的过于注重分布式,配置也较为繁琐;有的过于简单,模块之间耦合极高,不符合微服务的要求。于是再三思考下,采用了一种这样的搭建方式,可能不是最好的,不过目前暂时这样决定,不合适再继续修改。本文的主要搭建过程分为以下几个方面。(以一个初始的用户模块,进行相关的整合)0x01.技术栈0x02.原始工程的创建及依赖的导入0x03.service微服务模块的创建0x04.common公共微服务模块的创建0x05.service-u.原创 2020-07-30 21:36:33 · 12674 阅读 · 1 评论 -
【SSM下的日志记录功能实现】在后台数据管理系统中进行AOP日志记录
基于SSM环境下进行AOP日志的记录,完成存入数据库,取出展示所有数据的需求。原创 2020-05-13 08:50:51 · 18390 阅读 · 0 评论