본문 바로가기

분류 전체보기

(290)
package.json vs package.lock.json git에서 pull을 받거나 할때 package.lock.json 때문에 충돌이 나서 안되는 경우가 있다고 한다. 패키지 관리 package.json을 통해서 패키지 버전 관리를 한다. npm install을 하게 되면 package.json에 포함된 의존성 패키지들이 npm registry로부터 다운받아져 설치가 되고 node_modules 폴더에 저장이 된다. package.lock.json 파일이 필요한 이유 해당 프로젝트를 진행하는 모든 개발자가 동일한 package.json을 바라보고 있기 때문에 패키지를 설치하면 모두가 동일한 버전의 패키지를 설치하지 않을까?하지만 그렇지 않다. package.json에 명시한 버전들이 ~ (틸드), ^(캐럿)으로 인해 버전의 범위가 달라지기 때문이다. 예시 ..
kubernates 구조 파헤쳐보기(RollingUpdate,pod,replica) 일단은 이정도로 있구나~하고 정리만 해보았다. k8s (kubernates dir) .yml 또는 .yaml 확장자 : 파일 포맷의 한 형태 셋팅에서 필요한 스펙과 프로퍼티 값이 보인다. 맵 구조에서는 키-값쌍 가능 Deployment : 쿠버네티스에서 가장 널리 사용하는 오브젝트 중 한 개 > 애플리케이션(컨트롤러,파드)을 배포하고 선언적으로 업데이트 수행 Pod : 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위 디플로이먼트 전략 spec: strategy: type: RollingUpdate (새 버전을 배포하면서 새 버전 파드를 하나씩 늘려가고, 기존 버전의 파드를 하나씩 줄여나가는 방식) maxUnavailable: 롤링업데이트 프로세스 중에 사용할 수 없는 최대 파드..
EthSum - 이더리움 주소 검사합(checkSum) https://ethsum.netlify.app/ EthSum Simple Ethereum Address Checksum Tool ethsum.netlify.app EthSum Simple Ethereum Address Checksum Tool ethsum.netlify.app 굉장히 간단한 UI의 앱이다. 이더리움 주소를 42자로 넣고, (이더리움 주소는 0x로 시작한다) 해당 이더리움 주소가 유효한지를 검사하는 페이지이다. 테스트 트랜잭션 주소를 넣어보니 이미 checksummed 되었다는 문구가 표시된다. 팀원 덕분에 이 사이트를 알게 되었다.
400 error at postman (Unexpected token) 문제 상황 CRUD 테스트중 "message": "Unexpected token , in JSON at position 142" 위와 같은 에러가 발생하였다. 400 에러는 잘 보이지 않는데, 400 에러에 대해 찾아보았다. 문제 원인 MDN 문서에 따르면 서버가 클라이언트단의 오류를 감지해 HTTP 요청을 처리할 수 없다는 의미이다. 나같은 경우에는 DELETE 요청시에 에러가 발생한 것이다. 내가 url에 HTTP 요청 주소를 잘못 넣었다. 원인1) @Delete 메서드에서 Path variables를 :/id 라고 작성했었는데 -> /:id 로 작성했었어야 한다. 원인2) Postman Body부분에서 JSON test data를 넣을때 { "id" : "abc123" } 이라고 했다면, url창에..
unknown_request_mapping_exception_1.UnknownRequestMappingException(metatype); 문제 상황 NestJS로 CRUD를 작성하던 중에 throw new unknown_request_mapping_exception_1.UnknownRequestMappingException(metatype); ^ Error: An invalid controller has been detected. "(모듈이름)Module" does not have the @Controller() decorator but it is being listed in the "controllers" array of some module. 라는 에러가 발생하였다. 문제 원인 module.ts 파일에서 controllers: [] 부분에서 컨트롤러 이름을 작성했어야 했는데 여기에 모듈 이름을 작성해서 위와 같은 에러가 발생했던 것이었..
UUID의 역할 (DB 그리고 로컬메모리) Entity쪽 코드를 작성하다가 항상 id:UUID를 주는 경우가 많았다. uuid는 id의 한 종류인건가?하고 대수롭지 않게 여겼었다가 퇴근하고 강의를 듣다가 UUID의 역할에 대해 나오게 되어 정리하고자 한다. 이런 개념들이 아직까지는 개인적으로 많이 부족한 것 같다. ※ Ex) 게시글마다 고유한 id값이 있다. 게시글1의 id : aaab1 게시글2의 id : aaab2 이런식으로. id값에 따라 DB 사용과 로컬메모리 사용의 차이점 DB 사용 (X) 로컬메모리 사용(O) DB 사용(O) 로컬메모리 사용(X) 임의로 id값에 대하여 unique 하도록 만들어야함. -> UUID 모듈 이용 DB가 알아서 id값이 unique 하도록 만들어줌 이런 차이가 있었다. uuid 모듈 사용법 1) npm in..
model의 역할 + 게시판의 기본 구성 살펴보기 ※ 인프런 '따라하면서 배우는 NestJS'강의를 시청하고 정리한 글입니다. 게시글의 구성 (기본) 아이디 - 게시글을 구분짓는 고유 식별자. id는 고유한 값(1개당 1아이디)이다. 공개/비공개글 - 게시글이 공개 아니면 비공개글로 설정해야 하므로 enum으로 설정 제목 게시글 날짜 작성자 ... 이런식으로 나누어볼 수 있다. 여기 강의에서 집중할 부분은 바로 아이디(id:string) 공개/비공개글(enum:boardStatus(PRIVATE,PUBLIC), 제목(title:string) 게시글(description:string) 이렇게 총 4가지 분야라고 보자. 이런 식으로 여기에 쓰이는 데이터 타입들을 한 번에 정리해주는 역할을 하는 곳이 model 이다. NestJS에서는 model.ts를 정의..
@Get() 자동 import에 대한 vscode와 intelliJ의 차이점 회사에서 개발을 할때 intelliJ IDE를 사용한다. 처음에는 음..뭐 회사에서 intelliJ를 많이 사용한다니 사용하겠구나 라고 생각만 하고 있었고, 내가 개인적으로 공부할때는 주로 vscode를 사용하였다. 집에 와서 공부할때는 강의가 vscode로 실행되니 똑같이 맞추기 위해서 vscode 환경에서 실습을 진행하고 있었다. 그러던중에 @Get()을 다루는 vscode와 intelliJ의 태도(?)가 다른것 같아 느낌을 남겨보고자 한다. IntelliJ Controller단에서 @Get()을 쓰면 빨간줄이 나타나는데, 여기서 마우스 우클릭을 하면 자동으로 import가 되어 import단에 @Get이 추가된다. 굉장히 편리하다. 바로 Add import statement를 클릭하여 @Get()을..
Property 프로퍼티란? + 프로퍼티에 접근하는 방법 NestJS 강의를 듣던 도중 '프로퍼티'라는 단어를 듣게 되었다. 이전에도 몇 번 들어본적은 있지만..? 설명하라고 하면 정확히 설명하지도 못하고 떠오르는 이미지도 딱히 없었기 때문에 이건 모르는 개념이다! 생각하여 프로퍼티에 대해 정리하고자 한다. Property '어떤 값' '객체 내부의 속성' 이해를 돕기 위해 위의 사진에서 코드화를 해보자면 객체.너비 객체.높이 객체.색상 객체.무게 이렇게 Dot Notation으로도 접할 수 있다. Property의 접근 1) Dot Notation let fruits = { kind1 : 'apple', kind2 : 'banana', kind3 : 'lemon', cafe : { juice : 'fruits juice', city : 'seoul' } } ..
Unreachable Code REST API에서 Service 부분을 작성하던 중 Unreachable code라는 에러와 마주하게 되었다. 이 에러가 무엇인지 찾아보니 다음과 같았다. 에러 해석 결코 실행되지 않는 코드 문제 원인 보통 분기나 return문에서 결코 실행되지 않는 코드를 경고해주는 에러메시지 거의 대부분 return 문에서 많이 등장한다. 아직 해결은 하지 못했지만, 작성한 return문에서 문제가 있어 해당 메시지가 뜬 것 같다. 문제 해결 return문, return문을 감싸고 있는 코드 로직 설계를 다시 해야한다.