목록전체 글 (106)
개발스토리
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 컨트롤러는 들어오는 request를 처리한 후 response를 클라이언트에 반환한다. 라우팅 메커니즘으로 어떤 컨트롤러가 어떤 request를 수신하는 지 제어한다. 컨트롤러에 둘 이상의 라우트가 있을 수 있고 다른 작업을 수행할 수 있다. 기본 컨트롤러를 만들기 위해서는 클래스와 데코레이터를 사용한다. 데코레이터는 클래스를 필수 메타데이터와 연결한 후 Nest가 라우팅 맵을 만들 수 있도록 한다. Routing 코드를 통해 이해해보자. // cats.controller.ts import { Controller, Get } from '@nestjs/common'; @Controller('cats') export class CatsController {..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 애플리케이션 부트스트랩 프로세스에 가장 큰 영향을 끼치는 것이 바로 Typescript 컴파일이다. Express 프레임워크로 개발했던 사람이라면 nodemon이 무엇인지 알텐데, 코드의 변경 사항이 생기면 자동으로 노드 애플리케이션을 재시작해주는 모듈이다. Nest에서는 webpack HRM(Hot-Module Replacement)을 사용하면 변경 사항이 발생할 때마다 전체 프로젝트를 다시 컴파일 할 필요가 없다. 이렇게 하면, 애플리케이션을 인스턴스화하는데 필요한 시간이 크게 줄어들고 반복 개발이 훨씬 쉬어진다. Installation 먼저, 필요한 패키지를 설치하자. $ npm i --save-dev webpack-node-externals ru..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 디렉토리 구조 app.controller.ts 하나의 라우트가 있는 기본 컨트롤러 app.controller.spec.ts 컨트롤러를 위한 유닛 테스트 app.module.ts 애플리케이션의 루트 모듈 app.service.ts 단일 메소드를 사용하는 기본 서비스 main.ts 핵심기능 NestFactory를 사용하여 Nest 애플리케이션 인스턴스를 생성하는 애플리케이션의 엔트리 파일 // main.ts import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFact..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. Introduction Nest는 효율적이고 확장 가능한 Node.js 프레임워크이다. 프로그레시브 자바스크립트를 사용하고 TypeScript로 빌드된다. OOP(객체 지향프로그래밍), FP(함수형 프로그래밍), FRP(함수형 반응형 프로그래밍) 요소를 결합한다. 내부적으로 Nest는 Express(디폴트)와 같은 강력한 HTTP 서버 프레임워크를 사용하며 선택적으로 Fastify를 사용하도로고 구성할 수 있다. Installation 시작하려면 Nest CLI를 사용하여 프로젝트를 스캐폴딩하거나 시작 프로젝트를 복제할 수 있다. 아래 명령어를 실행하면 새 프로젝트 디렉토리가 생성되고 초기 핵심 Nest 파일 및 지원 모듈로 디렉토리가 채워져 프로젝트의..
데이터베이스 보안의 목표 조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제하여 보안을 유지하는 것 데이터베이스 보안 ■ 물리적 환경에 대한 보안 - 자연 재해처럼 데이터베이스에 물리적 손실을 발생시키는 위험으로부터 데이터베이스를 보호 ■ 권한 관리를 통한 보안 - 접근이 허락된 사용자만 권한 내에서 데이터베이스를 사용하도록 보호 - 계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자 별로 사용 범위와 수행 가능한 작업 내용을 제한 ■ 운영 관리를 통한 보안 - 접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약 조건을 정의하고 위반하지 않도록 통제 권한 관리의 개념 ■ 접근 제어(Access Control) - 계정이 발급된 ..