-
Backend Engineering
MSA 공부하기 전에 기본 예습하기 using NestJS
# Intro백엔드 개발자로서 한 스텝 더 나아가기 위해서 정말 많은 고민을 했다. 기술스택 하나를 더 공부할지 현재 내가 많이 다루는 기술스택들 중에서 한 가지 기술을 골라 더 깊게 공부를 할지 아니면 프로그래밍적으로 더 공부를 할지..나한테 어떻게 더 유리하게 적용될지 철저하게 수치로 표현하면서 계산을 했을 때, 기술 하나를 골라 더 깊게 공부를 하는게 더 이득이 많이 남을거라는 결론이 나오기는 했다.근데.. 프로그래밍적으로 공부를 더 하고 싶었다. 더 정확하게 표현을 하자면 클린 아키텍처, 소프트웨어공학, OOP, FP, AOP 등 이런 내용들에 대해서 공부를 안한지 너무 오래되어서 더 하고 싶었던 것 같다. 그래서 클린 아키텍처, OOP, AOP 등 백엔드 프로그래밍을 공부하면서 MSA와 같이 공..
-
Backend Engineering
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, ..
-
TDD
Jest 많이 썼던 내용들 정리 (1)
Intro이 포스팅은 Jest 공식문서를 보고 공부한 내용들이 아니라 TDD를 하면서 많이 썼던 내용들이나 헷갈렸던 내용들을 정리할 필요가 있다고 생각해서 정리해봤다 toBetoBe는 정리할 내용도 없지만 그래도 가장 기본적인 메서드이기 때문에 정리해봤다toBe는 Jest의 매처 중 하나로, strict equality를 검사한다. 즉 JavaScriptdml === 연산자와 동일하게 작동하며, primitive value들을 비교할 때 주로 사용하고 있다 toBe 예시describe("toBe", () => { it("sum", () => { expect(sum(1, 2)).toBe(3); expect(sum(1, 2)).not.toBe(4); }); it("subtract", () ..
-
Side project
[Side project] 축구 동호회 공식 사이트 만들기 #1;
Intro사이드 프로젝트 개발을 진행을 하면서 모든 개발 상황을 티스토리에 업로드를 하지는 않겠지만, 대표적으로 몇 개만 올릴 예정이다. 유저 회원가입아직 AOP 관련 기술(인터셉터, 필터, 미들웨어 등)을 도입하지 않았고 또한 토큰 발급도 하지 않았다. 개인적인 생각과 경험으로 처음부터 완벽하게 진행을 하게 되면 하나의 모듈을 만드는데 걸리는 시간이 오래 걸릴 뿐더러 완벽하지도 않다.. 1차, 2차, n차 스프린트 개발을 진행을 하면서 기능 수정, 보완, 추가를 진행하며 필요하다면 리팩토링을 할 때가 길게 봤을 때 가장 효율적이고 성능이 괜찮게 나왔었다. 그래서 이번에 업로드하는 API 또한 기능적으로 완벽하지는 않다. [TDD] Test Case #1; not matched passwordDTO로..
-
Side project
[Side project] 축구 동호회 공식 사이트 만들기
Intro축구를 하면서 항상 회원 부족으로 풋살도 제대로 못할 정도로 고군분투하고 있었고 회원이 좀처럼 모아지지 않자 어떻게 하면 회원이 좀 더 빨리 모아지고, 유령회원이 없게 만들 수 있을까 고민을 하고 있던 중에 카카오톡 오픈채팅 말고도 다른 방법으로 홍보를 하면 회원들이 모일 것이고, 사람들이 많아지면 회원들간의 단합력이 좋아지지 않을까 생각을 했다. 그래서 친한 형이자 동호회 회장한테 연락을 해서 동호회 "공식 사이트를 만들어서 여러 기획을 진행을 해보고, 동호회 마크도 만들어볼까?"라고 의견을 전달했었는데 좋은 생각있거 같다고 바로 진행해주면 좋겠다고 해서 진행을 하게 됐다. 그래서 갑작스럽게 혼자서 기획부터 시작해서 프로젝트를 진행을 하게 된다! Tech stack기술 스택은 내가 가장 많..