반응형
1. 프론트엔드 (React / Next.js / Vue 등)
1-1. 최초 프로젝트 셋업 (한 번만)
# 프로젝트 생성
npx create-react-app my-app # React
npx create-next-app@latest my-app # Next.js
npm create vite@latest my-app # Vite (React/Vue/Svelte)
# 디렉토리 이동
cd my-app
# 의존성 설치 (package.json 기반)
npm install # 또는 yarn install / pnpm install
1-2. 일상 개발 루틴
# ✅ 매일 개발 시작할 때
npm run dev # 개발 서버 실행 (Hot Reload 지원)
# ✅ 새 라이브러리 추가할 때
npm install axios # 일반 의존성
npm install -D tailwindcss # 개발 의존성 (-D = --save-dev)
# ✅ 라이브러리 삭제할 때
npm uninstall axios
# ✅ 다른 사람 코드 clone 받았을 때 (node_modules 없을 때)
npm install # package.json 보고 자동 설치
# ✅ 의존성 꼬였을 때
rm -rf node_modules package-lock.json
npm install # 깨끗하게 재설치
1-3. 배포 준비
# 프로덕션 빌드 (최적화된 정적 파일 생성)
npm run build # dist/ 또는 build/ 폴더 생성
# 빌드 결과 로컬에서 미리보기
npm run preview # Vite
npx serve build # CRA
1-4. 코드 품질
npm run lint # ESLint 검사
npm run lint -- --fix # 자동 수정
npm run format # Prettier 포맷팅 (설정된 경우)
npm test # 테스트 실행
2. 백엔드 (Spring Boot / Gradle)
2-1. 최초 프로젝트 셋업
# Spring Initializr에서 프로젝트 다운로드 후
cd my-spring-app
# Gradle Wrapper 권한 부여 (Mac/Linux)
chmod +x gradlew
2-2. 일상 개발 루틴
# ✅ 매일 개발 시작할 때
./gradlew bootRun # 서버 실행 (기본 8080 포트)
# ✅ 의존성 추가 후 (build.gradle 수정 후)
./gradlew build --refresh-dependencies # 의존성 새로고침 + 빌드
# ✅ 클린 빌드 (캐시 문제 시)
./gradlew clean build # 기존 빌드 삭제 후 재빌드
# ✅ 테스트 실행
./gradlew test # 전체 테스트
./gradlew test --tests "com.example.UserServiceTest" # 특정 테스트
2-3. 배포 준비
# 실행 가능한 JAR 생성
./gradlew bootJar # build/libs/app.jar 생성
# JAR 직접 실행
java -jar build/libs/my-app-0.0.1-SNAPSHOT.jar
# 프로파일 지정 실행
java -jar build/libs/my-app.jar --spring.profiles.active=prod
2-4. Maven 사용 시
./mvnw spring-boot:run # 서버 실행
./mvnw clean package # 빌드
./mvnw clean package -DskipTests # 테스트 스킵하고 빌드
3. 파이썬 (FastAPI / Django / Flask)
3-1. 최초 프로젝트 셋업
# 가상환경 생성 (프로젝트마다 반드시!)
python -m venv venv
# 가상환경 활성화
source venv/bin/activate # Mac/Linux
venv\Scripts\activate # Windows
# 의존성 설치
pip install -r requirements.txt # 기존 프로젝트 clone 시
pip install fastapi uvicorn # 새 프로젝트에서 직접 설치
3-2. 일상 개발 루틴
# ✅ 매일 개발 시작할 때 (가상환경 활성화 먼저!)
source venv/bin/activate
# ✅ 서버 실행
uvicorn main:app --reload # FastAPI
python manage.py runserver # Django
flask run --reload # Flask
# ✅ 새 패키지 설치 후 requirements.txt 갱신
pip install 새패키지
pip freeze > requirements.txt # 현재 설치된 모든 패키지 기록
# ✅ 의존성 꼬였을 때
deactivate # 가상환경 나가기
rm -rf venv # 가상환경 삭제
python -m venv venv # 새로 생성
source venv/bin/activate
pip install -r requirements.txt # 재설치
3-3. Django 전용 명령어
# DB 마이그레이션
python manage.py makemigrations # 모델 변경사항 감지
python manage.py migrate # DB에 반영
# 관리자 계정 생성
python manage.py createsuperuser
# 정적 파일 수집 (배포 시)
python manage.py collectstatic
3-4. Conda 환경 사용 시
conda create -n myenv python=3.11 # 환경 생성
conda activate myenv # 활성화
conda install numpy pandas # 패키지 설치
conda deactivate # 비활성화
4. AI / ML 프로젝트
4-1. 환경 셋업
# GPU 확인 (CUDA)
nvidia-smi # GPU 상태 확인
nvcc --version # CUDA 버전 확인
# PyTorch 설치 (공식 사이트에서 명령어 복사 권장)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# TensorFlow 설치
pip install tensorflow
# Jupyter Notebook
pip install jupyter
jupyter notebook # 브라우저에서 실행
jupyter lab # JupyterLab 실행
4-2. 일상 개발 루틴
# ✅ 학습 실행
python train.py --epochs 100 --batch-size 32 --lr 0.001
# ✅ 모델 서빙 (FastAPI 등으로 API 만든 경우)
uvicorn inference_server:app --host 0.0.0.0 --port 8000
# ✅ GPU 메모리 모니터링 (학습 중 다른 터미널에서)
watch -n 1 nvidia-smi # 1초마다 갱신
4-3. Hugging Face 모델 사용 시
pip install transformers datasets accelerate
huggingface-cli login # 토큰 인증
5. Docker
5-1. 기본 명령어
# ✅ 이미지 빌드
docker build -t my-app:latest . # 현재 디렉토리의 Dockerfile 기반
# ✅ 컨테이너 실행
docker run -d -p 8080:8080 --name my-app my-app:latest
# -d : 백그라운드 실행
# -p : 포트 매핑 (호스트:컨테이너)
# --name : 컨테이너 이름 지정
# ✅ 컨테이너 상태 확인
docker ps # 실행 중인 컨테이너
docker ps -a # 모든 컨테이너 (중지 포함)
# ✅ 로그 확인
docker logs my-app # 전체 로그
docker logs -f my-app # 실시간 로그 (tail -f 처럼)
# ✅ 컨테이너 안으로 진입
docker exec -it my-app /bin/bash # bash 쉘 접속
docker exec -it my-app sh # alpine 등 경량 이미지
# ✅ 정지 / 삭제
docker stop my-app # 컨테이너 정지
docker rm my-app # 컨테이너 삭제
docker rmi my-app:latest # 이미지 삭제
5-2. Docker Compose (멀티 컨테이너)
# ✅ 전체 서비스 시작 (가장 많이 씀)
docker-compose up -d # 백그라운드 실행
docker-compose up --build # 이미지 재빌드 후 실행
# ✅ 서비스 중지 및 삭제
docker-compose down # 컨테이너 중지 + 삭제
docker-compose down -v # + 볼륨까지 삭제 (DB 데이터 등)
# ✅ 특정 서비스만 재시작
docker-compose restart backend
# ✅ 로그 확인
docker-compose logs -f backend # 특정 서비스 로그
# ✅ 전체 초기화 (핵폭탄급 주의!)
docker system prune -a # 미사용 이미지/컨테이너/네트워크 전부 삭제
6. 데이터베이스
6-1. MySQL
mysql -u root -p # 접속
CREATE DATABASE mydb; # DB 생성
mysql -u root -p mydb < backup.sql # 덤프 파일 복원
mysqldump -u root -p mydb > backup.sql # 백업
6-2. PostgreSQL
psql -U postgres # 접속
CREATE DATABASE mydb;
pg_dump mydb > backup.sql # 백업
psql mydb < backup.sql # 복원
6-3. Redis
redis-cli # 접속
redis-cli ping # 연결 확인 → PONG
redis-cli flushall # 전체 데이터 삭제 (주의!)
6-4. MongoDB
mongosh # 접속 (신버전)
show dbs # DB 목록
use mydb # DB 선택/생성
db.users.find() # 데이터 조회
7. Git (버전 관리)
# ✅ 매일 루틴
git pull origin main # 최신 코드 받기 (작업 시작 전)
git add . # 변경사항 스테이징
git commit -m "feat: 로그인 기능" # 커밋
git push origin feature/login # 푸시
# ✅ 브랜치 작업
git checkout -b feature/login # 새 브랜치 생성 + 이동
git switch main # main으로 이동
git merge feature/login # 병합
# ✅ 실수 복구
git stash # 임시 저장 (브랜치 전환 전)
git stash pop # 임시 저장 복원
git reset --soft HEAD~1 # 직전 커밋 취소 (코드 유지)
git reset --hard HEAD~1 # 직전 커밋 취소 (코드도 삭제, 주의!)
8. 전체 프로세스 한눈에 보기 (치트시트)
┌─────────────────────────────────────────────────────────────┐
│ 📋 프로젝트 시작 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1️⃣ Git Clone │
│ git clone <repo-url> && cd <project> │
│ │
│ 2️⃣ 환경 변수 설정 │
│ cp .env.example .env (값 수정) │
│ │
│ 3️⃣ 백엔드 먼저 실행 │
│ ┌─ Spring ──→ ./gradlew bootRun │
│ ├─ Python ──→ source venv/bin/activate │
│ │ pip install -r requirements.txt │
│ │ uvicorn main:app --reload │
│ └─ Docker ──→ docker-compose up -d │
│ │
│ 4️⃣ 프론트엔드 실행 │
│ npm install (최초 또는 package.json 변경 시) │
│ npm run dev │
│ │
│ 5️⃣ 매일 개발 루틴 │
│ git pull → 코드 작성 → npm run dev / gradlew bootRun │
│ → git add . → git commit → git push │
│ │
│ 6️⃣ 배포 │
│ Frontend: npm run build │
│ Backend: ./gradlew bootJar → docker build → push │
│ Infra: docker-compose up -d (서버에서) │
│ │
└─────────────────────────────────────────────────────────────┘
핵심 요약 (3줄)
| 상황 | 명령어 |
|---|---|
| 처음 한 번 | git clone → .env 설정 → npm install / pip install -r / gradlew build |
| 매일 개발 | git pull → npm run dev / gradlew bootRun / uvicorn --reload |
| 배포할 때 | npm run build → gradlew bootJar → docker build → docker-compose up -d |
💡 기억할 것:
install은 의존성이 바뀔 때만,build는 배포할 때만,dev/run은 매일. 의존성 꼬이면node_modules삭제 후 재설치, 파이썬은venv재생성이 가장 빠릅니다.
반응형
'까먹음 방지.zip' 카테고리의 다른 글
| 윈도우11 서비스 최적화 완벽 가이드: 불필요한 서비스 끄기 추천 목록 (0) | 2026.04.21 |
|---|---|
| 🖥️ AWS EC2 리눅스 필수 명령어 총정리 (초보자부터 실무까지) (0) | 2026.04.10 |
| CMD vs PowerShell 완벽 비교 가이드 | 차이점, 명령어, 언제 무엇을 써야 할까? (1) | 2026.03.30 |
| Antigravity Agent 설정 가이드: 모든 옵션 한국어 번역과 상세 설명 (0) | 2026.03.26 |
| Google Antigravity 자율 실행 설정 가이드: Terminal Allow/Deny List 최적 구성법 (0) | 2026.03.26 |