일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 기술공부
- 코테준비
- JPA공부
- 스프링
- nestjs
- nestjs스터디
- 자료구조공부
- 스프링부트공부
- 플러터 공부
- K8S
- Kafka
- DDD
- 코테공부
- 기술면접공부
- JPA 공부
- JPA예제
- 스프링부트
- 카프카
- 자바공부
- 스프링 공부
- Axon framework
- JPA스터디
- Flutter
- 알고리즘공부
- nestjs공부
- 프로그래머스
- 플러터 개발
- querydsl
- 스프링공부
- JPA
- Today
- Total
목록Develop (320)
DevBoi
Id기준으로, 해당 게시물의 정보를 return 해주는것을 만들것이다. 배열에서, 해당 게시물의 id와 받은 id가 같은것을 return 해주는 메소드를 서비스에 넣었다. getBoardById(id: string) : Board{ return this.boards.find((board) => board.id == id); } 컨트롤러도 추가해주자 @Get('/:id') getBoardById(@Param('id') id :string): Board{ return this.boardService.getBoardById(id); } 이렇게 되면, id기준으로 정보를 가져올 수 있다. 테스트를 해보자 정보를 넣고, 전체를 가져오고 그리고 특정 게시물 ID로 해당 데이터를 가져오는 것까지 완료를 했다., 한가..
DTO는 뭐 알다싶이 데이터 전송객체이다. 클라이언트로의 값을 받거나, DB로 전달할때 주로 사용하는 객체이다. DTO - 데이터 유효성을 검증하는 데 효율적이고, 코드를 안정적으로 만들어주는 역할을 한다 (몰랐던 사람은 참고 ㅎ) * DTO를 만들어보자 이전 프로젝트를 보면, 파라미터로 해당 값들을 따로따로 한개씩 받는다. 말도안되는 짓이기 떄문에, DTO를 만들어서 DTO채로 받아보자 export class createBoardDto{ title: string; description: string; } 변경된 controller와 Service를 보자 import { Injectable } from '@nestjs/common'; import { Board, BoardStatus } from './b..
board controller import { Body, Controller, Get, Post } from '@nestjs/common'; import { BoardsService } from './boards.service'; import {Board} from './board.model' @Controller('boards') export class BoardsController { constructor(private boardService: BoardsService){} @Get('/') getAllBoard(): Board[]{ return this.boardService.getAllBoards(); } @Post('/create') createBoard(@Body('title') title: ..
일단 로컬 데이터를 기반으로 컨트롤러, 서비스를 연결해보자 Controller import { Controller, Get } from '@nestjs/common'; import { BoardsService } from './boards.service'; @Controller('boards') export class BoardsController { constructor(private boardService: BoardsService){} @Get('') getAllBoard(){ return this.boardService.getAllBoards(); } } Service import { Injectable } from '@nestjs/common'; @Injectable() export class ..
우선 NestJS모듈은, @Module () 데코레이터로 주석이 달린 클래스이다. AppMoudle은 하나 이상있어야 하고, appMoudule은 시작점이다. 하위에 여러 모듈이 존재할 수 있고, CURD 관련 모듈 게시판, 사용자에대한 모듈 두개를 만들어 보자 * 모듈은 싱글톤이고, 여러 모듈간에 쉽게 공통적으로 인스턴스를 공유할 수 있다. 1) BoardModule 생성하기 > nest g module boards 모듈안에 아래와 같이 구성이 되게끔 만들것이다. Controller,Entity,Service,Repo,Validataion들을 생성해보자 1) Controller생성해보기 Controller는 데코레이터로 정의를 해야한다. 핸들러는 메소드를 정의해주어야 한다. @Get,@Post,@Put..
우선 기본 동작이 어떻게 되는지 보자. 1) main.ts main.ts에서 AppModule로 NestFactory를 생성하고, 해당 안에서는 appcontroller,appservice가 있게된다. 그리고, /로 접근시 서비스의 hello world를 리턴하고, 이를 화면에 보여주게 된다.
nest new ./로 하면 mkdir하고 안에 들어가서 하면 내부를 자동생성하게 해준다. 자동 생성되는 파일에 대해서 살펴보자 1) eslintrc.js 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤수있게 도와주는 라이브러리 타입 스크립트 관련 문법 체크를 해준다. 2)prettierrc 코드의 형식을 맞춰준다. 포매터라고 생각하면된다. 3) nest-cli.json nest프로젝트 설정 할수 있게 해주는 json파일 4)tsconfig.json 어떻게 타입스크립트를 컴파일 할지 설정 5) package.json 프로젝트 이름, 의존성 등을 정의하는 파일이다. 6)main.ts application이 생성되고, AppModule을 만들어주는 부분에 해당된다. 해당 root Module 하위에 다른..
1. Nodejs 설치 https://nodejs.org/ko/download 다운로드 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 여기서 설치하면된다. 2. NestJS CLI 설치 sudo npm i -g @nestjs/cli 3. 설치확인 nest --version nest new nestjs-test npm을 선택해주면, nestjs-test프로젝트 내에 많은 소스들이 자동 생성된다. 4. 프로젝트 확인
새로운 사이드 플젝에서 NestJs라는 걸 사용하게 되었다. 아... 백엔드로 java script라니 ㅋㅋ ;; 무튼 공부해보자 파이썬은 장고 자바는 스프링 js,ts에서는 NestJS라고 한단다 ㅋㅋ 플러그인 확장과, 왠만한 기능은 내장하고 있고 스프링 관련 내용과도.. 좀 있다고한단다 ㅋㅋ 무튼 사실 이런저런 이점이 있으니까 누군가가 이렇게 쓰고, 사용하고 하겠지... 이런건 중요하지 않으니 바로 실습 및 세팅해서 진행해보자
Aggregate 패턴은 도메인 모델 패턴이라는 거대한 개념에서, 좀더 세분화 된 모델링을 할 수 있다. 거대한 도메인 모델 패턴에서 적당히 쪼개야 하는데 Aggreagte개념으로 좀더 세분하게 쪼개는 것이다. 도메인 모델은 행위 + 자료구조를 통해 비지니스 로직을 구현한다. 도메인 모델은 POJO로 구성한다. Aggreate가 뭘까? 서비스에서는 행위를 기준으로 도메인을 호출하는데 이를 서비스 단위로 Aggregate단위로 묶는것이다. 몇가지 타입을 공통으로 모델링을 해서 사용하라고 가이드를 한다. Value object 란 뭘까? DTO와 비슷해 보이지만, DDD에서는 해당 valueobject는 DTO와 다르다. 개념적으로 완전한 하나를 표현하고, 고유의 식별자를 가지지않는다. 저 3가지 중에 Co..