ETC (14) 썸네일형 리스트형 .env.local 파일 수정 후 vault? .env.local 파일에 slack url을 추가했는데 이거 그냥 commit & push하고 배포하면 되는건가?라고 생각했다. 하지만 그게 아니었다. 1) .env.local 파일 수정2) vault에 slack_url 추가 (dev,stage / prod) 3) 코드 commit & push ㄴ3)번을 먼저 하게 된다면, vault에서 값을 못읽어와서 빈 문자열로 뜰 것이다. .env.local에 값을 처음 넣어봐서 이 부분은 오늘 처음 알게되었다. canvas - node version 안맞음 해결 코드를 실행하려던 중에 canvas 모듈이 node version과 맞지 않다는 에러를 보였다. was compiled against a different Node.js version using 이라는 에러 문구가 출력되었다. 해결 방법은 다음과 같다. 나는 pnpm을 사용하고 있었기 때문에 아래와 같이 실행하였다. 1) pnpm uninstall canvas 2) pnpm install canvas 3) pnpm rebuild canvas 의 방법으로 위의 에러를 해결하였고, 잘 실행이 되었다. Docker 배포 안됨 (pnpm 버전 다름) pnpm 버전을 9.0.2를 사용하고 있었다. 하지만 Docker 환경에서는 pnpm 버전을 9.0.1을 사용하고 있어 내가 빌드를 누른 것은 에러가 나고, 당연히 배포가 되지 않았다. 확인해야 할 부분) 1- package.json에서 packageManager 부분에 pnpm 버전 명시를 해주거나 2-Docker 파일에서 RUN npm install -g 부분에 RUN npm install -g pnpm@9.0.1 과 같이 버전 명시를 해주거나 해야 한다. 만약 버전 명시를 해주지 않는경우 '최신 버전'으로 빌드되며, 위의 방법처럼 버전 명시를 해주게 된다면 내가 명시해준 특정 버전으로 맞춰져 Docker 배포 환경에서도 같은 버전을 사용할 수 있게 된다. 디버깅하기 - 다양한 console의 종류 사실 디버깅으로 제일 유명한 것은 console.log이다. 나 또한 디버깅을 할 때 console.log를 찍거나 nestjs의 Logger인 this.logger.log를 통해 로그를 찍곤 한다. 오늘 본 노마드코더의 영상 중에서 다양한 log를 찍어볼 수 있는 방법에 대해 소개된 유튜브가 있는데 한 번 정리해보고자 포스팅으로 남긴다. console에도 내가 모르는 것들이 정말 많았구나를 실감했다. 1) console.count() console이 호출된 횟수를 보여준다. 이렇게 인자값을 직접 넣어 내가 원하는 것의 console count를 확인할 수 있다. 2. console.time() 작업 시간을 측정하며, 하나의 페이지에서는 최대 10,000개의 타이머를 실행할 수 있다. console.ti.. CNAME이란? + DNS TXT CNAME을 frontDoor에서 DNS 등록,수정을 할 수 있다. CNAME이란 Canonical 표준이 되는 이름이라는 뜻으로, alias와 기준이 되는 이름이 있다고 생각하면 된다. DNS란 도메인 정보 한 건 한 건에 대한 이름을 나타낸다. CNAME은 하나의 DNS에 대하여 별칭 alias를 부여하는 것이다. 터미널에서 nslookup(DNS 조회 명령 커맨드) 명령어를 통해 ip 주소 등에 대해 조회할 수 있다고 한다. > CNAME으로도 해당 DNS에 CNAME이 등록되었는지 확인할 수 있다. 여기서 더 나아가서 프론트도어에 설정하면서 DNS의 TXT를 적는 란이 있다. DNS TXT란 text record의 줄임말로 임의의 문자열로 구성된 값이다. 텍스트를 리소스에 연결시킬 수 있는 매개체.. Corresponding file not included in tsconfig.json 에러 해결 https://stackoverflow.com/questions/41144902/how-to-resolve-corresponding-file-not-included-in-tsconfig-json-error-in-webst npm install 했는데 npm ERR! ERESOLVE unable to resolve dependency tree 라는 에러가 뜨는 현상 npm으로 winston 라이브러리를 설치하려고 터미널에 입력했더니 위와 같이 에러가 뜨며 npm 라이브러리 설치가 되지 않았다. class-transformer 버전이 맞지 않아 생기는 에러로 생각된다. 제일 눈여겨볼 부분이 아래와 같다. npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree 이를 해결하기 위해서 npm config set legacy-peer-deps true 명령어를 입력해주었다. npm config set legacy-peer-deps true legacy-peer-deps=true로 설정하는 이유는, 특정 라이브러리의 메인테이너가 더이상 유지보수를 하지 않아서 버전 업그레이드가 안되는 라이브러리를 사.. 일급 컬렉션이란? 객체지향에서 알아두어야 할 것이 '일급 컬렉션(First Class Collection)'이었다. 나는 왜 몰랐던 것인가.. 아래와 같은 코드가 있다고 보자. Map map = new HashMap(); map.put("1", "A"); map.put("2","B"); map.put("3","C"); map에 3개의 값을 wrapping 하는 것이 일급 컬렉션이다. public class HelloWorld { private Map hi; public HelloWorld(Map hi) { this.hi = hi; } } collection을 wrapping 하면서, 그 외 다른 멤버변수가 없는 상태를 일급 컬렉션이라고 한다. 즉, Collection을 wrapping 하면서 + 멤버변수가 하나밖에 없다는.. @Get() 자동 import에 대한 vscode와 intelliJ의 차이점 회사에서 개발을 할때 intelliJ IDE를 사용한다. 처음에는 음..뭐 회사에서 intelliJ를 많이 사용한다니 사용하겠구나 라고 생각만 하고 있었고, 내가 개인적으로 공부할때는 주로 vscode를 사용하였다. 집에 와서 공부할때는 강의가 vscode로 실행되니 똑같이 맞추기 위해서 vscode 환경에서 실습을 진행하고 있었다. 그러던중에 @Get()을 다루는 vscode와 intelliJ의 태도(?)가 다른것 같아 느낌을 남겨보고자 한다. IntelliJ Controller단에서 @Get()을 쓰면 빨간줄이 나타나는데, 여기서 마우스 우클릭을 하면 자동으로 import가 되어 import단에 @Get이 추가된다. 굉장히 편리하다. 바로 Add import statement를 클릭하여 @Get()을.. terminal에서 npm ~ 설치 시 권한 에러가 나올 때 해결방법 해당 경우는 터미널에서 직접 겪은 상황은 아니며, 해당 경우를 영상에서 접했기 때문에 미리 정리해두고자 한다. 에러 발생 문구 Error: EACCES: permission denied, access ~ errno : -13, code: 'EACCES', syscall: 'access', path: ~ } 위와 같은 에러가 발생한다면 잘못된 방법 npm i -g @nestjs/cli (X) 올바른 방법 sudo npm i -g @nestjs/cli (O) 의 방법으로 진행해보도록 한다. 이전 1 2 다음