[NB] 위클리 페이퍼: 버전 관리 및 협업하기[7]

권나현·2025년 5월 31일
post-thumbnail

백엔드 개발에서 CLI 명령어를 주로 활용하는 이유에 대해 설명해 주세요.

CLI(Command Line Interface)

  • CLI 명령어를 자주 활용하는 이유는 단순한 편의성뿐 아니라 개발 효율, 자동화, 서버 운영과 깊은 관련이 있다.

1. 자동화 및 반복 작업 처리에 최적화

  • 파일 생성, 서버 실행, 데이터 마이그레이션 등 반복 작업을 스크립트 한 줄로 실행이 가능하다.

예: npm run start, npx prisma migrate, node seed.js

npm run deploy
# → 테스트 → 빌드 → 서버 재시작까지 자동 실행

2. 서버 환경에서 GUI가 없음

  • 실제 운영 서버는 GUI(그래픽 인터페이스)가 없는 경우가 대부분이다.
  • 리눅스 서버에 접속했을 때 사용할 수 있는 유일한 도구가 CLI이다.
ssh root@123.45.67.89
cd /project && pm2 restart app

3. 빠르고 가볍다

  • VS Code, 웹 IDE보다 CLI는 훨씬 빠르고 리소스를 거의 쓰지 않는다.

  • 커맨드 한 줄이면 복잡한 설정도 즉시 적용 가능하다.

git commit -m "fix: 로그인 오류 해결"
docker-compose up -d

4. 프로젝트 관리의 핵심 도구

  • Node.js, Express, NestJS, Prisma, Docker 등 모든 주요 툴이 CLI 중심이다.

  • 설정, 실행, 테스트, 배포 등 거의 모든 단계를 CLI로 처리한다.

npx create-nest-app my-app
npx prisma generate
npm run test

5. 개발-운영 사이 연결고리

  • 개발자는 CLI 명령어로 서버에 코드 반영, 로그 확인, 에러 추적 가능하다.

  • DevOps(개발+운영)의 핵심은 CLI에 익숙한 것부터 시작이 된다.

pm2 logs
tail -f /var/log/nginx/error.log

6. CLI 학습 로드맵

CLI 기본 명령어 익히기 (Linux 기반)

pwd                    # 현재 경로 출력
ls -al                 # 파일 목록 보기
cd study               # 디렉터리 이동
touch app.js           # 파일 생성
mkdir logs             # 폴더 생성
rm -rf logs            # 폴더 삭제
cat todos.json         # 파일 내용 보기
chmod +x script.sh     # 실행 권한 부여

쉘 스크립트 & 자동화

#!/bin/bash
echo "📦 빌드 중..."
npm install
npm run build

Node.js CLI 앱 만들기

npm link로 전역 CLI 등록하면 나만의 도구 만들 수 있다.

todo add 공부하기
todo list
todo done 1
todo delete 2

외부 CLI 도구 활용

git            # 버전 관리
eslint         # 코드 린팅
prettier       # 코드 포매팅
nodemon        # 실시간 실행
pm2            # 서버 프로세스 관리
npx            # 패키지 일회성 실행

실무 자동화 + 배포 CLI 도전

docker build -t myapp .
docker run -d -p 3000:3000 myapp
vercel --prod

요약하면

  • CLI는 단순한 도구가 아니라 백엔드 개발자의 ‘손과 발’ 같은 존재라고 한다.

  • 처음엔 익숙하지 않더라도, 조금씩 자동화 스크립트를 만들어가며 익숙해지면, 엄청난 생산성을 경험하게 될 것이다.

- 사용 이유

이유설명
반복 작업 자동화스크립트로 단순한 작업 반복 제거
GUI 없는 환경 대응서버는 CLI가 기본
리소스 절약빠르고 가볍게 작업 가능
주요 도구 호환대부분의 프레임워크가 CLI 기반
개발 ↔ 운영 연결실무의 핵심 능력 중 하나

- 학습 목표

목표설명
터미널 조작 능숙마우스 없이도 개발 가능
자동화 스크립트 작성프로젝트 설치, 빌드, 배포 자동화
CLI 도구 활용실무에서 사용하는 도구 자유롭게 다루기
나만의 CLI 앱 개발나만의 도구 만들기 (todo, init, deploy)
profile
node.js 백앤드 개발자가 되기 위한 Study Vlog

0개의 댓글