7주차: 실습 - 분해와 패턴 인식 연습

개요

지난 주 복습: Agent와 대화하는 법 배움

지난 6주차에서 우리는 GitHub Copilot Agent와 효과적으로 대화하는 방법을 배웠습니다. 명확하고 구체적으로 요청하기, 목적을 먼저 말하기, 맥락 제공하기, 한 번에 하나씩 요청하기 같은 핵심 원칙들을 익혔습니다.

또한 프롬프트 엔지니어링의 기초도 학습했습니다. 좋은 프롬프트는 문제 정의, 예상 결과 명시, 제약 조건이라는 3요소를 포함한다는 것을 배웠죠. 그리고 Agent의 응답이 만족스럽지 않을 때 어떻게 개선을 요청할지, 반복적 대화를 통해 점차 원하는 결과에 가까워지는 방법도 익혔습니다.

이제 우리는 사고하는 법(4대 원리)과 전달하는 법(Agent와의 대화)을 모두 배웠습니다. 하지만 아직 책으로 만 알고 있을 뿐이죠.

이번 주: 이론에서 실천으로

지금까지 배운 컴퓨팅 사고의 원리들을 이제 본격적으로 실습할 시간입니다. 이번 주는 4대 원리 중 처음 두 가지인 분해패턴 인식에 집중합니다. 이론으로 배운 것과 실제로 적용하는 것은 큰 차이가 있습니다. 직접 해보면서 체득하는 시간이 될 것입니다.

분해는 복잡한 문제를 작고 다루기 쉬운 조각으로 나누는 기술입니다. 패턴 인식은 그 조각들 속에서 반복되는 규칙이나 유사성을 찾아내는 능력입니다. 이 두 가지를 잘 활용하면 어떤 복잡한 문제도 해결의 실마리를 찾을 수 있습니다.

오늘 실습에서는 실생활의 구체적인 예제들을 다룹니다. 아침 준비 루틴처럼 매일 하는 일부터 가계부 데이터 정리까지, 여러분이 실제로 마주하는 문제들입니다. 이런 친숙한 예제로 시작하면 개념이 훨씬 쉽게 와닿을 것입니다.

이번 주차가 끝나면 여러분은:

  • 복잡한 문제를 효과적으로 분해할 수 있습니다
  • 데이터나 과정에서 패턴을 발견할 수 있습니다
  • 분해와 패턴 인식을 GitHub Copilot에게 전달할 수 있습니다
  • 다양한 상황에서 이 원리들을 응용할 수 있습니다

실습 중심이므로 많이 시도하고 경험하는 것이 중요합니다. 틀려도 괜찮습니다. 시행착오 자체가 배움입니다.

이번 주 실습의 구조

이번 실습은 단계적으로 진행됩니다:

1부: 분해 연습하기

  • 일상의 익숙한 활동들을 단계별로 나누어봅니다
  • 좋은 분해와 나쁜 분해를 비교하며 기준을 배웁니다
  • 실제로 여러분의 루틴을 분해해보는 과제를 합니다

2부: 패턴 찾기

  • 가계부, 할 일 목록 같은 실제 데이터에서 규칙을 발견합니다
  • 시간, 공간, 구조, 행동 패턴을 구분하는 법을 배웁니다
  • 발견한 패턴을 어떻게 활용할지 생각해봅니다

3부: GitHub Copilot에게 전달하기

  • 분해한 내용을 프롬프트로 작성하는 법을 배웁니다
  • 패턴을 기능 요청으로 바꾸는 연습을 합니다
  • 효과적인 프롬프트 템플릿을 익힙니다

실습하는 방법

각 예제를 볼 때는 이렇게 해보세요:

  1. 먼저 스스로 생각하기 - 예시를 보기 전에 어떻게 할지 종이에 적어보세요
  2. 예시와 비교하기 - 여러분의 방법과 예시가 어떻게 다른지 살펴보세요
  3. 왜 그렇게 했는지 이해하기 - 예시의 선택에는 이유가 있습니다
  4. 직접 적용하기 - 비슷한 다른 주제로 연습해보세요

틀려도 괜찮습니다. 중요한 것은 "왜 이렇게 나눴지?", "이 패턴이 의미 있는 걸까?"라고 계속 질문하는 것입니다.

준비되셨나요? 그럼 첫 번째 실습부터 시작해봅시다!

일상 문제를 작은 단계로 나누기

분해의 실전 적용

분해는 "큰 문제를 작은 문제로"라는 간단한 원리지만, 실제로 적용하려면 연습이 필요합니다. 처음에는 어디서 나눌지, 얼마나 작게 나눌지 막막하게 느껴질 수 있습니다. 하지만 걱정하지 마세요. 여러분은 이미 일상에서 이런 방식으로 생각하고 있습니다. 다만 의식하지 못했을 뿐이죠.

예를 들어, "저녁 준비"라는 큰 일을 떠올려보세요. 여러분은 자연스럽게 "무엇을 먹을지 정하기", "재료 준비하기", "요리하기", "설거지하기"로 나눠서 생각합니다. 이것이 바로 분해입니다. 이제 이 자연스러운 능력을 좀 더 체계적으로 사용하는 법을 배울 것입니다.

어떤 분해가 좋은 분해일까요? 네 가지 기준을 기억하면 됩니다. 각 부분이 서로 겹치지 않고 독립적이어야 하고(독립성), 모든 부분을 합치면 전체가 되어야 하며(완결성), 각 부분이 너무 크지도 작지도 않아야 하고(적절한 크기), 이름만 봐도 무엇을 하는지 알 수 있어야 합니다(명확성). 복잡하게 들리나요? 예제를 보면 금방 이해가 될 것입니다.

실습 1: 아침 준비 루틴 분해하기

아침에 일어나서 출근하기까지의 과정을 분해해봅시다. 단순해 보이지만, 막상 단계로 나누려면 "어디까지 나눠야 하지?"라는 고민이 생깁니다. 이것이 자연스러운 반응입니다. 완벽한 분해는 없으니까요. 상황과 목적에 따라 다르게 나눌 수 있습니다.

먼저 여러분이 해보세요

예시를 보기 전에, 잠깐 시간을 내어 여러분의 아침 루틴을 종이나 메모장에 적어보세요. 알람이 울린 후 무엇을 하시나요? 몇 단계로 나눌 수 있을까요? 어떤 순서로 하시나요? 5분 정도만 투자해보세요. 정답을 찾으려고 하지 마세요. 여러분만의 방식으로 나누면 됩니다. 나중에 예시와 비교하면서 "아, 이렇게도 나눌 수 있구나"라는 깨달음을 얻는 것이 중요합니다.


이제 함께 단계별로 분해해봅시다.

1단계: 전체 과정 파악하기

먼저 큰 그림을 봅니다. 무엇을 시작점으로 하고, 무엇을 끝점으로 할지 명확히 정하는 것입니다.

목표: 아침에 일어나서 제시간에 출근 준비 완료하기
시작: 알람 소리
끝: 현관문을 나섬

목표를 이렇게 명확히 하면 어디서 시작하고 끝나는지가 분명해집니다. "준비"라는 막연한 표현보다 "현관문을 나설 때까지"라고 하면 훨씬 구체적이죠.

2단계: 주요 활동 나열하기

이제 큰 덩어리로 나눕니다. 너무 세세하게 들어가지 않고, 주요 카테고리만 생각합니다.

  1. 기상 및 몸 깨우기
  2. 씻기
  3. 옷 입기
  4. 아침 식사
  5. 준비물 챙기기
  6. 외출 준비

