본문 바로가기

Backend

(3)
MSA 공부하기 전에 기본 예습하기 using NestJS # Intro백엔드 개발자로서 한 스텝 더 나아가기 위해서 정말 많은 고민을 했다. 기술스택 하나를 더 공부할지 현재 내가 많이 다루는 기술스택들 중에서 한 가지 기술을 골라 더 깊게 공부를 할지 아니면 프로그래밍적으로 더 공부를 할지..나한테 어떻게 더 유리하게 적용될지 철저하게 수치로 표현하면서 계산을 했을 때, 기술 하나를 골라 더 깊게 공부를 하는게 더 이득이 많이 남을거라는 결론이 나오기는 했다.근데.. 프로그래밍적으로 공부를 더 하고 싶었다. 더 정확하게 표현을 하자면 클린 아키텍처, 소프트웨어공학, OOP, FP, AOP 등 이런 내용들에 대해서 공부를 안한지 너무 오래되어서 더 하고 싶었던 것 같다. 그래서 클린 아키텍처, OOP, AOP 등 백엔드 프로그래밍을 공부하면서 MSA와 같이 공..
Nest.js를 활용하여 Login, AuthGuard 구현하기 LoginBasic $token으로 이메일, 패스워드 요청Basic $token인지 검사base64로 된 요청값을 utf-8을 이용하여 디코딩디코딩 된 값은 : 형태로 되어 있음이메일, 패스워드 검사 후 access, refresh token 발급  AuthController// basic token@Post('login') // 로그인loginUser(@Headers('authorization') token: string) { return this.authService.login(token);}Headers pipe에서 authorization 헤더를 받아옴받은 데이터를 AuthService에 넘겨줌 AuthServiceasync login(token: string) { const { email, ..
요청이 백엔드로 전달되는 과정 Intro프론트엔드에서 백엔드로 요청을 보낼 때, 대부분은 처리과정에 집중하는데 사실 이것은 마지막 단계일 뿐이다.요청이 처리 준비가 되기 전까지 아주 많은 일들이 일어나는데 이 단계를 6단계로 분리할 수 있다.   1-수락요청은 연결을 하기 위해서 TCP, QUIC 중 하나를 요청하게 되며, 백엔드에서 수락을 하게 되면 연결이 맺어지게 된다.클라이언트에서 443 포트를 통해 서버에 연결할 때, 서버 OS 커널을 통해서 3-way handshake가 완료가 되고 연결은 리스너 대기열에 배치가 된다. 대기열을 수락 Queue라고 한다.백엔드 애플리케이션은 리스너 소켓에서 syscall accpet()을 호출하여 연결을 나타내는 파일 디스크립터를 생성하는 책임을 진다이 단계에서 백엔드가 연결을 수락하는 것이..