本站实践

浏览该分类下的所有文章

双层缓存+响应式设计:博客每日一句功能完美落地教程

本文详细阐述了在博客底部实现“每日一句”功能的完整方案。后端采用 Spring Boot + RestTemplate,提供 `/api/daily-quote` 接口,使用 ConcurrentHashMap 按日期缓存当天句子,防止频繁调用有道词典 API,并在异常时返回固定备用句子。前端使用原生 JavaScript 与 CSS3,首次请求后将数据写入 localStorage,实现客户端一天一次的二层缓存;通过 `white-space: nowrap`、`text-overflow: ellipsis` 与 `.expanded` 类实现长句折叠/展开交互。布局采用弹性盒子和媒体查询,在桌面、平板、手机三种断点下自动适配宽度和字号。整体实现了每日更新、降级备份、性能优化和响应式展示,代码可直接复制使用。

使用Java代码制作二维码(超级简单)

本文介绍使用 Java 生成二维码的流程,推荐开源 ZXing 并给出 Maven 依赖。四步完成:配置字符集、容错、边距等 EncodeHintType;使用 QRCodeWriter 编码为 BitMatrix;用 MatrixToImageWriter 输出 PNG;可通过 Graphics2D 添加 Logo、定制颜色。提供 QRCodeService 封装及 Spring Boot 控制器实时返回图片示例,并列出乱码、识别率、性能等注意事项和典型应用场景。掌握后即可快速生成、定制并部署二维码。

打牌记账-使用手册

打牌记账是一款基于浏览器的实时多人记账工具,支持麻将、斗地主等棋牌玩法。用户可无需注册、直接输入昵称创建或加入最高8人的加密房间,系统自动同步、计算盈亏并提供一键结算、历史记录、二维码/链接邀请等功能。界面包括创建房间、加入房间、记账操作、昵称修改、房间结算及“我加入的房间”列表,支持手机、平板、电脑跨平台使用。应用采用 BCrypt 加密保护密码,具备高并发、低延迟的性能优化,并提供常见问题解答以帮助用户快速上手。

打牌记账-技术文档

本项目针对多人打牌记账难点,开发了基于 Spring Boot 的 Web 实时记账小程序,实现房间实时同步、最多 8 人协作、数据持久化和跨平台访问。技术选型包括 Spring Boot、MyBatis‑Plus、MySQL、WebSocket、Thymeleaf 等。系统采用三层架构,使用 UUID 生成 8 位房间码、乐观锁控制人数、BCrypt 加密密码,并提供房间、用户、记账等核心业务模块。

个人博客的代码块折叠/展开功能

随着技术文章代码示例日益冗长,阅读体验受限,作者实现了零依赖、智能折叠的代码块组件。核心采用 CSS max‑height 过渡实现平滑动画,结合实际渲染的字体尺寸、行高和内边距精确计算折叠阈值,仅对超长代码启用。组件提供语言自动识别、复制按钮、ARIA 可访问属性以及响应式触摸优化。性能测试显示首屏加载下降 11%、交互延迟降 28%、代码占比减半,移动端阅读完成率提升 40%。文中还总结了主题兼容、动画防抖、触控尺寸等实现挑战及对应方案,并给出渐进增强、性能优先、无障碍设计等最佳实践,提出虚拟滚动、状态持久化和结构化折叠等后续优化方向。

博客实战:如何实现精准的“邮件直达评论”深层链接功能

本文介绍在 Spring Boot + Thymeleaf 项目中实现高精度评论深层链接的完整方案。通过后端递归计算目标评论的顶级父 ID(Thread ID),在邮件链接中携带 commentId 和 threadId,并保留锚点作降级;前端脚本解析参数,判断评论是否被折叠,自动展开父级、轮询 AJAX 加载、双重滚动修正图片加载导致的偏移,并以 Teal 呼吸灯动画高亮目标。该实现解决了定位失效、隐藏内容和视觉反馈弱等痛点,提升了用户在邮件通知中快速定位回复的体验。

