Skip to content

Commit c27de5c

Browse files
authored
문서 정리 (#11)
* 문서 업데이트 * 문서 업데이트
1 parent 9c9375f commit c27de5c

6 files changed

Lines changed: 197 additions & 175 deletions

File tree

README.md

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ GitHub Copilot의 최신 기능을 이용해서 다양한 언어로 다양한
1111

1212
## 워크샵 사전 준비사항
1313

14-
GitHub Codespaces를 활용할 경우, 크로미움 계열의 웹 브라우저만 있으면 됩니다. 다만, 로컬 PC에서 직접 개발할 경우, 아래와 같은 내용을 준비해야 합니다.
14+
GitHub Codespaces를 활용할 경우, 크로미움 계열의 웹 브라우저만 있으면 됩니다. 다만, 로컬 PC에서 직접 개발할 경우, 아래와 같은 내용을 직접 준비해야 합니다.
1515

1616
### 공통
1717

1818
- [Visual Studio Code](https://code.visualstudio.com/) 설치
19+
- VS Code [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) 익스텐션 설치
20+
- VS Code [GitHub Copilot Chat](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat) 익스텐션 설치
1921
- [PowerShell 7](https://learn.microsoft.com/powershell/scripting/install/installing-powershell) 설치 👉 Windows 사용자용
2022
- [git CLI](https://git-scm.com/downloads) 설치
2123
- [GitHub CLI](https://cli.github.com/) 설치
@@ -24,22 +26,26 @@ GitHub Codespaces를 활용할 경우, 크로미움 계열의 웹 브라우저
2426
### Python
2527

2628
- [pyenv](https://github.com/pyenv/pyenv) 또는 [pyenv for Windows](https://github.com/pyenv-win/pyenv-win) 설치
27-
- VS Code [Python](https://marketplace.visualstudio.com/items/?itemName=ms-python.python) 익스텐션 설치치
29+
- pyenv를 통한 Python 3.12+ 이상 설치
30+
- VS Code [Python](https://marketplace.visualstudio.com/items/?itemName=ms-python.python) 익스텐션 설치
2831
- VS Code [Pylance](https://marketplace.visualstudio.com/items/?itemName=ms-python.vscode-pylance) 익스텐션 설치
2932
- VS Code [Python Debugger](https://marketplace.visualstudio.com/items/?itemName=ms-python.debugpy) 익스텐션 설치
3033
- VS Code [autopep8](https://marketplace.visualstudio.com/items/?itemName=ms-python.autopep8) 익스텐션 설치
3134

3235
### JavaScript
3336

34-
- [Node.js](https://nodejs.org/) 설치 (LTS 버전 권장)
37+
- [nvm](https://github.com/nvm-sh/nvm) 또는 [nvm for Windows](https://github.com/coreybutler/nvm-windows) 설치
38+
- nvm을 통한 [Node.js](https://nodejs.org/) 설치 (LTS 버전 권장)
3539
- [Yarn](https://yarnpkg.com/getting-started/install) 패키지 매니저 설치
36-
```bash
37-
npm install -g yarn
38-
```
40+
41+
```bash
42+
npm install -g yarn
43+
```
3944

4045
### Java
4146

42-
- [OpenJDK 21](https://learn.microsoft.com/java/openjdk/download) 설치
47+
- [SDKMAN](https://sdkman.io/) 설치
48+
- SDKMAN을 통한 [OpenJDK 21](https://learn.microsoft.com/java/openjdk/download) 설치
4349
- VS Code [Extension Pack for Java](https://marketplace.visualstudio.com/items/?itemName=vscjava.vscode-java-pack) 익스텐션 설치
4450
- VS Code [Spring Boot Extension Pack](https://marketplace.visualstudio.com/items/?itemName=vmware.vscode-boot-dev-pack) 익스텐션 설치
4551

@@ -48,12 +54,12 @@ GitHub Codespaces를 활용할 경우, 크로미움 계열의 웹 브라우저
4854
- [.NET SDK 9](https://dotnet.microsoft.com/download/dotnet/9.0) 설치
4955
- [VS Code C# Dev Kit](https://marketplace.visualstudio.com/items/?itemName=ms-dotnettools.csdevkit) 익스텐션 설치
5056

51-
## 시작하기
52-
5357
## 시나리오
5458

5559
Contoso 아웃도어 컴파니는 회사의 다양한 아웃도어용 제품 홍보를 위한 마이크로 소셜미디어 사이트를 개발하려고 합니다. 현재 개발 부서에는 Python 개발자가 백엔드 API를, JavaScript 개발자가 프론트엔드 웹 UI를 담당하고 있습니다. 마케팅 팀에서는 기본적인 MVP를 제작해서 웹사이트를 론칭할 계획을 세웠습니다. 하지만, 개발 기간이 촉박해서 빠르게 제작을 해야 하는 상황입니다.
5660

61+
앗, 그런데 말입니다...
62+
5763
## 작업 문서
5864

5965
아래 문서를 통해 자기주도학습의 형태로 직접 애플리케이션을 개발해 보세요!
@@ -66,7 +72,7 @@ Contoso 아웃도어 컴파니는 회사의 다양한 아웃도어용 제품 홍
6672
| 03: Java 앱 개발 | [03-java.md](./docs/03-java.md) |
6773
| 04: .NET 앱 개발 | [04-dotnet.md](./docs/04-dotnet.md) |
6874

69-
### 완성본 예제 보기
75+
## 완성본 예제 보기
7076

7177
모든 샘플 코드의 완성본 예제는 각 언어별 디렉토리에 있습니다. 하지만, 이는 GitHub Copilot으로 개발한 애플리케이션의 예시일 뿐 항상 이와 똑같이 만들어지는 것은 아닙니다.
7278

@@ -77,31 +83,40 @@ Contoso 아웃도어 컴파니는 회사의 다양한 아웃도어용 제품 홍
7783
| Java | [java](./java/) |
7884
| .NET | [dotnet](./dotnet/) |
7985

80-
### openapi.yaml에 대한 설명
86+
## `openapi.yaml` 문서에 대하여...
8187

82-
openapi.yaml 파일은 우리가 만들 웹 API의 설계도라고 생각하면 됩니다. 마치 건물을 짓기 전에 건축 도면이 필요한 것처럼, API를 개발하기 전에 이 파일로 전체 구조를 미리 계획합니다.
88+
`openapi.yaml` 파일은 우리가 만들 웹 API의 설계도라고 생각하면 좋습니다. 마치 건물을 짓기 전에 건축 도면이 필요한 것처럼, API를 개발하기 전에 이 파일로 전체 구조를 미리 계획합니다.
8389

8490
이 파일에서는 다음과 같은 내용을 정의합니다:
85-
- 어떤 기능들(포스트 작성, 댓글 달기, 좋아요 등)을 만들지
86-
- 각 기능을 사용하려면 어떤 주소(URL)로 요청해야 하는지
87-
- 요청할 때 어떤 정보가 필요한지(예: 포스트 내용, 사용자 이름)
91+
92+
- 어떤 기능들(포스트 작성, 댓글 달기, 좋아요 등)을 만들지,
93+
- 각 기능을 사용하려면 어떤 주소(URL)로 요청해야 하는지,
94+
- 요청할 때 어떤 정보가 필요한지(예: 포스트 내용, 사용자 이름),
8895
- 요청 후 어떤 응답이 돌아오는지
8996

9097
초보자에게 가장 큰 장점은:
91-
- 개발 전에 API 구조를 명확히 볼 수 있어 전체 그림을 이해하기 쉽습니다
92-
- 여러 개발자가 같은 규칙으로 작업할 수 있습니다
93-
- 자동으로 API 문서와 테스트 페이지가 생성됩니다
94-
- 클라이언트(앱이나 웹) 개발자와 서버 개발자 간의 소통이 쉬워집니다
98+
99+
- 개발 전에 API 구조를 명확히 볼 수 있어 전체 그림을 이해하기 쉽습니다.
100+
- 여러 개발자가 같은 규칙으로 작업할 수 있습니다.
101+
- 자동으로 API 문서와 테스트 페이지가 생성됩니다.
102+
- 클라이언트(앱이나 웹) 개발자와 서버 개발자 간의 소통이 쉬워집니다.
95103

96104
마치 레고 조립 설명서처럼, 어떤 부품이 어디에 들어가는지 미리 알려주는 역할을 합니다.
97105

98-
openapi.yaml은 SNS 앱을 위한 API 설계도로, 다음 기능들을 정의합니다:
106+
`openapi.yaml`은 SNS 앱을 위한 API 설계도로, 다음 기능들을 정의합니다:
107+
108+
- 포스트 관련 API (5개)
109+
- 포스트 목록 조회, 작성, 상세 조회, 수정, 삭제
110+
- 댓글 관련 API (5개)
111+
- 댓글 목록 조회, 작성, 상세 조회, 수정, 삭제
112+
- 좋아요 관련 API (2개)
113+
- 좋아요 추가, 취소
114+
115+
각 API는 필요한 요청 정보와 응답 형식, 오류 처리 방법을 명확히 정의하고 있어 개발 시 일관성 있는 인터페이스를 구현할 수 있습니다.
99116

100-
* 포스트 관련 API (5개)
101-
** 포스트 목록 조회, 작성, 상세 조회, 수정, 삭제
102-
* 댓글 관련 API (5개)
103-
** 댓글 목록 조회, 작성, 상세 조회, 수정, 삭제
104-
* 좋아요 관련 API (2개)
105-
** 좋아요 추가, 취소
117+
## 참고 자료
106118

107-
각 API는 필요한 요청 정보와 응답 형식, 오류 처리 방법이 명확히 정의되어 있어 개발 시 일관된 인터페이스를 구현할 수 있습니다.
119+
- [GitHub Copilot 에이전트 모드 및 MCP](https://code.visualstudio.com/blogs/2025/04/07/agentMode)
120+
- [GitHub Copilot 사용자 정의 지침(Custom Instruction)](https://code.visualstudio.com/docs/copilot/copilot-customization)
121+
- [GitHub Copilot AI 모델 바꾸기](https://docs.github.com/ko/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat?tool=vscode)
122+
- [GitHub Codespaces](https://docs.github.com/ko/codespaces/about-codespaces/what-are-codespaces)

docs/00-setup.md

Lines changed: 44 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22

33
이 단계에서는 워크샵 진행을 위해 필요한 개발 환경을 설정합니다.
44

5-
## 순서
6-
7-
- [사전 준비사항](#사전-준비사항)
8-
- [GitHub Codespaces로 시작하기](#github-codespaces로-시작하기)
9-
- [PowerShell 설치 확인 👉 Windows 사용자용](#powershell-설치-확인--windows-사용자용)
10-
- [git CLI 설치 확인](#git-cli-설치-확인)
11-
- [GitHub CLI 설치 확인](#github-cli-설치-확인)
12-
- [Docker Desktop 설치 확인](#docker-desktop-설치-확인)
13-
- [Visual Studio Code 설치 확인](#visual-studio-code-설치-확인)
14-
- [Visual Studio Code 시작](#visual-studio-code-시작)
15-
165
## 사전 준비사항
176

187
[README](../README.md) 문서를 참조하여 개발 환경을 준비합니다.
198

9+
## 순서
10+
11+
- [GitHub Codespaces로 시작하기](#github-codespaces로-시작하기)
12+
- [Visual Studio Code로 시작하기](#visual-studio-code로-시작하기)
13+
- [PowerShell 설치 확인 👉 Windows 사용자용](#powershell-설치-확인--windows-사용자용)
14+
- [git CLI 설치 확인](#git-cli-설치-확인)
15+
- [GitHub CLI 설치 확인](#github-cli-설치-확인)
16+
- [Docker Desktop 설치 확인](#docker-desktop-설치-확인)
17+
- [Visual Studio Code 설치 확인](#visual-studio-code-설치-확인)
18+
- [Visual Studio Code 시작](#visual-studio-code-시작)
19+
2020
## GitHub Codespaces로 시작하기
2121

2222
1. 아래 이미지를 따라 차례로 `[<> Code]` 👉 `[Codespaces]` 👉 `[Create codespace on main]`를 클릭해서 GitHub Codespaces 인스턴스를 생성합니다. 네트워크 사정에 따라 대략 5분-10분 정도 걸립니다.
@@ -34,6 +34,7 @@
3434
# Node.js 버전 확인
3535
node --version
3636
npm --version
37+
yarn --version
3738
```
3839

3940
```bash
@@ -55,15 +56,17 @@
5556
아래와 같은 결과가 보여야 합니다.
5657

5758
```bash
58-
origin https://github.com/devrel-kr/semantic-kernel-workshop.git (fetch)
59-
origin https://github.com/devrel-kr/semantic-kernel-workshop.git (push)
59+
origin https://github.com/devrel-kr/github-copilot-bootcamp-2025.git (fetch)
60+
origin https://github.com/devrel-kr/github-copilot-bootcamp-2025.git (push)
6061
```
6162

6263
만약 위와 같은 결과가 보이지 않는다면 GitHub Codespaces 인스턴스를 삭제하고 다시 생성해야 합니다.
6364

6465
**👇👇👇 아래 내용부터는 로컬 PC에 VS Code를 설치하고 워크샵을 진행할 때 필요한 내용입니다. GitHub Codespaces 인스턴스를 사용한다면 이 문서의 마지막으로 건너뛰어도 좋습니다. 👇👇👇**
6566

66-
## PowerShell 설치 확인 👉 Windows 사용자용
67+
## Visual Studio Code로 시작하기
68+
69+
### PowerShell 설치 확인 👉 Windows 사용자용
6770

6871
1. 터미널에서 아래 명령어를 실행시켜 현재 PowerShell을 설치했는지 확인합니다.
6972

@@ -87,7 +90,7 @@
8790

8891
`7.5.0` 이상의 버전이 있어야 합니다. 만약 이보다 버전이 낮다면 [PowerShell 설치 페이지](https://learn.microsoft.com/powershell/scripting/install/installing-powershell)에서 최신 버전을 다운로드 받아 설치합니다.
8992

90-
## git CLI 설치 확인
93+
### git CLI 설치 확인
9194

9295
1. 터미널에서 아래 명령어를 실행시켜 현재 git CLI를 설치했는지 확인합니다.
9396

@@ -111,7 +114,7 @@
111114

112115
`2.39.0` 이상의 버전이 있어야 합니다. 만약 이보다 버전이 낮다면 [git CLI 설치 페이지](https://git-scm.com/downloads)에서 최신 버전을 다운로드 받아 설치합니다.
113116

114-
## GitHub CLI 설치 확인
117+
### GitHub CLI 설치 확인
115118

116119
1. 터미널에서 아래 명령어를 실행시켜 현재 GitHub CLI를 설치했는지 확인합니다.
117120

@@ -143,7 +146,7 @@
143146

144147
만약 로그인하지 않았다고 나온다면, `gh auth login` 명령어를 통해 로그인합니다.
145148

146-
## Docker Desktop 설치 확인
149+
### Docker Desktop 설치 확인
147150

148151
1. 터미널에서 아래 명령어를 실행시켜 현재 Docker Desktop을 설치했는지 확인합니다.
149152

@@ -167,7 +170,7 @@
167170

168171
`28.0.4` 이상의 버전이 있어야 합니다. 만약 이보다 버전이 낮다면 [Docker Desktop 설치 페이지](https://docs.docker.com/get-started/introduction/get-docker-desktop/)에서 최신 버전을 다운로드 받아 설치합니다.
169172

170-
## Visual Studio Code 설치 확인
173+
### Visual Studio Code 설치 확인
171174

172175
1. 터미널에서 아래 명령어를 실행시켜 현재 Visual Studio Code를 설치했는지 확인합니다.
173176

@@ -193,7 +196,7 @@
193196

194197
> 만약 터미널에서 `code` 명령어를 실행시킬 수 없다면, [이 문서](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line)를 참고하여 설정합니다.
195198

196-
## Visual Studio Code 시작
199+
### Visual Studio Code 시작
197200

198201
1. 작업할 디렉토리로 이동합니다.
199202
1. 터미널에서 아래 명령어를 실행시켜 이 리포지토리를 자신의 GitHub 계정으로 포크한 후 자신의 컴퓨터로 클론합니다.
@@ -223,10 +226,28 @@
223226
이 명령어를 실행하면 아래와 같은 결과가 나와야 합니다. 만약 `origin``devrel-kr`이 보이면 자신의 리포지토리에서 다시 클론해야 합니다.
224227

225228
```bash
226-
origin https://github.com/<자신의 GitHub ID>/semantic-kernel-workshop.git (fetch)
227-
origin https://github.com/<자신의 GitHub ID>/semantic-kernel-workshop.git (push)
228-
upstream https://github.com/devrel-kr/semantic-kernel-workshop.git (fetch)
229-
upstream https://github.com/devrel-kr/semantic-kernel-workshop.git (push)
229+
origin https://github.com/<자신의 GitHub ID>/github-copilot-bootcamp-2025.git (fetch)
230+
origin https://github.com/<자신의 GitHub ID>/github-copilot-bootcamp-2025.git (push)
231+
upstream https://github.com/devrel-kr/github-copilot-bootcamp-2025.git (fetch)
232+
upstream https://github.com/devrel-kr/github-copilot-bootcamp-2025.git (push)
233+
```
234+
235+
1. 아래 명령어를 실행시켜 [GitHub Copilot 익스텐션](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)과 [GitHub Copilot Chat 익스텐션](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat)을 설치했는지 확인합니다.
236+
237+
```bash
238+
# Bash/Zsh
239+
code --list-extensions | grep github.copilot
240+
```
241+
242+
```powershell
243+
# PowerShell
244+
code --list-extensions | Select-String "github.copilot"
245+
```
246+
247+
만약 아무 메시지도 보이지 않는다면, 아직 설치하지 않은 것입니다. 아래 명령어를 실행시켜 GitHub Copilot 익스텐션을 설치합니다.
248+
249+
```bash
250+
code --install-extension "github.copilot" --force && code --install-extension "github.copilot-chat" --force
230251
```
231252

232253
---

docs/01-python.md

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,44 +8,55 @@ Contoso 아웃도어 컴파니의 마케팅 팀에서는 제품 홍보를 위한
88

99
[README](../README.md) 문서를 참조하여 개발 환경을 준비합니다.
1010

11+
## 순서
12+
13+
- [개발 과정 프롬프트](#개발-과정-프롬프트)
14+
- [FastAPI 앱 프로젝트 준비](#fastapi-앱-프로젝트-준비)
15+
- [CRUD API 구현](#crud-api-구현)
16+
- [가상환경으로 앱 실행](#가상환경으로-앱-실행)
17+
- [API 확인](#api-확인)
18+
- [기본 데이터베이스 테이블 생성](#기본-데이터베이스-테이블-생성)
19+
- [서비스 종료](#서비스-종료)
20+
1121
## 개발 과정 프롬프트
1222

1323
아래는 FastAPI 앱을 개발하여 간단한 SNS 기능을 구현하는 과정입니다.
1424

15-
* FastAPI 앱 프로젝트 준비
16-
* CRUD API 구현
17-
* 가상환경으로 앱 실행
18-
* API 확인
19-
* 기본 데이터베이스 테이블 생성
25+
- FastAPI 앱 프로젝트 준비
26+
- CRUD API 구현
27+
- 가상환경으로 앱 실행
28+
- API 확인
29+
- 기본 데이터베이스 테이블 생성
2030

2131
### FastAPI 앱 프로젝트 준비
2232

2333
1. 가상환경 생성
2434

25-
Python 프로젝트 디렉토리를 생성하고, 다음 명령어로 가상환경(venv)을 만듭니다:
35+
Python 프로젝트 디렉토리를 생성하고, 다음 명령어로 가상환경(venv)을 만듭니다:
2636

27-
```bash
28-
python -m venv .venv
29-
```
37+
```bash
38+
python -m venv .venv
39+
```
3040

31-
2. 가상환경 활성화 및 FastAPI 설치
41+
1. 가상환경 활성화 및 FastAPI 설치
3242

33-
### Windows
43+
**Windows**
3444

35-
```bash
36-
.venv\Scripts\activate
37-
```
45+
```pwsh
46+
.venv/Scripts/activate
47+
```
3848

39-
### macOS / Linux
40-
```bash
41-
source .venv/bin/activate
42-
```
49+
**MacOS**, **Linux** 또는 **GitHub Codespaces**
4350

44-
```bash
45-
pip install fastapi uvicorn
46-
```
51+
```bash
52+
source .venv/bin/activate
53+
```
4754

48-
3. main.py 빈 파일 생성
55+
```bash
56+
pip install fastapi uvicorn
57+
```
58+
59+
1. main.py 빈 파일 생성
4960

5061
### CRUD API 구현
5162

@@ -108,5 +119,3 @@ kill 12710
108119
```
109120

110121
그럼 다른 백엔드 서비스를 동일한 포트에서 실행할 수 있습니다.
111-
112-

docs/02-javascript.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ Contoso 아웃도어 컴파니의 마케팅 팀에서는 제품 홍보를 위한
88

99
[README](../README.md) 문서를 참조하여 개발 환경을 준비합니다.
1010

11+
## 순서
12+
13+
- [개발 과정 프롬프트](#개발-과정-프롬프트)
14+
- [React 앱 프로젝트 준비](#react-앱-프로젝트-준비)
15+
- [React 앱 프로젝트 구축](#react-앱-프로젝트-구축)
16+
1117
## 개발 과정 프롬프트
1218

1319
### React 앱 프로젝트 준비

0 commit comments

Comments
 (0)