보시다시피 6개의 큰 활동으로 나눴습니다. 사람마다 다를 수 있습니다. 어떤 분은 "운동하기"를 추가할 수도 있고, 어떤 분은 아침을 안 먹어서 4번을 생략할 수도 있습니다. 그게 자연스럽습니다. 여러분의 루틴에 맞게 나누면 됩니다.

3단계: 각 활동을 세부 단계로 분해하기

더 구체적으로 나눕니다.

기상 및 몸 깨우기:

  • 알람 끄기
  • 침대에서 일어나기
  • 스트레칭하기
  • 커튼 열어 햇빛 받기

씻기:

  • 화장실 가기
  • 세수하기
  • 양치하기
  • 샤워하기 (선택)

옷 입기:

  • 오늘 입을 옷 고르기
  • 속옷 입기
  • 겉옷 입기
  • 신발 신기 (외출 직전)

아침 식사:

  • 메뉴 정하기
  • 음식 준비하기 (또는 데우기)
  • 먹기
  • 설거지하기

준비물 챙기기:

  • 가방 확인
  • 지갑, 휴대폰, 열쇠 챙기기
  • 필요한 서류나 물건 챙기기

외출 준비:

  • 가스, 전등 확인
  • 창문 잠금 확인
  • 현관문 잠그기

4단계: GitHub Copilot에게 전달하기

이제 이 분해를 활용하여 아침 루틴 체크리스트 앱을 만들어달라고 요청할 수 있습니다.

GitHub Copilot에게:

"아침 준비 체크리스트 앱을 만들고 싶습니다.

6개의 카테고리가 있습니다:
1. 기상 (알람 끄기, 일어나기, 스트레칭, 커튼 열기)
2. 씻기 (화장실, 세수, 양치, 샤워)
3. 옷 입기 (옷 고르기, 입기)
4. 아침 식사 (준비하기, 먹기, 설거지)
5. 준비물 (가방, 지갑, 휴대폰, 열쇠)
6. 외출 준비 (가스/전등 확인, 창문, 현관문)

각 항목을 체크할 수 있고, 카테고리별로 진행 상황을 
볼 수 있으면 좋겠습니다."

// 이미지로 교체되어야 함 : 아침 준비 루틴을 계층적으로 분해한 트리 다이어그램. 최상위 '아침 준비'에서 6개 카테고리로, 각 카테고리에서 세부 활동으로 가지치기 프롬프트: A hierarchical tree diagram showing morning routine decomposition. Top level 'Morning Routine' branches into 6 categories (Wake up, Wash, Dress, Breakfast, Pack, Leave), each category further branches into specific tasks. Clean, organized visual hierarchy

왜 이렇게 분해했을까요?

위의 분해를 보면서 여러분은 어떤 생각이 드시나요? "나는 이렇게 안 나눴는데..."라고 생각하셨을 수도 있습니다. 그래도 괜찮습니다. 중요한 것은 여러분의 방식과 이 예시를 비교하면서 "왜 이렇게 나눴을까?"를 생각해보는 것입니다.

이 분해에는 몇 가지 원칙이 녹아 있습니다. 각 카테고리는 서로 겹치지 않습니다. "씻기"와 "옷 입기"는 명확히 다른 활동이죠. 물론 순서는 있습니다(옷 입기 전에 씻기). 하지만 각각이 독립적인 활동이라는 것이 중요합니다. 이것이 독립성입니다.

그리고 모든 카테고리를 완료하면 출근 준비가 끝납니다. 빠진 부분이 없습니다. 이것이 완결성입니다. 만약 "가방 챙기기"를 빠뜨렸다면? 현관문을 나서서 "어, 가방!"하고 돌아와야겠죠.

"양치하기"는 한 단계로 충분합니다. 이것을 "칫솔에 치약 짜기", "치아 앞면 닦기", "치아 뒷면 닦기"로 나누면 어떨까요? 너무 세세합니다. 우리의 목적은 아침 루틴 체크리스트를 만드는 것이지, 양치 교육 자료를 만드는 것이 아니니까요. 이것이 적절한 크기입니다.

마지막으로, "씻기"라는 단어만 봐도 무엇을 하는지 알 수 있습니다. "준비 1", "준비 2" 같은 이름보다 훨씬 명확하죠. 이것이 명확성입니다.

다른 방법은 없을까요?

당연히 있습니다! 분해에 정답은 없습니다. 여러분은 이렇게 나눴을 수도 있습니다:

방법 2: 시간 순서대로
- 6:00 - 기상 및 씻기
- 6:30 - 옷 입고 아침 먹기
- 7:00 - 준비물 챙기고 나가기

이것도 좋은 분해입니다! 시간을 기준으로 나눈 것이죠. 어떤 방법을 선택할지는 목적에 달려 있습니다. 체크리스트 앱을 만든다면 활동 기준 분해가 좋습니다. 시간 관리 앱을 만든다면 시간 기준 분해가 낫겠죠. 준비물 확인 앱이라면 장소 기준으로 나눌 수도 있습니다(침실에서 할 일, 화장실에서 할 일, 부엌에서 할 일, 현관에서 할 일).

분해는 도구입니다. 망치로 못도 박고 나사도 박을 수는 없듯이, 목적에 맞는 분해 방식을 선택해야 합니다. 하나의 정답을 찾으려고 하지 마세요. 여러분의 상황에 맞는 방식을 찾는 것이 중요합니다.

실습 과제 1: 여러분의 루틴 분해하기

이제 여러분 차례입니다. 다음 중 하나를 선택하여 분해해보세요:

선택 1: 저녁 루틴 퇴근하거나 하교한 후부터 잠들기까지의 과정을 분해해보세요. 평일 저녁은 어떤 활동들로 채워지나요? 2-3단계 계층으로 나누어 주요 카테고리와 세부 활동을 구분해보세요.

선택 2: 주말 아침 평일과는 다른 여러분만의 주말 아침 루틴을 생각해보세요. 어떤 점이 평일과 다른가요? 좀 더 여유롭게 하는 활동이 있나요? 그것들을 포함하여 분해해보세요.

선택 3: 운동 루틴 운동을 시작해서 마무리하기까지의 과정을 나눠보세요. 준비 운동, 본 운동, 정리 운동으로 크게 나눈 다음, 각 단계의 세부 활동을 작성해보세요.

체크리스트로 확인하세요:

  • ✅ 2-3단계 계층으로 나눴나요?
  • ✅ 각 단계가 서로 독립적인가요?
  • ✅ 빠진 부분은 없나요?
  • ✅ 너무 세세하거나 너무 크진 않나요?
  • ✅ 단계 이름이 명확한가요?

5-10분 정도 시간을 들여 종이나 메모장에 작성해보세요. 완벽하지 않아도 됩니다. 나중에 수정할 수 있으니까요. 중요한 것은 직접 해보는 것입니다. 머릿속으로만 생각하는 것과 종이에 적어보는 것은 완전히 다른 경험입니다.

실습 2: 온라인 쇼핑 과정 분해하기

이번에는 좀 더 복잡한 과정을 분해해봅시다. 온라인 쇼핑은 단순해 보이지만, 실제로는 여러 결정과 확인 과정이 숨어 있습니다.

잠깐, 먼저 생각해보세요: 여러분은 온라인 쇼핑을 어떻게 하시나요? "상품 검색" 후 바로 "구매"하시나요? 아니면 그 사이에 여러 단계가 있나요? 한번 떠올려보세요.

전체 목표:

온라인으로 옷을 사서 받기까지

1차 분해 (큰 단계):

  1. 쇼핑 준비
  2. 상품 검색 및 선택
  3. 주문하기
  4. 결제하기
  5. 배송 추적
  6. 상품 수령
  7. 확인 및 리뷰

