36 归档分页
370 留言互动
4 核心专题

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

本文详细阐述了在博客底部实现“每日一句”功能的完整方案。后端采用 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 控制器实时返回图片示例,并列出乱码、识别率、性能等注意事项和典型应用场景。掌握后即可快速生成、定制并部署二维码。

Math.abs()竟然返回了负数?

Math.abs() 在普通数值上返回非负,但对 int 最小值 Integer.MIN_VALUE 会返回自身负数。原因是 int 采用补码表示,-Integer.MIN_VALUE 超出范围导致溢出,结果仍为 ‑2³¹。JDK 源码注释已说明这是规范行为。使用时应先判断该极值或转为 long、BigInteger,或使用 Math.addExact、Math.multiplyExact 等安全方法,并在单元测试中覆盖边界值。理解整数溢出是防止此类陷阱的关键。

打牌记账-使用手册

打牌记账是一款基于浏览器的实时多人记账工具,支持麻将、斗地主等棋牌玩法。用户可无需注册、直接输入昵称创建或加入最高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>。动态生成表情面板,精确在光标位置插入,兼容回复框及移动端响应式布局与触摸事件。加入懒加载、输入防抖等性能优化,对比数据表明表情使用率、用户满意度显著提升。

NC137 表达式求值

本题要求实现一个整数表达式求值器,支持加、减、乘以及圆括号,输入长度不超过100,结果保证在整型范围,时间空间均要求 O(n)。解法采用双栈:一个存放数字,一个存放运算符,并使用映射记录运算符优先级。遍历字符数组时,遇 '(' 入符号栈;遇 ')' 计算至最近的 '(';遇数字连续读取形成完整的整数入数字栈;遇运算符先比较栈顶运算符的优先级,若不低于当前运算符则立即计算。为处理负数在表达式开头或左括号后加入 0。遍历结束后统一计算剩余运算,即得到最终结果。代码实现了上述流程并提供了 `calc` 与 `isNumber` 辅助函数。