🤪🤪🤪🤪
竹溪的小窝
👿🤪😰😨
热门文章
按住 Shift 横向滚动
别把文件上传写成一个 `save`:可靠上传接口的设计与实现

别把文件上传写成一个 `save`:可靠上传接口的设计与实现

别把文件上传写成一个 save:可靠上传接口的设计与实现 开发中的痛点 在头像、附件、合同、简历等业务中,文件上传接口看起来并不复杂:接收 MultipartFile,把文件写入对象存储,再保存一条数据库记录。 最直接的实现通常是: @Transactional public Long upload

Challenge 机制详解:从身份验证到一次性操作授权

Challenge 机制详解:从身份验证到一次性操作授权

Challenge 机制详解:从身份验证到一次性操作授权 敏感操作真正需要的,不只是“验证码正确”,而是确认:哪个用户,正在对哪个资源,执行哪一种操作,并且这次确认只能使用一次。 Challenge 就是承载这段验证上下文和状态变化的一次性任务。 开发中的痛点 假设系统准备实现“注销账号”。最直接的

手写 MyBatis 通用枚举 TypeHandler

手写 MyBatis 通用枚举 TypeHandler

手写 MyBatis 通用枚举 TypeHandler 开发中的痛点 在我们开发中,枚举在数据库字段是 TINYINT类型,而在Java中是 Enum类型。如果不书写转换器或者手动转换,Mybatis就没办法正常将两者映射。 而在我们日常开发中经常会采用以下: 手动 if-else/switch,来

Notion-笔记、文档、项目管理协同一体化平台

Notion-笔记、文档、项目管理协同一体化平台

Notion-笔记、文档、项目管理协同一体化平台 Notion 是什么? Notion 的优势 强大的文本编辑与编排 无论是记录日记、笔记、整理资料、管理项目,还是构建代办事项、日程表,你都能在 Notion 找到合适的方式。 支持 Markdown 语法 丰富的块类型 文本、标题、待办清单、图片、

@Transactional注解事务与锁引发的时序问题

@Transactional注解事务与锁引发的时序问题

spring事务与锁引发的时序问题 双重保险下暗藏问题 我们在使用spring事务时,都接触过spring的注解事务@Transactional。有些场景下,我们在使用事务的同时,为了保证原子性操作会引进应用层锁,如:Synchroized、CeenCrantLock等。 @Service publ

RBAC权限模型笔记

RBAC权限模型笔记

RBAC权限模型 最近在写一个项目,原本在权限控制模块使用的是层级的权限控制模型。而项目涉及到交错、交叉的权限,所以层级的权限控制就显得非常弱小。故而去学习了RBAC的权限模型,写了一篇学习笔记。 什么是RBAC权限模型? RBAC(Role-Based Acess Control)即基于角色的访问