이렇게 7단계로 나눴습니다. 아침 루틴보다 단계가 많네요. 왜일까요? 온라인 쇼핑이 더 복잡하기 때문입니다. 준비부터 리뷰 작성까지, 생각보다 많은 일이 일어납니다.

2차 분해 (세부 단계):

쇼핑 준비:

  • 무엇을 살지 결정
  • 예산 설정
  • 쇼핑몰 선택

상품 검색 및 선택:

  • 검색어 입력
  • 필터 설정 (가격, 브랜드, 색상 등)
  • 상품 목록 보기
  • 상세 페이지 확인
  • 리뷰 읽기
  • 여러 상품 비교
  • 최종 상품 선택
  • 장바구니 담기

주문하기:

  • 장바구니 확인
  • 배송지 입력
  • 배송 방법 선택
  • 쿠폰/할인 적용

결제하기:

  • 결제 수단 선택
  • 결제 정보 입력
  • 최종 금액 확인
  • 결제 완료

배송 추적:

  • 주문 확인 메일 확인
  • 송장 번호 확인
  • 배송 현황 조회

상품 수령:

  • 배송 도착 확인
  • 포장 개봉
  • 상품 확인

확인 및 리뷰:

  • 주문한 상품이 맞는지 확인
  • 불량 여부 확인
  • 만족하면 리뷰 작성
  • 문제 있으면 교환/환불 신청

GitHub Copilot 활용:

"온라인 쇼핑 과정을 안내하는 체크리스트를 만들고 싶습니다.

7단계로 구성됩니다:
1. 준비 (무엇을 살지, 예산)
2. 검색 (필터, 비교, 선택)
3. 주문 (배송지, 배송 방법)
4. 결제 (결제 수단, 확인)
5. 추적 (송장, 배송 현황)
6. 수령 (확인, 개봉)
7. 리뷰 (만족도, 후기)

각 단계의 세부 항목을 체크할 수 있고,
현재 어느 단계인지 표시되면 좋겠습니다."

분해 연습 과제

다음 주제들을 여러분이 직접 분해해보세요. 각 주제마다 예시 분해를 제공하니, 먼저 스스로 해본 후 비교해보세요.

과제 1: 운동 루틴 계획하기

과제 1: 운동 루틴 계획하기

운동을 시작하기로 결심했다고 상상해보세요. 막연히 "운동해야지"라고 생각하는 것과, 구체적인 단계로 나눠서 생각하는 것은 완전히 다릅니다. 어떤 단계들이 필요할까요? 예시를 보기 전에 5분 정도 시간을 내어 종이에 적어보세요. 처음부터 완벽할 필요는 없습니다.

예시 분해:

목표: 규칙적인 운동 습관 만들기

1단계: 준비 단계
- 운동 목표 정하기 (체중 감량, 근력 강화, 건강 유지 등)
- 현재 체력 수준 파악하기
- 운동 장소 선택하기 (집, 헬스장, 야외)
- 필요한 장비 준비하기

2단계: 계획 수립
- 주당 운동 일수 정하기 (예: 주 3회)
- 운동 시간대 정하기 (아침/저녁)
- 운동 종류 선택하기
  - 유산소 (달리기, 자전거)
  - 근력 (웨이트, 맨몸 운동)
  - 유연성 (스트레칭, 요가)
- 주차별 목표 설정 (점진적 증가)

3단계: 실행
- 워밍업 (5-10분)
  - 가벼운 스트레칭
  - 몸풀기 운동
- 본 운동 (30-40분)
  - 계획한 운동 실행
  - 강도 조절
  - 휴식 시간 조절
- 쿨다운 (5-10분)
  - 스트레칭
  - 호흡 정리

4단계: 기록 및 평가
- 운동 내용 기록
  - 날짜, 시간
  - 운동 종류
  - 세트, 횟수, 무게
  - 소요 시간
- 체감 강도 평가 (1-10점)
- 다음 운동 시 조정 계획

5단계: 지속 및 개선
- 주간 진행 상황 점검
- 목표 대비 실행률 확인
- 어려운 점 파악 및 해결
- 운동 계획 수정 (필요시)

보시다시피 5단계로 나눴습니다. 준비, 계획, 실행, 평가, 개선이라는 흐름이 보이시나요? 이것은 비단 운동뿐 아니라 많은 활동에 적용되는 패턴입니다. 새로운 것을 시작할 때는 대부분 이런 흐름을 따릅니다.

특히 주목할 점은 "실행" 단계가 워밍업, 본 운동, 쿨다운으로 세분화되어 있다는 것입니다. 많은 초보자들이 워밍업과 쿨다운을 건너뛰는데, 이것들을 분해 과정에 명시적으로 포함시키면 잊지 않고 실행하게 됩니다. 이것이 분해의 힘입니다.


**이 분해를 GitHub Copilot Agent에게:**

@workspace 운동 루틴 관리 앱을 만들어주세요.

[분해] 5단계로 구성:

  1. 준비: 목표, 체력 수준, 장소, 장비
  2. 계획: 주간 일정, 시간대, 운동 종류, 목표
  3. 실행: 워밍업 → 본 운동 → 쿨다운
  4. 기록: 날짜, 운동 종류, 세트/횟수, 강도
  5. 평가: 주간 진행 상황, 실행률, 개선점

[기능]

  • 운동 전: 오늘 할 운동 보여주기
  • 운동 중: 타이머, 휴식 시간 알림
  • 운동 후: 간단히 기록 (세트, 횟수)
  • 주말: 한 주 운동 요약

필요한 파일들을 만들고 서로 연결해주세요.


**Agent 모드 활용 팁:**

이런 복잡한 앱은 Agent 모드가 특히 유용합니다:
- `@workspace`를 사용하면 Agent가 전체 구조를 이해하고 여러 파일을 만듭니다
- 데이터 저장, UI, 로직이 분리된 구조로 자동 생성합니다
- 각 기능을 모듈화하여 나중에 수정하기 쉽게 만듭니다

Agent가 계획을 제시하면, 확인 후 진행하세요!

**과제 2: 휴가 계획 세우기**

먼저 여러분이 직접 해보세요 (5분):
- 여행을 가기로 했습니다
- 어떤 준비가 필요할까요?

**예시 분해:**

목표: 즐겁고 안전한 여행 다녀오기

1단계: 기획

  • 여행 목적 정하기 (휴식, 관광, 체험 등)
  • 동행자 정하기
  • 예산 설정
  • 기간 정하기 (3일, 1주일 등)
  • 시기 선택 (계절, 휴가 기간)

2단계: 목적지 선택

  • 후보 장소 리스트업
    • 국내/해외
    • 거리, 비용 고려
    • 관심 명소 확인
  • 정보 수집
    • 날씨 확인
    • 치안 상황
    • 현지 축제나 이벤트
  • 최종 목적지 결정
  • 대략적인 일정 구상

3단계: 예약

  • 교통편 예약
    • 항공권/기차표 검색
    • 가격 비교
    • 최적의 시간대 선택
    • 예약 및 확인
  • 숙소 예약
    • 위치 선정 (역세권, 관광지 근처)
    • 가격과 리뷰 확인
    • 예약 및 확인 메일 저장
  • 투어/티켓 예약 (필요시)
    • 인기 명소 사전 예약
    • 투어 프로그램 검색 및 예약

4단계: 준비

  • 여행 일정 상세화
    • 매일 방문할 장소
    • 식사 계획
    • 이동 경로
  • 짐 싸기
    • 의류 (날씨 고려)
    • 세면도구
    • 전자기기 (충전기, 어댑터)
    • 약품 (상비약)
    • 여행 서류 (여권, 예약 확인서)
  • 출발 전 점검
    • 집 정리 (가스, 전등, 문단속)
    • 반려동물/식물 위탁
    • 우편물 정지 (장기 여행 시)

