IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Monthly Issue - 23.11

    静かな森发表于 2023-11-28 14:51:58
    love 0
    该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/notes/159

    已经很久没有写最近发生的事了。因为最近确实没啥新鲜事。

    Painter

    因为懒,但是又会有需要打印材料的时候,所以购入了一台 HP 4826 彩色打印机,价格不贵,墨盒式,墨盒也不贵,也不用害怕堵头,最多换个墨盒。

    平时打打写得好的博文温故而知新,打了一堆乐谱,虽然弹不来一点。买了相片纸,也可以打打证件照。

    !还算是清晰

    不过这里插一嘴,好多博客站都没有做针对 Paint 的优化,打印效果一言难尽。

    Homelab All in boom

    迁移到 EQ12 N100

    All in One === All in Boom,我是体验到了,半年前买的倍控 G7505 工控机稳定半年之后,开始频繁死机,毫无征兆。导致我无法正常上网,最后体验了下使用 Apple TV 作为网关,刚好半年前也入了一台带网口的。这次也是派上用途了。

    用了 QuanX 做代理,分流什么的也能搞,唯一不方便的就是切配置每次都要手机上操作好,然后开电视再去换配置,过于繁琐。

    原本的工控机我直接挂咸鱼了,死机几次之后不想再折腾了。血亏出手。

    赶上双 11,凑了个单,被推友安利零氪小主机。买了台裸机 EQ12,配合三星 980 和 三星 DDR5 内存,希望这次能稳一点。

    到手之后,我又开始 All in Boom 了。

    !这是它的最初形态

    !Boom

    大存储迁移

    原本一直用的外挂 2.5 英寸希捷移动盘做网络存储。最近了解到一点机械硬盘的水深,怕是叠瓦盘,又入了一块西数 4T 3.5 英寸的盘,看了不是叠瓦的。打算买个硬盘盒继续外挂。

    还好看了下知乎,果断退了奥睿科的透明硬盘盒硬盘杀手,下单买了 SSK 的。希望稳一点。

    然后解锁了新姿态。

    开始全天候下载,塞满这块盘。

    FE Day

    去杭州参加了 FE Day,原本我是不想去的,然后看到了 黄玄 会去演讲,我就冲了一张。整场下来其实挺无聊的。全是 AI,Rust 没啥实质性的东西。最后黄玄的演讲挺值得思考的。何为前端。前端一直都在变化,过去到现在,未来又会是怎么样呢。

    随便拍了几张:

    卡 +1

    收到了中行的 Bilibili 联名卡,申请下来也挺顺利的,大概半个月。

    虽然直到现在我也没去激活,激活了也不知道哪里有钱可以存。😭

    项目

    离线博客 D

    最近开坑做离线 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/D

    nestjs-pretty-logger

    终于把坑填了。

    https://github.com/Innei/nestjs-pretty-logger

    其他

    本想这段时间办日本签证了,办个 3 年的,没成想因为换工作的原因,不能在上海领区送签,只能送签广州,广州领区的要求没达到,办不了。唉。

    看完了?说点什么呢



沪ICP备19023445号-2号
友情链接