<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FastAPI on 撷时录</title><link>https://jiangbyte.github.io/project-tags/fastapi/</link><description>Recent content in FastAPI on 撷时录</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 01 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://jiangbyte.github.io/project-tags/fastapi/index.xml" rel="self" type="application/rss+xml"/><item><title>SparkSandbox</title><link>https://jiangbyte.github.io/projects/sparksandbox/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0800</pubDate><guid>https://jiangbyte.github.io/projects/sparksandbox/</guid><description>&lt;p&gt;&lt;strong&gt;SparkSandbox&lt;/strong&gt; 是 Linux 上的&lt;strong&gt;隔离执行 HTTP 服务&lt;/strong&gt;，不是对外 SDK。任意语言发 HTTP 完成编译与运行，HMAC 验签由调用方实现。响应含 stdout、stderr、资源用量与执行状态；支持多测例、checker、interactive pipeline、文件仓与 SSE。仓内 Python 仅供本仓测试。当前版本 &lt;code&gt;0.1.1&lt;/code&gt;，MIT。&lt;/p&gt;&#10;&lt;p&gt;OJ、在线 IDE、作业评测把「跑用户代码」交给本服务；AC / WA 留在业务侧。&lt;a href="https://github.com/jiangbyte/acoj"&gt;ACOJ&lt;/a&gt; 判题执行即对接此服务。&lt;/p&gt;&#10;&lt;div class="solitude-tag tag-mermaid mermaid"&gt;flowchart TB&#10; client[&amp;#34;OJ / IDE / 作业系统&amp;#34;]&#10; http[&amp;#34;HTTP &amp;#43; HMAC&amp;#34;]&#10; orch[&amp;#34;FastAPI 编排&amp;#34;]&#10; engine[&amp;#34;C&amp;#43;&amp;#43;20 sparksandbox&amp;#34;]&#10; iso[&amp;#34;namespace / cgroup / seccomp&amp;#34;]&#10; client --&amp;gt; http --&amp;gt; orch --&amp;gt; engine --&amp;gt; iso&lt;/div&gt;&#10;&lt;h2 id="特性"&gt;特性&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;双层实现&lt;/strong&gt;：引擎负责隔离与状态分类；编排负责语言表、worker 池、CompileCache、FileStore、多测例并行&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;执行状态&lt;/strong&gt;：&lt;code&gt;succeeded&lt;/code&gt;、&lt;code&gt;compile_failed&lt;/code&gt;、&lt;code&gt;runtime_error&lt;/code&gt;、&lt;code&gt;time_limit_exceeded&lt;/code&gt;、&lt;code&gt;memory_limit_exceeded&lt;/code&gt;、&lt;code&gt;output_limit_exceeded&lt;/code&gt;、&lt;code&gt;security_violation&lt;/code&gt;、&lt;code&gt;internal_error&lt;/code&gt;；&lt;code&gt;stage&lt;/code&gt; 区分 compile / run&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;语言表&lt;/strong&gt;：默认 C11、C++17、Python 3、Java 17、Go、Node.js；镜像另开 Rust 与 SQLite；YAML 可声明 SQL 客户端语言&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;评测形态&lt;/strong&gt;：多测例、checker、interactive、文件仓、SSE&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;容器&lt;/strong&gt;：toolchain base 与 server 分层；&lt;code&gt;--privileged --cgroupns=host&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="solitude-tag tag-mermaid mermaid"&gt;flowchart LR&#10; compile[&amp;#34;compile&amp;#34;]&#10; run[&amp;#34;run&amp;#34;]&#10; ok[&amp;#34;succeeded&amp;#34;]&#10; fail[&amp;#34;compile_failed / runtime_error&amp;#34;]&#10; limit[&amp;#34;TLE / MLE / OLE&amp;#34;]&#10; sec[&amp;#34;security_violation&amp;#34;]&#10; compile --&amp;gt; run&#10; compile --&amp;gt; fail&#10; run --&amp;gt; ok&#10; run --&amp;gt; fail&#10; run --&amp;gt; limit&#10; run --&amp;gt; sec&lt;/div&gt;&#10;&lt;h2 id="技术栈"&gt;技术栈&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;引擎：C++20 · namespaces · cgroup · seccomp&lt;/li&gt;&#10;&lt;li&gt;编排：Python 3.10+ · FastAPI&lt;/li&gt;&#10;&lt;li&gt;交付：Docker 双层镜像&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Voxel</title><link>https://jiangbyte.github.io/projects/voxel/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0800</pubDate><guid>https://jiangbyte.github.io/projects/voxel/</guid><description>&lt;p&gt;&lt;strong&gt;Voxel&lt;/strong&gt; 是一组按同一领域分层重建的全栈脚手架系列：&lt;strong&gt;Portal 与 Admin 独立后端、独立前端&lt;/strong&gt;，目录、坐标与包名统一为 &lt;code&gt;voxel-*&lt;/code&gt; / &lt;code&gt;io.github.jiangbyte.voxel&lt;/code&gt;。后端对齐 Java（Spring Boot）、Python（FastAPI）、Go（Gin）；前端对齐 Vue 3 管理端、React 门户与 uni-app。另有七层纯骨架与带账户竖切的充实模板，供对照学习，不作业务拷贝范本。协议 Apache License 2.0。&lt;/p&gt;&#10;&lt;p&gt;相对「一份单体里切 admin/portal」，端隔离：Admin 只挂管理 API，Portal 只挂门户 API，前端互不引用对方源码。相对单语言脚手架，同一七层在三种运行时对齐。&lt;/p&gt;&#10;&lt;div class="solitude-tag tag-mermaid mermaid"&gt;flowchart TB&#10; subgraph fronts [&amp;#34;前端&amp;#34;]&#10; vue[&amp;#34;voxel-admin Vue3&amp;#34;]&#10; react[&amp;#34;voxel-portal React&amp;#34;]&#10; uniA[&amp;#34;admin-uniapp&amp;#34;]&#10; uniP[&amp;#34;portal-uniapp&amp;#34;]&#10; end&#10; subgraph backends [&amp;#34;后端 · Admin / Portal&amp;#34;]&#10; ja[&amp;#34;Java 8000 / 8001&amp;#34;]&#10; py[&amp;#34;FastAPI 8100 / 8101&amp;#34;]&#10; go[&amp;#34;Gin 8200 / 8201&amp;#34;]&#10; end&#10; subgraph tpls [&amp;#34;模板&amp;#34;]&#10; skel[&amp;#34;ddd-lite-strcut&amp;#34;]&#10; lite[&amp;#34;ddd-lite&amp;#34;]&#10; end&#10; vue --&amp;gt; ja&#10; react --&amp;gt; ja&#10; uniA --&amp;gt; ja&#10; uniP --&amp;gt; ja&#10; vue --&amp;gt; py&#10; react --&amp;gt; py&#10; vue --&amp;gt; go&#10; react --&amp;gt; go&#10; lite -.-&amp;gt; ja&#10; skel -.-&amp;gt; lite&lt;/div&gt;&#10;&lt;h2 id="特性"&gt;特性&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;端分离&lt;/strong&gt;：Admin / Portal 各仓各端口&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;DDD 七层&lt;/strong&gt;：&lt;code&gt;types&lt;/code&gt; · &lt;code&gt;api&lt;/code&gt; · &lt;code&gt;domain&lt;/code&gt; · &lt;code&gt;infrastructure&lt;/code&gt; · &lt;code&gt;case&lt;/code&gt;/&lt;code&gt;cases&lt;/code&gt; · &lt;code&gt;trigger&lt;/code&gt; · &lt;code&gt;app&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;依赖方向&lt;/strong&gt;：Trigger → API → Case → Domain ← Infrastructure&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Java&lt;/strong&gt;：Maven 多模块 &lt;code&gt;{project}-types&lt;/code&gt; … &lt;code&gt;-app&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;FastAPI&lt;/strong&gt;：仓库根扁平包，无 &lt;code&gt;src/&lt;/code&gt; 包装层&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Gin&lt;/strong&gt;：&lt;code&gt;internal/{types,api,domain,infrastructure,cases,trigger}&lt;/code&gt; + &lt;code&gt;cmd/app&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Web / 移动&lt;/strong&gt;：Vue 3、React 19、uni-app 双端&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;模板仓&lt;/strong&gt;：骨架默认注释中间件；充实模板含账户竖切，S3 / Milvus / Spring AI / MCP 注释接入（原 &lt;code&gt;voxel-ddd-ai-lite&lt;/code&gt; 已合并）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="solitude-tag tag-mermaid mermaid"&gt;flowchart TB&#10; trigger[&amp;#34;trigger&amp;#34;]&#10; api[&amp;#34;api&amp;#34;]&#10; cases[&amp;#34;case&amp;#34;]&#10; domain[&amp;#34;domain&amp;#34;]&#10; infra[&amp;#34;infrastructure&amp;#34;]&#10; types[&amp;#34;types&amp;#34;]&#10; app[&amp;#34;app&amp;#34;]&#10; trigger --&amp;gt; api --&amp;gt; cases --&amp;gt; domain&#10; infra --&amp;gt; domain&#10; app --&amp;gt; trigger&#10; app --&amp;gt; infra&#10; types -.-&amp;gt; trigger&lt;/div&gt;&#10;&lt;h2 id="技术栈"&gt;技术栈&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;后端：JDK 21 · Python 3.11+ · Go 1.25+&lt;/li&gt;&#10;&lt;li&gt;前端：Vue 3 · React 19 · uni-app&lt;/li&gt;&#10;&lt;li&gt;协议：OpenAPI / Apifox（&lt;code&gt;docs/api/openapi&lt;/code&gt;）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="系列仓库"&gt;系列仓库&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;后端&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>