feat : translate state-1 in Korean

This commit is contained in:
kimyounghee425
2026-05-11 15:22:02 +09:00
parent a7849acc17
commit 9a98bb5d0f
255 changed files with 2170 additions and 28 deletions
+109 -9
View File
@@ -425,6 +425,104 @@ const productManagerSidebarEn = [
}
]
const productManagerSidebarKo = [
{
text: '시작하기',
collapsed: false,
items: [
{ text: '학습 지도', link: '/ko-kr/stage-1/learning-map/' },
{
text: 'AI 시대, 말할 수 있으면 코딩할 수 있다',
link: '/ko-kr/stage-1/ai-capabilities-through-games/'
}
]
},
{
text: '제품 프로토타입 역량',
collapsed: false,
items: [
{
text: 'AI IDE 도구 익히기',
link: '/ko-kr/stage-1/introduction-to-ai-ide/'
},
{
text: '좋은 아이디어 찾기',
link: '/ko-kr/stage-1/finding-great-idea/'
},
{
text: '프로토타입 만들기',
link: '/ko-kr/stage-1/building-prototype/'
},
{
text: 'AI 기능 통합하기',
link: '/ko-kr/stage-1/integrating-ai-capabilities/'
},
{
text: '완성 프로젝트 실습',
link: '/ko-kr/stage-1/complete-project-practice/'
}
]
},
{
text: '부록: 비즈니스 사고',
collapsed: false,
items: [
{
text: '제품 사고와 솔루션 설계',
link: '/ko-kr/stage-1/appendix-a-product-thinking/'
},
{
text: 'AI 산업 적용 시나리오',
link: '/ko-kr/stage-1/appendix-industry-scenarios/'
},
{
text: '소비자용 AI 제품 시나리오',
link: '/ko-kr/stage-1/appendix-c-consumer-scenarios/'
}
]
},
{
text: '부록: 사용자 조사와 검증',
collapsed: false,
items: [
{
text: '아이디어는 어디서 찾을까',
link: '/ko-kr/stage-1/appendix-idea-sources/'
},
{
text: 'Double Diamond',
link: '/ko-kr/stage-1/appendix-double-diamond/'
},
{
text: 'Jobs to Be Done',
link: '/ko-kr/stage-1/appendix-jobs-to-be-done/'
},
{
text: 'The Mom Test',
link: '/ko-kr/stage-1/appendix-mom-test/'
}
]
},
{
text: '부록: 기술 문제 해결',
collapsed: false,
items: [
{
text: '오류가 났을 때 대처법',
link: '/ko-kr/stage-1/appendix-b-common-errors/'
},
{
text: 'AI 코딩 도구로 스네이크 게임 만들기',
link: '/ko-kr/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial'
},
{
text: '디자인 Agent와 코딩 Agent로 웹사이트 만들기',
link: '/ko-kr/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents'
}
]
}
]
const stage2SidebarEn = [
{
text: 'Frontend Development',
@@ -2430,26 +2528,28 @@ Sitemap: ${siteUrl}/sitemap.xml
{ text: '홈', link: '/ko-kr/' },
{
text: '초보자 & PM',
link: '/zh-cn/stage-1/learning-map/',
activeMatch: '/zh-cn/stage-1/'
link: '/ko-kr/stage-1/learning-map/',
activeMatch: '/ko-kr/stage-1/'
},
{
text: '풀스택 개발',
link: '/zh-cn/stage-2/frontend/lovart-assets/',
activeMatch: '/zh-cn/stage-2/'
link: '/ko-kr/stage-2/',
activeMatch: '/ko-kr/stage-2/'
},
{
text: '고급 개발',
link: '/zh-cn/stage-3/core-skills/basics/',
activeMatch: '/zh-cn/stage-3/'
link: '/ko-kr/stage-3/',
activeMatch: '/ko-kr/stage-3/'
},
{
text: '부록',
link: '/zh-cn/appendix/',
activeMatch: '/zh-cn/appendix/'
link: '/ko-kr/appendix/',
activeMatch: '/ko-kr/appendix/'
}
],
sidebar: {}
sidebar: {
'/ko-kr/stage-1/': productManagerSidebarKo
}
}
},
'es-es': {
Binary file not shown.

After

Width:  |  Height:  |  Size: 623 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

@@ -0,0 +1,133 @@
---
title: 'AI 시대, 말할 수 있으면 코딩할 수 있다'
description: '작은 게임 예제를 통해 AI 코딩과 Vibe Coding의 기본 감각을 익히는 한국어 튜토리얼입니다.'
---
# AI 시대, 말할 수 있으면 코딩할 수 있다
처음부터 큰 제품을 만들려고 하면 어렵습니다. Stage 1의 첫 실습은 작고 분명한 예제에서 시작합니다. 예를 들어 "스네이크 게임을 만들어 줘"라고 말하고, AI가 만든 결과를 실행해 보며 수정하는 식입니다.
이 장의 목표는 코딩 문법을 외우는 것이 아닙니다. **AI와 함께 만드는 흐름**을 익히는 것입니다.
## 1. AI에게 맡길 수 있는 일
AI는 다음 작업을 잘 도와줍니다.
- 간단한 웹 페이지나 게임 생성
- HTML, CSS, JavaScript 코드 작성
- 오류 메시지 해석
- 기능 추가와 UI 수정
- 코드를 더 읽기 쉽게 정리
- 초보자에게 코드 설명
하지만 AI에게 모든 판단을 맡기면 결과가 흔들립니다. 사람이 해야 하는 일은 다음입니다.
- 무엇을 만들지 정한다.
- 결과가 원하는 방향인지 판단한다.
- 너무 큰 요구를 작은 단계로 쪼갠다.
- 이상한 결과가 나오면 구체적으로 피드백한다.
## 2. 첫 프롬프트 예시
작은 게임을 만들 때는 이렇게 말할 수 있습니다.
```text
브라우저에서 바로 실행할 수 있는 스네이크 게임을 만들어 줘.
HTML, CSS, JavaScript를 한 파일에 넣어도 괜찮아.
방향키로 조작하고, 점수를 보여 주고, 게임 오버 후 다시 시작할 수 있게 해 줘.
초보자가 읽기 쉽게 코드에 중요한 부분만 짧게 주석을 달아 줘.
```
좋은 프롬프트는 길다고 좋은 것이 아닙니다. 다음 네 가지가 들어가면 충분합니다.
- 실행 환경: 브라우저, Node.js, 모바일 등
- 핵심 기능: 조작, 점수, 저장, 검색 등
- 제약 조건: 한 파일, 외부 라이브러리 금지, 반응형 등
- 원하는 품질: 초보자용, 깔끔한 UI, 주석 포함 등
## 3. 결과를 바로 믿지 말고 실행하기
AI가 코드를 주면 반드시 실행해 봐야 합니다. 실행 과정에서 자주 만나는 문제는 다음과 같습니다.
| 현상 | 원인 | 대응 |
| --- | --- | --- |
| 화면이 비어 있음 | HTML 연결 문제, JS 오류 | 브라우저 콘솔 오류를 AI에게 붙여 넣기 |
| 버튼이 동작하지 않음 | 이벤트 연결 누락 | "이 버튼이 클릭되지 않는다"고 구체적으로 말하기 |
| 디자인이 어색함 | 요구사항이 추상적임 | 원하는 레이아웃, 색, 간격을 더 구체화 |
| 기능이 일부 빠짐 | 프롬프트가 너무 넓음 | 기능을 하나씩 추가 요청 |
## 4. 수정 요청은 작게 한다
초보자가 가장 많이 하는 실수는 한 번에 너무 많은 수정을 요청하는 것입니다.
좋은 수정 요청은 작습니다.
```text
게임 오버 화면에 현재 점수와 최고 점수를 보여 줘.
다른 코드는 최대한 유지하고, 필요한 부분만 수정해 줘.
```
나쁜 수정 요청은 모호합니다.
```text
더 좋게 만들어 줘.
```
AI는 "더 좋게"의 기준을 모릅니다. 초보자일수록 원하는 변화를 눈에 보이는 단위로 말하는 것이 중요합니다.
## 5. AI 코딩에서 중요한 습관
### 5.1 한 번에 하나씩 바꾸기
기능을 하나 추가하고 실행합니다. 디자인을 하나 바꾸고 확인합니다. 그래야 문제가 생겼을 때 원인을 찾기 쉽습니다.
### 5.2 오류 메시지를 그대로 보여 주기
오류 메시지는 AI에게 가장 좋은 단서입니다. "안 돼요"보다 "콘솔에 이런 오류가 나와요"가 훨씬 효과적입니다.
```text
아래 오류가 나면서 게임이 시작되지 않아.
원인을 설명하고 수정 코드를 제안해 줘.
[여기에 오류 메시지 붙여넣기]
```
### 5.3 코드 전체를 이해하려 하지 않아도 된다
처음에는 전체 코드를 완벽히 이해하지 않아도 됩니다. 대신 다음 정도를 구분하면 됩니다.
- 화면 구조를 담당하는 HTML
- 디자인을 담당하는 CSS
- 동작을 담당하는 JavaScript
## 6. 작은 게임에서 제품으로 넘어가기
게임 예제의 목적은 게임 개발자가 되는 것이 아닙니다. 이 과정에서 다음 감각을 얻는 것이 중요합니다.
- 자연어 요구사항이 코드로 바뀌는 과정
- 실행 결과를 보고 피드백하는 과정
- 오류를 발견하고 수정하는 과정
- 기능을 단계적으로 확장하는 과정
이 네 가지는 나중에 업무 도구, AI 챗봇, 이미지 생성 앱, 예약 시스템을 만들 때도 그대로 쓰입니다.
## 과제
다음 중 하나를 골라 AI에게 만들어 달라고 요청해 보세요.
1. 스네이크 게임
2. 타자 연습 게임
3. 간단한 할 일 목록 앱
4. 랜덤 점심 메뉴 추천기
5. 퀴즈 게임
완성 후에는 다음 세 가지를 추가로 요청해 보세요.
- 화면을 더 보기 좋게 다듬기
- 모바일에서도 잘 보이게 만들기
- 오류나 빈 상태를 처리하기
## 다음으로
[AI IDE 도구 익히기](/ko-kr/stage-1/introduction-to-ai-ide/)에서 로컬 프로젝트를 열고 AI와 함께 개발하는 기본 흐름을 익힙니다.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

@@ -0,0 +1,145 @@
---
title: '제품 사고와 솔루션 설계'
description: 'AI로 프로토타입을 만들기 전에 문제, 사용자, 솔루션을 정리하는 제품 사고 기초를 설명합니다.'
---
# 제품 사고와 솔루션 설계
AI가 코드를 빠르게 만들어 줄수록 제품 사고는 더 중요해집니다. 구현이 쉬워졌다는 것은 잘못된 방향도 더 빨리 만들 수 있다는 뜻입니다.
이 부록은 "무엇을 만들지"를 더 정확히 정하기 위한 기본 틀입니다.
## 1. 제품은 기능이 아니라 문제 해결이다
초보자는 보통 기능에서 출발합니다.
```text
로그인, 게시판, AI 챗봇, 결제, 관리자 페이지가 있는 앱
```
하지만 사용자는 기능 목록을 사지 않습니다. 사용자는 자신의 문제를 더 빠르고 편하게 해결하고 싶어 합니다.
제품 사고는 다음 질문에서 시작합니다.
- 누가 문제를 겪고 있는가?
- 언제 그 문제가 발생하는가?
- 지금은 어떻게 해결하고 있는가?
- 기존 방식의 불편은 무엇인가?
- 내 솔루션이 줄여 주는 시간, 비용, 스트레스는 무엇인가?
## 2. 문제 문장 만들기
좋은 문제 문장은 구체적입니다.
```text
[사용자]는 [상황]에서 [목표]를 달성하려 하지만,
[현재 방식] 때문에 [불편]을 겪는다.
```
예시:
```text
소규모 쇼핑몰 운영자는 새 상품을 등록할 때 매번 상세페이지 문구를 직접 써야 하지만,
마케팅 문구 작성 경험이 부족해 업로드 시간이 길어지고 상품의 장점이 잘 드러나지 않는다.
```
## 3. 솔루션 문장 만들기
솔루션은 문제 문장을 뒤집어서 만듭니다.
```text
[사용자]가 [입력]을 넣으면,
[시스템]이 [처리]해서
[결과]를 제공한다.
```
예시:
```text
쇼핑몰 운영자가 상품명, 특징, 타깃 고객을 입력하면,
AI가 여러 톤의 상품 상세 문구와 SNS 홍보 문구를 생성한다.
```
## 4. MVP 범위 정하기
첫 버전에서 중요한 것은 "작지만 완결된 흐름"입니다.
MVP에 넣을 것:
- 사용자가 입력하는 핵심 정보
- 결과를 생성하거나 보여 주는 핵심 화면
- 결과를 복사하거나 저장하는 최소 행동
- 실패/빈 상태 처리
MVP에서 빼도 되는 것:
- 로그인
- 권한 관리
- 결제
- 복잡한 관리자 페이지
- 모든 플랫폼 지원
- 과한 디자인 옵션
## 5. 기능 우선순위
기능을 세 가지로 나눕니다.
| 구분 | 의미 |
| --- | --- |
| Must | 이 기능이 없으면 제품 가치가 성립하지 않음 |
| Should | 있으면 사용성이 좋아지지만 첫 버전에서 없어도 됨 |
| Later | 검증 후 추가해도 되는 기능 |
예시:
| 기능 | 우선순위 |
| --- | --- |
| 상품 정보 입력 | Must |
| 문구 생성 | Must |
| 결과 복사 | Must |
| 히스토리 저장 | Should |
| 팀 공유 | Later |
| 결제 | Later |
## 6. 좋은 요구사항의 형태
AI에게 전달하기 좋은 요구사항은 다음처럼 씁니다.
```text
목표:
대상 사용자:
핵심 사용 흐름:
첫 화면:
결과 화면:
필수 기능:
제외할 기능:
디자인 톤:
확인 기준:
```
이 형식으로 정리하면 AI IDE가 훨씬 안정적으로 결과를 만듭니다.
## 7. 솔루션 검증 질문
만들기 전에 다음 질문에 답해 보세요.
- 이 문제가 실제로 반복해서 발생하는가?
- 사용자가 지금 돈이나 시간을 쓰고 있는가?
- 내 솔루션이 기존 방식보다 명확히 쉬운가?
- 첫 버전을 하루나 이틀 안에 만들 수 있는가?
- 주변 사람에게 바로 보여 주고 반응을 받을 수 있는가?
## 과제
내 아이디어를 아래 형식으로 정리하세요.
```text
문제 문장:
솔루션 문장:
대상 사용자:
Must 기능 3개:
첫 화면 구성:
결과 화면 구성:
첫 번째 사용자 검증 질문 5개:
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Some files were not shown because too many files have changed in this diff Show More