5단계: 여행 중 관리

  • 일정 실행
  • 경비 관리
    • 지출 기록
    • 예산 대비 확인
  • 사진/기록
  • 유연한 계획 조정

6단계: 여행 후 정리

  • 짐 정리
  • 사진 정리
  • 경비 정산
  • 여행 후기 작성
  • 다음 여행 아이디어 메모

**이 분해를 GitHub Copilot Agent에게:**

@workspace 여행 계획 앱을 만들어주세요.

[분해] 6단계 구성:

  1. 기획: 목적, 동행자, 예산, 기간, 시기
  2. 목적지: 후보지, 정보 수집, 결정
  3. 예약: 교통편, 숙소, 투어
  4. 준비: 상세 일정, 짐, 점검
  5. 여행 중: 일정 실행, 경비 관리
  6. 후처리: 정리, 정산, 후기

[기능]

  • 체크리스트: 각 단계별 할 일 체크
  • 예약 정보: 항공권, 숙소 정보 한곳에
  • 일정표: 날짜별 계획
  • 경비: 예산 vs 실제 지출
  • 짐 목록: 카테고리별 체크리스트

각 기능별로 파일을 나누어 만들어주세요.


**Agent 모드의 장점:**

이렇게 여러 기능이 있는 앱은:
- Agent가 각 기능을 별도 모듈로 분리합니다
- 체크리스트 모듈, 예약 관리 모듈, 경비 모듈 등으로 구조화
- 나중에 한 기능만 수정해도 다른 부분에 영향 없음
- "@workspace 예약 정보 기능만 수정해줘" 같은 요청도 가능

**과제 3: 블로그 글 작성하기**

먼저 여러분이 직접 해보세요 (5분):
- 블로그에 글을 쓰려고 합니다
- 어떤 과정이 필요할까요?

**예시 분해:**

목표: 독자에게 유용한 글 작성 및 발행

1단계: 주제 선정

  • 아이디어 수집
    • 최근 경험
    • 독자 질문이나 요청
    • 트렌드나 이슈
    • 이전에 메모한 주제 목록
  • 주제 평가
    • 내가 잘 쓸 수 있는가?
    • 독자에게 유용한가?
    • 이미 많이 다뤄진 주제인가?
    • 나만의 관점이 있는가?
  • 최종 주제 결정
  • 글의 목적 명확히 하기 (정보 전달, 경험 공유, 의견 제시 등)

2단계: 리서치 및 자료 수집

  • 배경 지식 정리
    • 이미 알고 있는 내용 정리
    • 부족한 부분 파악
  • 추가 조사
    • 관련 자료 검색
    • 다른 블로그, 기사 참고
    • 통계나 사실 확인
  • 예시 수집
    • 사진, 그래프, 인용구
    • 실제 경험이나 사례
  • 자료 정리
    • 출처 기록
    • 핵심 포인트 메모

3단계: 구조 잡기

  • 개요 작성
    • 도입: 독자의 관심 끌기
    • 본문: 핵심 내용 (2-3개 소주제)
    • 결론: 요약 및 마무리
  • 각 부분에 들어갈 내용 정리
    • 소주제별 핵심 메시지
    • 사용할 예시나 자료
    • 논리적 흐름 확인
  • 예상 분량 조정
    • 너무 길면 나누기
    • 너무 짧으면 내용 보강

4단계: 초고 작성

  • 빠르게 쓰기
    • 완벽하게 쓰려고 하지 않기
    • 생각나는 대로 작성
    • 흐름 끊지 않기
  • 내용 채우기
    • 각 소주제 설명
    • 예시 삽입
    • 필요한 곳에 이미지 표시
  • 전체적인 흐름 점검
    • 논리적으로 연결되는가?
    • 핵심 메시지가 전달되는가?

5단계: 다듬기

  • 1차 퇴고: 구조와 내용
    • 불필요한 문단 삭제
    • 부족한 설명 보충
    • 예시가 적절한지 확인
    • 논리적 비약 수정
  • 2차 퇴고: 문장과 표현
    • 읽기 편하게 문장 다듬기
    • 어려운 용어 쉬운 말로
    • 반복되는 표현 수정
    • 맞춤법, 띄어쓰기 확인
  • 시각적 요소 추가
    • 이미지 삽입 및 캡션
    • 중요 부분 볼드 처리
    • 목록이나 표 활용
    • 문단 나누기로 가독성 향상

6단계: 최종 확인 및 발행

  • 전체 읽어보기
    • 독자 입장에서 읽기
    • 이해하기 어려운 부분 수정
    • 오타나 실수 마지막 확인
  • 메타 정보 작성
    • 제목: 핵심을 담고 흥미롭게
    • 요약문: 간결하게 글 소개
    • 태그: 검색될 키워드 선택
  • 발행 설정
    • 카테고리 선택
    • 공개/비공개 설정
    • 발행 시간 예약 (선택)
  • 발행 후 점검
    • 글이 제대로 보이는지 확인
    • 링크나 이미지 정상 작동 확인
    • 오류 발견 시 즉시 수정

7단계: 사후 관리

  • 댓글 확인 및 답글
  • 독자 피드백 수집
  • 통계 확인 (조회수, 체류 시간)
  • 다음 글 아이디어 메모

**이 분해를 GitHub Copilot에게:**

블로그 글 작성 관리 앱을 만들어주세요.

[분해] 7단계 구성:

  1. 주제 선정: 아이디어, 평가, 결정
  2. 리서치: 조사, 자료 수집, 정리
  3. 구조: 개요, 소주제, 흐름
  4. 초고: 빠르게 작성
  5. 다듬기: 1차 (내용), 2차 (문장), 시각 요소
  6. 발행: 최종 확인, 메타 정보, 발행
  7. 사후: 댓글, 피드백, 통계

[기능]

  • 아이디어 메모장: 떠오르는 주제 바로 저장
  • 자료 관리: 링크, 이미지, 인용구 정리
  • 작성 진행률: 현재 어느 단계인지 표시
  • 퇴고 체크리스트: 확인해야 할 항목들
  • 발행 전 점검: 제목, 태그, 이미지 최종 확인

### 분해 실습에서 배운 점

세 가지 예제를 보면서 무엇을 발견했나요? 어쩌면 처음에 여러분이 생각했던 것과 많이 달라서 당황하셨을 수도 있습니다. 혹은 "아, 나도 비슷하게 생각했는데!"라며 뿌듯함을 느끼셨을 수도 있습니다. 어떤 반응이든 괜찮습니다. 중요한 것은 이 과정에서 배우는 것입니다.

**같은 원리, 다른 적용**

흥미로운 사실을 발견하셨나요? 운동, 여행, 글쓰기는 완전히 다른 활동입니다. 하나는 몸을 쓰는 것이고, 하나는 여가 활동이고, 하나는 창작 활동입니다. 하지만 분해 방식을 보면 비슷한 패턴이 보입니다. 준비 단계가 있고, 계획 단계가 있고, 실행 단계가 있고, 평가나 정리 단계가 있습니다.

이것은 우연이 아닙니다. 대부분의 목표 지향적 활동은 이런 흐름을 따릅니다. 일단 이 패턴을 알고 나면, 완전히 새로운 문제를 만나도 당황하지 않게 됩니다. "음, 준비는 뭐가 필요하지? 계획은 어떻게 세우지?"라고 자연스럽게 생각하게 됩니다.

**세부 수준은 목적에 따라 달라집니다**

