code2roc_个人页

个人头像照片 code2roc
个人头像照片
52
0
0

个人介绍

码云地址:https://gitee.com/code2roc 邮箱:code2roc@163.com

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

阿里云技能认证

详细说明
暂无更多信息

2024年03月

  • 03.26 15:40:22
    发表了文章 2024-03-26 15:40:22

    SpringBoot手动取消接口执行方案

    实际开发中经常会遇到比较耗时的接口操作,但页面强制刷新或主动取消接口调用后后台还是会继续运行,特别是有大量数据库操作时会增加服务器压力,所以进行研究测试后总结了一套主动取消接口调用的解决方案

2024年01月

  • 01.05 10:39:49
    发表了文章 2024-01-05 10:39:49

    Windows安装多个Tomcat部署项目

    在实际生产环境中,经常会有一个tomcat部署多个应用程序的场景,但多个项目应用同一个基础框架时,会出现某些文件路径相同的情况导致管理混乱(例如附件,日志,缓存文件),并且更新有时需要关闭tomcat导致多个项目同时失效,本文提供同时安装多个tomcat的方案,独立部署每个项目便于管理

2023年11月

  • 11.02 08:55:03
    发表了文章 2023-11-02 08:55:03

    从零开发基于ASM字节码的Java代码混淆插件XHood

    因在公司负责基础框架的开发设计,所以针对框架源代码的保护工作比较重视,之前也加入了一系列保护措施,例如自定义classloader加密保护,授权license保护等,但都是防君子不防小人,安全等级还比较低,经过调研各类加密混淆措施后,决定自研混淆插件,自主可控,能够贴合实际情况进行定制化,达到框架升级后使用零感知,零影响

2023年09月

