보일러플레이트 코드 소개

조다영·2026년 5월 11일

강의

목록 보기
1/6
mkdir mern_project
cd mern_project
cd mern_boiler

다운받은 수업자료 mern_boiler 폴더 안에 넣기

mern_client

react 관련 코드. 타입스크립트 기반으로 코드 작성 예정

필수패키지 다 설치됨.

  • jotai : 전역 상태 관리를 위한 도구
  • react-query 활용 예정
  • 네이버맵 활용 위해 types/navermaps 사용

mern_mongo

docker-compose를 이용해서 MongoDB를 로컬 환경에서 실행(추후 다시 설명)

mern_server

express 활용 예정
mongoose 활용해서 MongoDB 서버에 접속 예정

express 서버 때문에 보일러 플레이트로 구성했다... -> express는 정형화된 폴더 구조가 없기 때문에..보일러플레이트로 폴더 구조 짜주는게 낫다고 판단했기 때문..
타입스크립트로 코드를 작성할 예정인데 express로 일일이 다 초기설정을 하려면 너무 번거롭기 때문에....아무튼 그래서 보일러플레이트로 구성했다..


mern_client 밖에 있는 또다른 package.json 파일의 경우 concurrently라는 패키지가 들어있는데 ...
concurrently: 스크립트 명령어를 서버와 클라이언트에서 ? 동시에 실행시켜줌
이걸로 한 번에 서버를 실행시키고 서버를 끄는...? 기능을 작동시킬 거시다..

클라이언트는 포트 3000번 사용, 서버는 포트 3001번 사용 -> 왜 다른 포트를 사용하지? 나중에 설명해주겠지


npm install 

해서 package.json 파일 안에 있는 패키지를 설치해준다. 외부 폴더(mern_boiler)에서도 한 번 해주고, 그 안에 있는 mern_client 폴더로 이동해서 한 번 더 해줌.

npm(node package manager)이란?
-> 자바스크립트 패키지 매니저
Node.js에서 사용할 수 있는 모듈인 패키지를 설치할 때에는 npm install 명령어 뒤에 설치할 패키지 이름을 지정하면 된다.

출처: https://inpa.tistory.com/entry/NODE-📚-노드-npmnode-package-manager

근데 이걸 사용하려면 node.js부터 설치해야 한다.....외부망 컴퓨터로 하려면 git-vscode-확장프로그램-node.js 이걸 다 깔아야 하네 진짜 개귀찮네

다 깔고 다 설정했는데

$ npm install
npm error code SELF_SIGNED_CERT_IN_CHAIN
npm error errno SELF_SIGNED_CERT_IN_CHAIN
npm error request to https://registry.npmjs.org/concurrently failed, reason: self-signed certificate in certificate chain
npm error A complete log of this run can be found in: C:\Users\90980\AppData\Local\npm-cache\_logs\2026-05-11T04_34_51_488Z-debug-0.log

라는 에러가 뜬다.

이건 사용자님의 잘못이 아니라, 회사의 보안 솔루션(DLP, 방화벽, 또는 프록시 서버)이 npm 패키지를 내려받는 통로를 감시하고 있기 때문에 발생하는 아주 흔한 현상입니다.

보안 정책을 어기지 않으면서 해결할 수 있는 현실적인 단계별 대책을 알려드릴게요.

1단계: 프록시(Proxy) 설정 확인 (가장 추천)
회사 네트워크는 보통 외부 인터넷으로 나갈 때 '프록시 서버'를 거칩니다. 회사 IT 가이드에 프록시 주소가 있다면 아래 명령어를 입력해 보세요.

Bash
npm config set proxy http://유저아이디:비밀번호@프록시주소:포트
npm config set https-proxy http://유저아이디:비밀번호@프록시주소:포트
(비밀번호에 특수문자가 있다면 인코딩이 필요할 수 있으니 주의하세요!)

2단계: 시스템 인증서 사용하도록 설정
최신 Node.js 버전(v12.3.0 이상)을 사용 중이라면, npm이 자체 인증서 목록이 아닌 윈도우 시스템에 등록된 회사 인증서를 직접 참조하게 만들 수 있습니다.

터미널(또는 시스템 환경 변수)에 아래 내용을 설정해 보세요.

Windows (PowerShell): $env:NODE_EXTRA_CA_CERTS="C:\경로\회사인증서.pem"

또는 단순히 환경 변수에 NODE_TLS_REJECT_UNAUTHORIZED를 0으로 설정하는 방법도 있지만, 이는 보안상 1단계보다 위험합니다.

3단계: 임시방편 (승인받기 번거로울 때)
IT 팀에 문의하기 어렵고 당장 패키지를 설치해야 한다면, 앞서 말씀드린 SSL 검증 해제가 가장 확실합니다.

Bash
npm config set strict-ssl false
이후 npm install을 진행하시고, 설치가 끝나면 보안을 위해 다시 true로 돌려놓는 것을 권장합니다.

팁: 회사 동료들에게 물어보기
사실 이게 가장 빠릅니다! 옆자리 동료분이나 사수님께 "npm 인스톨할 때 인증서 에러 나는데, 혹시 따로 설정하신 프록시나 cafile 경로가 있으신가요?"라고 슬쩍 물어보세요. 회사마다 사용하는 특정 .pem 인증서 파일 경로를 알려줄 확률이 높습니다.

혹시 회사에서 별도의 사내 사설 저장소(Nexus, Artifactory 등)를 운영 중인가요? 만약 그렇다면 레지스트리 주소 자체를 회사 주소로 바꿔야 할 수도 있습니다.


라고 한다.
일단 뭘 하긴 해야하니까 npm config set strict-ssl false로 설정하고 설치 마친 뒤에 npm config set strict-ssl true로 원상복구해둠.

mern_boiler, mern_client, mern_server에 모두 패키지가 설치되어 node_modules 폴더가 새로 생성되었다.

뭔가 개많은 vulnerability가 발견되었다는데 일단 무시하고 진행해보겟음.............


서버와 클라이언트에 필수 패키지를 모두 설치햇다.
잘 설치되었는지 확인해보기 위해 mern-boiler폴더로 이동한 뒤,

yarn start

를 실행해서 서버와 클라이언트를 동시에 실행시켜봄
아놔 yarn도 설치해야한다. ㄱ개귀찮다 진짜.

yarn이란?
메타(페이스북)에서 만든 자바스크립트 패키지 매니저

npm install -g yarn을 실행해서 일단 설치해준다....
그리고 다시 yarn start를 실행해본다...

근데 뭔 에러가 겁나 길게 뜬다......
제미나이 말로는 컴퓨터가 구려서or회사 보안프로그램?때문에 메모리가 부족해서 그렇다고 한다.

일단 제대로 실행이 되면 mern client라는 텍스트가 있는 브라우저 창이 뜬다고 한다.

집 가서 다시 해보면 될 것 같다.

아니?

npm run start

하니까 아주 잘 실행된다. yarn 말고 npm으로 하면 될 것 같다.

0개의 댓글