콘텐츠로 이동

4주 마스터 가이드

실수가 자유로운 개발 연습장: 4주 마스터 가이드

섹션 제목: “실수가 자유로운 개발 연습장: 4주 마스터 가이드”

바이브코딩 입문자를 위한 용어정리 + 실습 예제 통합 가이드 스터디 기간: 3/16(월) ~ 4/13(월) | 카테고리: 개발&자동화 | 난이도: 입문 🐥


“Ctrl+Z가 안 되는 영역에서 되돌리기”

코드, 환경, OS — 세 가지 레이어에서 각각 되돌리기 포인트를 만들고, 망가뜨려도 복구할 수 있는 능력을 기릅니다.

레이어도구되돌리기 방법
코드Gitgit checkout, git reset → 커밋 단위로 복원
환경Docker컨테이너 삭제 후 이미지로 재생성
환경WSLwsl --unregister 후 재설치 또는 백업 복원
환경fnmfnm uninstall 후 다른 버전 설치
OSUTM/VMware/Hyper-V스냅샷으로 원하는 시점으로 복원

컴퓨터에 글자로 명령을 내리는 창. 마우스로 클릭하는 대신, 텍스트를 입력해서 파일을 만들거나 프로그램을 실행한다.

  • Windows: PowerShell, 명령 프롬프트
  • macOS: 터미널(Terminal.app)

프로그램을 한 줄 명령어로 설치·삭제·업데이트하는 도구. 앱스토어의 터미널 버전이라고 생각하면 된다.

  • Windows: scoop
  • macOS: Homebrew (brew)

자유롭게 실험할 수 있는 연습 환경. 망가뜨려도 되돌릴 수 있으니 부담 없이 시도할 수 있다.

AI에게 자연어로 원하는 것을 설명하면, AI가 코드를 작성해주는 방식의 개발. 코드를 한 줄씩 외워서 타이핑하는 게 아니라, **“이런 거 만들어줘”**라고 말하면 만들어진다.


1주차: 시작 — Git으로 첫 되돌리기 포인트 만들기

섹션 제목: “1주차: 시작 — Git으로 첫 되돌리기 포인트 만들기”

OT + Git 되돌리기 실습. 커밋 → 수정 → 복원 흐름을 직접 경험.

전체 용어정리: 용어정리 참고

용어한줄 설명
Git코드의 변경 이력을 기록하고 되돌리는 도구
커밋 (Commit)하나의 세이브 포인트. git commit -m "메시지"
스테이징 (Staging)세이브할 파일을 골라 바구니에 담는 과정. git add
브랜치 (Branch)원본을 건드리지 않고 실험할 수 있는 갈래
리포지토리 (repo)Git이 관리하는 프로젝트 폴더
.gitignoreGit이 무시할 파일 목록

1주차 실습: AI 설명 문서를 여러 언어로 만들기

섹션 제목: “1주차 실습: AI 설명 문서를 여러 언어로 만들기”

상세 실습 가이드: 1주차: Git 되돌리기 참고

Terminal window
# 1) 프로젝트 만들고 Git 시작
mkdir ai-docs && cd ai-docs && git init
# 2) AI에게 한글 문서 받아서 저장 → 커밋
git add ai-intro.txt
git commit -m "한글 버전 작성"
# 3) 영어로 교체 → 커밋
git commit -am "영어 버전으로 교체"
# 4) 중국어·일본어 추가 → 각각 커밋
git commit -am "중국어 버전 추가"
git commit -am "일본어 버전 추가"
# 5) 커밋 기록 확인 → 원하는 시점으로 되돌리기
git log --oneline
git restore --source 커밋ID ai-intro.txt # 특정 시점으로
git restore ai-intro.txt # 최신으로 복구
git revert HEAD # 커밋 후 되돌리기
# 6) 실험 브랜치로 안전하게 시도
git checkout -b experiment # 실험 시작
git checkout main # 안 되면 돌아오기
명령어역할
git initGit 저장소 시작
git status상태 확인
git add [파일]세이브할 파일 지정
git commit -m "[메시지]"세이브 포인트 생성
git log --oneline세이브 목록 보기
git restore [파일]커밋 전 되돌리기
git revert HEAD커밋 후 되돌리기
git checkout -b [이름]실험 브랜치 만들기

