부록: 용어집과 자가 점검
목표 생태계 강의에 나온 핵심 용어를 스스로 정의하고, 자가 점검 질문으로 이해를 확인한다.
이 챕터에서 나온 핵심 용어를 한곳에 모았습니다. 마지막으로 자가 점검 질문에 스스로 답해 보며 이해를 확인하세요.
1. 핵심 용어집
| 용어 | 뜻 |
|---|---|
| cookiecutter | 틀을 복사하면서 빈칸(이름·설정)을 채워 새 프로젝트를 찍어내는 도구 |
| slug | 이름을 컴퓨터용으로 바꾼 문자열(소문자·언더스코어). 폴더·DB·repo 명에 사용 |
| pip / pip install | 파이썬 코드(패키지)를 설치하는 표준 도구(=파이썬 앱스토어) |
| venv | 프로젝트별 가상환경 = 전용 창고. pip 설치물(Django·core)만 들어감(template 코드는 안 들어감) |
| SSOT (단일 출처) | 원본을 한 곳에만 두어 제각각 어긋나지 않게 하는 원칙 |
| 버전 고정(pinning) | @v0.20.0 처럼 특정 버전을 박아 자동 변경을 막고 예측 가능하게 함 |
| 승격(promote) | 프로젝트 안의 코드를 공통이라 판단해 core 로 끌어올림(PR→승인→태그) |
| DESTRUCTIVE | 되돌리기 어려운 삭제 작업. 반드시 확인 단계를 거침 |
| 런처 디렉토리 | 도구를 실행하는 위치. 결과물은 여기가 아니라 실행 유저의 홈에 생김 |
2. 자가 점검 질문
답을 스스로 말해 보세요. (답은 각 강의의 Q&A 참고)
- standarda 와 standarda-core 의 관계를 한 문장으로? (힌트: 결과물 vs 재료)
- template 은 왜 '복사'하고 core 는 왜 '설치'하나?
{{cookiecutter.project_slug}}는 예시 프로젝트명인가?- template 을 고치면 이미 만든 프로젝트도 바뀌나? 왜?
- Django 는 어느 standarda 폴더에 들어 있나?
- core 코드는 배포 후 실행할 때마다 GitHub 에서 가져오나? (증거는?)
- core 를 자동 업데이트하지 않는 이유는? 그 대가는?
- 새 유틸이 core 에 들어갈지 최종 결정하는 사람은? 애매한 부품은 언제 승격하나?
- changelog 기록은 자동인가?
- devtools 를 별도 repo 로 두는 이유는?
마무리
- 핵심 정리: 핵심 용어(cookiecutter·slug·pip·venv·SSOT·버전 고정·승격 등)와 네 폴더의 관계를 스스로 설명할 수 있으면 이 챕터를 충분히 소화한 것입니다.
- 이것으로 standarda 생태계 챕터를 마칩니다. 이제 프로젝트를 열었을 때 각 폴더가 왜 거기 있는지, 무엇이 도구·재료이고 무엇이 결과물인지 설명할 수 있습니다.