전체보기

· NestJS
Client에 배포를 할 때, 클라이언트 측 DB에 Admin계정이 존재하는지 확인하고, 만약 없다면 해당 DB에 정해진 계정을 넣어줘야 하는 일이 생겼다. 어떻게 이러한 문제를 TypeORM의 migration으로 해결 할 수 있는지 정리해보자. 개발 환경 우선 현재 NodeJS기반에서 NestJS 프레임워크, DB는 Mysql, TypeORM을 사용하고 있으며, Docker를 이용하고 있다. DB는 docker로 띄우지 않고, 폐쇄망에 따로 마련된 DB를 이용하고 있다. (참고로, Front, Backend 두개의 컨테이너를 띄우고 있다.) Migration? 우선 migration이 무엇인지에 대해 간략히 정리하고 넘어가자. NestJS의 공식문서에 따르면, Migrations은 기존 데이터베이스에..
· TypeScript
제네릭 타입에 대해 알아보고 어떻게 사용할 수 있는지, 그리고 배열을 이용하지 않고 Queue자료구조를 구현하면서 제네릭을 어떻게 실제로 사용할 수 있는지 알아보자. 아래의 내용은 타입스크립트 공식문서 내용을 참고하였다. 제네릭타입의 필요성 우리가 서버를 띄울 때 항상 "Hello World"를 먼저 출력하는 것 처럼 제네릭에서의 "Hello World"인 identity 함수를 통해 발걸음을 시작해보자. identity함수는 받은 인수를 그대로 리턴하는 매우 간단한 함수이다. 만약 제네릭을 사용하지 않는다면 우리는 특정 타입을 지정해주거나, any를 사용해야 한다. 하지만 앞선 글에서 말한 것처럼 any는 실제로 함수가 반환할 때 어떤 타입인지에 대한 정보가 전혀 없게 되어 타입스크립트를 쓰는 의미가 ..
· NestJS
Global로 등록하는 filter안에 dependency injection 하는 방법에 대해 알아보자. 이 글은 NestJS 공식문서 와 StackoverFlow의 관련된 글을 참고했습니다. Problem - 기존 방법 기존에 사용했던 방법은 아래처럼 main.ts에 useGlobalFilter() 메소드를 사용하여 filter를 등록하는 방법이었다. //main.ts async function bootstrap() { const app = await NestFactory.create(AppModule); app.useGlobalFilters(new HttpExceptionFilter()); await app.listen(3000); } bootstrap(); 하지만, 이렇게 등록하게 되면 해당 필터는..
· TypeScript
composition이라는 강력한 기능에 대해 알아보고 실제로 코드에 어떻게 적용 할 수 있는지에 대해 알아보자. 만약, 타입스크립트와 OOP의 개념에 익숙치 않고 자세히 알고 싶다면 이전 글을 참고하자. Composition? composition이란 클래스 상속을 하지 않고 여러개의 클래스간에 관계를 맺는 방식을 의미한다. 근데 상속이라는 좋은 방법이 있는데 굳이 composition을 이용해야 하는 이유가 있을까? 우선, 아래 사진처럼 상속은 interface를 implements하는 것 처럼 여러개를 할 수가 없다. 상속을 이용하게 되면 결국 클래스 그 자체로 서로 의사소통을 해야 한다. 이렇게 되면 클래스간의 관계가 매우 견고해져 재사용성이 매우 떨어지게 된다. 그렇기 때문에 Compositio..
· TypeScript
그 유명한 OOP(Object-Oriented Programming)!!! 어떠한 원칙들이 있는지, 그리고 이 원칙들을 코드에 어떻게 녹여 낼 수 있는지 알아보자. 우리는 여기서 헬스장을 OOP를 이용하여 만들어 볼 예정이다. 먼저, OOP없이 헬스장을 코딩했을 때와 OOP의 중요 4원칙을 적용했을 때 해당 코드가 어떻게 변하게 되는지 알아보자! OOP 없이 함수 만들어 보기 TypeScript를 이용하여 운동을 하는 함수를 만들어보자. 운동을 하면 근육량과 피로도가 증가하게 된다. type Muscle = { muscles: number; fatigability: number; }; let muscles = 0; let fatigability = 50; let deltaPerHour = 10; func..
· JavaScript
json 형태의 object를 콘솔을 찍어보다 [object Object] 로 나오는 경우를 많이 봤을 것이다. 어떻게 출력 할 수 있는지 알아보자. 참고: 참고링크 매우 간단하다. 아래처럼 json 형식을 stringify 해주면 된다. console.log('This is Error', JSON.stringify(error));
moyanglee
'분류 전체보기' 카테고리의 글 목록 (26 Page)