본문 바로가기

분류 전체보기57

TypeError: Class extends value undefined is not a constructor or null NestJS에서 테스트 코드를 작성하다가 발생한 에러이며 내가 발생한 상황에 대한 글은 하나도 없어서 나 같은 어려움을 겪고 있는 분들을 돕고자 작성한다! 회사 코드에 테스트 코드를 적용하기 위해 공부하면서 적용하던 중 에러를 만나게 되었는데 처음에는 도무지 감이 잡히지 않았으나 회사 코드를 다시 파악하던 중 나는 상속이 문제일 거 같다는 가설을 내리고 문제를 해결하려고 했다. 일단 이해를 위한 회사 엔티티 설계를 보여주려고 한다. 나 같은 경우는 엔티티에 공통으로 들어가는 것들을 편하게 작업하기 위해서 밑에 이미지와 같이 모든 엔티티에 반영될 생성일, 업데이트일, 삭제일을 공통 엔티티로 따로 빼서 상속을 하는 편이고 또한 생성될 때 누가 만들었는지 가 중요한 엔티티에서는 이렇게 다른 작성자가 같이 들어.. 2022. 9. 27.
dpkg, apt-get, apt?? dpkg는 데비안 패키지 관리 시스템의 기초가 되는 소프트웨어이다. deb패키지(확장자가 .deb로 끝나는 파일)의 설치, 삭제를 위해 사용된다. 그렇다면 apt-get, apt와 무슨 차이일까? deb 파일이란? -> 데비안 꾸러미 파일이다. 우분투가 데비안 배포판과 관련이 있어서 데비안 리눅스가 아니더라도 deb파일 설치 시에는 dpkg 명령어로 deb파일을 설치할 수 있다. 리눅스 배포판에 따라서 서로 다른 패키지 형식을 지원하는데 대부분 다음의 3가지 중 하나를 지원한다. Debian 계열 (Debian, Ubuntu등): .deb 파일 RedHat 계열 (RedHat, Fedora, CentOS) : .rpm 파일 openSUSE 계열 : openSUSE를 위해 특별히 빌드된 .rpm 파일 Ub.. 2022. 9. 23.
npm install vs npm ci 본 글에 들어가기 앞서 내가 npm install과 npm ci를 알아보게 된 이유는 ci 서버에서 한 번씩 수정이 발생해서 git pull이 되지 않는 문제를 발생했기 때문이다.. npm(Node Package Manager)이란?? npm은 말 그대로 노드 패키지를 관리해주는 틀이다. 이로 인해 개발자는 단 몇 줄의 명령어로 기존에 공개된 모듈(패키지)들을 설치하고 활용할 수 있다. npm install이란?? npm install [ ...] 특정 패키지 설치할 경우 npm install 특정 패키지 명을 명시하지 않을 경우에는 package.json에 명시되어있는 모든 의존 패키지를 설치해 node_modules에 적재한다. 두 방식의 공통점 두 방식 모두 package-lock.json을 먼저 .. 2022. 9. 21.
[NestJS] Naver SMS 인증 서버 구현 예전에 친구 부탁으로 한 번 사용한 적이 있는 데 이번에 회사에 적용하게 되면서 다시 정리한다 일단 NAVER CLOUD에서 계정 생성을 한다. 계정을 생성했으면 나중에 API 사용에 필요한 인증키를 확인해야 하는 데 나는 여기서 가장 헤맸다 왜냐하면 나는 아무리 찾아도 마이페이지에 계정관리 밑에 인증키 관리 메뉴가 보이지 않았기 때문이다. 무조건 마이페이지 -> 결제관리 -> 결제수단 관리 메뉴에서 결제수단 등록을 해야한다. 그렇지 않으면 콘솔에 이동했을때도 안보이는 서비스가 많다. 이게 당연할 수도 있지만 아무도 말해주지 않아서 난 정말 몇시간을 헤맸다... 결제수단 등록 후 다시 마이페이지 -> 계정관리 -> 인증키 관리 메뉴로 이동해서 신규 API 인증키 생성 버튼을 눌러 키를 발급 받는다. 키를.. 2022. 8. 23.