分类: 架构
-
桌面悬浮窗 Sprite:把系统监控、番茄钟与随身 AI 收进一块常驻小屏
Sprite 是一个常驻桌面的 Tauri v2 + React 悬浮窗:系统监控、番茄钟、快捷启动器、密码本,核心是内置 LLM 随时问系统,并可接入 resolve/spring 等多种 Harness 服务。本文从桌面常驻的真实痛点切入,串起它的实现与源码。阅读全文 →
-
51个指标 × 5000只股票:全市场技术扫描的工程实践
51个指标 × 5000只股票:全市场技术扫描的工程实践 A 股每天有 5000+ 只股票需要被审视,每只股票要计算数十个技术指标,传统人工筛选在这种规模下完全失效。程序化扫描不是「能不能做」的问题,而是「怎么把数据管道、指标计算、信号扫描和结果呈现组织清楚」的工程问题。 本文基于 stock-analyzer 的真实源码,梳理它从数据获…阅读全文 →
-
分布式订单系统演进:Spring Boot + React 如何从单体到抗住高并发
spring-order 是一个 Spring Boot + React 的订单系统演示项目。它沿 P0→P4 逐步演进,用 @Version 乐观锁、Redis 分布式锁、Kafka 事务 Outbox、Resilience4j 与 nginx + Prometheus/Grafana 可观测性,逐层解决高并发下的超卖、重复下单与数据一…阅读全文 →
-
纯本地只读视频索引:blake3 内容去重与 Range 预览,我如何做到绝不改动一个原文件
从「一坨文件」到「只读视频索引」:一个本地优先的工程实践 速览 本地优先的只读索引:扫描多目录视频,构建可查询、可去重的媒体数据集,绝不修改原文件。 内容去重:blake3 精确哈希+ 首尾 1MB 快速哈希双模式; 指纹增量扫描避免全量重扫。 安全预览:Range 请求原生播放 + 签名短时 tokenid …阅读全文 →
-
本地优先的 Markdown 索引:从零依赖 Rust 到只读安全的设计抉择
本地优先的 Markdown 索引:从零依赖 Rust 到只读安全的设计抉择 引言:一个本地优先者的痛点 作为长期践行本地优先哲学的开发者,我始终相信:数据应当由自己完全掌控,工具应当简单可靠,且不应依赖不可控的外部服务。但在日常的 Markdown 文档管理中,一个棘手的问题始终困扰着我。 我的文档散落在多个目…阅读全文 →
-
本地照片索引:4 个设计决策,把”文件堆”变成可查询的数据集
决策一:增量扫描——为什么不全量重扫 直觉做法 最朴素的想法:每次扫描时,遍历所有图片,重新解码、计算 blake3 哈希、计算 aHash、分析元数据,然后写入数据库。 痛点 我的照片库有 10 万+ 张图。全量解码和哈希需要约 8 分钟。如果我只拍了一张新照片,仍然要等 8 分钟才能看到结果。这在用户体验上是不可接受的。 实际做法 我…阅读全文 →
-
从 RBAC 鉴权长成的小型微服务系统:Spring Cloud + 零依赖 JWT + CRM + 审计 + BFF
架构总览 7 个后端服务 + 1 个 Next.js 前端: 服务 端口 职责 eureka-server 8761 服务注册中心 config-server 8888 配置中心 gateway-service 4100 PEP:JWT 校验 + 权限裁决 + 审计旁路 + trace ID auth-se…阅读全文 →
-
从零构建全栈技术知识库平台:Monorepo + Next.js 14 + FastAPI 实践
一套面向中小团队的全栈技术知识库:前端用 Turborepo 管理的 Next.js 14 多应用 Monorepo,后端用 FastAPI 提供文档/内容/鉴权 API,前后端通过 Admin 应用做 BFF 与身份打通。本文所有代码片段均取自真实仓库,可直接对照阅读。 项目背景与定位 做知识库类产品的痛点往往是:内容散落、前端多端重复…阅读全文 →