분류 전체보기 144

[Nest.js] Passport, JWT 이용해서 토큰 인증 후 유저 정보 가져오기

JWT란? JWT (JSON Web Token)는 당사자 간에 정보를 JSON 개체로 안전하게 전송하기위한 컴팩트하고 독립적인 방식을 정의하는 개방형 표준(RFC 7519)이다. 이 정보는 디지털 서명이 되어 있으므로 확인하고 신뢰할 수 있다. 간단하게 얘기하자면 정보를 안전하게 전할 때 혹은 유저의 권한 같은 것을 체크를 하기 위해서 사용하는데 유용한 모듈이다. Passport 모듈과 함께 JWT 인증 처리해보기 npm install @nestjs/jwt @nestjs/passport passport passport-jwt --save JWT 토큰 생성받기 모듈에 JWT, Passport 등록해주기 // auth.module.ts import { Module } from '@nestjs/common';..

Nest.js 2023.01.30

[프로그래머스 / 파이썬 풀이] 체육복

실패 코드 def solution(n, lost, reserve): answer = 0 every = [] lost = sorted(lost) reserve = sorted(reserve) for i in range(1, n+1): if i not in lost: every.append(i) else: for j in reserve: if j in lost: reserve.pop(0) every.append(j) break elif j - 1 == i or j + 1 == i: reserve.pop(0) every.append(i) break a = set(every) print(a) return len(a) 3, 5, 7, 10 테스트 케이스를 실패하는 코드. 이유는 아직 찾고있다.. 정답 코드 def..

Programmers 2023.01.30

[Nest.js] 회원가입과 로그인 구현 2

유저 이름에 유니크한 값 주기(중복 금지) 두가지 방법이 있다. 레포지토리에서 findOne 메소드를 이용해서 이미 같은 유저 이름을 가진 아이디가 있는지 확인하고, 없다면 데이터를 저장하는 방법. 이 방법은 DB처리를 두 번 해줘야 함. DB레벨에서 만약 같은 이름을 가진 유저가 있따면 에러를 던져줌 2번째 방법으로 구현. user.entity.ts 파일로 가서 import { BaseEntity, Column, Entity, PrimaryGeneratedColumn, Unique, } from 'typeorm'; @Entity() @Unique(['username']) export class User extends BaseEntity { @PrimaryGeneratedColumn() id: numbe..

Nest.js 2023.01.27

[Nest.js] 회원가입과 로그인 구현 1

nest cli를 이용한 모듈, 컨트롤러, 서비스 생성 auth 모듈 생성 - nest g module auth auth 컨트롤러 생성 - nest g co auth auth 서비스 생성 - nest g s auth user Entity 생성 import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class User extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column() username: string; @Column() password: string; } Repository 생성 import { Injectable } fro..

Nest.js 2023.01.27

[Nest.js] Nest.js + PostgreSQL + typeORM CRUD 구현하기 3

Update와 Read중에 모든 게시물 가져오는 api 만들기 service 코드 import { Injectable, NotFoundException } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { BoardStatus } from './board-status.enum'; import { Board } from './board.entity'; import { BoardRepository } from './board.repository'; import { CreateBoardDto } from './dto/create-board.dto'; @Injectable() export class BoardsS..

Nest.js 2023.01.26

[Nest.js] Nest.js + PostgreSQL + typeORM CRUD 구현하기 2

Delete 구현 tymeORM에서 remove()와 delete()의 차이부터 짚고 넘어가려고 한다. remove() - 무조건 존재하는 아이템을 remove 메소드를 이용해서 지워야 한다. 그렇지 않으면 Error(404) delete() 만약 아이템이 존재하면 지우고 존재하지 않으면 아무런 영향이 없다. 이번 delete 구현에서는 delete를 사용하여 구현 하려고 한다. 우선 service 먼저 보자 import { Injectable, NotFoundException } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Board } from './board.entity'; import { Bo..

Nest.js 2023.01.26

[Nest.js] Nest.js + PostgreSQL + typeORM CRUD 구현하기 1

정보 공유보단 메모에 가까운 게시글입니다. 참고만 해주시길 양해 부탁 드립니다 ㅠ.ㅠ https://www.youtube.com/watch?v=3JminDpCJNE&t=11247s - 따라하면서 배우는 NestJS 강의를 참고하여 작성하는 Nest + PostgreSQL + typeORM CRUD 구현 우선 DB와 Nest의 연결을 위한 typeorm.config.ts 파일을 configs 폴더 하위에 생성해준다. import { TypeOrmModuleOptions } from '@nestjs/typeorm'; export const typeORMConfig: TypeOrmModuleOptions = { type: 'postgres', host: 'localhost', port: 5432, userna..

Nest.js 2023.01.26
LIST