typeorm remove()와 delete() 차이 (NestJS)
BE/NestJS2023. 11. 21. 21:41typeorm remove()와 delete() 차이 (NestJS)

데이터를 지우는 메소드는 remove()와 delete()가 있습니다. 본 글에서는 2개의 메소드의 차이를 소개합니다. remove() service에 repository.remove() 메소드를 이용하여 데이터를 지우는 메소드를 생성하겠습니다. remove() 메소드는 entity를 인자로 넘겨줘야하기 때문에, id를 통해 board를 가지고 오는 메소드도 추가하였습니다. @Injectable() export class BoardsService { constructor( @InjectRepository(Boards) private boardsRepository: BoardsRepository, ) {} /** * 특정 게시글을 가지고 옴 * @param id */ async getBoardById(id..

NestJS + postgres + typeorm 연동하기 (서버 DB 연결)
BE/NestJS2023. 11. 21. 00:09NestJS + postgres + typeorm 연동하기 (서버 DB 연결)

NestJS와 postgres, typeorm을 연동하기 위한 방법을 소개합니다. 연동하기 전에 postgres을 먼저 실행해줍니다. postgres 실행 꼭 도커를 띄울 필요는 없지만, docker로 띄우는것이 편해서 본 글에서는 docker로 postgres를 띄우고 연동하는 방법에 대해 소개합니다. 도커로 띄우는 방법은 아래 글 참고바랍니다. Postgres DB를 Docker 컨테이너로 띄우기 (docker-compose 사용) 재미로 만들어보고 있는 개인 프로젝트에 Postgres DB를 연결하기 위해 PostgresDB를 띄우려고 합니다. 직접 맥북에 설치를 할 수도 있지만, 더럽혀지는걸 싫어해서 사용하다가 필요없어지면 편하게 bluemiv.tistory.com 의존성 설치 postgres를 ..

Postgres DB를 Docker 컨테이너로 띄우기 (docker-compose 사용)
DevOps/Database2023. 11. 20. 23:32Postgres DB를 Docker 컨테이너로 띄우기 (docker-compose 사용)

재미로 만들어보고 있는 개인 프로젝트에 Postgres DB를 연결하기 위해 PostgresDB를 띄우려고 합니다. 직접 맥북에 설치를 할 수도 있지만, 더럽혀지는걸 싫어해서 사용하다가 필요없어지면 편하게 지울 수 있도록 docker 컨테이너로 띄우는 방법에 대해 소개합니다. docker 및 docker-compose 설치 docker 컨테이너로 띄우기 위해서 당연히 docker가 필요합니다. 도커 설치는 아래 글을 참고바랍니다. Intel MacOS에 도커(Docker) 설치하기 MacOS에 도커 설치 개발할때 거의 필수적으로 사용하는 Docker를 Intel MacOS에 설치하는 방법에 대해 소개합니다. Window나 MacOS에서는 Docker 홈페이지에서 docker desktop을 설치하여 do..

NestJS Pipe를 이용하여 데이터 변환 및 검증
BE/NestJS2023. 11. 20. 22:43NestJS Pipe를 이용하여 데이터 변환 및 검증

파이프(Pipes) NestJS에서는 파이프(pipe)를 이용하여 요청의 데이터를 변환(transformation)하거나 검증(validation)을 할 수 있습니다. 파이프도 서비스와 같이 @Injectable() 데코레이터를 사용해서 구현합니다. 변환(Transformation): 입력 데이터를 원하는 형태로 변환합니다. (예: 문자열을 정수 형태로 변환) 유효성 검사(Validation): 입력 데이터를 유효성 검사를 하고, 검사를 통과하면 controller로 전달하고 그렇지 않으면 예외를 발생합니다. 파이프는 Controller의 요청(Request)의 arguments에 적용할 수 있고, 파이프를 통해 데이터 변환 및 검증을 하고 Controller가 실행됩니다. 아래 그림을 보면 이해하기 더..

NestJS에서 서비스(Service) 개념 및 서비스 생성하기
BE/NestJS2023. 11. 19. 18:33NestJS에서 서비스(Service) 개념 및 서비스 생성하기

서비스(Service)란 서비스는 NestJS에서만 사용하는 개념은 아니고, 소프트웨어 개발시 공통적으로 사용하는 개념입니다. 서비스는 보통 복잡한 비지니스 로직 또는 데이터베이스 관련된 로직을 처리할때 사용합니다. 정답은 없겠지만 종종 Controller에서 비지니스 로직을 처리하는 경우를 종종 보게 되는데, 컨트롤러는 라우팅을 정의하는 목적으로만 사용하고 복잡한 비지니스 로직은 서비스로 분리하는 것이 유지 보수 측면에서도 좋을거 같다고 생각합니다. NestJS에서의 서비스 NestJS에서 서비스를 정의할때는 @Injectable 데코레이터를 사용합니다. (Injectable 영어 단어로만 보더라도, "주입할 수 있는"로 해석할 수 있는데, Spring에서 DI와 동일한 개념) 해당 데코레이터에 의해,..

NestJS 컨트롤러(Controller) 개념 및 정의하기
BE/NestJS2023. 11. 17. 23:30NestJS 컨트롤러(Controller) 개념 및 정의하기

NestJS의 컨트롤러(Controller) NestJS에서 controller는 다른 서버 프레임워크와 동일하게, 클라이언트로부터 들어오는 요청(Request)을 라우팅하고 응답(Response)하는 역할을 합니다. 컨트롤러를 정의하기 위해서는 @Controller라는 데코레이터를 사용합니다. 그리고 HTTP Method를 표현하기 위해 @Get, @Post, @Put, @Delete 와 같은 데코레이터를 사용합니다. 해당 데코레이터를 이용하여 Restful API를 쉽게 개발할 수 있습니다. Controller 생성하기 module을 만들때와 같이 nestcli를 이용해서 controller를 생성할 수 있습니다. nest g controller --no-spec --no-spec: 테스트 코드 생성..

NestJS의 모듈(module) 개념 및 module 정의하기
BE/NestJS2023. 11. 17. 23:15NestJS의 모듈(module) 개념 및 module 정의하기

NestJS에서 Module이란 @Module 데코레이터가 붙어있는 class이며, NestJS에는 반드시 1개 이상의 module이 필요합니다. 모듈은 밀접하게 관련되어 있는 기능들을 모아둔 것으로, 보통 기능(feature) 별로 모듈을 생성합니다. 예를들어, UserModule, BoradModule 등... 그리고, 모듈은 싱글톤(Singleton)으로 만들어지기 때문에 여러 모듈간에 쉽게 동일한 인스턴스를 공유할 수 있습니다. Module 정의하기 NestJS는 재밌는게 파일을 직접 만들고 타이핑하지 않아도, 손쉽게 NestJS cli로 모듈을 만들 수 있습니다. nest g module 명령어를 사용해봅시다. nest g module boards 그리고, 루트 모듈인 AppModule의 imp..

NestJS로 프로젝트 생성 및 서버 개발하기
BE/NestJS2023. 11. 17. 22:16NestJS로 프로젝트 생성 및 서버 개발하기

NestJS란? node.js 를 사용하여 쉽게 서버 개발을 할 수 있도록 도와주는 Back-end 프레임워크입니다. Javascript 뿐만 아니라 Typescript로도 완벽하게 지원합니다. (프로젝트를 생성하면 기본적으로 Typescript 기반으로 생성됨) 또한 OOP(Object Oriented Programming), FP(Functional Programming), FRP(Funtional Reactive Programming) 를 같이 사용할 수 있습니다. - OOP: 객체지향 프로그래밍 - FP: 함수형 프로그래밍 - FRP: 함수형 반응형 프로그래밍 프로젝트 생성 사전준비 - node 설치 nestjs는 node 기반의 서버 프레임워크이므로, node 설치가 필요합니다. node 설치는..

macos에 nodejs 설치하기 (쉽게 node 버전 변경하기)
IT2023. 11. 17. 22:13macos에 nodejs 설치하기 (쉽게 node 버전 변경하기)

nodejs 설치 nodejs를 설치하는 방법은 brew를 사용한 방법이 있고, nodejs 공식사이트에서 직접 설치하는 방법이 있습니다. 본 글에서는 brew를 사용하여 설치하는 방법에 대해 소개합니다. brew로 설치하기 맥 패키지를 쉽게 관리할 수 있도록 도와주는 brew를 사용하여 node를 설치하려면 아래 명령어를 사용하면 됩니다. brew install node 설치가 완료되면, node -v 명령어를 통해 제대로 설치가 되었는지 확인합니다. $ node -v v21.2.0 yarn 설치 (선택사항) node 설치는 완료되었고, yarn 설치가 필요한 경우는 아래 내용 참고바랍니다. npm install --global yarn 설치가 완료되었는지 yarn -v로 확인합니다. $ yarn -v..

Flutter(플러터) 설치 및 개발 환경 만들기
FE/Flutter2023. 11. 7. 23:21Flutter(플러터) 설치 및 개발 환경 만들기

Flutter 설치 플러터 설치 요구 스펙 운영 체제(Operation System): macOS 10.14(Mojave) 이상 디스크 공간: 2.8GB (IDE/도구용 디스크 공간은 포함되지 않음) Rosetta 설치 (Apple 실리콘 Mac 만 설치) flutter를 설치하기 전에 Apple 실리콘이 탑재된 mac의 경우는 Rosetta를 설치해줘야 합니다. 만약 Intel 칩을 사용하는 Mac은 설치하지 않아도 됩니다. 설치는 아래 명령어를 사용해서 설치할 수 있습니다. sudo softwareupdate --install-rosetta --agree-to-license Rosetta 사용하면 Intel 칩이 탑재된 Mac용으로 만들어진 Application을 Apple Silicon이 장착된 M..

반응형
image