2주차: 환경 — 날리고 다시 만들기

섹션 제목: “2주차: 환경 — 날리고 다시 만들기”

scoop/brew로 깔끔한 설치 환경 만들기 + fnm으로 Node.js 버전 관리 + WSL 설치 & 되돌리기

Windows 터미널에서 프로그램을 한 줄로 설치·삭제하는 도구. 설치된 프로그램이 사용자 폴더 아래로 정리되어 시스템을 깨끗하게 유지한다.

Terminal window
scoop install git # 설치
scoop uninstall git # 삭제 — 찌꺼기 없이 깔끔

맥에서 표준처럼 사용되는 패키지 관리자. “맥에 빠진 패키지 관리자”라는 별칭.

Terminal window
brew install git # 설치
brew uninstall git # 삭제

JavaScript를 브라우저 밖에서도 실행할 수 있게 해주는 실행 환경(런타임). 바이브코딩 도구들(Claude Code 등)이 이 위에서 돌아간다.

프로그래밍 언어로 작성한 코드를 실제로 실행해주는 환경. Node.js는 JavaScript의 런타임.

Node.js의 버전을 여러 개 설치하고 전환하는 도구. 프로젝트마다 다른 버전이 필요할 때, 옷을 갈아입듯이 버전을 바꿀 수 있다.

Terminal window
fnm install 22 # 22 버전 설치
fnm use 22 # 22 사용
fnm use 20 # 20으로 전환 — 되돌리기!

오랫동안 안정적으로 지원되는 버전. 특별한 이유가 없다면 항상 LTS 선택이 안전하다.

Node.js에서 사용할 수 있는 다양한 부품(패키지)을 가져오는 도구. Node.js를 설치하면 함께 설치된다.

Windows 안에서 Linux를 바로 실행하는 기능. 가상머신보다 훨씬 가볍다. Windows 사용자만 해당 (Mac은 이미 유닉스 기반이므로 불필요).

Terminal window
wsl --install # 설치
wsl --export Ubuntu backup.tar # 백업
wsl --unregister Ubuntu # 삭제 (되돌리기)
wsl --import Ubuntu C:\wsl backup.tar # 복원

컴퓨터가 프로그램을 찾고 실행하기 위해 참고하는 설정값. 패키지 관리자가 이걸 자동으로 처리해준다.

셸 설정 파일 (.bashrc / .zshrc / $PROFILE)

섹션 제목: “셸 설정 파일 (.bashrc / .zshrc / $PROFILE)”

터미널을 켤 때 자동으로 실행되는 설정 파일. fnm 같은 도구가 매번 자동으로 작동하려면 여기에 설정을 추가해야 한다.

Windows — scoop 설치:

Terminal window
# 1) 실행 정책 변경 (보안 빗장 열기)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 2) scoop 설치
irm get.scoop.sh | iex
# 3) 확인
scoop --version

macOS — Homebrew 설치:

Terminal window
# 1) Xcode 명령줄 도구 설치 (이미 있으면 생략)
xcode-select --install
# 2) Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 3) 확인
brew --version

예제 2: 패키지 관리자로 프로그램 설치·확인·삭제 체험

섹션 제목: “예제 2: 패키지 관리자로 프로그램 설치·확인·삭제 체험”

Windows:

Terminal window
scoop install curl # 설치
scoop list # 설치 목록 확인
scoop uninstall curl # 삭제 — 깔끔하게 사라짐

macOS:

Terminal window
brew install wget # 설치
brew list # 설치 목록 확인
brew uninstall wget # 삭제

예제 3: fnm으로 Node.js 설치하고 버전 전환하기

섹션 제목: “예제 3: fnm으로 Node.js 설치하고 버전 전환하기”

설치:

Terminal window
# Windows
scoop install fnm
# 또는
winget install Schniz.fnm
Terminal window
# macOS
brew install fnm

셸 설정 (매우 중요!):

