#철학 - Opinionated Core, Flexible Edges
버전: 0.43.0 최종 업데이트: 2026-04-03 적용 대상: ranvier (모든 크레이트) 카테고리: 철학과 아키텍처
Ranvier는 내부 아키텍처에서는 Transition/Outcome/Bus/Schematic 패러다임을 일관되게 사용하지만, 경계에서는 Tower, actix, Axum 같은 Rust 생태계 도구와 자유롭게 통합할 수 있습니다.
정적 자산도 같은 원칙을 따릅니다. serve_dir()와 spa_fallback()으로 API와 빌드된 프론트엔드를 같은 프로세스에서 함께 제공할 수 있지만, 순수 정적 호스팅이나 CDN 중심 자산 배포는 표준 서버나 CDN에 맡기는 편이 더 적합합니다.
#핵심 문서
#핵심 패러다임
네 가지 기본 개념을 이해하세요: Transition, Outcome, Bus, Schematic - Ranvier를 Ranvier답게 만드는 구성 요소입니다.
#왜 Opinionated Core인가?
Ranvier가 정체성, 학습 곡선, 일관성을 위해 Transition/Outcome/Bus/Schematic을 강제하는 이유를 알아보세요.
#왜 Flexible Edges인가?
생태계 통합, 점진적 마이그레이션, 사용자 자율성을 위해 Ranvier가 경계에서 Rust 생태계를 어떻게 수용하는지 살펴보세요.
#경계 맵
코어가 끝나고 확장 지점이 시작되는 경계를 확인하세요. Ranvier 패러다임을 써야 하는 부분과 생태계 도구를 활용해도 되는 부분을 구분할 수 있습니다.
#의사결정 프레임워크
특정 사용 사례에 대해 Ranvier 방식, 생태계 방식, 또는 하이브리드 접근 방식 중 선택하기 위한 의사결정 트리를 따르세요.
#코드 예제
실제 패턴을 살펴보세요: 순수 Ranvier 인증, Tower 통합, 하이브리드 접근 방식, 이커머스 워크플로우.
#요약
| 접근 방식 | 권장 상황 |
|---|---|
| Opinionated Core | 비즈니스 로직 - Ranvier 방식 (Transition 기반, 시각화 가능) |
| Flexible Edges | 인프라(CORS, 인증, DB, 정적 자산 전달) - 자유 선택 (Tower, 생태계 라이브러리, 표준 서버/CDN) |
| 확신이 없을 때 | Ranvier 방식으로 시작하세요. 한계에 부딪히면 생태계 도구를 통합하세요. |
#실전 적용 가이드
| 시나리오 | 권장 사항 |
|---|---|
| 복잡한 워크플로우 | Ranvier의 진가가 드러나는 영역 (다단계, 상태 머신) |
| 단순 CRUD | 생태계 도구만으로도 충분 |
| 기존 Tower 앱 | 하이브리드 (Tower 유지, 새 기능에 Ranvier 추가) |
| 신규 프로젝트 | 순수 Ranvier (전체 시각화, 단일 학습 경로) |
이 철학은 프로덕션 경험을 통해 발전했습니다. 상세한 아키텍처 결정은 DESIGN_PRINCIPLES.md를 참조하세요.