분류 전체보기

    [NestJS] Passport.js와 session을 사용해 로그인 인증 구현하기

    [NestJS] Passport.js와 session을 사용해 로그인 인증 구현하기

    전제 조건 - cookieParser 를 임포트해 main.ts에 설정을 추가해주었다. : app.use(cookieParser(); - 회원가입 서비스 : ex) signUp, join (메서드 명은 당연히 자유)와 같은 서비스 메서드를 만들어 db에 등록이 가능하다. - 유저 조회 서비스 : ex) findOne, getUser (메서드 명은 당연히 자유) 와 같은 서비스 메서드를 만들어 가입여부 체크가 가능하다. 왜 쓸까? 사용자의 브라우저에 쿠키만 가지고 인증을 하면 위변조, 탈취의 위험이 있다. 그래서 서버에서 인증하고 인증 정보를 서버의 특정 공간에 저장해두는게 바람직하다. => 이게 세션 쿠키 = 세션을 찾는 정보 : ex) 유저아이디, 유저이메일 같이 단순한 식별 정보만 저장 세션 = 인증..

    [NestJS] ValidationPipe를 이용해 Request 편하게 검증하기 (class-validator)

    [NestJS] ValidationPipe를 이용해 Request 편하게 검증하기 (class-validator)

    전제 조건 - controller를 만들어 놨다. (전혀 상관 없다. 그냥 이 글에 시작점이 여기라 적어놨다.) - dto를 만들어 놨다. - 전역으로 선언해주는 방식도 있지만 여기서는 다루지 않는다. 시작 1. 각종 디펜던시를 설치한다. - dependencies "class-validator", "class-transformer" 2. 적용할 dto 안에서 임포트 해주고 적절한 데코레이터를 사용해준다. - 여기에 선언해준 key들은 참고만 해주면 된다. import { IsNotEmpty, IsString, Length, Matches } from "class-validator"; export class createUserDto { @IsNotEmpty() @IsString() @Matches(Reg..

    [MAC, WIN] 집 mac, 회사 window 잡담 및 초기 설정

    [MAC, WIN] 집 mac, 회사 window 잡담 및 초기 설정

    하... 회사 컴퓨터에서 커밋한 내용을 가져와서 맥에서 쓰려고 하면 한 번에 된 적이 하나도 없는 것 같다. 심지어 코드가 아니라 쿼리까지 안먹니 이거야 원... 처음부터 둘 다 다시 깔고 시작 1. 무조건 둘 다 공홈에서 받는다. https://www.mysql.com/downloads/ MySQL :: MySQL Downloads MySQL Cluster CGE MySQL Cluster is a real-time open source transactional database designed for fast, always-on access to data under high throughput conditions. MySQL Cluster MySQL Cluster Manager Plus, everythi..

    [프로그래머스] JavaScript - 다리를 지나는 트럭

    📄 문제 📝 나의 풀이 function solution(bridge_length, weight, truck_weights) { let answer = 0; let bridge = new Array(bridge_length).fill(0); while (bridge.length !== 0) { answer++; bridge.shift(); if (truck_weights.length !== 0) { let state = bridge.reduce((a, b) => { return a + b; }, 0); state + truck_weights[0]

    [Baekjoon (Node.js)] 1065번 한수

    📄문제 📝 나의 통과 풀이 const input = require("fs").readFileSync("/dev/stdin").toString().trim(); let result = 0; for (let i = 1; i