Terminal window
# Windows PowerShell — 프로필 파일 열기
notepad $PROFILE
# 열린 파일 맨 아래에 아래 한 줄을 추가하고 저장:
# fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression
Terminal window
# macOS (zsh)
echo 'eval "$(fnm env --use-on-cd --shell zsh)"' >> ~/.zshrc
source ~/.zshrc

Node.js 설치 & 버전 전환:

Terminal window
# 안정 버전 설치
fnm install --lts
# 특정 버전 설치
fnm install 20
fnm install 22
# 버전 목록 확인
fnm list
# 버전 전환 — 되돌리기!
fnm use 22
node --version # → v22.x.x
fnm use 20
node --version # → v20.x.x (바뀌었다!)
# 기본 버전 지정
fnm default 22

첫 Node.js 프로그램 실행:

Terminal window
echo 'console.log("안녕하세요!")' > hello.js
node hello.js
# → 안녕하세요!

예제 4: WSL 설치 & 되돌리기 (Windows 사용자만)

섹션 제목: “예제 4: WSL 설치 & 되돌리기 (Windows 사용자만)”
Terminal window
# 1) 관리자 권한 PowerShell에서 설치
wsl --install
# 2) 재부팅 후, Ubuntu 창에서 사용자명/비밀번호 설정
# ⚠️ 비밀번호 입력 시 화면에 아무것도 안 보이는 게 정상!
# 3) 설치 확인
wsl -l -v
# → Ubuntu Running 2 ← 버전 2인지 확인

WSL 되돌리기 실습:

Terminal window
# 백업 (현재 상태를 파일로 저장)
wsl --export Ubuntu C:\backup\ubuntu-backup.tar
# 삭제 (흔적 없이 사라짐, Windows에는 영향 없음)
wsl --unregister Ubuntu
# 복원 (백업에서 원래 상태로 복구)
wsl --import Ubuntu C:\wsl\Ubuntu C:\backup\ubuntu-backup.tar

WSL 안에서 첫 명령어:

Terminal window
pwd # 현재 위치 확인
ls # 파일 목록 보기
mkdir test # 폴더 만들기
touch hello.txt # 빈 파일 만들기
cat hello.txt # 파일 내용 보기
도구설치삭제확인
scoopscoop install [이름]scoop uninstall [이름]scoop list
brewbrew install [이름]brew uninstall [이름]brew list
fnmfnm install [버전]fnm uninstall [버전]fnm list
WSLwsl --installwsl --unregister [이름]wsl -l -v

Docker로 서비스 설치 연습. 한 줄이면 설치, 한 줄이면 삭제.

앱과 그 앱이 필요로 하는 환경을 통째로 묶어서 실행하는 도구. 내 컴퓨터 환경을 더럽히지 않고 프로그램을 실행할 수 있다. 이사할 때 방 전체를 상자에 넣어 옮기는 기술.

Docker가 만드는 격리된 실행 환경. 독립된 작은 방을 만드는 것. 필요 없으면 방째로 삭제하면 끝 — 흔적이 남지 않는다.

컨테이너를 만들기 위한 설계도(레시피). 하나의 이미지로 똑같은 컨테이너를 몇 개든 만들 수 있다. 이미지는 변하지 않는 파일이다.

Terminal window
docker run nginx # nginx 이미지로 컨테이너 생성+실행
docker rm -f my-nginx # 컨테이너 삭제

전 세계 사람들이 만든 이미지를 공유하는 온라인 저장소. 원하는 이미지 이름만 알면 내 컴퓨터로 가져올 수 있다.

네트워크 통신의 출입구 번호. 아파트 동호수처럼, 같은 컴퓨터(주소)에서 어떤 프로그램에 접근할지 구분한다.

내 컴퓨터의 포트와 컨테이너의 포트를 연결하는 것. -p 8080:80은 “내 8080번으로 오면 컨테이너 80번으로 전달”이라는 뜻.

Docker를 쉽게 사용할 수 있게 해주는 데스크탑 앱. 고래 모양 아이콘이 특징. 이 앱이 실행 중이어야 docker 명령어가 작동한다.

