1周前
一个排座分组工具的寒假重生
重写了几个月前做的排座工具,从“能用”打磨到“好用”。优化了视觉设计、移动端适配和交互体验,坚持用纯前端实现零门槛使用。过程中放弃复杂的登录系统,专注解决老师排座的真实痛点。好产品是磨出来的,完成度比功能数量更重要。
2周前
我的项目没上线,但已经重构三遍了
我花了几周折腾技术选型:Fastify→FastAPI→Halo插件,回头一看数据库还是空的。搭了一堆"毛坯房",用战术勤奋掩盖战略懒惰。我就是个教书的,一个人用的工具何必搞前后端分离、多用户权限?代码能跑就行,别再让技术洁癖拖垮自己了。
1月前
花5天自制成绩管理工具!终于解放双手,告别统计噩梦✨
作为一名热爱编程的老师,我花5天时间,从朋友的一个简单需求出发,从零打造了一款考试成绩查询工具。从最初仅支持单校的简易版本,到利用Fastify和Prisma重构,设计了5张核心数据表与四级权限系统,实现了Excel批量导入、自动计算总分及班级/学校排名等功能。整个过程充满挑战与乐趣,不仅解决了实际问题,更让我在创造中收获了满满的成就感。
3月前
记录一次 Halo 多项服务超时异常及处理
本文记录Halo博客系统外部链接访问失效故障的排查与解决。系统因对象存储上传、许可证获取等功能集体超时报错,服务器层面网络测试正常,排除外部链路与配置问题后,猜测是Halo内部机制阻塞所致。经重启服务、调整参数等常规操作无效后,通过重装系统+备份数据恢复的方式,彻底解决故障,印证了内部深层机制异常的推测,为同类问题提供了高效解决方案。
6月前
从灵感到开源:我的句子收集项目「sentence-collection」开发全记录
在信息碎片化的时代,我们总在不经意间被一句台词、一段文字或一句箴言触动。这些散落的 “文字星光” 若不及时记录,很容易随时间流逝。正是出于对这类碎片化美好的珍视,我用两天时间开发了sentence-collection—— 一个专注于句子收藏与分享的轻量级平台,并已完成开源。今天,我想和大家聊聊这个项目的开发故事、技术细节与开源初心。
7月前
我的小项目折腾记:从 Koa 到 Fastify 再到 NestJS,从 MongoDb 到 PostgreSQL
作为一个只实现了登录、注册、用户信息修改和座位云同步的个人小项目,数据库换了两次——从 MongDB 到 PostgreSQL,连后端框架也在半年内换了三次——从 Koa 到 Fastify,最后落在NestJS上。说起来有点“折腾”,但每一步都让这个简单的项目变得更好维护。
7月前
我的智能排座系统:从「单机版」到「云同步版」——我把账号系统做出来了!
作为一个教育工作者,我经常需要为班级活动、考试等场合排座位。最初,我只是用Excel手动制作座位表,后来萌生了开发一个专用工具的想法。经过几个版本的迭代,我的"排座位"网站终于从简单的本地工具成长为支持账号系统的云服务。今天,我想分享这次重要的升级历程。
8月前
开发随机一句话 API 接口:基于 Koa 和 MongoDB 的实战经验
最近,我开发了一个有趣的 API 接口——随机一句话接口。通过这个接口,用户可以通过简单的 GET 请求获取随机的句子,并可以根据需要指定分类和数量。
8月前
我的图片工具:纯前端图片格式转换和压缩方案
在现代Web应用中,图片处理是一个常见的需求。作为一位化学教师,在处理图片时总是四处碰壁,一些培训网站完善信息时需要上传的图片大小不能超过规定的大小我很是苦恼,为此花了些时间做了个图片压缩和转换的工具小网站,本文记录了站长如何使用JavaScript等前端技术实现一个功能强大的图片处理工具。
10月前
我的智能排座系统:一位化学教师的数字化解决方案
作为一名中学化学教师,我深知排座位这件"小事"背后的大学问。每到新学期或考试后,如何科学合理地安排座位总让我绞尽脑汁。传统的手工排座不仅耗时费力,调整起来更是麻烦。于是,我利用Vue开发了一个专为教师设计的拖拽排座网站。
11月前
折腾日记:解决获取FRP真实IP后OpenResty监控报错问题
最近在配置FRP反向代理服务时,为了让后端服务能够获取到客户端的真实IP地址,我按照常规做法在FRP服务端配置了proxy_protocol_version = v2,并在OpenResty配置中添加了 set_real_ip_from 和 real_ip_header 等指令。配置完成后,网站功能一切正常,客户端IP也能正确获取,但OpenResty的监控系统却开始频繁报错。
11月前
折腾日记:双栈出击IPv4/IPV6公网访问指南
在以前的一篇文章《双栈出击:本地服务器 IPv4/IPv6 公网访问指南》我分享过我的服务器的网络配置情况,但是在这以后我仍然不满意这样的配置,所以在经过不断地尝试和努力之后有了这篇文章。这篇文章将详细介绍如何在本地只有动态IPV6的情况下实现双栈访问,并且会解决以前那篇文章存在的所有问题,达到与纯公网IP部署的服务一样的体验。