standarda 생태계: 아키텍처
목표 core·template·devtools·제품(standarda) 네 폴더가 '도구·재료'와 '결과물'로 어떻게 나뉘는지 한 문장으로 설명할 수 있다.
큰 그림을 프랜차이즈(체인점) 사업에 비유해 봅니다. 본사가 여러 매장을 여는 상황입니다.
| 비유 (프랜차이즈) | 폴더 | 역할 |
|---|---|---|
| 매장 표준 설계도 | standarda-template | 새 매장(프로젝트)을 낼 때 복제하는 인테리어·집기 세트 |
| 본사 공용 원재료 | standarda-core | 모든 매장이 똑같이 받아 쓰는 재료(코드). 버전을 붙여 배송 |
| 매장 개·폐점 시공팀 | standarda-devtools | 매장을 열고·정리하고·닫는 일을 대신 해 주는 자동화 도구 |
| 영업 중인 1호점 | standarda | 위 셋으로 만들어진 실제 서비스(제품) |
1. 핵심 구분: 도구·재료 vs 결과물
앞의 셋은 "만드는 데 쓰는 것"(도구·재료)이고, 마지막 standarda 는 그것들로 "만들어진 결과물"입니다. 성격이 근본적으로 다릅니다.
즉 standarda 를 비롯한 여러 제품은 모두 같은 재료·도구로 찍어낸 형제 프로젝트입니다.
2. standarda 도 core·template 과 한 묶음일까?
아닙니다. 이름 앞에 다 standarda 가 붙어 한 집안처럼 보이지만, 계층이 다릅니다.
standarda-core·standarda-template·standarda-devtools(접두어 있음) = 공용 인프라(도구·재료)standarda(접두어 없음) = 그 인프라로 만들어진 제품 하나. 다른 제품들과 형제.
특히 헷갈리는 지점이 하나 있습니다.
standarda폴더 안에는 팀 공용 venv(가상환경)도 함께 얹혀 있어, 팀원들이source ~/standarda/bin/activate로 이 폴더의 venv 를 빌려 씁니다. 이렇게 공용 개발환경 역할까지 겸하다 보니 특별해 보이지만, 프로젝트로서의 정체성은 다른 제품들과 완전히 동등합니다. (venv 가 여기 얹힌 것은 역사적 사정이며, venv 가 무엇인지는 core 편에서 다룹니다.)
마무리
- 핵심 정리: template(표준 양식)·core(공통 기능)·devtools(자동화 도구)는 만드는 도구·재료이고, standarda 는 그것들로 만들어진 결과물(제품)입니다. 접두어
standarda-가 붙으면 공용 인프라, 안 붙으면 제품입니다. - 다음 시간: 네 폴더를 실제로 만들어 내는 실행 도구 devtools(자동화 도구) 부터 봅니다. 프로젝트가 어떻게 만들어지는지, 그 시작점입니다.