컨테이너에 전달하는 설정값. 비밀번호나 설정을 프로그램에 건네주는 “메모 쪽지”.

Terminal window
docker --version
# → Docker version 24.x.x 같은 숫자가 나오면 성공
docker run hello-world
# → 환영 메시지가 나오면 모든 준비 완료!

예제 2: 한 줄로 서비스 설치해보기

섹션 제목: “예제 2: 한 줄로 서비스 설치해보기”

웹 서버 (nginx):

Terminal window
docker run -d -p 8080:80 --name my-web nginx
# 브라우저에서 http://localhost:8080 접속 → 웹 서버 작동!
# 옵션 설명:
# -d : 백그라운드 실행 (터미널 닫아도 계속 돌아감)
# -p 8080:80 : 내 8080번 포트 → 컨테이너 80번 포트 연결
# --name my-web : 이 컨테이너의 이름
# nginx : 사용할 이미지

모니터링 대시보드 (Uptime Kuma):

Terminal window
docker run -d -p 3001:3001 --name kuma louislam/uptime-kuma
# 브라우저에서 http://localhost:3001 → 멋진 대시보드!

개발자 유틸리티 모음 (IT-Tools):

Terminal window
docker run -d -p 8081:80 --name tools corentinth/it-tools
# 브라우저에서 http://localhost:8081 → QR 생성, JSON 포맷터 등!

PDF 올인원 도구 (Stirling PDF):

Terminal window
docker run -d -p 8082:8080 --name pdf stirlingtools/stirling-pdf
# 브라우저에서 http://localhost:8082 → PDF 합치기/나누기/변환!

메모 서비스 (Memos):

Terminal window
docker run -d -p 5230:5230 --name memo neosmemo/memos
# 브라우저에서 http://localhost:5230 → 간단한 메모장!

예제 3: 되돌리기 — 한 줄이면 삭제

섹션 제목: “예제 3: 되돌리기 — 한 줄이면 삭제”
Terminal window
# 실행 중인 컨테이너 확인
docker ps
# 서비스 중지 + 삭제
docker stop my-web
docker rm my-web
# → 흔적 없이 사라짐!
# 다시 설치하면? 몇 초면 원래대로
docker run -d -p 8080:80 --name my-web nginx

예제 4: 전부 한꺼번에 정리하기

섹션 제목: “예제 4: 전부 한꺼번에 정리하기”
Terminal window
# 모든 컨테이너 멈추기
docker stop $(docker ps -q)
# 모든 컨테이너 삭제
docker rm $(docker ps -aq)
# 모든 이미지 삭제
docker rmi $(docker images -q)
# 대청소 (사용하지 않는 모든 것 한번에 정리)
docker system prune -a
1. docker run 한 줄로 Uptime Kuma 설치 → 대시보드 구경
2. docker run 한 줄로 IT-Tools 설치 → QR코드 만들어보기
3. docker run 한 줄로 Stirling PDF 설치 → PDF 합쳐보기
4. docker rm → 깨끗하게 사라짐 → "되돌리기" 체감!

핵심: 한 줄이면 설치, 한 줄이면 삭제

용도명령어
서비스 실행docker run [옵션] 이미지이름
실행 목록 확인docker ps
모든 목록 (멈춘 것 포함)docker ps -a
서비스 중지docker stop 이름
서비스 삭제docker rm 이름
기록(로그) 확인docker logs 이름
컨테이너 안으로 진입docker exec -it 이름 bash
이미지 목록docker images
이미지 삭제docker rmi 이미지이름
전체 초기화docker system prune -a
상황원인해결
docker: command not foundDocker Desktop이 실행 안 됨고래 아이콘이 트레이에 있는지 확인
port is already allocated포트가 이미 사용 중다른 컨테이너 중지하거나 포트 번호 변경
컨테이너가 바로 죽음설정값 오류docker logs 이름으로 에러 확인
WSL 관련 오류 (Windows)Linux 커널 업데이트 필요화면에 표시된 주소로 업데이트 설치

4주차: 완성 — 플레이그라운드 연결

