피드로 돌아가기
Dev.toBackend
원문 읽기
Rust 기반 단일 바이너리로 HTTP-DB-Auth 스택을 내장한 Fitz 언어 설계
Presentando Fitz: un lenguaje donde HTTP, Postgres, JWT y WebSockets son parte de la sintaxis
AI 요약
Context
FastAPI 기반 스택에서 발생하는 다수 라이브러리 간 의존성 파편화와 설정 중복 문제 분석. Pydantic-SQLAlchemy 간 타입 불일치 및 런타임 메타데이터 의존으로 인한 타입 안정성 결여를 해결하고자 함.
Technical Solution
- HTTP 라우팅, JWT 인증, Postgres ORM 등 핵심 백엔드 기능을 언어 문법(Syntax) 수준으로 내장한 Compiler-First 설계
- AST(Abstract Syntax Tree) 직접 분석을 통한 OpenAPI 3.1 및 AsyncAPI 자동 생성으로 런타임 인트로스펙션 오버헤드 제거
- @auth_provider와 @authenticated 데코레이터 간의 타입 일치 여부를 컴파일 타임에 검증하는 Static Type Checking 구현
- Rust 기반의 Pure Driver 및 단일 바이너리 컴파일 구조를 통한 외부 의존성(Zero External Deps) 제거 및 배포 단순화
- Argon2id 해싱 및 HS256/384/512 JWT 검증 로직을 표준 라이브러리화하여 보안 설정의 일관성 확보
실천 포인트
- 프레임워크 의존성을 줄이기 위해 핵심 도메인 로직과 인프라 설정의 결합도를 낮추는 설계 검토 - 런타임 검증 대신 컴파일 타임의 AST 분석을 통한 API 문서화 및 타입 검증 자동화 방안 모색 - 다수의 마이크로 라이브러리 조합보다 단일 바이너리 배포 환경을 통한 인프라 복잡도 감소 전략 고려