언제 쓰나
배우고 싶은 건 정해졌는데 어디서부터 얼마나 해야 할지 모를 때, 또는 계획은 세웠지만 늘 2주 차에 무너질 때 씁니다. 가진 시간을 먼저 계산하고 목표를 거기에 맞추기 때문에, 처음부터 지킬 수 없는 계획이 나오는 것을 막습니다.
사용법
{goal}에 목표를 적습니다. 구체적일수록 좋습니다. (예:React 로 개인 프로젝트 하나 배포하기,정보처리기사 필기 합격){deadline}에 기한을 적습니다. (예:10주 뒤 (2026-10-11)){hoursPerDay}에 현실적으로 낼 수 있는 시간을 적습니다. 이상적인 시간이 아니라 평소에 실제로 낸 시간을 적어야 계획이 맞습니다. (예:평일 1시간, 주말 3시간){level}에 지금 수준을 적습니다. (예:HTML/CSS 는 되고 JS 는 문법만 앎)- 2단계에서 "시간이 부족하다"는 진단이 나오면 그 조정안을 받아들이세요. 무시하고 원안대로 요청하면 계획이 아니라 희망이 됩니다.
사용 예시
입력
목표: React 로 개인 프로젝트 하나 만들어 배포하기
기한: 8주 뒤
하루 가용 시간: 평일 1시간, 주말 2시간
현재 수준: HTML/CSS 가능, JavaScript 는 문법만 알고 비동기는 모름
출력 (요약)
목표 재정의
8주 뒤에 '외부 API 를 호출해 목록과 상세를 보여 주는 React 앱을 배포하고
URL 을 공유할 수 있다'로 두겠습니다.
현실 점검
주당 9시간 × 8주 = 약 72시간. 비동기 학습이 필요한 상태이므로 빠듯합니다.
로그인·데이터베이스는 이번 범위에서 빼는 것을 권합니다.
주차 계획 (발췌)
| 주 | 학습 내용 | 산출물 | 점검 질문 |
|---|---|---|---|
| 1 | JS 비동기 — Promise, async/await, fetch | 공개 API 목록을 콘솔에 찍는 스크립트 | await 없이 쓰면 무엇이 반환되나? |
| 2 | React 기본 — 컴포넌트, props, state | 정적 목록 화면 | state 를 직접 수정하면 왜 안 되나? |
| 3 | 데이터 연결 — useEffect, 로딩·에러 처리 | API 로 채운 목록 화면 | 요청 실패 시 화면은 어떻게 되나? |
| 7 | 배포 | 공유 가능한 URL | 처음 접속하는 사람이 볼 화면은? |
| 8 | 여유·복습 | 버그 수정, README | — |
밀렸을 때
가장 먼저 버릴 것: 디자인 다듬기, 반응형.
절대 안 버릴 것: 3주 차 데이터 연결, 7주 차 배포.
2주 이상 밀리면 화면 수를 3개에서 1개로 줄여 배포부터 완료하세요.
팁
- 한 주가 끝날 때마다 "1주 차 산출물은 여기까지 했고 이건 못 했다"라고 알려 주면 남은 주차를 다시 배치받을 수 있습니다.
- 점검 질문에 답이 막히면 그 주는 넘어가지 말고, 그 개념만 따로 개념 학습 프롬프트로 파고드는 편이 빠릅니다.
- 시험 대비라면
{goal}에 기출 회차와 목표 점수를 함께 적으세요. 분해 단위가 단원 대신 출제 비중 순으로 잡힙니다.