WWWhm

WWWhm

暂无个人简介
Java后端
2026
杭州电子科技大学

该用户为会员

会员专享项目教程/ 答疑等服务

Day 13 ✅ 今天做了:图片上传优化(参考腾讯云COS对象存储提供的图片压缩方案) ⏰ 明天计划:图片加载优化 📚 今日感悟: 1. webP格式是Google开发的现代图片格式支持有损和无损压缩,压缩后比传统格式PNG和JPEG小25-30%,还支持透明背景(alpha通道),大部分主流浏览器都支持webP;实践方法是在后端修改图片后缀并用数据万象CI转换格式 2. 文件秒传是基于文件的唯一标识(MD5或SHA-256)对文件内容进行快速校验,避免重复上传的方法,在大型文件传输场景下非常重要,但是对于云图库平台不太需要,因为图片文件较小且不容易重复;实现方法是1. 客户端生成唯一指纹传递给服务端; 2. 服务端校验指纹是否存在,存在则返回文件存储地址,不存在就接收文件并存储,记录指纹信息。 3. 对于大文件还可以开启分片上传和断点续传功能,直接使用对象存储的SDK即可

Day 12 ✅ 今天做了:云图库图片查询优化 ⏰ 明天计划:图片上传优化 📚 今日感悟: 1. 用多层缓存优化:先查询本地缓存,未命中再查询redis缓存,再未命中才查询数据库 2. 要注意缓存击穿、缓存穿透、缓存雪崩,击穿是收到大量查询请求直到缓存过期还没处理完导致大量访问数据库,解决方案要么设置超长的过期时间,要么使用Redisson互斥锁控制缓存刷新;缓存穿透是指用户频繁查询不存在的数据,导致大量请求触发数据库查询,解决方案是给不存在的数据赋空值写入缓存,或者使用布隆过滤器;缓存雪崩是指大量缓存同时过期,导致直接触发数据库查询,解决方案是给缓存过期时间加上随机数,或者使用多级缓存减少对数据库的依赖。

Day 11 ✅ 今天做了:智能协调云图库的用户传图模块前端开发 ⏰ 明天计划:图片模块优化 📚 今日感悟:

Day 10 ✅ 今天做了:云图库项目批量抓取图片的后端开发 ⏰ 明天计划: 📚 今日感悟: 1. log方法的调用要打上@Slf4j注解 2. 单次抓取数量不建议超过30条,接口单次返回图片数量有限 3. 抓取内容数量较多时可以使用Thread.sleep()阻塞等待一段时间,减少服务器被封禁的效率

Day 9 ✅ 今天做了:url上传图片前后端开发 ⏰ 明天计划: 📚 今日感悟: 1. swagger测试后端url上传图片接口时上传新图片的id默认值是0,导致业务逻辑 pictureId != null 通过,后端认为是更新图片而不是新增图片,但是cos对象存储中又不存在这个id,导致跳图片不存在业务异常,后来给业务逻辑改为 pictureId != null && pictureId > 0 便完美避免了此问题,防止前端也误传id = 0时导致异常的情况。 2. 前端interface必须直接写在 <script setup lang="ts"> 内部,且不能嵌套在函数 /if 等代码块中,在实现url上传图片组件时没有给<script>加lang="ts" setup 导致报错。 3. <script setup> 是「语法糖」,本身已默认导出组件,不允许手动写 export,否则触发编译器报错。

Day 8 ✅ 今天做了:海康测开笔试 ⏰ 明天计划:用户传图后端开发跟学 📚 今日感悟:自定义异常继承Exception类需要显式try-catch捕获或者在main类加throws,而继承RuntimeException则不需要

Day 7 ✅ 今天做了:力扣 88.合并两个有序数组,27. 移除元素,用户上传图片与审核模块前后端开发 ⏰ 明天计划: 📚 今日感悟:

Day 6 ✅ 今天做了:图片模块前端开发的图片上传与创建页面 ⏰ 明天计划: 📚 今日感悟: 1. 自定义通用的图片上传组件(利用ant-design vue组件库中的upload组件快速开发)后,在图片创建页面调用时要在ts部分import该组件 2. 创建新页面时要记得添加路由和头部菜单选项 3. 写前端权限校验业务时多加了一个!导致管理员权限无法访问应该访问的页面 4. // 核心修复:将字符串total转为数字,兼容空值/非数字情况 total.value = Number(res.data.data.total) || 0

Day 5 ✅ 今天做了:云图库项目图片模块后端第二部分(昨天没学完 ⏰ 明天计划:云图库项目图片模块前端开发跟学 📚 今日感悟: 1. 基本类型long不能设置为null,需要使用包装类Long类型才能设置为null 2. 对象存储COS是一种可以存储海量文件的分布式存储服务,具有高扩展、低成本、可靠安全的特点

Day 4 ✅ 今天做了:学习智能云图库的图片模块后端第二部分 ⏰ 明天计划:学习图片模块前端第一部分 📚 今日感悟: 1. 复杂的代码要抽成单独的封装方法 2. 临时文件一定要清理 3. 根据定义自己的图片路径

下载 APP