동호 데브-로그(49)
-
[Troubleshooting] git push -f 실패 (GH006)
문제 원인 원격 저장소에 올라간 커밋을 되돌리기 위해 로컬에서 커밋을 되돌린 후에 강제로 push를 해야 하는데, 강제로 push 하는 명령어가 허용되지 않았다. $ git push -f origin main Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 remote: error: GH006: Protected branch update failed for refs/heads/main. remote: error: Cannot force-push to this protected branch To https://github.com/WhatTheSong/WhatTheSong-Server.git ! [remote rejected] main -> main (prote..
2023.01.27 -
[Troubleshooting] Github Actions 'npm ci' 실패
문제 원인 Github Actions에서 빌드하는 과정에서 `npm ci` 명령어를 실행하지 못했다. 해결 방안 테스트 node-version을 14.x에서 16.x로 변경해주어야 한다. strategy: matrix: node-version: [16.x] 참고 자료
2023.01.15 -
[Nest.js] package.json 설명할 수 있어?
누군가 package.json이 뭐냐고 물어봤을 때 나는 다음과 같이 대답할 것 같다. 그거.. 프로젝트에 대한 설정파일? npm install 할 때 어떤 패키지들을 다운받을 건지 명시해두는 파일? 수 개월을 사용을 했지만 구체적으로 설명을 하지는 못했다. 잘 알고 잘 쓸 수 있도록 필요한 `package.json` 한번 제대로 톺아보자. NPM NestJS는 Node.js를 기반으로 하므로 npm이라는 패키지(또는 라이브러리) 관리 시스템을 사용할 수 있다. 누구나 자신이 만든 Node.js 기반 라이브러리를 등록하여 다른 사람들이 사용하게 공개할 수 있다. 개발에 필요한 라이브러리가 있다면 간단한 명령어를 통해 npm으로 설치하면 된다. package.json Nest 프로젝트를 처음 생성하면 pa..
2023.01.09 -
[Framework] 웹에서 프레임워크가 필요한 이유
웹 프레임워크 등장 배경 과거 인터넷 정적인 이미지와 텍스트로만 이루어진 거대한 문서 저장소 HTML만 있으면 충분했다. 모두 SSR(Server-Side Rendering) 방식으로 동작 서버가 요청을 처리한 다음 HTML과 자바스크립트 응답을 브라우저에 전송하면 브라우저는 서버로부터 전달되는 HTML 코드를 화면에 뿌려주기만 하면 됐다. 이후 동적으로 구성되는 부분은 함께 전달된 자바스크립트를 파싱하여 화면을 구성 현재 인터넷 전자 상거래, 금융 등 수많은 분야의 일을 처리할 수 있게 발전 필요한 애플리케이션 역시 웹과 모바일 앱 양쪽으로 작성 시간이 지날수록 웹 기술은 고도의 복잡도를 띠며 발전 과거와 달리 웹 앱을 만드는데 필수인 기술들을 기존 방식으로 작성하기에는 개발자의 시간과 노력이 너무 많..
2023.01.09 -
[Nest.js] NestJS 설치하기
NestJS 설치 1. Node.js 설치 NestJS는 Node.js를 기반으로 한다. 따라서 먼저 Node.js 공식 사이트 다운로드 페이지에서 자신에게 맞는 버전의 Node.js를 설치한다. 안정 버전인 LST를 선택하는 것을 권장 https://nodejs.org/ko/download/ 다운로드 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 2. NestJS 프로젝트 생성 nestjs/cli 설치 Node.js를 설치하면 기본적으로 npm(Node Package Manager)이 함께 설치된다. npm은 라이브러리들을 쉽게 설치, 삭제할 수 있게 해준다. 간단한 NestJS 서..
2023.01.07 -
[Nest.js] Express가 좋을까, NestJS가 좋을까
NestJS의 장점 Node.js의 유연함을 그대로 가져가면서도 프레임워크 내에 유용한 기술을 이미 다수 구현 NestJS는 Node.js에 기반을 둔 웹 API 프레임워크로서 Express 또는 Fastify 프레임워크를 래핑하여 동작 Express와 Fastify 모두 Node.js를 쉽게 사용하기 위해 만들어진 프레임워크 NestJS는 기본 설치 시 Express를 사용 Express가 가장 널리 사용되고 있고 수많은 미들웨어가 NestJS와 호환되기 때문 Node.js vs NestJS Node.js 손쉬운 사용 뛰어난 확장성 But, 과도한 유연함으로 인해 결과물 소프트웨어의 품질이 일정 X 알맞은 라이브러리를 찾기 위해 사용자가 많은 시간을 할애해야 함 NestJS 데이터베이스, 객체 관계 매..
2023.01.07