섹션 제목: “4주차: 완성 — 플레이그라운드 연결”

가상화 (UTM/VMware/Hyper-V)로 OS 레벨 되돌리기 + 1~3주차 환경을 하나로 연결

하나의 컴퓨터 안에 또 다른 컴퓨터를 소프트웨어로 만드는 기술. 진짜 컴퓨터처럼 OS를 설치하고 사용할 수 있다.

가상화로 만들어진 가상의 컴퓨터. 실제 하드웨어 없이 OS를 통째로 실행한다. Docker와의 차이: Docker는 앱 하나를 격리, VM은 OS 전체를 격리.

가상머신의 현재 상태를 통째로 저장한 것. 게임의 세이브 포인트와 같다. 망가뜨려도 그 시점으로 정확히 되돌아갈 수 있다. Hyper-V에서는 ‘체크포인트’라고 부른다.

macOS에서 사용하는 무료 가상화 앱. Mac 위에서 Windows, Linux 등을 실행할 수 있다. 애플 실리콘에 최적화.

Windows/Mac/Linux에서 사용하는 가상화 소프트웨어. 개인 학습 목적이라면 무료로 사용 가능.

Windows에 기본 내장된 가상화 기능. 별도 설치 불필요, 기능만 켜면 됨. 단, Windows Pro 이상 에디션에서만 사용 가능 (Home 에디션 불가).

운영체제의 설치 CD를 파일로 만든 것. 가상머신에 OS를 설치할 때 이 파일을 연결한다.

컴퓨터 하드웨어 차원의 가상화 지원 설정. 가상머신을 돌리려면 이 기능이 켜져 있어야 한다. 최근 컴퓨터는 대부분 기본으로 켜져 있다.

Claude Code: 터미널에서 동작하는 AI 코딩 어시스턴트. 자연어로 명령하면 파일을 만들고, 코드를 수정하고, 터미널 명령어를 실행해준다.

Terminal window
npm install -g @anthropic-ai/claude-code
claude --version

Cursor: AI가 내장된 코드 에디터. VS Code 기반으로, 코드를 보면서 AI에게 수정을 요청할 수 있다. https://cursor.com 에서 설치.

내 컴퓨터추천 도구이유
Mac (M1/M2/M3/M4)UTM맥 전용, 무료, 애플 실리콘 최적화
Windows Pro 이상Hyper-V윈도우 내장, 무료, 최고 성능
Windows HomeVMware무료(개인용), 높은 호환성
Terminal window
brew install --cask utm

또는 https://mac.getutm.app/ 에서 직접 다운로드.

  1. https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion 에서 설치 파일 다운로드
  2. 설치 중 “비상업적 용도” 선택 → 무료 사용
  3. 재부팅

VMware는 Broadcom 인수 이후 라이선스 정책이 변경되었습니다. 설치 시점에 무료 사용 조건을 확인하세요.

Terminal window
# 관리자 권한 PowerShell에서 실행
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# → 재부팅 후 시작 메뉴에서 "Hyper-V Manager" 검색

예제 5: 가상머신에 Ubuntu 설치하기

섹션 제목: “예제 5: 가상머신에 Ubuntu 설치하기”

공통 준비: Ubuntu 공식 사이트에서 ISO 파일 다운로드

UTM (Mac):

  1. UTM 실행 → “새 가상머신 만들기”
  2. Virtualize 선택 → Linux 선택
  3. 다운로드한 ISO 파일 연결
  4. 메모리 4GB, 저장소 30~40GB 설정
  5. 재생 버튼으로 설치 시작

Hyper-V (Windows Pro):

  1. Hyper-V Manager 실행
  2. 새로 만들기 → 가상 컴퓨터
  3. 2세대 선택, 메모리 4096MB
  4. Default Switch 네트워크 선택
  5. 가상 하드 디스크 30~40GB
  6. ISO 파일 연결 → 마침 → 시작
1. 가상머신에 Ubuntu 설치 완료
2. "깨끗한 상태" 스냅샷 저장 ← 첫 번째 세이브 포인트!
3. 마음껏 실험 — 시스템 폴더 삭제해도 OK
4. 망가졌다? → 스냅샷으로 복원 → 2번 상태로 복구!
5. 다시 실험 → 또 망가짐 → 또 복원 → 무한 반복

