목록분류 전체보기 (122)
Lsiron
3차 프로젝트 기간 : 2024.08.29 ~ 2024.10.4 ( 5주 )벌써 마지막 프로젝트인 3차 프로젝트도 끝이났다! 그리고 개발 공부를 시작한지 이제 7개월 차 이다! 이제 슬 정리도 하고 포트폴리오도 작성하면서 본격적으로 취업준비를 해야겠다! 3차 프로젝트를 기획하며 과연 이 프로젝트를 한정된 데드라인 안에서 모두 끝낼 수 있을까..? 생각이 들었다. 각자의 실력을 제대로 알지 못 할 뿐더러 모두 익숙한 스킬이 아닌 처음 사용하는 기술, 프레임워크이기 때문에 두려움이 더 컸다. 허나, 모두의 걱정과는 달리 아주 멋지게 완성작을 내 놓았고, 배포 및 발표도 무사히 끝났다! 프로젝트가 끝나고 생각해본 결과, 프론트 / 백 구분 짓지않고 어느 한 부분이 안된다면 모두가 달라붙어서 해결하려하는 팀 ..
먼저, 패킷이란? 컴퓨터 네트워크에서 데이터를 전송할 때 사용하는 작은 데이터 단위이다! 데이터를 보내기 위해서는 한 번에 모든 데이터를 보내는 것이 아니라, 작은 조각으로 나눠서 전송해야 더 빠르고 안정적으로 데이터를 주고받을 수 있다. 이때 나뉜 조각을 패킷이라고 함! 이에 더해서 패킷은 보내는 쪽에서 데이터를 작은 조각으로 나눠서 전송하고, 받는 쪽에서는 이 패킷들을 다시 모아서 원래 데이터로 재구성하는 방식이다! 우리가 사진을 이메일로 보낼 때, 사진을 한 번에 보내는 것이 아니라, 네트워크는 이 사진을 여러 개의 작은 패킷으로 나눠서 상대방에게 보낸다! 각 패킷은 상대방의 컴퓨터로 다른 경로를 통해 이동할 수도 있지만, 마지막에는 모두 다시 모여서 원래의 사진으로 재구성 되는 것이다. 또한 ..
내가 프로젝트에서 로그인을 구현할 때 항상 사용했던 JWT 토큰 방식. 이 JWT토큰에 대해서 한번 제대로 파헤쳐 보자. JWT 토큰은 JSON Web Token의 줄임말로, 어떤 사이트나 앱에 로그인했을 때, 그 사이트가 "이 사람이 진짜 맞다!"고 확인해 주는 신분증 같은 거라고 생각하면 되겠다. 그리고 이 신분증에는 비밀이 담겨 있어서 아무나 바꾸지 못 한다. JWT 토큰은 세 가지 부분으로 나눠져 있다. 비유하자면 햄버거랑 비슷하다고 생각하면 되겠다.// 헤더 (Header){ "alg": "HS256", // 사용하는 암호화 알고리즘 "typ": "JWT" // 토큰 타입}// 페이로드 (Payload){ "userId": 123, // 사용자 ID "role": "user"..
누떡 프로젝트에서 JWT 가드가 유저의 엑세스 토큰을 검증하지 못하는 문제를 겪었다. 처음에는 Authorization 헤더에서 Bearer 토큰을 추출하는 방식으로 JWT 전략을 설정했지만, 실제로는 엑세스 토큰이 쿠키에 저장되도록 했기 때문에 검증이 실패했던 것. 아래 코드가 바로 내가 처음에 설정한 토큰 추출 방식이다.import { AuthService } from '@_auth/auth.service';import { Injectable, UnauthorizedException } from '@nestjs/common';import { ConfigService } from '@nestjs/config';import { PassportStrategy } from '@nestjs/passport'..