#import "@preview/brilliant-cv:3.1.2": cvEntry, cvSection // 项目背景信息(面试准备用): // - 项目性质:对学长站点的重构,学长是杨帆 // - 业务价值:解决学生期末考试需要前几年试卷和复习资料的痛点 // - 用户数据:月访问量约几k次(数据来自Vercel统计) // - 项目现状:运营到现在,但最终还是换成了AList(不想折腾了,S3存储要烧钱) // - 技术选型:最开始不用AList是因为AList不方便用户自己上传资料 // - 开发模式:这个版本是独立完成的(前后端都是) // - 性能数据:首屏加载时间从10s优化到0.5s,Lighthouse性能评分从80提升到97 // - 部署:部署在腾讯云上 // // 性能优化技术细节: // - 定位瓶颈:使用F12观察网络瀑布流,看请求耗时,定位性能瓶颈 // - 优化手段:字体分包、懒加载、CDN优化等 // // AList协议逆向: // - 技术难度:AList协议没有加密,纯抓包就能知道它做了什么 // - 实现:通过抓包分析实现了S3和AList双协议支持 // // 其他技术细节(可能被问到): // - 字体优化:使用中文网字计划对字体分包,导出为分片woff并在CDN设置强缓存 // - CDN优化:使用vite-plugin-qiniu将assets上传至CDN // - 存储协议:通过抓包分析AList协议,实现了S3和AList双协议支持 // - 认证系统:支持Github OAuth登录和邮箱验证(使用node-mail库) #cvEntry( title: "学习资源分享平台", society: "NuistShare", location: "南京", tags: ("Nuxt 3", "NestJS", "性能优化"), description: "", date: "2023.7-2023.9", ) 一个为学生提供期末复习资料的全栈资源分享平台,*月访问量达数千次*。*独立完成* 前后端开发与部署。 - *[性能优化]* 通过字体分包、懒加载和 CDN 优化,将首屏加载时间从 *10s 优化到 0.5s*,Lighthouse 性能评分从 *80 提升至 97* - *[多存储协议支持]* 通过 *抓包分析* AList 协议,实现了 S3 和 AList *双协议支持*,并提供了比 AList 更便捷的用户上传功能 - *[SSR 与预渲染]* 使用 Nuxt 3 的 *SSR 能力* 进行主页预渲染,配合 CDN 强缓存策略,显著提升了用户体验