UTM: 가상머신 정보 → 스냅샷 탭 → 저장 VMware: 상단 메뉴 → 스냅샷 찍기 Hyper-V: 가상머신 우클릭 → 체크포인트 만들기

예제 7: 1~3주차 통합 — 나만의 플레이그라운드 체크리스트

섹션 제목: “예제 7: 1~3주차 통합 — 나만의 플레이그라운드 체크리스트”
## 나만의 개발 환경 세팅 체크리스트
### Step 1: 기본 도구 (5분)
- [ ] 패키지 관리자 설치 (scoop 또는 brew)
- [ ] Git 설치 → `git --version`으로 확인
- [ ] fnm 설치 → `fnm --version`으로 확인
- [ ] Node.js 설치 → `fnm install --lts``node --version`
### Step 2: 프로젝트 시작 (3분)
- [ ] 폴더 생성 → `mkdir my-project && cd my-project`
- [ ] Git 초기화 → `git init`
- [ ] 첫 커밋 → `git add . && git commit -m "시작"`
- [ ] ⭐ 코드 세이브 포인트 완성!
### Step 3: Docker 준비 (5분)
- [ ] Docker Desktop 설치 → `docker --version`
- [ ] 테스트 → `docker run hello-world`
- [ ] 서비스 하나 띄워보기 → 브라우저에서 확인
- [ ] 삭제 → 다시 띄우기 → 되돌리기 체험!
### Step 4: (선택) 가상화
- [ ] UTM/VMware/Hyper-V 설치
- [ ] 가상머신 생성 + Ubuntu 설치
- [ ] 스냅샷 만들기 → 망가뜨리기 → 복원하기
### 🎉 초보 탈출 선언
"나는 망가뜨려도 되돌릴 수 있다!"

비교 항목UTMVMwareHyper-V
추천 OSmacOSWindows (Home 포함)Windows Pro 이상
비용무료개인 사용 시 무료무료 (윈도우 내장)
설치 방식앱 설치앱 설치윈도우 기능 켜기
주요 강점애플 실리콘 최적화높은 호환성·안정성윈도우 네이티브·높은 성능
되돌리기스냅샷스냅샷체크포인트
주의 사항맥 전용특별한 제약 없음다른 가상화 도구와 충돌 가능

항목Claude CodeCursor
동작 방식터미널 기반 (명령어)코드 편집기 기반 (시각적)
설치npm install -g @anthropic-ai/claude-codehttps://cursor.com 에서 다운로드
시각적 편집텍스트 대화로만화면에서 직접 코드 보며 수정
추천 상황프로젝트 초기 설정, 빠른 실행코드 세부 내용 보며 수정할 때
비용구독($20~200/mo) 또는 API 사용량 기반무료 플랜 있음 (유료 $16~20/mo)

3/17 화 1주차 OT + Git 되돌리기 실습
3/24 화 2주차 scoop/brew + fnm + WSL + 사례 발표
3/31 화 3주차 Docker 서비스 설치 연습 + 사례 발표
4/7 화 4주차 가상화 + 플레이그라운드 연결 + 사례 발표 + 마무리
Week 1 (3/17~) Week 2 (3/24~) Week 3 (3/31~) Week 4 (4/7~)
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Git 시작 │ → │ scoop/brew │ → │ Docker 활용 │ → │ 가상화+통합 │
│ 커밋 & 복구 │ │ fnm + Node │ │ 한 줄 설치 │ │ 스냅샷 체험 │
│ AI 도구 소개 │ │ WSL (Win) │ │ 한 줄 삭제 │ │ 체크리스트 │
│ 따라하기 │ │ 사례 발표 │ │ 사례 발표 │ │ 초보탈출 선언 │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
코드 되돌리기 환경 되돌리기 컨테이너 되돌리기 OS 되돌리기
(Git) (fnm, WSL) (Docker) (UTM/VMware/Hyper-V)