2023年07月

  • 07.23 13:58:04
    发表了文章 2023-07-23 13:58:04

    SpringBoot开发符合S3协议的文件存储服务

    公司最近的业务大量涉及安可项目,要求避免使用第三方组件,原有开发框架支持本地文件存储/Minio/各类云存储,现在要求文件独立存储且文件服务需要自研,经调研评估后决定基于SpringBoot开发文件存储服务,使用s3协议标准,这样可以直接使用aws-sdk接入无需再开发客户端,且安全安全性方面可以得到足够的保证
  • 07.12 14:03:42
    发表了文章 2023-07-12 14:03:42

    基于嵌入式Tomcat的War包启动器

    最近针对java项目的部署方式进行整理,jenkins/tomcat/windows工具/linux脚本/web部署平台等等,发现war包通过tomcat部署比较繁琐,等待时间长,配置规则复杂对于小白很不友好,也难以接入到自定义的部署工具/平台中
  • 07.12 14:02:48
    发表了文章 2023-07-12 14:02:48

    Java实现AWS S3 V4 Authorization自定义验证

    最近在开发文件存储服务,需要符合s3的协议标准,可以直接接入aws-sdk,本文针对sdk发出请求的鉴权信息进行重新组合再签名验证有效性,sdk版本如下
  • 07.12 14:02:10
    发表了文章 2023-07-12 14:02:10

    从零构建可视化jar包部署平台JarManage

    在java项目部署过程中,由于内外部各种因素,可能会遇到一些感觉操作不便捷的场景,例如jar包未随系统自动启动需要每次手动重启
  • 07.12 14:01:13
    发表了文章 2023-07-12 14:01:13
  • 07.12 14:00:37
    发表了文章 2023-07-12 14:00:37

    基于jsplumb构建的流程设计器

    最近在准备开发工作流引擎相关模块,完成表结构设计后开始着手流程设计器的技术选型,调研了众多开源项目后决定基于jsplumb.js开源库进行自研开发,保证定制化的便捷性,相关效果图及项目地址如下
  • 07.12 13:59:31
    发表了文章 2023-07-12 13:59:31

    SpringBoot访问windows共享文件

    最近有项目需要开发档案打包下载功能,其中包含很多大附件,项目使用minio存储且不在同一台服务器上,为了优化速度决定使用windows共享功能进行文件传输
  • 07.12 13:58:37
    发表了文章 2023-07-12 13:58:37

    SpringBoot动态更新yml文件

    在系统运行过程中,可能由于一些配置项的简单变动需要重新打包启停项目,这对于在运行中的项目会造成数据丢失,客户操作无响应等情况发生,针对这类情况对开发框架进行升级提供yml文件实时修改更新功能
  • 07.12 13:57:19
    发表了文章 2023-07-12 13:57:19

    fastjson全局日期序列化设置导致JSONField无效

    fastjson通过代码指定全局序列化返回时间格式,导致使用JSONField注解标注属性的特殊日期返回格式失效
  • 07.12 13:55:49
    发表了文章 2023-07-12 13:55:49

    SpringBoot集成数据传输加密

    近期在对开发框架安全策略方面进行升级优化,提供一些通用场景的解决方案,本文针对前后端数据传输加密进行简单的分享,处理流程设计如下图所示,本加密方法对原有项目兼容性较好,只需要更换封装好的加密Ajax请求方法,后端统一拦截判断是否需要解密即可
  • 07.12 13:54:56
    发表了文章 2023-07-12 13:54:56

    SpringBoot集成onlyoffice实现word文档编辑保存

    SpringBoot集成onlyoffice实现word文档编辑保存
  • 07.12 13:53:56
    发表了文章 2023-07-12 13:53:56

    SpringBoot集成ffmpeg实现视频转码播放

    之前构建过文件预览服务,对于视频部分前端播放组件限制只能为mp4格式,为了支持更多视频格式决定对方案进行升级,由于视频格式较多,针对每一种格式定制选择播放器不太现实,决定对视频源统一转码,转码后的格式为mp4,兼容性稳定且前后端改造工作较小
  • 07.12 13:52:38
    发表了文章 2023-07-12 13:52:38

    linux部署jar包脚本和注册开机启动

    之前开发了windows部署jar包为服务的工具在实际生产环境中使用非常简单方便,公司部分项目是部署在linux系统中的,所以决定整合一个通用的jar包部署脚本,并注册为开机启动服务,为开发实施的同事提供方便,以下操作实际系统环境为centos8
  • 07.12 13:51:37
    发表了文章 2023-07-12 13:51:37

    部署jar包windows服务工具

    某个周末一个线上项目因为服务器自动重启导致了系统挂了,我们是通过jenkins部署的jar包所以需要手动重启项目,解决问题后准备调换部署方式让项目随系统自动启动,试用tomcat后发现启动慢,并且日常开发springboot都是使用内置tomcat启动,如果要保持和部署方式保持一致(避免本地代码执行和部署方式不一致导致的bug),需要配置外部tomcat比较麻烦,所以决定还是以java -jar命令方式启动并注册为window服务
  • 07.12 13:50:47
    发表了文章 2023-07-12 13:50:47

    knife4j通过js动态刷新全局参数

    之前在为框架集成knife4j接口调试查看工具,使用了一段时间,使用体验上比较繁琐,因为接口都需要token,所以每次都要去f12查看token复制再创建全局参数,可能我只需要测试一个接口但是步骤少不了,针对此问题框架做了一些优化
  • 07.12 13:46:07
    发表了文章 2023-07-12 13:46:07

    SpringBoot实现自定义路由覆盖

    公司最近有一个项目二期需要对一些功能进行改造,涉及部分框架内置业务接口个性化定制,兼容老接口功能并且增加一部分新的数据返回,由于前端调用这些接口分布较多且较为零碎,修改测试成本较大,所以打算在框架层面提供路由覆盖功能,加快项目进度减少无技术含量的修改带来的系统风险
  • 07.12 11:03:46
    发表了文章 2023-07-12 11:03:46

    web系统添加盲水印

    为增加系统安全性,避免重要敏感信息通过截图方式泄露,对web页面增加盲水印标识,标注系统名称,登陆人,当前时间等信息,这里的盲水印指肉眼不可见的html水印
  • 07.12 11:03:12
    发表了文章 2023-07-12 11:03:12

    Hexo+GitHub搭建个人博客

    Hexo+GitHub搭建个人博客
  • 07.12 11:01:42
    发表了文章 2023-07-12 11:01:42

    TortoiseGit配置GitHub

    TortoiseGit配置GitHub
  • 07.12 10:59:57
    发表了文章 2023-07-12 10:59:57

    SpringBoot自定义异常处理

    SpringBoot自定义异常处理
  • 07.12 10:59:08
    发表了文章 2023-07-12 10:59:08

    SpringBoot自定义maven-plugin插件整合asm代码插桩

    公司开发框架增加了web系统license授权证书校验模块,实行一台机器一个授权证书,初步方案是增加拦截器针对全局请求进行拦截校验,评估后认为校验方式单一,应该增加重要工具类,业务service实现中每个方法的进行校验,因为涉及代码量较大硬编码工作困难,故选择通过自定义maven插件在编译期间进行动态代码插桩操作
  • 07.12 10:58:44
    发表了文章 2023-07-12 10:58:44

    SpringBoot自定义classloader加密保护class文件

    最近针对公司框架进行关键业务代码进行加密处理,防止通过jd-gui等反编译工具能够轻松还原工程代码,相关混淆方案配置使用比较复杂且针对springboot项目问题较多,所以针对class文件加密再通过自定义的classloder进行解密加载,此方案并不是绝对安全,只是加大反编译的困难程度,防君子不防小人,整体加密保护流程图如下图所示
  • 07.12 10:58:00
    发表了文章 2023-07-12 10:58:00

    SpringBoot整合达梦数据库

    SpringBoot整合达梦数据库
  • 07.12 10:57:09
    发表了文章 2023-07-12 10:57:09

    SpringBoot整合Minio文件存储

    公司的开发框架集成了附件本地存储,阿里云,华为云等,现项目有要求附件存储与应用部署环境不能是同一台服务器,也不能使用云存储,经过技术选型后决定框架整合minio,将minio部署在另一台服务器开通外网端口即可解决问题
  • 07.12 10:56:10
    发表了文章 2023-07-12 10:56:10

    SpringBoot整合Ehcache3

    公司部门老项目要迁移升级java版本,需要进行缓存相关操作,原框架未支持这部分,经过调研java相关缓存方案大致分为ehcache和redis两种,redis的value最大值为500mb且超过1mb会对存取有性能影响,业务系统需要支持列表查询缓存就不可避免的涉及到大量的数据存取过滤,ehcache支持内存+磁盘缓存不用担心缓存容量问题,所以框架初步版本决定集成ehcache3,设计流程结构如下图所示
  • 07.12 10:55:43
    发表了文章 2023-07-12 10:55:43

    SpringBoot整合atomikos实现跨库事务

    框架之前完成了多数据源的动态切换及事务的处理,想更近一步提供一个简单的跨库事务处理功能,经过网上的搜索调研,大致有XA事务/SEGA事务/TCC事务等方案,因为业务主要涉及政府及企业且并发量不大,所以采用XA事务,虽然性能有所损失,但是可以保证数据的强一致性
  • 07.12 10:43:37
    发表了文章 2023-07-12 10:43:37

    SpringBoot在Tomcat部署war包

    SpringBoot在Tomcat部署war包
  • 07.12 10:43:04
    发表了文章 2023-07-12 10:43:04

    SpringBoot异步任务获取HttpServletRequest

    在使用框架日常开发中需要在controller中进行一些异步操作减少请求时间,但是发现在使用@Anysc注解后会出现Request对象无法获取的情况,本文就此情况给出完整的解决方案
  • 07.12 10:41:24
    发表了文章 2023-07-12 10:41:24

    SpringBoot文件分片上传

    最近好几个项目在运行过程中客户都提出文件上传大小的限制能否设置的大一些,用户经常需要上传好几个G的资料文件,如图纸,视频等,并且需要在上传大文件过程中进行优化实时展现进度条,进行技术评估后针对框架文件上传进行扩展升级,扩展接口支持大文件分片上传处理,减少服务器瞬时的内存压力,同一个文件上传失败后可以从成功上传分片位置进行断点续传,文件上传成功后再次上传无需等待达到秒传的效果,优化用户交互体验,具体的实现流程如下图所示
  • 07.12 10:40:43
    发表了文章 2023-07-12 10:40:43

    SpringBoot实现用户统一管理与单点登陆

    最近在开发产品的过程中,需要将业务功能拆分成独立子系统,既可以单独使用也可以集成部署,这里就需要对框架进行扩展,支持用户统一管理与单点登陆。我们的基础框架使用redis实现token认证,所以只需要所有子系统共享redis数据就可以实现单点登陆,主要的难点是sso统一用户管理,我们这里选择的是通过监听sso平台组织架构的变动分发同步到各个子系统,这样子系统只依赖sso的登陆/登出/校验凭据三个接口,组织架构查询还是使用具体业务系统数据。
  • 07.12 10:38:53
    发表了文章 2023-07-12 10:38:53

    SpringBoot实现文件在线预览

    最近公司内部oa系统升级,需要增加文件在线预览服务,最常见的文件就是office文档,一开始构思几个方案,比如office软件自带的文件转换,openoffice转换,offce365服务,aspose组件转换,最终采用了aspose转换,原因是组件功能完善,不依赖其它软件安装环境
  • 07.12 10:37:40
    发表了文章 2023-07-12 10:37:40

    SpringBoot实现表单重复提交检测

    在实际开发过程中,web应用经常会出现网络延迟,接口处理时间略长,用户习惯等原因造成的客户连续多次点击提交按钮调用接口,导致数据库会出现重复数据或这接口业务逻辑bug等问题
  • 07.12 10:36:39
    发表了文章 2023-07-12 10:36:39

    SpringBoot实现redis切换dbindex

    在实际springboot集成redis使用过程中,针对不同类型的业务数据,可能存在不同的dbindex中,例如token存储db0,redis全局锁存储dbindex1,需要我们对RedisTemplate操作进行扩展,支持单次操作不同的dbindex
  • 07.12 10:35:22
    发表了文章 2023-07-12 10:35:22

    SpringBoot实现quartz定时任务可视化管理

    在实际框架或产品开发过程中,springboot中集成quarzt方式基本是以job和trigger的bean对象方式直接硬编码完成的,例如以下代码示例。对于系统内定义的所有定时任务类型,具体执行类,执行策略,运行状态都没有一个动态全局的管理,所有决定将quartz做成可视化配置管理,便于统一管理,也降低了使用门槛,只需要关心job类的实现即可
  • 07.12 10:34:04
    发表了文章 2023-07-12 10:34:04

    SpringBoot枚举转化代码项统一解决方案

    SpringBoot枚举转化代码项统一解决方案
  • 07.12 10:32:50
    发表了文章 2023-07-12 10:32:50

    SpringBoot静态资源访问控制和封装集成方案

    最近在着手公司框架优化及项目实际应用,原先方案是springboot+html前后端分离单独部署,后端人员兼职前端开发,后续产品线业务进行优化,面向企业使用部分由移动网站人员负责设计开发,内部配置后台管理还是由后端负责,随着框架不停迭代与使用的项目越来越多,项目升级框架变得十分麻烦,后端部分可以通过maven私服进行版本迭代,后台管理页面升级则需要进行各个项目拷贝,所以决定对框架进行整合,将后台管理页面与框架后端代码进行整合发布。
  • 07.12 10:31:29
    发表了文章 2023-07-12 10:31:29

    SpringBoot集成消息队列

    最近在对公司开发框架进行优化,框架内涉及到多处入库的日志记录,例如登录日志/操作日志/访问日志/业务执行日志,集成在业务代码中耦合度较高且占用业务操作执行时间,所以准备集成相关消息队列进行代码解耦
  • 07.12 10:30:03
    发表了文章 2023-07-12 10:30:03

    SpringBoot集成mybatis拦截器修改表名

    公司的框架是基于mysql5.7开发的,最近有一个应用项目部署在linux系统上,使用的是mysql8.0,安装时未开启大小写敏感忽略,客户又不允许重装mysql环境,导致一些框架代码和业务代码中表名使用大写的地方会出现表名找不不到的情况,所以需要进行统一处理
  • 07.12 10:21:36
    发表了文章 2023-07-12 10:21:36

    SpringBoot集成markdown实现文档管理

    最近在做一个部门内部简单的知识库系统,便于新人入职了解与一些常见问题的解答,知识库的形式是以文档为主,为了快速实现文档功能,决定采用markdown形式录入,生成本地文件后以html方式展现,层次清晰便于查看
  • 07.12 10:21:08
    发表了文章 2023-07-12 10:21:08

    SpringBoot集成knife4j

    项目api编写有文档但是调试麻烦,需要借助postman/apipost等第三方工具,需要在开发框架中内置接口管理及调试功能增加开发便捷性
  • 07.12 10:20:44
    发表了文章 2023-07-12 10:20:44

    SpringBoot集成itextpdf动态生成pdf并展示

    接上文SpringBoot集成markdown实现文档管理,对于表格的支持markdown不是特别友好,同时内部文档管理需要增加表格式api接口文档的功能,所以决定采用结合数据库存储与动态生成pdf借助目录结构展示的方式
  • 07.12 10:20:08
    发表了文章 2023-07-12 10:20:08

    SpringBoot访问jar包静态文件

    项目开发过程中我们我们会遇到访问静态文件的情况,例如word书签模板,excel导入模板,条文法规文件等,在war包的情况下访问是没有问题的,如果使用jar包部署,使用相对路径访问会出现问题,本文就此问题给出解决方案。
  • 07.12 10:19:43
    发表了文章 2023-07-12 10:19:43

    SpringBoot多数据源事务解决方案

    之前有文章提供了springboot多数据源动态注册切换的整合方案,在后续使用过程中,发现在事务控制中有多种bug发生,决定对此问题进行分析与解决
  • 07.12 10:18:54
    发表了文章 2023-07-12 10:18:54

    SpringBoot多环境配置文件打包

    在使用springboot开发项目过程中,会有多种环境切换,例如开发环境,测试环境,演示环境,生产环境等,我们通过建立多个yml文件结合profiles.active属性进行环境指定,但是需要打包时就要手动更改配置文件逐个打包,容易造成不必要的误操作,本文就介绍如何进行不同环境配置文件的动态切换及一次性打包多个不同环境的部署包
  • 07.12 10:18:34
    发表了文章 2023-07-12 10:18:34

    SpringBoot-Web应用安全策略实现

    近期项目上线,甲方要求通过安全检测才能进行验收,故针对扫描结果对系统进行了一系列的安全加固,本文对一些常见的安全问题及防护策略进行介绍,提供对应的解决方案
  • 发表了文章 2024-03-26

    SpringBoot手动取消接口执行方案

  • 发表了文章 2024-01-05

    Windows安装多个Tomcat部署项目

  • 发表了文章 2023-11-02

    从零开发基于ASM字节码的Java代码混淆插件XHood

  • 发表了文章 2023-09-11

    SpringBoot集成微信支付JSAPIV3保姆教程

  • 发表了文章 2023-09-02

    如何搭建虚拟专有网络访问公司内网

  • 发表了文章 2023-07-23

    SpringBoot开发符合S3协议的文件存储服务

  • 发表了文章 2023-07-12

    基于嵌入式Tomcat的War包启动器

  • 发表了文章 2023-07-12

    Java实现AWS S3 V4 Authorization自定义验证

  • 发表了文章 2023-07-12

    从零构建可视化jar包部署平台JarManage

  • 发表了文章 2023-07-12

    SpringBoot集成SpringBootAdmin实现监控

  • 发表了文章 2023-07-12

    基于jsplumb构建的流程设计器

  • 发表了文章 2023-07-12

    SpringBoot访问windows共享文件

  • 发表了文章 2023-07-12

    SpringBoot动态更新yml文件

  • 发表了文章 2023-07-12

    fastjson全局日期序列化设置导致JSONField无效

  • 发表了文章 2023-07-12

    SpringBoot集成数据传输加密

  • 发表了文章 2023-07-12

    SpringBoot集成onlyoffice实现word文档编辑保存

  • 发表了文章 2023-07-12

    SpringBoot集成ffmpeg实现视频转码播放

  • 发表了文章 2023-07-12

    linux部署jar包脚本和注册开机启动

  • 发表了文章 2023-07-12

    部署jar包windows服务工具

  • 发表了文章 2023-07-12

    knife4j通过js动态刷新全局参数

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息