분류 전체보기 29

[NestJS] TypeORM — Relation, Transactions

지난 시간에는 [NestJS] TypeORM 기본 CRUD 작성하기 를 살펴보았다. 이번 시간에는 Entity 간의 Relation 을 어떻게 TypeORM 을 통해 맺는지와 트랜잭션 처리를 어떻게 하는지를 알아보도록 하겠다. Relations (엔티티 관계) RDB 의 경우 엔티티 간의 관계가 Primary Key 와 Foreign Key 를 통해 설정되는데 해당 부분을 살펴 보도록 하자. 1 : 1 관계 Primary Key 를 가지고 있는 하나의 테이블 안에 모든 row data 에서 자신 또는 다른 테이블의 하나의 row data 의 Foreign Key 로 관계를 맺을 수 있는 것을 말한다. 관계의 정의는 데코레이터로 표현이 가능하다. 1 : N , N : 1 관계 Primary Key 를 가지..

nestjs 2022.08.11

2.-2 NestJS 블로그 만들기 - 리팩토링과 e2e 테스트!!

이번에는 이전 포스트에서 다뤘던 내용에 대해서 Refactoring 을 하고 테스트도 해보겠습니다. 🔨 Refactoring !! └─modules └─user │ user.controller.ts │ user.module.ts │ user.repository.ts │ user.service.ts │ user.spec.ts │ ├─dto │ create-user.dto.ts │ index.ts │ update-user.dto.ts │ ├─entities │ user.entity.ts │ ├─exceptions email-already-exist-exception.ts user-not-found.exception.ts username-already-exist-exception.ts 계속 리팩토링 하다보니 ..

nestjs 2022.08.10

2.-1 NestJS 블로그 만들기 - 데이터베이스 연결 (Postgresql)과 User 모듈

👌 데이터 베이스 연결하기 !! PostgreSQL 설치!! 여러분 드디어 데이터베이스에 연결할 시간이 왔습니다!!. 실제 연습할 때는 배열 같은 임의 적인 놈을 만들고 나서 하긴하지만... 바로 연결해보죠! 저희는 Postgresql 을 사용할 겁니다!! 다른 데이터베이스를 사용하셔도 됩니다!! Postgresql 은 오픈소스 데이터베이스로 SQL 표준을 잘 지원합니다. 일단 무료입니다!! 설치하는 방법은 정식 문서나 타 블로그 포스트를 참조해주세요. postgresql 설치방법 편의를 위해 pgAdmin 툴을 이용하여 postgresql 을 제어하겠습니다.!! 기존의 서버 (PostgreSQL 13 이군요 저는) 를 우클릭하여 데이터베이스를 만듭시다!! 저는 데이터베이스 이름을 nest_blog 라고..

nestjs 2022.08.10

2. NestJS 블로그 만들기 - CRUD 로 시작하자.

👌 NestJS 블로그 만들기 시리즈의 목적 저는 NestJS 전문가가 아닙니다. 저 또한 NestJS 로 어플리케이션을 만들려고 한지 한달이 채 되지 않았습니다. 다만 제가 공부하면서 습득하고 이해한 내용을 바탕으로 간단한 어플리케이션을 만들며 기본적인 지식을 여러분께 같이 공유하는 것이 제 목적입니다. 대부분의 정보는 NestJS Doc , Github 를 참고하고 있습니다. 이 시리즈는 CRUD 기능 Postgresql DataBase 연결 Auth 메시지 큐 기타 기능 (카톡 공유, 카톡으로 로그인하기 등) 의 내용을 다룰 것 입니다. 사용하는 IDE 는 VSCode 입니다. 이후 추가할 사항이나 유용한 팁이 있다면 더 추가하겠습니다. 궁금한 사항이나 제가 틀렸다고 생각하는 부분이 있다면 언제든 ..

nestjs 2022.08.10

1. NestJS 블로그 만들기 -이거는 알고 시작하자.

NestJS를 시작하기전 이거만큼은 알고 시작하자!! 🚨🚨🚨 본 포스트와 이후 nestjs 시리즈에서는 Javascript, Typescript 를 배우기 위한 내용은 다루지 않습니다. 🚨🚨🚨 📣Prerequisites 1. Javascript & Typescript Javascript 는 FrontEnd 를 공부중이시거나 NodeJS 를 다루어 보신분이라면 알고 계실거라고 생각합니다! 다만 Typescript 까지 해야하느냐?? 라고 물으신다면 예 NestJS 의 주요 핵심중 하나는 의존성주입(Defendency Injection) 입니다. 의존성주입이 무엇인지 먼저 알아보죠. 2. 의존성주입 (Dependency Injection) 의존성 주입은 제어의역전(Inversion of Control) 의 ..

nestjs 2022.08.10

앵귤러 데이터 공유(share,inject)

저번시간까는 우리는 앵귤러의 기본구성형태, 컴포넌트 사용방법에 대해서 살펴보았습니다. 컴포넌트의 FormsModule 또는 ReactiveFormsModule사용법은 사실 쉽지가 않습니다. 여러번 연습하고 자주 사용해야 익숙해지는 부분들 입니다. 자 여기까지 내용을 잠깐 정리 해 보겠습니다. 앵귤러의 기본 구성형태는 모듈 + 컴포넌트의 형태로 이루어져 있습니다. 컴포넌트는 화면을 구성하는 기능을 담당하였습니다. 데이터를 "바인딩" 하는 방법을 컴포넌트에서 우리는 단순하게 데이터를 붙여주거나, FormsModule 또는 ReactiveFormsModule을 사용 해 보았습니다. 이러한 "바인딩" 방법으로 Dom 객체에 접근하지 않고 데이터를 화면에 표출하거나 가져올 수 있었습니다. 모듈에서 우리는 이러한 ..

angular 2022.08.09

Angular : 모듈단위 Lazy Loading 라우팅 설정하기

1. 기본 모듈단위 라우팅 설정은 아래 포스트를 참고한다. Angular : 모듈단위 라우팅 설정하기 0. Angular의 라우팅 설정은 모듈이름-routing.module.ts파일에서 지정할 수 있다. 1. 설정방법 1-1 모듈을 생성한다. 1-2 routing.module.ts에 매핑할 경로와 컴포넌트를 설정한다. 1-3 app.module.ts에 생성한.. kogle.tistory.com 2. Lazy Loading으로 모듈의 라우팅을 설정하는 이유는 2-1 첫화면에서 모든 클라이언트 자료를 받으면 로딩이 지연되기 때문이다. 2-2 그래서 화면에 보이는 부분만 받고 사용자가 다른 페이지로 이동할 때 추가로 필요한 모듈을 다운로드 받는다. 3. 설정 순서 3-0 app.module.ts에 lazy l..

angular 2022.08.08

angular에서 모듈(module)사용해 보기

https://kogle.tistory.com/category/Client%20Technologies/Angular?page=1 에서 참조 하였습니다. 이 때까지 component를 사용하고 template을 사용하는 법을 알았다면 이제 모듈에 대해서 알아보자. 사실 모듈에 대해서는 깊게 생각할건 없다. 그냥 컴포넌트를 모아둔 것이라고 생각하면된다. 아래 자동으로 생성되는 app.module.ts코드를 보자. import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; @NgModule({ declar..

angular 2021.11.08