TypeORM을 통해 Table간 Relation을 구성하다보면 N : N의 관계로 구성을 해야될 때가 있다. TypeORM의 공식 문서를 확인해보면 N : N을 구성하는 법은 다음과 같다. // category.entity.ts import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; @Entity() export class Category { @PrimaryGeneratedColumn() id: number; @Column() name: string; } // question.enetity.ts import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable} from "typeorm..
백엔드를 개발하다보면 REST API의 GET 메소드에서 DB에서 데이터를 제대로 불러오는지 확인해야하는데 이럴 때 Seed API를 통해 테스트 용도의 fake DB를 구성하는 것이 매번 데이터를 직접 입력해넣는 시간을 절약할 수 있으므로 좋다고 생각했다. TypeScript기반의 NestJS로 백엔드를 구성하다보니 Faker.Js 패키지를 활용하여 Seed API를 작성하였다. Faker.JS의 패키지 설치 방법은 매우 간단하다. npm i faker Faker.JS는 Typescript가 아닌 순수 JavaScript로 작성되어 사용하는 방법에는 두 가지가 있다. //@ts-ignore import faker from 'faker'; const faker = require('faker'); 위와 같..
서로 다른 두 개의 Entity(Story, Tag)에서 Story와 Tag를 @Many-to-Many로 Relation을 생성하고 @JoinTable을 통해 StoryId와 TagId를 JOIN하는 테이블을 생성하였다. 이러한 상황에서 JOIN 시킨 테이블에 StoryId와 TagId를 저장하는 순서는 다음과 같다.(태그 3개, 스토리 1개를 DB에 저장하는 상황으로 가정한다.) 1. Tag1, Tag2, Tag3를 각각 Tag 테이블에 저장한다. 2. Story를 저장할 때, Story.tags로 JoinTable한 부분에 Story.tags = [Tag1, Tag2, Tag3]와 같이 입력하여 Story 테이블로 저장한다. 위의 과정을 코드로 구현하면 다음과 같다. const tag1 = new T..
개발/TypeORM 2021. 9. 7. 08:20
TypeORM을 통해 Table간 Relation을 구성하다보면 N : N의 관계로 구성을 해야될 때가 있다. TypeORM의 공식 문서를 확인해보면 N : N을 구성하는 법은 다음과 같다. // category.entity.ts import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; @Entity() export class Category { @PrimaryGeneratedColumn() id: number; @Column() name: string; } // question.enetity.ts import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable} from "typeorm..
개발/Java 2021. 9. 6. 08:20
오버로딩(Overloading)은 메소드의 이름은 같지만, 메소드 파라미터의 타입, 개수, 그리고 리턴되는 타입이 다르게 정의하는 것(확장)이다. 오버라이딩(Overriding)은 한국어로 상속이라 불리며, 상속받은 메소드와 파라미터 타입과 개수, 리턴되는 타입이 동일해야하고, 상속받은 메소드의 내용만을 변경하는 것(재정의)이다. 오버로딩(Overloading) 오버라이딩(Overriding) 메소드 이름 같음 같음 파라미터 타입 다름 같음 파라미터 개수 다름 같음
개발/NestJS 2021. 9. 4. 08:20
백엔드를 개발하다보면 REST API의 GET 메소드에서 DB에서 데이터를 제대로 불러오는지 확인해야하는데 이럴 때 Seed API를 통해 테스트 용도의 fake DB를 구성하는 것이 매번 데이터를 직접 입력해넣는 시간을 절약할 수 있으므로 좋다고 생각했다. TypeScript기반의 NestJS로 백엔드를 구성하다보니 Faker.Js 패키지를 활용하여 Seed API를 작성하였다. Faker.JS의 패키지 설치 방법은 매우 간단하다. npm i faker Faker.JS는 Typescript가 아닌 순수 JavaScript로 작성되어 사용하는 방법에는 두 가지가 있다. //@ts-ignore import faker from 'faker'; const faker = require('faker'); 위와 같..
개발/TypeORM 2021. 9. 3. 08:20
서로 다른 두 개의 Entity(Story, Tag)에서 Story와 Tag를 @Many-to-Many로 Relation을 생성하고 @JoinTable을 통해 StoryId와 TagId를 JOIN하는 테이블을 생성하였다. 이러한 상황에서 JOIN 시킨 테이블에 StoryId와 TagId를 저장하는 순서는 다음과 같다.(태그 3개, 스토리 1개를 DB에 저장하는 상황으로 가정한다.) 1. Tag1, Tag2, Tag3를 각각 Tag 테이블에 저장한다. 2. Story를 저장할 때, Story.tags로 JoinTable한 부분에 Story.tags = [Tag1, Tag2, Tag3]와 같이 입력하여 Story 테이블로 저장한다. 위의 과정을 코드로 구현하면 다음과 같다. const tag1 = new T..