운동 루틴은 5단계로 충분했는데, 여행 계획은 6단계, 글쓰기는 7단계로 나눴습니다. 왜 이렇게 차이가 날까요? 운동은 상대적으로 반복적이고 패턴화된 활동입니다. 한번 루틴을 정하면 비슷하게 반복됩니다. 하지만 여행은 준비할 것도 많고 예외 상황도 고려해야 합니다. 글쓰기는 창의적인 과정이 들어가서 단계가 더 세분화됩니다.

무엇이 더 나은 분해일까요? 정답은 없습니다. 복잡한 활동은 더 세세하게 나누고, 단순한 활동은 간단하게 나누면 됩니다. 목적에 맞게 조정하는 것이 핵심입니다.

**분해는 생각을 정리하는 마법입니다**

막연히 "여행 가야지"라고 생각할 때와, 6단계로 나눠서 "1단계: 기획부터 시작하자"라고 생각할 때를 비교해보세요. 어느 쪽이 더 실행하기 쉬울까요? 당연히 후자입니다. 분해는 막연함을 구체성으로 바꿉니다. "글을 써야 하는데 막막하다"가 "일단 주제부터 정하자"로 바뀌면, 첫발을 떼기가 훨씬 쉬워집니다.

### 패턴 인식의 실전 적용

이제 분해의 짝꿍인 패턴 인식으로 넘어가봅시다. 분해가 "나누는 것"이었다면, 패턴 인식은 "연결하는 것"입니다. 겉보기에 무관해 보이는 것들 사이에서 숨겨진 규칙을 찾아내는 능력이죠.

패턴은 항상 눈에 보이지 않습니다. 그래서 어렵게 느껴집니다. 데이터를 한두 번 보는 것만으로는 잘 보이지 않아요. 시간을 두고, 다양한 각도에서 바라봐야 합니다. 마치 숨은그림찾기처럼요. 한번 보이기 시작하면, 그 다음부터는 쉽게 보입니다.

패턴에는 여러 종류가 있습니다. 시간에 따라 반복되는 **시간적 패턴**, 위치나 배치에서 나타나는 **공간적 패턴**, 형태나 구조가 비슷한 **구조적 패턴**, 그리고 행동이나 과정에서 반복되는 **행동 패턴**이 있습니다. 각각의 특징을 알면 패턴을 더 쉽게 발견할 수 있습니다.

**실습 3: 가계부 데이터에서 패턴 찾기**

한 달간의 지출 데이터가 있다고 가정합시다.

**데이터 예시:**

11/1 - 점심 (식비) - 8,000원 11/1 - 버스 (교통비) - 1,250원 11/2 - 점심 (식비) - 7,500원 11/2 - 커피 (식비) - 4,500원 11/3 - 점심 (식비) - 9,000원 11/3 - 버스 (교통비) - 1,250원 11/4 - 영화 (여가) - 14,000원 11/4 - 저녁 (식비) - 25,000원 ...


**패턴 찾기:**

**시간적 패턴:**
- 평일에는 점심 식비가 거의 매일 발생
- 버스비는 출근하는 날에만 발생
- 주말에는 여가비가 증가
- 금요일 저녁 지출이 평소보다 많음

**금액 패턴:**
- 점심 식비: 대부분 7,000~9,000원 사이
- 버스비: 항상 1,250원
- 커피: 주로 4,000~5,000원
- 주말 외식: 20,000원 이상

**카테고리 패턴:**
- 식비가 전체의 약 60%
- 교통비는 일정하게 유지
- 여가비는 주말에 집중

**행동 패턴:**
- 커피는 오후에 주로 구매
- 주중에는 집에서 식사, 주말에는 외식
- 월말에 지출이 줄어듦 (예산 소진)

**GitHub Copilot에게 패턴 활용하기:**

"가계부 앱을 만들고 싶습니다.

사용자의 지출 패턴을 분석하여:

  1. 카테고리별 지출 비율을 보여주세요
  2. 자주 발생하는 지출 항목을 표시해주세요
  3. 평균 지출 금액을 계산해주세요
  4. 예상과 다른 지출이 있으면 알려주세요

예를 들어:

  • 평일 점심은 보통 8,000원인데 오늘은 15,000원이면 표시
  • 매일 나가던 커피값이 오늘은 없으면 물어보기
  • 이번 달 식비가 평소보다 많으면 경고"

**실습 4: 할 일 목록에서 패턴 찾기**

여러분의 할 일 목록을 살펴보세요.

**패턴 예시:**

**반복 패턴:**
- 매일: 운동, 독서, 일기 쓰기
- 매주 월요일: 회의 준비
- 매주 금요일: 주간 보고서
- 매월 말일: 정리 및 계획

**시간대 패턴:**
- 아침: 중요하고 집중 필요한 일
- 점심 후: 가벼운 업무나 미팅
- 저녁: 정리 작업

**우선순위 패턴:**
- 마감일이 가까운 것이 우선순위 높음
- 팀 관련 일이 개인 일보다 우선
- 창의적 작업은 컨디션 좋을 때

**GitHub Copilot 활용:**

"할 일 관리 앱에 패턴 인식 기능을 추가하고 싶습니다.

기능:

  1. 반복되는 할 일을 자동으로 감지 (예: '운동'이 매일 나타나면 '매일 반복' 제안)
  2. 자주 하는 시간대 파악 (예: '보고서 작성'을 항상 오전에 하면 다음에도 오전 제안)
  3. 비슷한 할 일 그룹화 (예: '회의 준비', '발표 자료' 같은 것들 묶기)
  4. 주기적 할 일 자동 생성 (예: 매주 금요일 '주간 보고서' 자동 추가)"

## 예제: 아침 준비 루틴, 가계부 데이터 패턴 분석

### 종합 실습: 아침 루틴 최적화

앞에서 배운 분해와 패턴 인식을 통합하여 아침 루틴을 최적화해봅시다.

**단계 1: 현재 루틴 분해하기**

여러분의 아침 루틴을 시간별로 기록합니다.

**예시:**

7:00 - 알람 7:10 - 침대에서 나옴 (10분 소요) 7:15 - 화장실 (5분) 7:20 - 씻기 시작 7:35 - 씻기 완료 (15분) 7:40 - 옷 고르기 (5분) 7:45 - 옷 입기 완료 7:50 - 아침 준비 (5분) 8:00 - 아침 먹기 (10분) 8:05 - 설거지 (5분) 8:10 - 준비물 챙기기 (5분) 8:15 - 외출


**단계 2: 패턴 찾기**

**시간 패턴:**
- 씻기에 가장 많은 시간 소요 (15분)
- 침대에서 나오는 데 의외로 오래 걸림 (10분)
- 옷 고르기에 생각보다 시간 소비 (5분)

**병목 구간:**
- 아침 먹고 설거지까지 15분
- 전체 75분 중 씻기와 식사가 30분 차지

**개선 가능 영역:**
- 전날 밤 옷 미리 준비 → 5분 절약
- 간편한 아침 메뉴 → 5-10분 절약
- 알람 후 바로 일어나기 → 5-8분 절약

**단계 3: 최적화 계획**

**개선안:**
1. 전날 밤에 옷 준비 및 가방 챙기기
2. 알람 위치를 침대에서 멀리
3. 간편 아침 (샌드위치, 시리얼 등)
4. 설거지는 저녁에 몰아서

**예상 시간 단축:**
- 옷 고르기: 5분 → 1분
- 침대에서 나오기: 10분 → 5분
- 아침 준비 및 식사: 15분 → 8분
- 준비물 챙기기: 5분 → 2분

**총 단축: 약 19분 → 56분으로 가능**

**단계 4: GitHub Copilot으로 루틴 관리 앱 만들기**

"최적화된 아침 루틴 타이머를 만들고 싶습니다.

