Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions localisation/ko/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# GitHub Copilot Vibe 코딩 워크샵

![GitHub Copilot - Ghiblifiled](../../images/ghcp.jpg)

Python, JavaScript, Java, .NET 등 다양한 프로그래밍 언어에서 [GitHub Copilot](https://docs.github.com/copilot/about-github-copilot/what-is-github-copilot)과 최신 기능들로 바이브 코딩을 하고, 컨테이너화를 통해 앱을 클라우드 네이티브로 만들어 보세요. 뛰어들 준비가 되셨나요?

## 배경

Contoso는 다양한 야외 활동 제품을 판매하는 회사입니다. Contoso의 마케팅 부서는 기존 고객과 잠재 고객에게 제품을 홍보하기 위한 마이크로 소셜 미디어 웹사이트를 런칭하고자 합니다. 첫 번째 MVP로서, 웹사이트를 빠르게 구축하고자 합니다. Contoso의 IT 부서에는 현재 각각 Python과 JavaScript를 사용하는 두 명의 개발자가 있습니다. 출시일이 빠르게 다가오고 있어서, 두 개발자 모두 애플리케이션을 빠르게 개발해야 합니다.

하지만 상황은 다음과 같습니다...

## 워크샵 목표

- GitHub Copilot 에이전트 모드를 사용하여 애플리케이션 구축하기.
- GitHub Copilot에 커스텀 지시사항을 추가하여 GitHub Copilot을 더 잘 제어하기.
- GitHub Copilot에 다양한 MCP 서버를 추가하여 애플리케이션을 더 정확하게 구축하기.

## 전제 조건

이 워크샵에서는 웹 브라우저 외에 별도의 준비가 필요 없기 때문에 [GitHub Codespaces](https://docs.github.com/en/codespaces/about-codespaces/what-are-codespaces)를 적극 권장합니다. 하지만 정말로 본인의 머신을 사용해야 한다면, 아래에서 확인된 모든 것들을 설치했는지 확인하세요.

### 공통

- [Visual Studio Code](https://code.visualstudio.com/)
- VS Code [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) 확장
- VS Code [GitHub Copilot Chat](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat) 확장
- 💥 Windows 사용자용 👉 [PowerShell 7](https://learn.microsoft.com/powershell/scripting/install/installing-powershell)
- [git CLI](https://git-scm.com/downloads)
- [GitHub CLI](https://cli.github.com/)
- [Docker Desktop](https://docs.docker.com/get-started/introduction/get-docker-desktop/)

### Python

- [pyenv](https://github.com/pyenv/pyenv) 또는 [pyenv for Windows](https://github.com/pyenv-win/pyenv-win)
- pyenv를 통한 Python 3.12+
- `uv` 패키지 관리자 (권장) 또는 `pip`
- VS Code [Python](https://marketplace.visualstudio.com/items/?itemName=ms-python.python) 확장
- VS Code [Pylance](https://marketplace.visualstudio.com/items/?itemName=ms-python.vscode-pylance) 확장
- VS Code [Python Debugger](https://marketplace.visualstudio.com/items/?itemName=ms-python.debugpy) 확장
- VS Code [autopep8](https://marketplace.visualstudio.com/items/?itemName=ms-python.autopep8) 확장

### JavaScript

- [nvm](https://github.com/nvm-sh/nvm) 또는 [nvm for Windows](https://github.com/coreybutler/nvm-windows)
- nvm을 통한 최신 LTS [Node.js](https://nodejs.org/)

### Java

- [SDKMAN](https://sdkman.io/)
- SDKMAN을 통한 [OpenJDK 21](https://learn.microsoft.com/java/openjdk/download)
- SDKMAN을 통한 [Apache Maven](https://maven.apache.org/download.cgi)
- SDKMAN을 통한 [Gradle Build Tool](https://docs.gradle.org/current/userguide/installation.html)
- SDKMAN을 통한 [Spring Boot Initializr](https://docs.spring.io/spring-boot/cli/installation.html)
- VS Code [Extension Pack for Java](https://marketplace.visualstudio.com/items/?itemName=vscjava.vscode-java-pack) 확장
- VS Code [Spring Boot Extension Pack](https://marketplace.visualstudio.com/items/?itemName=vmware.vscode-boot-dev-pack) 확장

### .NET

- [.NET SDK 9](https://dotnet.microsoft.com/download/dotnet/9.0)
- [VS Code C# Dev Kit](https://marketplace.visualstudio.com/items/?itemName=ms-dotnettools.csdevkit) 확장

## 제품 요구사항 문서

먼저 시작할 곳은 이 [PRD (제품 요구사항 문서)](./product-requirements.md)입니다. 이 문서는 무엇을 해야 하고 어떻게 해야 하는지에 대한 더 나은 이해를 제공할 것입니다.

## 워크샵 지침

아래 링크를 따라 진행하는 자기 주도 워크샵입니다:

| 단계 | 링크 |
|------------------------------------|---------------------------------------------------------|
| 00: 개발 환경 | [00-setup.md](./docs/00-setup.md) |
| 01: Python 백엔드 | [01-python.md](./docs/01-python.md) |
| 02: JavaScript 프론트엔드 | [02-javascript.md](./docs/02-javascript.md) |
| 03: Python에서 Java로 마이그레이션 | [03-java.md](./docs/03-java.md) |
| 04: JavaScript에서 .NET으로 마이그레이션 | [04-dotnet.md](./docs/04-dotnet.md) |
| 05: 컨테이너화 | [05-containerization.md](./docs/05-containerization.md) |

## 완성된 샘플

각 애플리케이션의 완성된 예제를 확인해보세요. 이들도 GitHub Copilot으로 바이브 코딩되었기 때문에 완벽하지 않을 수 있으며, 앱을 따라할 필요는 없습니다.

| 언어 | 애플리케이션 | 위치 |
|---------------------|-------------|--------------------------------------|
| Python 백엔드 | FastAPI | [python](./complete/python/) |
| JavaScript 프론트엔드 | React | [javascript](./complete/javascript/) |
| Java 백엔드 | Spring Boot | [java](./complete/java/) |
| .NET 프론트엔드 | Blazor | [dotnet](./complete/dotnet/) |
| 컨테이너화 | Container | [containerization](./complete/) |

## 더 읽어보기...

- [GitHub Codespaces](https://docs.github.com/en/codespaces/about-codespaces/what-are-codespaces)
- [GitHub Copilot](https://docs.github.com/en/copilot/about-github-copilot/what-is-github-copilot)
- [GitHub Copilot: Agent Mode](https://code.visualstudio.com/blogs/2025/04/07/agentMode)
- [GitHub Copilot: MCP](https://code.visualstudio.com/blogs/2025/05/12/agent-mode-meets-mcp)
- [GitHub Copilot: Custom Instructions](https://code.visualstudio.com/docs/copilot/copilot-customization)
- [GitHub Copilot: Changing AI Models](https://docs.github.com/en/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat?tool=vscode)
- [Curated MCP Servers](https://github.com/modelcontextprotocol/servers)
56 changes: 56 additions & 0 deletions localisation/ko/complete/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# 완성된 앱 샘플

완성된 앱 샘플 목록입니다. 이들도 바이브 코딩으로 만들어졌기 때문에, 어떻게 구축되었는지 확인할 수 있습니다.

| 애플리케이션 | 위치 |
|-------------|-----------------------------|
| FastAPI | [python](./python/) |
| React | [javascript](./javascript/) |
| Spring Boot | [java](./java/) |
| Blazor | [dotnet](./dotnet/) |

## 컨테이너화 샘플

### 전제 조건

준비를 위해 [README](../README.md) 문서를 참조하세요.

### 시작하기

1. Docker가 실행 중인지 확인하세요.

```bash
docker info
```

1. 저장소 루트를 가져오세요.

```bash
# bash/zsh
REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
```

```powershell
# PowerShell
$REPOSITORY_ROOT = git rev-parse --show-toplevel
```

1. `complete` 디렉터리로 이동하세요.

```bash
cd $REPOSITORY_ROOT/complete
```

1. 컨테이너화된 앱을 실행하세요.

```bash
docker compose up --build -d
```

1. 웹 브라우저를 열고 `http://localhost:3030`으로 이동하세요.
1. 웹 애플리케이션이 제대로 실행되는지 확인하세요.
1. 다음 명령을 실행하여 컨테이너화된 앱을 제거하고 정리하세요.

```bash
docker compose down --rmi all
```
35 changes: 35 additions & 0 deletions localisation/ko/complete/dotnet/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# .NET 앱 샘플

## 전제 조건

준비를 위해 [README](../../README.md) 문서를 참조하세요.

## 시작하기

### Spring Boot 백엔드 실행

[Java 앱 샘플](../java/)을 사용하세요.

> **참고**: GitHub Codespaces를 사용하는 경우, Java 앱 포트 `8080`이 **public**으로 설정되어 있는지 확인하세요.

### Blazor 프론트엔드 실행

1. 저장소 루트를 가져오세요.

```bash
# bash/zsh
REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
```

```powershell
# PowerShell
$REPOSITORY_ROOT = git rev-parse --show-toplevel
```

1. 앱을 실행하세요.

```bash
dotnet watch run --project $REPOSITORY_ROOT/complete/dotnet/Contoso.BlazorApp
```

1. 웹 애플리케이션이 제대로 실행되는지 확인하세요.
Loading