该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/notes/159
已经很久没有写最近发生的事了。因为最近确实没啥新鲜事。
因为懒,但是又会有需要打印材料的时候,所以购入了一台 HP 4826 彩色打印机,价格不贵,墨盒式,墨盒也不贵,也不用害怕堵头,最多换个墨盒。
平时打打写得好的博文温故而知新,打了一堆乐谱,虽然弹不来一点。买了相片纸,也可以打打证件照。
不过这里插一嘴,好多博客站都没有做针对 Paint 的优化,打印效果一言难尽。
All in One === All in Boom,我是体验到了,半年前买的倍控 G7505 工控机稳定半年之后,开始频繁死机,毫无征兆。导致我无法正常上网,最后体验了下使用 Apple TV 作为网关,刚好半年前也入了一台带网口的。这次也是派上用途了。
用了 QuanX 做代理,分流什么的也能搞,唯一不方便的就是切配置每次都要手机上操作好,然后开电视再去换配置,过于繁琐。
原本的工控机我直接挂咸鱼了,死机几次之后不想再折腾了。血亏出手。
赶上双 11,凑了个单,被推友安利零氪小主机。买了台裸机 EQ12,配合三星 980 和 三星 DDR5 内存,希望这次能稳一点。
到手之后,我又开始 All in Boom 了。
原本一直用的外挂 2.5 英寸希捷移动盘做网络存储。最近了解到一点机械硬盘的水深,怕是叠瓦盘,又入了一块西数 4T 3.5 英寸的盘,看了不是叠瓦的。打算买个硬盘盒继续外挂。
还好看了下知乎,果断退了奥睿科的透明硬盘盒硬盘杀手,下单买了 SSK 的。希望稳一点。
然后解锁了新姿态。
开始全天候下载,塞满这块盘。
去杭州参加了 FE Day,原本我是不想去的,然后看到了 黄玄 会去演讲,我就冲了一张。整场下来其实挺无聊的。全是 AI,Rust 没啥实质性的东西。最后黄玄的演讲挺值得思考的。何为前端。前端一直都在变化,过去到现在,未来又会是怎么样呢。
随便拍了几张:
收到了中行的 Bilibili 联名卡,申请下来也挺顺利的,大概半个月。
虽然直到现在我也没去激活,激活了也不知道哪里有钱可以存。😭
最近开坑做离线 DB 配合 PWA 大概能实现即便是服务器没了,只要本地数据还在,之前写的文章还能看,类似 local first 这种,这不过这个没有协同,所以也不需要 CRDT,总体来说不是很麻烦。
服务端为了这个做了几个接口,把可公开的数据通过 Stream 的方式扔给前端,以便第一次重建本地数据库了,前端这边数据库格式和后端是对齐的。所以后端 RESTFul 接口做的数据转换和数据填充在这个前端应用中,也要在实现一套后端的逻辑。
首次建立 indexDb。
sequenceDiagram
participant Server as 服务器 Database
participant API as /sync/collection 接口
participant Frontend as 前端
participant Stream as 流式处理
participant IndexDB as IndexDb
Server->>API: 全量数据流失传输
API->>Frontend: 数据流
Frontend->>Stream: 接收数据流
loop 解析每行数据
Stream->>IndexDB: 输入每行数据到各表
end
而数据绑定 pinia 实现 UI 响应式。
sequenceDiagram
participant IndexDB as IndexDb
participant Hook as Hook (on change)
participant Pinia as Pinia Store
participant UI as User Interface
IndexDB->>Hook: Change event
Hook->>Pinia: Update/inject data
Pinia->>UI: Render/update reactive data
后续的增量更新。
flowchart LR
subgraph server [Server]
db[Database]
checksum_table[Checksum Table]
hooks[Update Hooks]
db --> checksum_table
db --> hooks
end
subgraph operations [Operations]
add_record[Add Record]
update_record[Update Record]
delete_record[Delete Record]
add_record --> hooks
update_record --> hooks
delete_record --> hooks
end
cronjob[Cron Job] --> db
hooks -->|Update Checksums| checksum_table
server -.-> operations
server --> cronjob
sequenceDiagram
participant Frontend
participant /sync/deta API
participant Database
Frontend->>/sync/deta API: Request sync with last sync timestamp
/sync/deta API->>Database: Query updates since last sync timestamp
Database-->>/sync/deta API: Updated records
/sync/deta API-->>Frontend: Updated records
Frontend->>Frontend: Incrementally update indexDb with records
有点 linear 那套机制的味道。
终于把坑填了。
https://github.com/Innei/nestjs-pretty-logger
本想这段时间办日本签证了,办个 3 年的,没成想因为换工作的原因,不能在上海领区送签,只能送签广州,广州领区的要求没达到,办不了。唉。