Files
sam-docs/quickstart/dev-commands.md

286 lines
4.2 KiB
Markdown
Raw Normal View History

# 개발 명령어 모음
**업데이트**: 2026-01-28
---
## MNG Application (mng/)
### 개발 서버
```bash
# 개별 서비스
php artisan serve # Laravel server
npm run dev # Vite dev server (Tailwind)
```
### 테스트
```bash
composer test
php artisan test
```
### 코드 품질
```bash
./vendor/bin/pint # PHP CS Fixer (포맷팅)
```
---
## API Application (api/)
### 개발 서버
```bash
# 모든 서비스 동시 실행
composer dev
```
### 데이터베이스
```bash
# 마이그레이션 상태 확인
php artisan migrate:status
# 마이그레이션 실행
php artisan migrate
# 마이그레이션 롤백
php artisan migrate:rollback --step=N
# 기존 DB에서 마이그레이션 생성
php artisan migrate:generate
```
### API 문서
```bash
# Swagger 문서 재생성
php artisan l5-swagger:generate
# 접근
# - Swagger UI: http://api.sam.kr/api-docs/index.html
# - JSON Spec: http://api.sam.kr/docs/api-docs.json
```
### 라우트 관리
```bash
# 등록된 라우트 목록 확인
php artisan route:list
# 특정 이름 패턴으로 필터
php artisan route:list --name=v1.users
# 특정 경로 패턴으로 필터
php artisan route:list --path=api/v1/users
# 라우트 캐시 (Production)
php artisan route:cache
# 라우트 캐시 클리어
php artisan route:clear
# API 버전 테스트
# - 기본 (v1): curl https://api.sam.kr/api/v1/users
# - v2 헤더: curl -H "Accept-Version: v2" https://api.sam.kr/api/v1/users
# - 쿼리: curl "https://api.sam.kr/api/v1/users?api_version=v2"
```
### 개발 도구
```bash
# IDE Helper
php artisan ide-helper:generate
php artisan ide-helper:models
# 코드 포맷팅
./vendor/bin/pint
```
### 스케줄러
```bash
# 스케줄러 작업 목록 확인
php artisan schedule:list
# 스케줄러 즉시 실행 (테스트)
php artisan schedule:run
# 특정 커맨드 실행
php artisan audit:prune
php artisan sanctum:prune-expired --hours=24
```
---
## Frontend (front/www/)
### CodeIgniter 3
```bash
# PHP 의존성 설치
composer install
# 개발 서버
php -S localhost:8080
# Note: front/_Codeigniter/에 CI3 시스템 파일
# Main application은 front/www/ 디렉토리
```
---
## 공통 (Build & Assets)
### Frontend Assets
```bash
# Production build
npm run build
# Development with hot reload
npm run dev
# 개별 디렉토리
cd mng && npm run build
cd api && npm run build
cd react && npm run build
```
---
## Git
### 상태 확인
```bash
# 현재 브랜치 및 변경사항
git status
# 브랜치 목록
git branch
# 변경 내용 확인
git diff
```
### 커밋
```bash
# 변경사항 스테이징
git add .
# 커밋
git commit -m "type: message"
# 커밋 로그
git log --oneline -10
```
---
## Docker
### 서비스 관리
```bash
# Docker 서비스 시작
docker-compose up -d
# Docker 서비스 중지
docker-compose down
# Docker 서비스 재시작
docker-compose restart
# Docker 로그 확인
docker-compose logs -f
```
---
## 환경 확인
### PHP & Composer
```bash
# PHP 버전
php -v
# Composer 버전
composer -V
# 설치된 패키지 확인
composer show
```
### Node & NPM
```bash
# Node 버전
node -v
# NPM 버전
npm -v
# 설치된 패키지 확인
npm list --depth=0
```
---
## 유용한 명령어
### 로그 확인
```bash
# Laravel 로그 실시간 확인
tail -f storage/logs/laravel.log
# Scheduler 로그 확인
tail -f storage/logs/scheduler.log
# Pail 사용 (Laravel 12)
php artisan pail --timeout=0
```
### 캐시 관리
```bash
# 모든 캐시 클리어
php artisan cache:clear
# 설정 캐시 클리어
php artisan config:clear
# 라우트 캐시 클리어
php artisan route:clear
# 뷰 캐시 클리어
php artisan view:clear
```
### 최적화
```bash
# Production 최적화
php artisan optimize
# Autoload 최적화
composer dump-autoload -o
```
---
## 트러블슈팅
### 권한 문제
```bash
# storage 디렉토리 권한
chmod -R 775 storage
chmod -R 775 bootstrap/cache
```
### 의존성 재설치
```bash
# Composer
rm -rf vendor
composer install
# NPM
rm -rf node_modules
npm install
```
### 환경 초기화
```bash
# .env 파일 복사 (처음 설치 시)
cp .env.example .env
# Application key 생성
php artisan key:generate
```