nodejs

개발일지/Node.js

Nestjs - Shared modules : 의존성 주입을 통하여 모듈 공유하기

NestJS는 모듈과 서비스를 효과적으로 구성하고 관리할 수 있는 강력한 기능을 제공합니다. 오늘은 NestJS에서 서비스를 공유하는 두 가지 방법인 의존성 주입(Dependency Injection)과 모듈 임포트에 대해 알아보겠습니다. NestJS는 모듈과 서비스를 사용하여 애플리케이션을 구성합니다. 모듈은 애플리케이션의 부분을 나타내며, 서비스는 비즈니스 로직을 처리하고 데이터를 관리합니다. 상황 가정 1. Flowers와 Places라는 기능이 있다고 가정 (nest g resources flowers, nest g resources places) 2. FlowersController에서 PlacesService를 사용하고 싶음 3. 단, PlacesService를 새로 생성하는 것이 아닌 하나의..

개발일지/Node.js

TypeORM - @Column({ unique : true }) vs @Unique()

nestjs + typeORM을 공부하던 중 특정 컬럼에 대해 유니크 속성을 주어야 하는데, 두 가지 방법이 보였다. 첫 번째는 변수에 @Column 데코레이터를 사용하는 것이고, 두 번째는 클래스에 @Unique 데코레이터를 사용하는 것이다. 두 방법 모두 유니크 속성을 부여한다는 것은 동일하지만 약간의 차이가 있다. 유니크 속성을 각각 부여하느냐, 합쳐서 부여하느냐의 차이다. @Column({ unique : true }) 일반적으로 원하는 특정 컬럼에 유니크 속성을 주기 위해 사용할 수 있다. @Column({ unique: true }) first: string; @Column({ unique: true }) second: string; 이러한 방식으로 생성된 제약조건을 살펴보면 각각 컬럼별로 두..

개발일지/Node.js

SQL Injection 방지 - 권장방식에는 다 이유가 있지..

nodejs express 공부를 하고 있는데, 쿼리를 작성하던 중 문득 생각이 들었다. ` SELECT * FROM users WHERE user_id = ? ` mariadb 모듈에는 query 함수가 있는데, 첫 번째 인자로 쿼리 문자열 받고, 두 번째 인자로 쿼리의 플레이스홀더(? 부분)에 해당하는 부분을 배열 형태로 받는다. 세 번째 인자로 콜백함수를 받는다. 여기서 ${} 형태로 작성하면 가독성과 유지보수 측면에서 더 좋지 않나? 라는 생각이 들었다. ` SELECT * FROM users WHERE user_id = ${userId} ` 이런 식으로 작성하고 두 번째 인자를 생략하면 정상적으로 작동된다. 하지만 또 한편으로 드는 생각이 굳이 첫 번째 방식으로 작성하고 두 번째 인자로 배열을 ..

E-room
'nodejs' 태그의 글 목록