Menu
CoddyTech

설정

Coddy Node.js 여정의 REST API 섹션에 포함된 레슨. 25개 중 23번째.

네 노트북에서는 서버가 포트 3000에서 요청을 기다립니다. 호스팅 서비스는 node server.js로 서버를 시작하고, 환경 변수로 PORT를 전달하면서 포트를 직접 선택합니다. 호스트는 때때로 GET /health 같은 경로를 호출하고, 서버가 응답을 멈추면 서버를 다시 시작합니다.

// MAX_UPLOAD_MB=5 node server.js
const maxUpload = Number(process.env.MAX_UPLOAD_MB ?? 2);
const shopName = process.env.SHOP_NAME ?? 'My Shop';

process.env의 모든 값은 문자열이며, '5' + 1은 '51'이므로 숫자는 Number로 변환하세요. 설정은 config.js 한 파일에서 읽고 다른 모든 곳에서 가져와 사용하면, 다른 곳에서는 process.env를 건드리지 않게 됩니다.

challenge icon

챌린지

쉬움

호스팅 서비스에서는 호스트가 포트를 정하고 환경 변수를 통해 서버에 설정을 전달합니다. 한곳에서 환경 변수로 설정을 읽고, 호스트가 서버가 실행 중인지 확인하기 위해 호출할 수 있는 경로를 추가하세요.

  1. config.js에서 환경 변수 PORT로부터 port를, PAGE_SIZE로부터 pageSize를 읽으세요. 둘 다 텍스트로 전달되므로 숫자로 변환하세요. 변수가 없으면 현재 값인 3000과 10을 유지하세요.
  2. server.js에서 config를 가져오세요. config.port로 서버를 시작하고, 사용 중인 포트를 출력하세요. PORT=8080일 때 콘솔에는 정확히 다음이 표시됩니다:
    Task tracker API on port 8080
  3. routes/tasks.js에서도 config를 가져오세요. 목록 경로에서 요청에 ?limit=이 없으면 10 대신 config.pageSize를 사용하세요. 요청에 ?limit=이 있으면 해당 값이 우선 적용됩니다.
  4. server.js에서 작업 라우터 바깥에 GET /health를 추가하세요. 상태 코드 200과 정확히 다음을 반환합니다:
    { "status": "ok" }

이 강의는 PORT=8080 및 PAGE_SIZE=2로 실행됩니다.

직접 해보기: ‘실행’을 누르면 콘솔에 Task tracker API on port 8080이 출력됩니다. GET /api/v1/tasks는 "total": 3 및 "pages": 2와 함께 작업 2개를 반환합니다. GET /api/v1/tasks?limit=3은 작업 3개를 모두 반환합니다. GET /health는 { "status": "ok" }를 반환합니다.

직접 해보기

// 사용자의 노트북과 서버 간에 달라지는 설정값입니다.
// 이 값들을 기본값으로 유지하면서 각 설정값을 process.env에서 읽어옵니다.
export const config = {
    port: 3000,
    pageSize: 10,
};
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

REST API의 모든 레슨

직접 연습해 보세요: Express 플레이그라운드