각 활동의 목표 시간이 있습니다:

  • 기상: 5분
  • 씻기: 15분
  • 옷 입기: 2분 (전날 준비)
  • 아침: 8분
  • 준비물: 2분
  • 외출 준비: 3분 총 35분

기능:

  1. 각 단계별 타이머 자동 시작
  2. 목표 시간과 실제 시간 비교
  3. 지연되면 알림
  4. 한 주간 패턴 저장 및 분석
  5. 개선 제안 (예: '씻기가 항상 20분 걸려요. 목표를 18분으로 조정할까요?')"

### 종합 실습: 가계부 패턴 기반 예산 관리

**단계 1: 지출 데이터 분해**

**카테고리별 분해:**
- 식비 (점심, 저녁, 간식, 커피)
- 교통비 (버스, 지하철, 택시)
- 주거비 (월세, 관리비, 인터넷)
- 여가비 (영화, 책, 취미)
- 기타

**시간별 분해:**
- 일별 지출
- 주별 지출
- 월별 지출

**단계 2: 패턴 발견**

**주간 패턴:**

월요일: 평균 15,000원 (점심 8천, 커피 4천, 기타 3천) 화요일: 평균 12,000원 수요일: 평균 18,000원 (저녁 약속 많음) 목요일: 평균 13,000원 금요일: 평균 25,000원 (주말 준비, 외식) 토요일: 평균 30,000원 (여가, 외식) 일요일: 평균 20,000원


**월간 패턴:**
- 월초 (1-10일): 지출 많음 (생필품 구매)
- 월중 (11-20일): 안정적
- 월말 (21-30일): 지출 감소 (예산 고갈)

**카테고리 패턴:**
- 식비: 전체의 50-60%
- 교통비: 고정적 (약 50,000원/월)
- 여가비: 변동 큼 (10,000~100,000원)

**단계 3: 예측 및 경고 시스템**

**예측 가능한 지출:**
- 평일 점심: 약 8,000원
- 주말 외식: 약 25,000원
- 월 교통비: 약 50,000원
- 월 커피: 약 60,000원 (하루 3,000원 × 20일)

**이상 패턴 감지:**
- 평일 점심이 15,000원 넘으면 경고
- 일주일 여가비가 100,000원 넘으면 알림
- 월 중순인데 예산 50% 이상 소진 시 주의

**단계 4: GitHub Copilot으로 스마트 가계부 만들기**

"지출 패턴을 학습하는 스마트 가계부를 만들고 싶습니다.

핵심 기능:

  1. 지출 입력 시 카테고리 자동 제안 (예: '스타벅스' 입력하면 '식비-커피' 자동 선택)

  2. 평소 패턴과 비교 (예: '오늘 점심 15,000원은 평소(8,000원)보다 7,000원 많아요')

  3. 주간/월간 예측 (예: '이번 주는 수요일까지 45,000원 썼어요. 평소 패턴으로 보면 이번 주는 약 90,000원 예상됩니다')

  4. 예산 경고 (예: '이번 달 식비 예산 300,000원 중 현재 220,000원 사용. 남은 기간 고려 시 초과 예상')

  5. 절약 제안 (예: '커피를 집에서 만들어 가시면 월 40,000원 절약 가능')

데이터는 저장되고, 패턴은 자동으로 업데이트되면 좋겠습니다."


// 이미지로 교체되어야 함 : 가계부 패턴 분석 대시보드 와이어프레임. 원형 차트(카테고리별 지출), 선 그래프(시간에 따른 지출), 경고 알림 섹션
프롬프트: A wireframe mockup of expense tracker dashboard showing pattern analysis. Includes pie chart for category spending, line graph for spending over time, and alert notification section. Clean, modern UI design

## GitHub Copilot과 함께 분해와 패턴 찾기

### 실전 프롬프트 작성

지금까지 배운 분해와 패턴 인식을 GitHub Copilot에게 효과적으로 전달하는 방법을 연습합니다.

**프롬프트 구조:**

[문제 설명] → [분해한 구조] → [발견한 패턴] → [원하는 기능]


**예시 1: 독서 기록 앱**

독서 기록 관리 앱을 만들고 싶습니다.

[분해] 독서 과정을 다음과 같이 나눴습니다:

  1. 책 선정 (읽고 싶은 책 목록)
  2. 독서 중 (현재 읽는 책, 진행률)
  3. 완독 (다 읽은 책, 별점, 한줄평)
  4. 통계 (월별 독서량, 장르별 선호도)

[패턴] 제 독서 패턴:

  • 한 번에 2-3권 병행해서 읽음
  • 주말에 주로 읽음
  • 완독까지 평균 2주 소요
  • 소설을 가장 많이 읽음 (60%)

[기능] 이 패턴을 활용하여:

  1. 읽는 책이 3권 이상이면 '너무 많아요' 경고
  2. 1주일 진행이 없으면 '책 읽으실 시간이세요?' 알림
  3. 같은 장르가 계속되면 다른 장르 추천
  4. 월 목표 권수 제안 (평균 기준)

웹 페이지로 만들어주세요.


**예시 2: 운동 루틴 추적기**

운동 루틴을 기록하고 패턴을 분석하는 앱이 필요합니다.

[분해] 운동 과정:

  1. 준비 (스트레칭 5분)
  2. 본 운동 (종목별로 세트 수행)
  3. 마무리 (쿨다운 5분)
  4. 기록 (운동 내용, 시간, 느낌)

각 종목:

  • 이름 (예: 스쿼트, 플랭크)
  • 세트 수
  • 반복 횟수 (또는 시간)
  • 휴식 시간

[패턴] 제 운동 패턴:

  • 월/수/금: 상체 운동
  • 화/목: 하체 운동
  • 각 운동 30-40분 소요
  • 점진적으로 무게 증가 (주당 +1kg)

[기능]

  1. 요일별 운동 프로그램 자동 제안
  2. 이전 기록 기반으로 무게/횟수 제안 (예: '지난번 스쿼트 50kg 10회 성공. 오늘은 51kg 10회 시도해볼까요?')
  3. 휴식이 너무 길면 알림
  4. 주간 진행 상황 요약
  5. 근력 향상 그래프

간단하고 사용하기 쉽게 만들어주세요.


**예시 3: 습관 형성 앱**

좋은 습관을 만들기 위한 추적 앱입니다.

[분해] 습관 형성 과정:

  1. 습관 설정 (무엇을, 언제, 어떻게)
  2. 실행 (매일 체크)
  3. 분석 (연속 일수, 성공률)
  4. 보상 (목표 달성 시)

[패턴] 습관 형성 패턴 (연구 기반):

  • 초기 3일이 가장 어려움
  • 21일 지속하면 습관화
  • 주말에 실패 확률 높음
  • 아침 습관이 성공률 높음

[기능]

  1. 초기 3일 집중 격려 (예: '가장 중요한 3일입니다. 화이팅!')
  2. 연속 일수 표시 (동기 부여)
  3. 위험 시기 미리 알림 (예: '금요일 저녁, 평소 실패하기 쉬운 시간이에요')
  4. 친구와 함께 도전 (선택사항)
  5. 21일 달성 시 축하 메시지

동기부여가 되는 디자인으로 만들어주세요.


## 프롬프트 작성 패턴 연습

### 효과적인 프롬프트 템플릿

분해와 패턴 인식을 프롬프트에 녹이는 템플릿입니다.

**템플릿 1: 과정 분해형**

[앱 이름]을/를 만들고 싶습니다.

과정을 다음과 같이 나눴습니다: [1단계]: [설명] [2단계]: [설명] [3단계]: [설명] ...

각 단계에서: [1단계]는 [세부 항목들] [2단계]는 [세부 항목들] ...

이를 바탕으로 [원하는 기능] 만들어주세요.


