NestJS/NestJS 기본강의
-
NestJS 기본강의 - 5. 권한 & 로그 & 설정NestJS/NestJS 기본강의 2022. 7. 11. 16:30
유저와 게시물 데이터의 관계 형성 1. 관계를 형성하기 위해서는 엔티티에 서로간의 필드를 넣어줘야 한다 ㆍUser : OneToMany Relationship ㆍ게시글들 : ManyToOne Relationship 파라미터 1. Type 2. inverseSide ( User클래스기준 board에서 유저로 접근하려면 board.user로 접근해야함 ) 3. Option ( eagerㆍtrue 일때는 user정보를 가져올때 board도 같이 가져옴 ) @ManyToOne((type) => User, (user) => user.boards, { eager: false }) user: User; @OneToMany((type) => Board, (board) => board.user, { eager: true..
-
NestJS 기본강의 - 4. 인증NestJS/NestJS 기본강의 2022. 7. 8. 18:32
CLI를 이용한 모듈, 컨트롤러, 서비스 생성 - nest g module auth ㆍauth 모듈 생성 - nest g controller auth --no-spec ㆍauth 컨트롤러 생성 - nest g service auth --no-spec ㆍauth 서비스 생성 - 비밀번호 암호화 bcryptjs npm install bcryptjs --save import * as bcrypt from 'bcryptjs'; 비밀번호를 데이터베이스에 저장하는 방법 1. 원본 비밀번호를 저장 (최악) 2. 비밀번호를 암호화 키 ( Encryption Key )와 함께 암호화 ( 양방향 ) - 어떠한 암호를 이용해서 비밀번호를 암호화하고 그 암호를 이용하여 복호화도 가능 - 암호화 키가 노출되면 알고리즘은 대부분..
-
NestJS 기본강의 - 3. TypeORMNestJS/NestJS 기본강의 2022. 7. 8. 16:02
TypeORM 이란? - TypeORM은 node.js에서 실행되고 TypeScript로 작성된 객체 관계형 매퍼 라이브러리이다 - TypeORM은 MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana 및 WebSQL과 같은 여러 데이터베이스 지원 ORM ( Object Relational Mapping ) 이란? - 객체와 관계형 데이터베이스의 데이터를 자동으로 변형 및 연결하는 작업이다 - ORM을 이용한 개발은 객체와 데이터베이스의 변형에 유연하게 사용할 수 있다 TypeORM vs Pure Javascript - TypeORM const boards = Board.find({ title: 'Hello', status: 'PUBLI..
-
NestJS 기본강의 - 2. PipeNestJS/NestJS 기본강의 2022. 7. 7. 18:02
Pipe은 무엇인가? ( 필터같음 ) - 파이프는 @Injectable () 데코레이터로 주석이 달린 클래스이다 - 파이프는 data transformation과 data validation을 위해서 사용 - 파이프는 컨트롤러 경로 처리기에 의해 처리되는 인수에 대해 작동 - Nest는 메소드가 호출되기 직전에 파이프를 삽입하고 파이프는 메소드로 향하는 인수를 수신하고 이에 작동 Data Transformation - 입력 데이터를 원하는 형식으로 변환 ( 예 : 문자열에서 정수로 ) - 만약 숫자를 받길 원하는데 문자열 형식으로 온다면 파이프에서 자동으로 숫자로 변경 Data validation - 입력 데이터를 평가하고 유효한 경우 변경되지 않은 상태로 전달하면 된다 - 그렇지 않으면 데이터가 올바르..
-
NestJS 기본강의 - 1. 시작NestJS/NestJS 기본강의 2022. 7. 7. 15:22
Nest JS 란? - 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임 워크 - 프로그레시브 JavaScript를 사용하고 TypeScript로 빌드되고 완벽하게 지원 - OPP( Object Oriented Programming ), FP ( Functional Programming ) 및 FRP ( Functional Reactive Programming ) 요소를 사용 가능 - Express를 토대로 만들어짐 - nestjs 설치 npm i -g @nestjs/cli - nest프로젝트 생성 nest new project-name NestCLI로 생성한 프로젝트 기본 구조 eslintrc.js - 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤수있게 도와주는 라..