<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://blog.wiseasy.top/</id>
  <title type="text">歪酱的博客</title>
  <subtitle type="text">写代码，也写生活</subtitle>
  <updated>2026-10-14T00:00:00.000Z</updated>
  <author><name>Y酱</name></author>
  <link rel="alternate" href="https://blog.wiseasy.top/"/>
  <link rel="self" href="https://blog.wiseasy.top/atom.xml"/>
  <generator uri="https://github.com/CuteLeaf/Firefly">Firefly v6.16.8</generator>
    <entry>
      <id>https://blog.wiseasy.top/posts/hello-waijiang-blog/</id>
      <title type="text">开张：歪酱的博客上线了</title>
      <published>2026-10-14T00:00:00.000Z</published>
      <updated>2026-10-14T00:00:00.000Z</updated>
      <author><name>Y酱</name></author>
      <link rel="alternate" href="https://blog.wiseasy.top/posts/hello-waijiang-blog/"/>
      <summary type="text">折腾了几天，终于有了一个完全属于自己的地方。这篇算开张说明，顺便交代一下我是谁、平时在写什么，以及这个站是怎么折腾出来的。</summary>
      <content type="html"><![CDATA[<p>折腾了几天，终于把一个完全属于自己的地方搭起来了——就是你现在看到的这个 <strong>歪酱的博客</strong>。</p>
<section><h2>我是谁<a href="#我是谁"><span>#</span></a></h2><p>我叫 <strong>Y酱</strong>，英文名 <strong>YJiang</strong>。一个喜欢自己动手的程序员：白天写业务代码，晚上折腾自己的小项目。</p><p>比起「学过什么」，我更在意「做出过什么」——把一套系统从零搭起来、部署好、然后真的有人在用，那种感觉最上头。</p></section>
<section><h2>这里会写什么<a href="#这里会写什么"><span>#</span></a></h2><p>主要是三件事：</p><ol>
<li><strong>项目实录</strong> —— 我做过的系统，从需求到上线，连带中间踩过的坑：
<ul>
<li><a href="/posts/estate-link/">Estate-Link 物业管理系统</a>：给写字楼做的一整套物业数字化平台。</li>
<li><a href="/posts/xiaonan-star/">小南的小星球</a>：给女朋友做的一个私人小站。</li>
</ul>
</li>
<li><strong>折腾笔记</strong> —— 家用 NAS、Docker、自建服务这些偏向动手的东西。</li>
<li><strong>随手记</strong> —— 想到哪写到哪。</li>
</ol></section>
<section><h2>这个站是怎么折腾出来的<a href="#这个站是怎么折腾出来的"><span>#</span></a></h2><p>一句话：<strong>纯静态，自己动手</strong>。</p><ul>
<li>博客本身是 <strong>Astro</strong> 生成的纯静态站点，主题用了 <a href="https://github.com/CuteLeaf/Firefly" target="_blank">Firefly</a>——好看，而且能折腾。</li>
<li>它是<strong>纯静态</strong>的：没有数据库、没有后台，就是一堆 HTML / CSS / JS 文件。</li>
<li>站点托管在一台自己的机器上，用 Docker 跑了个轻量 Web 服务把它端出来。</li>
<li>于是「发一篇文章」= 本地构建一次 + 同步文件，简单粗暴。</li>
</ul></section>
<section><h2>最后<a href="#最后"><span>#</span></a></h2><p>慢慢更新，欢迎常来。</p><p>—— Y酱（YJiang）</p></section>]]></content>
    </entry>
    <entry>
      <id>https://blog.wiseasy.top/posts/estate-link/</id>
      <title type="text">Estate-Link：我给写字楼写的这套物业管理系统</title>
      <published>2026-10-12T00:00:00.000Z</published>
      <updated>2026-10-12T00:00:00.000Z</updated>
      <author><name>Y酱</name></author>
      <link rel="alternate" href="https://blog.wiseasy.top/posts/estate-link/"/>
      <summary type="text">11 大业务模块、66 个功能页面、30 多张业务表、500 多个后端接口——把这套给写字楼做的物业管理系统，完整地讲一遍。</summary>
      <content type="html"><![CDATA[<p>这是我投入时间最多的一个项目：<strong>Estate-Link</strong>，一套给写字楼用的物业管理系统。</p>
<p>它不是 demo，是真的在一栋楼里跑着的：18 家在租企业、90 多件代保管物料、79 项固定资产、72 只电表、近百个空间点位——每天都在产生数据。</p>
<section><h2>缘起<a href="#缘起"><span>#</span></a></h2><p>写字楼的物业，说起来简单，做起来碎：</p><ul>
<li>哪家公司租在哪层、多少人、合同到没到期？</li>
<li>每个月的水电怎么抄、怎么算、物业费收没收上来？</li>
<li>客户寄放的展品、自己的固定资产，谁借走了、还给没还？</li>
<li>灯坏了、空调不制冷，报修了谁去修、修完没有？</li>
<li>灭火器过期没有、去年检了吗、隐患整改完没？</li>
<li>会议室今天空不空、梯控卡办到哪一步了？</li>
</ul><p>这些事情原本散在十几个 Excel 和各种微信群里。<strong>Estate-Link 要做的，就是把它们收进一个系统。</strong></p></section>
<section><h2>它现在有多大<a href="#它现在有多大"><span>#</span></a></h2>

<table><thead><tr><th>维度</th><th>数量</th></tr></thead><tbody><tr><td>业务模块</td><td>11 个</td></tr><tr><td>功能页面</td><td>66 个</td></tr><tr><td>业务数据表</td><td>30+ 张</td></tr><tr><td>后端接口</td><td>589 个</td></tr><tr><td>在租企业</td><td>18 家</td></tr></tbody></table><p>模块地图大概是这样的：</p><ul>
<li><strong>物业大台账</strong> —— 一栋楼一家企业的完整档案，是抄表、物业费、巡检、门牌绑定的唯一数据源头。</li>
<li><strong>楼宇管理</strong> —— 楼号 → 楼层 → 区域 → 门牌，把物理空间结构化，门牌还能标空置/在租/自用。</li>
<li><strong>项目管理与多项目隔离</strong> —— 一套系统服务多个写字楼，数据和权限按项目隔离，顶部一键切换。</li>
<li><strong>抄表管理</strong> —— 每家公司按固定四类电表（总表/照明/空调/动力）建档，读数 → 用量 → 费用一条线跑通，还能手机扫码抄表。</li>
<li><strong>物业费管理</strong> —— 按企业按月生成账单，登记对公转账，收缴看板一目了然。</li>
<li><strong>客商物料 / 物料库存</strong> —— 代保管物料全程可查，自有物料管库存、打标签。</li>
<li><strong>资产清单</strong> —— 固定资产全生命周期，按分类自动编号，扫码即查、借还有管控。</li>
<li><strong>报修工单</strong> —— 受理 → 派工 → 处理中 → 完工 → 验收，闭环。</li>
<li><strong>设备台账与故障</strong> —— 电梯、空调、水泵建档，故障留记录。</li>
<li><strong>任务 / 巡检</strong> —— 日常事务分派跟进，巡检按模板排班、现场打卡拍照。</li>
<li><strong>流程管理 / 公共文档库 / 消防管理 / 会议室 / 空间平面图</strong> —— 审批流、文档在线预览、消防五件套、会议室预约、楼层平面图打点。</li>
</ul></section>
<section><h2>技术栈<a href="#技术栈"><span>#</span></a></h2><p>没有花活，都是成熟稳定的选择：</p><ul>
<li><strong>后端</strong>：Java + Spring Boot，基于 <a href="https://gitee.com/dromara/RuoYi-Vue-Plus" target="_blank">RuoYi-Vue-Plus</a> 6.X，权限、字典、代码生成这些底座直接复用。</li>
<li><strong>前端</strong>：Vue 3 + TypeScript + Vite（RuoYi 的 plus-ui）。</li>
<li><strong>移动端</strong>：一套 uni-app 的 H5，专门给「现场作业」用——扫码、抄表、巡检打卡，很多是<strong>免登录</strong>页面，扫码即用。</li>
<li><strong>数据库</strong>：MySQL 8.4。</li>
</ul></section>
<section><h2>几个我比较满意的点<a href="#几个我比较满意的点"><span>#</span></a></h2><p><strong>1. 免登录的现场场景。</strong> 物业的活儿很多是在楼里跑着干的，让人先登录再扫码很反人性。所以物料、资产、抄表、巡检、空间大屏这些都做了免登录的扫码页，现场打开就能用。</p><p><strong>2. 抄表 → 算费口径统一。</strong> 电价、逾期规则都放在「物业标准配置」里集中维护，抄表算费引用同一个口径，避免散落在代码和表格里。</p><p><strong>3. 空间平面图当数据入口。</strong> 把楼层图纸传进系统，在上面打点，点位关联到设备/工位，大屏直接投屏，状态按实时数据渲染。前台/展厅往那一放，比什么报表都直观。</p></section>
<section><h2>踩过的坑<a href="#踩过的坑"><span>#</span></a></h2><p><strong>源码快照把类「吃掉」了。</strong> 有一次编译机上的 Java 源码被一份旧快照覆盖了，少了几个类，但 <code>mvn package</code> 依然成功、jar 一样有几百兆、服务照样起得来——只是对应接口 404。从那以后，我部署前一定「开箱验类」：解开 jar，断言那几个类确实在里面，才敢上线。</p><p><strong>慢接口超时。</strong> 有些重接口（比如路线规划）要跑两分钟以上，稍不注意就会被超时机制掐断成 504。后来我把这类慢接口统一改成了「先接活、后取结果」的异步任务：请求先拿到一个任务号，前端再轮询取结果。</p></section>
<section><h2>小结<a href="#小结"><span>#</span></a></h2><p>Estate-Link 是我把「一堆 Excel 和微信群」变成「一个能用的系统」的一次完整实践。它不炫技，但每一块都对着一件真实要干的活。</p><p>如果你也在做类似的东西，或者正好在管一栋楼，欢迎来聊。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://blog.wiseasy.top/posts/xiaonan-star/</id>
      <title type="text">小南的小星球：给女朋友做的一个小站</title>
      <published>2026-10-10T00:00:00.000Z</published>
      <updated>2026-10-10T00:00:00.000Z</updated>
      <author><name>Y酱</name></author>
      <link rel="alternate" href="https://blog.wiseasy.top/posts/xiaonan-star/"/>
      <summary type="text">记录步数、热量、饮食和心情，每天自动生成一份「今日小报」——一个只给一个人用的私人站点，却是我做得最用心的小东西。</summary>
      <content type="html"><![CDATA[<p>如果说 <a href="/posts/estate-link/">Estate-Link</a> 是「给别人做的正经系统」，那 <strong>小南的小星球</strong> 就是「给她做的小玩具」——只不过做着做着，也做成了一个完整的产品。</p>
<section><h2>它是给谁做的<a href="#它是给谁做的"><span>#</span></a></h2><p>给女朋友，小南。</p><p>她平时会记步数、记吃了什么、记心情。这些东西原本散在好几个 App 里，我就想：干脆自己做一个小站，把这些合在一起，还能每天给她生成一份「今天的小报」。</p></section>
<section><h2>它记录什么<a href="#它记录什么"><span>#</span></a></h2><p>打开小星球，能看到的东西挺杂，但都是她真的在用的：</p><ul>
<li><strong>步数与热量</strong> —— 手机 App 自动上报步数，按口径折算成消耗（只精确到日）。</li>
<li><strong>饮食记录</strong> —— 吃了什么、想吃什么、不爱吃什么。</li>
<li><strong>心情 / 身体信号</strong> —— 心情、体重这些小状态。</li>
<li><strong>训练与经期记录。</strong></li>
<li><strong>旅行轨迹与照片墙</strong> —— 出去玩的时候打卡、定位、传照片，轨迹会在地图上长出来。</li>
<li><strong>歌单</strong> —— 她喜欢听的歌。</li>
<li><strong>今日小报</strong> —— 每天 22&lt;00&gt; 自动生成，把这个人的一天写成一小段话。</li>
</ul></section>
<section><h2>每天的那份小报<a href="#每天的那份小报"><span>#</span></a></h2><p>这是我最喜欢的一部分。</p><p>系统会先把当天的<strong>事实</strong>整理出来（步数、消耗、吃了什么、心情、训练、经期、目标），再交给大模型，让它只负责「写字」——所有数字都来自代码算出来的事实，不靠模型编。</p><p>小报还有一个「指纹」：只要当天任何一项数据变了，指纹就变，页面会标出「已经是旧的啦」，提示你重新生成。</p></section>
<section><h2>技术栈<a href="#技术栈"><span>#</span></a></h2><ul>
<li><strong>后端</strong>：一个 Python 服务（<code>server.py</code> + <code>ai.py</code> + <code>suggest.py</code>），随系统托管、开机自启。</li>
<li><strong>前端</strong>：Vue 3，打包成静态产物。</li>
<li><strong>安卓 App</strong>：用 Capacitor 把站点套进原生壳，开机自启、定时上报步数、发通知——「自动记步」就是它在干。</li>
<li><strong>数据</strong>：<strong>MongoDB 4.4</strong> 是唯一真源，文件镜像做兜底。</li>
<li><strong>多媒体</strong>：照片、视频、歌都同步到对象存储，不占机器自己的盘。</li>
</ul></section>
<section><h2>为什么是 MongoDB 4.4<a href="#为什么是-mongodb-44"><span>#</span></a></h2><p>不是我不想用新版——是这台机器的 CPU 是 <strong>Intel Celeron 1037U</strong>（Sandy Bridge，没有 AVX 指令集），而 MongoDB 5.0+ 启动时会直接 <code>Illegal instruction</code> 退出。<strong>4.4 是最后一个支持无 AVX CPU 的版本</strong>，配着 PyMongo 3.11 正好够用。</p><p>还有一个我挺满意的设计：<strong>库挂了，站照常能用</strong>——读走文件镜像、写落文件并打个待同步标记，库回来自动重连、每 5 分钟把文件那份补推回去。所以升级数据库这件事，从小概率的「事故」变成了「后台自动补上」。</p></section>
<section><h2>隐私：一道口令门<a href="#隐私一道口令门"><span>#</span></a></h2><p>小星球里是两个人的私事，所以我加了一道门：局域网和自己人的设备直接进；外面来的陌生 IP 只看到一张粉色口令页。</p><p>口令和「钥匙」都写在配置里，手机 App 走机器钥匙。所有判定只看钥匙和口令，不看 IP。</p></section>
<section><h2>部署<a href="#部署"><span>#</span></a></h2><ul>
<li>后端是一个常驻服务、前端是静态产物，都放在自己的机器上，随系统托管、开机自启，还挂了内存上限防止把家占满。</li>
<li>外面套了一道口令门，只让「自己人」进。</li>
</ul></section>
<section><h2>小结<a href="#小结"><span>#</span></a></h2><p>它没什么「大」的野心，就是一个人用。但正因为只给一个人用，我可以把每个细节都抠到自己满意为止。</p><p>这大概就是自己做东西最好的地方。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://blog.wiseasy.top/posts/homelab-nas/</id>
      <title type="text">把服务都搬回家：一台 NAS 能替我干多少活</title>
      <published>2026-10-08T00:00:00.000Z</published>
      <updated>2026-10-08T00:00:00.000Z</updated>
      <author><name>Y酱</name></author>
      <link rel="alternate" href="https://blog.wiseasy.top/posts/homelab-nas/"/>
      <summary type="text">一台摆在角落的家用 NAS，跑着博客、小星球、几个小工具……聊聊为什么我越来越喜欢把服务放回自己家。</summary>
      <content type="html"><![CDATA[<p>除了写业务，我另一大爱好是「把服务搬回自己家」。这篇聊聊我家里那台 NAS，以及它上面跑着的一整套东西。</p>
<section><h2>硬件<a href="#硬件"><span>#</span></a></h2><p>一台普通的家用 NAS：</p><ul>
<li>系统装在一块 <strong>60G 的 SSD</strong> 上；</li>
<li>数据放在一块 <strong>4T 的机械硬盘</strong>上——对，就是那种转起来有声音的。</li>
</ul><p>你可能会问机械盘做服务会不会慢。答案是：<strong>静态站点完全够用</strong>。真正拖后腿的从来不是磁盘，是网络和 CPU。</p></section>
<section><h2>上面跑着什么<a href="#上面跑着什么"><span>#</span></a></h2><p>这台机器现在同时跑着好几套东西：</p><ul>
<li><strong>歪酱的博客</strong>（就是这个站）——纯静态站点，Docker 托管。</li>
<li><strong>小南的小星球</strong>——一个常驻的后端服务，加上它的静态前端。</li>
<li>几个自己写的小工具。</li>
</ul><p>它们共用一个思路：<strong>能用静态的就不用动态，能用 Docker 的就不裸装。</strong></p></section>
<section><h2>为什么不用现成的云主机<a href="#为什么不用现成的云主机"><span>#</span></a></h2><p>其实这些站点扔到任何一家云上都能跑，甚至更省心。但我还是喜欢放在自己家：</p><ul>
<li><strong>数据在自己手里</strong>，想怎么来怎么来；</li>
<li><strong>一次买入，没有月租</strong>；</li>
<li><strong>折腾本身就是乐趣</strong>。</li>
</ul><p>代价也有：要自己操心更新、备份、断电重启。但这刚好是我乐意干的事。</p></section>
<section><h2>几条攒下来的经验<a href="#几条攒下来的经验"><span>#</span></a></h2><p>干得久了，慢慢攒出几条：</p><ul>
<li><strong>备份是底线。</strong> 机械盘再稳也会坏，重要的东西一定多留一份。</li>
<li><strong>能静态就静态。</strong> 静态站点没有数据库、没有后台，几乎不会出问题，重启也只是重启。</li>
<li><strong>别把鸡蛋放一个篮子。</strong> 家用机器总有意外（断电、系统升级、硬盘告警），关键服务要随时能拉起来。</li>
<li><strong>把坑记下来。</strong> 每次踩坑都记一笔，下次少走弯路。</li>
</ul></section>
<section><h2>小结<a href="#小结"><span>#</span></a></h2><p>一台摆在角落的 NAS，就足够把「写的东西」真正拿到网上，被自己和别人用到。</p><p>如果你也想这么干，欢迎来聊。</p><p>—— Y酱</p></section>]]></content>
    </entry>
</feed>