留言板表情系统技术实现:从代码输入到直观显示的演进

本文记录了博客留言板表情系统的技术演进:从最初的[:表情名:]文本编码因记忆成本高、交互不直观而体验差,重构为“所见即所得”。采用 contenteditable 替代 textarea 实现图片即时插入,并通过实时双向同步将图片转回代码存入后端;页面加载时解析代码转为 <img>。动态生成表情面板,精确在光标位置插入,兼容回复框及移动端响应式布局与触摸事件。加入懒加载、输入防抖等性能优化,对比数据表明表情使用率、用户满意度显著提升。

现代Web表情选择器组件:分类系统与实现详解

本文介绍了构建专业级 Web 表情选择器的核心——分类系统与实现。采用 7 大主题分类(表情、人物、动物、食物、旅行、物体、符号),每类配以图标、表情数量(约 70‑90 条)和代表 Emoji。通过 HTML 结构实现标签页与对应面板的切换,并给出每个分类的具体 Emoji 示例代码,展示如何在页面中组织、渲染并交互式展示完整的表情库。文章还说明了作者对原有库的归类与补充工作。

基于-webkit-line-clamp的评论折叠组件开发

本文针对评论区长文本导致布局错乱的问题,设计并实现了基于 -webkit-line-clamp 的折叠组件。通过外层容器+内部 .comment-content 结构,使用 display:-webkit-box、-webkit-line-clamp 限制行数并配合伪元素渐变遮罩提示未展示内容;利用 JavaScript 动态添加/移除 .collapsed 类、比较 scrollHeight 与 clientHeight 判断是否需要折叠并控制展开/收起按钮。组件在窗口 resize 时重新计算,支持行数配置、非 WebKit 浏览器兼容、事件委托与防抖等性能与安全优化,可广泛用于社区评论、文章摘要等长文本折叠场景。

为代码块添加复制按钮的完整实现方案

文章介绍在博客或技术文档页面为每个代码块自动添加复制按钮的完整实现方案。通过在 Thymeleaf 渲染的 `pre` 元素外层包裹 `div` 实现相对定位;CSS 统一视觉样式并提供悬停、点击及复制成功的反馈效果;JavaScript 在 `DOMContentLoaded` 后遍历所有 `pre`,动态创建按钮,使用 `navigator.clipboard` 复制代码文本,点击后显示“已复制”并在 2 秒后恢复。方案兼顾性能、现代浏览器兼容和可访问性,并提出快捷键、主题定制、批量复制等扩展建议。

从基础到优雅:评论回复功能的全面优化实践

文章先剖析了传统评论回复通过页面滚动实现的痛点——强制跳转、上下文丢失、交互割裂和验证不友好。随后提出基于模态弹窗的整体改造方案:动态生成回复弹窗并配合平滑动画,使用空间检测算法实现表情面板智能定位,完善光标保持的表情插入;实时校验内容、QQ 与昵称并通过定位错误提示提升可视性;采用防抖提交、按钮状态反馈及可堆叠的 Toast 系统保证提交体验。性能上通过文档片段、事件委托、GPU 加速等手段降低重绘与内存占用,弹窗加载 <300 ms、帧率 60 FPS、CPU 峰值 <15%。最后列出草稿保存、@提醒、Markdown 预览等后续方向,展示了“微交互”设计在评论回复中的全链路优化实践。

从点击到滑动:博客图片浏览体验的进化与实现

本文介绍在博客系统中实现图片左右翻动查看的完整方案。通过 initArticleImages() 收集并过滤文章区图片,构建 Lightbox 组件并提供放大、缩放、触摸滑动、键盘方向键和 ESC 关闭等交互。核心代码包括 HTML 结构、CSS 样式以及管理图片索引、导航按钮状态、边界检查的 JavaScript,实现平滑导航、按钮禁用提示和响应式布局。文章还强调性能优化、可访问性和用户体验要点,并指出该查看器可复用于产品展示、相册等多图场景。