**템플릿 2: 패턴 활용형**

[문제/상황]에서 다음 패턴을 발견했습니다:

시간 패턴:

  • [시간대별 특징]

행동 패턴:

  • [반복되는 행동]

예외 패턴:

  • [특이 케이스]

이 패턴들을 활용하여:

  1. [패턴 기반 기능 1]
  2. [패턴 기반 기능 2]
  3. [패턴 기반 기능 3]

구현해주세요.


**템플릿 3: 통합형**

[앱 목적]

[분해] 전체를 [N]개 부분으로 나눴습니다:

  1. [부분 1] - [설명]
  2. [부분 2] - [설명] ...

[패턴] 분석한 패턴:

  • [패턴 1]
  • [패턴 2]
  • [패턴 3]

[기능] 분해와 패턴을 바탕으로:

  • [기능 1]: [분해의 어떤 부분을 다루는지]
  • [기능 2]: [어떤 패턴을 활용하는지]
  • [기능 3]: [통합적 기능]

[추가 요청]

  • [스타일, 제약조건 등]

### 실습 과제

다음 주제들로 프롬프트를 작성해보세요. 각 과제는 분해와 패턴 인식을 모두 연습하는 기회입니다.

**과제 1: 물 마시기 알림 앱**
- 분해: 하루를 시간대별로
- 패턴: 언제 물을 자주 잊는지
- 기능: 적절한 시간에 알림

**예시 프롬프트:**

물 마시기 알림 앱을 만들어주세요.

[분해] 하루를 다음과 같이 나눴습니다:

  1. 아침 (07:00-12:00): 기상 후, 출근 시간
  2. 점심 (12:00-18:00): 식사 후, 오후 업무 시간
  3. 저녁 (18:00-23:00): 퇴근 후, 저녁 시간

[패턴] 제가 물을 잊는 패턴:

  • 업무 집중할 때 (오전 10시~12시)
  • 회의가 많은 날
  • 저녁에 집에 오면 물 대신 커피나 음료수

[기능]

  1. 2시간마다 물 마시기 알림
  2. 집중 시간대에는 조금 더 자주 알림
  3. 저녁에는 "물을 마시세요" 대신 "커피 대신 물 한 잔 어때요?" 메시지
  4. 하루 목표량 (2L) 표시

**과제 2: 공부 시간 관리 앱**
- 분해: 공부 과정 (과목, 휴식 포함)
- 패턴: 집중 가능 시간, 효율적인 시간대
- 기능: 맞춤 스케줄 제안

**예시 프롬프트:**

공부 시간을 관리하는 앱을 만들어주세요.

[분해] 공부 과정:

  1. 계획하기 (오늘 할 과목, 시간 배분)
  2. 공부하기 (집중 시간, 휴식 시간)
  3. 복습하기 (오늘 배운 내용 정리)
  4. 평가하기 (계획 대비 실행 확인)

[패턴] 제 공부 패턴:

  • 집중 가능 시간: 50분 (이후 집중력 급격히 떨어짐)
  • 효율적인 시간대: 아침 (08:00-10:00), 저녁 (20:00-22:00)
  • 비효율적인 시간대: 점심 직후 (13:00-15:00)
  • 어려운 과목은 아침에, 쉬운 과목은 저녁에 잘 됨

[기능]

  1. 50분 공부 + 10분 휴식 타이머
  2. 어려운 과목은 아침 시간에 자동 배치
  3. 점심 직후는 가벼운 복습 시간으로 제안
  4. 하루 목표 시간 달성률 표시
  5. 휴식 시간에는 스트레칭 추천

**과제 3: 감정 일기 앱**
- 분해: 하루를 시간/활동별로
- 패턴: 어떤 활동이 기분을 좋게/나쁘게 하는지
- 기능: 기분 패턴 분석 및 제안

**예시 프롬프트:**

감정을 기록하고 패턴을 분석하는 일기 앱을 만들어주세요.

[분해] 하루를 활동별로 나눔:

  1. 아침 루틴 (기상, 준비)
  2. 출근/등교 (이동 시간)
  3. 오전 활동 (업무, 수업)
  4. 점심 시간
  5. 오후 활동
  6. 저녁 시간 (퇴근 후)
  7. 잠들기 전

[패턴] 기분에 영향을 주는 패턴:

  • 날씨: 맑은 날 기분 좋음
  • 사람: 친구와 만난 날 행복함
  • 활동: 운동한 날 기분 상승, 회의 많은 날 스트레스
  • 시간: 밤늦게까지 깨어있으면 다음 날 우울함

[기능]

  1. 하루에 3번 (아침, 저녁, 잠들기 전) 기분 기록 요청
  2. 기분과 활동 연결 (무엇을 했는지 선택)
  3. 일주일 단위로 패턴 보여주기 예: "운동한 날은 평균 행복도가 20% 높아요"
  4. 기분 좋아지는 활동 추천 예: "요즘 우울하시네요. 친구와 만나는 건 어때요?"

### 프롬프트 작성 실전 팁

여러분이 직접 프롬프트를 작성할 때 도움이 될 팁들입니다.

**1. 명확한 구조 사용하기**

좋지 않은 예:

물 마시는 걸 자꾸 잊어버려서 알림 앱 만들어줘. 아침, 점심, 저녁에 알려주고, 특히 일할 때 많이 잊어버리니까 그때 더 자주 알려주면 좋겠어.


좋은 예:

[목적] 물 마시기 알림 앱

[분해]

  • 아침 (07:00-12:00)
  • 점심 (12:00-18:00)
  • 저녁 (18:00-23:00)

[패턴]

  • 업무 시간 (09:00-18:00)에 자주 잊음

[기능]

  • 2시간마다 기본 알림
  • 업무 시간에는 1시간마다 알림

구조가 명확하면 GitHub Copilot이 더 정확하게 이해합니다.

**2. 구체적인 예시 포함하기**

좋지 않은 예:

지출을 관리하는 앱 만들어줘.


좋은 예:

지출을 관리하는 앱 만들어줘.

예를 들어:

  • "점심 8,000원" 입력하면 자동으로 식비 카테고리에 저장
  • "매주 금요일에 식비가 평소보다 2배 높아요" 같은 패턴 알림

구체적인 예시가 있으면 의도를 더 명확히 전달할 수 있습니다.

**3. "왜"를 설명하기**

좋지 않은 예:

알림을 오후 3시에만 보내줘.


좋은 예:

알림을 오후 3시에만 보내줘. 왜냐하면 그 시간이 내가 가장 물을 잊어버리는 시간이거든.


이유를 설명하면 더 나은 제안을 받을 수 있습니다.

**4. 제약 조건 명시하기**

좋은 예:

간단하고 사용하기 쉽게 만들어주세요. 복잡한 설정은 필요 없어요. 버튼은 크게, 글자는 읽기 쉽게 해주세요.


어떤 스타일을 원하는지, 어떤 제약이 있는지 말하면 더 만족스러운 결과를 얻습니다.

### 여러분만의 문제 해결하기

이제 실제로 여러분이 해결하고 싶은 문제를 선택해 프롬프트를 작성해봅시다.

**단계별 가이드:**

**1단계: 문제 선택**
- 여러분이 실제로 불편함을 느끼는 것
- 반복적으로 하는 일
- 자동화하고 싶은 것

예시:
- 매일 약 먹는 것을 잊어버림
- 주차 위치를 기억 못 함
- 식물에 물 주는 시기를 놓침
- 생일을 자주 잊음
- 운동 계획은 세우는데 실행을 못 함

**2단계: 분해하기**
- 그 문제/과정을 단계로 나누기
- 각 단계의 어려운 점 파악하기

**3단계: 패턴 찾기**
- 언제 문제가 발생하는지
- 어떤 조건에서 잘/못 하는지
- 반복되는 실수나 성공 경험

**4단계: 프롬프트 작성**
- [분해], [패턴], [기능] 구조 사용
- 구체적인 예시 포함
- 왜 그렇게 하고 싶은지 설명

**5단계: GitHub Copilot에게 요청**
- 작성한 프롬프트를 GitHub Copilot에게 전달
- 결과를 확인하고 부족한 점 보완
- 필요하면 프롬프트 수정하여 다시 요청

### 실습 중 흔한 실수와 해결법

**실수 1: 너무 크게 나누기**

잘못된 분해:

  1. 아침 준비
  2. 외출

이렇게 크게 나누면 각 단계가 여전히 복잡합니다.

개선된 분해:

  1. 아침 준비
    • 씻기
    • 옷 입기
    • 아침 먹기
  2. 외출 준비
    • 준비물 챙기기
    • 집 확인
    • 나가기

**실수 2: 패턴이 아닌 우연의 일치**

잘못된 패턴: "화요일마다 지출이 많다" → 단순히 이번 달에 화요일에 약속이 많았을 수도


진짜 패턴인지 확인하려면:
- 여러 주, 여러 달 데이터를 봐야 함
- 왜 그런 패턴인지 이유가 있어야 함

개선된 패턴: "주 중반 (화, 수)에 피로가 쌓여서 배달 음식 주문이 늘어난다" → 이유가 명확하고, 여러 주 동안 반복됨


**실수 3: GitHub Copilot에게 모호하게 요청**

모호한 요청: "편리한 앱 만들어줘"


무엇이 편리한지 모릅니다.

명확한 요청: "버튼은 크게 (최소 1cm), 글자는 읽기 쉽게 (최소 14pt), 복잡한 설정 없이 바로 사용 가능한 앱"


### 실습 회고 질문

오늘 실습을 마치며 스스로에게 물어보세요:

1. **분해 관련:**
   - 어떤 분해가 가장 어려웠나요? 왜 그랬을까요?
   - 여러분의 분해와 예시의 분해가 어떻게 달랐나요?
   - 다음에는 어떻게 더 잘 분해할 수 있을까요?

2. **패턴 관련:**
   - 어떤 패턴을 발견했나요?
   - 그 패턴이 우연의 일치인지 진짜 규칙인지 어떻게 판단했나요?
   - 발견한 패턴을 어떻게 활용할 수 있을까요?

3. **프롬프트 작성:**
   - 첫 프롬프트와 수정한 프롬프트가 어떻게 달라졌나요?
   - GitHub Copilot이 어떤 부분을 잘 이해했나요?
   - 어떤 부분을 더 명확히 해야 했나요?

4. **전체적인 느낌:**
   - 가장 흥미로웠던 부분은?
   - 가장 어려웠던 부분은?
   - 실생활에서 바로 적용할 수 있는 것은?

## 실습 결과 요약

이번 주차에서 우리는 분해와 패턴 인식을 실제로 적용하는 방법을 배웠습니다. 이론을 넘어 실전에서 어떻게 활용하는지 경험했습니다.

### 핵심 내용 정리

**분해의 실전 적용**
- 큰 문제를 작은 단계로 나누는 구체적 방법
- 2-3단계 계층적 분해
- 독립성, 완결성, 적절한 크기, 명확성의 기준
- 실생활 예제: 아침 루틴, 온라인 쇼핑

**패턴 인식의 실전 적용**
- 시간, 공간, 구조, 행동 패턴 구분
- 가계부 데이터에서 패턴 찾기
- 패턴을 활용한 예측과 경고
- 할 일 목록에서 반복 패턴 발견

**GitHub Copilot과의 협업**
- 분해 구조를 프롬프트에 반영하기
- 발견한 패턴을 기능으로 전환하기
- 효과적인 프롬프트 템플릿 3가지
- 실전 예시: 독서 기록, 운동 추적, 습관 형성

### 실습을 통해 배운 것

이번 주 실습에서 여러분은:
✅ 복잡한 과정을 체계적으로 분해할 수 있게 되었습니다
✅ 데이터와 행동에서 패턴을 발견하는 눈을 키웠습니다
✅ 분해와 패턴을 GitHub Copilot에게 전달하는 방법을 익혔습니다
✅ 실생활 문제에 컴퓨팅 사고를 적용하는 경험을 했습니다

### 중요한 깨달음

**분해는 도구입니다**
완벽한 분해는 없습니다. 상황과 목적에 맞게 적절히 나누면 됩니다. 너무 세세하게 나누면 오히려 복잡해지고, 너무 크게 나누면 실행하기 어렵습니다.

**패턴은 숨어 있습니다**
패턴은 데이터를 보기만 해서는 잘 안 보입니다. 시간을 두고 관찰하고, 다양한 각도에서 봐야 합니다. 한번 패턴을 발견하면 많은 것이 자동화되고 예측 가능해집니다.

**프롬프트는 생각의 정리입니다**
GitHub Copilot에게 좋은 프롬프트를 작성하는 과정은 결국 자신의 생각을 정리하는 과정입니다. 명확히 요청하려면 명확히 생각해야 합니다.

### 다음 주 준비

다음 주에는 나머지 두 원리인 **추상화**와 **알고리즘적 사고**를 실습합니다. 이번 주에 배운 분해와 패턴 인식이 기반이 되어, 4대 원리를 통합적으로 활용하게 될 것입니다.

지금까지:
- 분해: 문제를 나눔 ✅
- 패턴: 규칙을 찾음 ✅

다음 주:
- 추상화: 핵심을 추출
- 알고리즘: 단계를 설계

### 연습 과제

이번 주 배운 내용을 복습하려면:

1. **여러분의 하루를 분해해보세요**
   - 아침부터 저녁까지 주요 활동
   - 2-3단계로 계층적 분해
   - 어디에 시간을 가장 많이 쓰는지 파악

2. **지난 일주일 지출을 분석해보세요**
   - 카테고리별로 정리
   - 시간적, 금액적 패턴 찾기
   - 예산 초과 위험 요인 발견

3. **프롬프트 3개 작성하기**
   - 템플릿을 활용하여
   - 실제로 만들고 싶은 것으로
   - GitHub Copilot에게 요청해보기 (선택사항)

### 격려의 말

7주차를 마쳤습니다. 벌써 강의의 절반에 가까이 왔네요. 여러분은 지금까지:
- 바이브 코딩의 개념을 이해했고
- 컴퓨팅 사고의 4대 원리를 배웠고
- GitHub Copilot과 협업하는 법을 익혔고
- 이제 실제로 적용하기 시작했습니다

이번 주 실습이 처음엔 어려웠을 수 있습니다. 분해를 어떻게 해야 할지, 패턴을 어떻게 찾아야 할지 막막했을 것입니다. 하지만 여러 예제를 보고 직접 해보면서 점점 감을 잡았을 것입니다.

완벽하게 하려고 하지 마세요. 조금씩 나아지는 것으로 충분합니다. 이번 주에 한 실습들을 다음 주에 다시 해보면, 훨씬 쉽게 느껴질 것입니다. 그것이 성장입니다.

다음 주에 또 만나요. 그때는 추상화와 알고리즘을 실습하며, 4대 원리를 완전히 자기 것으로 만들 것입니다!

---

**이번 주의 핵심 메시지**

"복잡한 것은 나누면 단순해지고,
반복되는 것은 찾으면 자동화됩니다.
분해와 패턴 인식으로 문제의 절반은 해결됩니다."

여러분은 이제 문제를 다르게 보기 시작했습니다. 계속 나아가세요!