[스마일게이트 서버캠프 ] 20200131 한달 회고록

Dayeon myeong·2021년 1월 30일
0

합격하소서

목록 보기
5/7

스마일 게이트 서버 캠프 한달 회고록

벌써 스마일 게이트 서버 캠프를 시작한 지 벌써 한달이나 지났습니다.

앞으로 한달밖에 안남았다니..ㅠㅠㅠ

그동안에는 프로젝트 기획과, 계동원팀장님의 강의, 여러 과제 들을 하며 정말 바쁘게 지냈습니다. (하지만 아직 프로젝트 진행이 한참 남았다는 것이 함정)

특히 팀장님의 강의와 과제 리뷰를 통해 정말 얻은 것이 많았습니다.

강의내용중에는 여러 언어와 그 언어에 맞는 공부법이나 동기부여 책들도 소개해주셨는데

자바와 스프링을 시작한 지 얼마안되는 저에겐 정말 귀중한 자료인 듯합니다.

물론 이 책들을 언제 다 읽을 수 있을까 싶습니다만 앞으로 차근차근 도전해보기로!

그리고 백엔드 개발자로써 서버가 왜 필요하고, 서버의 구성요소와 서버를 만들때 고려해야할 부분이 어떤 것인지 조금이나마 감을 얻고 있습니다.

평소에는 무턱대고 개발을 바로 시작하는 편이었는데 이번 강의를 통해 백엔드 설계와 테스팅에 많은 관심을 가지게 되었습니다.

평소에 여러 REST API를 구현할 때마다 여러 join 문을 거친 db 쿼리 처리로 인해 속도가 느려지는 경우가 있었기에 이들의 성능을 높이기 위해

어떻게 해야할지 팀원들과 고민해보고 이번 프로젝트에서는 강의를 통해 얻은 ngrinder를 사용해보고자 합니다.

그리고 처음으로 scale out(서버를 여러개로 늘려 처리 능력을 향상시키는 방식), load balancing(서버에 가해지는 부하를 분산해주는 기술,

한대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 성능을 올리는 방식)방식의 아키텍쳐 설계를 고안하게 되었는데

아직 API짜느라 급급한 단계이지만 남은 한달 열심히 해서 할 수 있도록!!!!!!!

또한, Shortening URL 프로젝트와 인증 과제를 하였는데 저는 이전에 이미 node.js 로 인증방식을 구현한 적이 있어서 굉장히 쉽다고 여겼지만

이번 인증 과제에서는 cache와 이메일 인증 방식의 회원가입을 구현하였기에 비즈니스 로직을 생각하는데 굉장히 오래 걸렸습니다ㅠㅠ

회원가입 - 이메일 인증시에는 redis 캐시에 email과 유저 정보를 임시로 담아두어 이메일로 uuid 인증키를 보냈습니다.

이메일 보낼 때에는 smtp라는 자바 라이브러리를 사용하였는데 처음으로 사용하는 캐시이다보니 굉장히 두려웠지만 성공하여 다행입니다..

또한, 로그인 시에 jwt를 이용하여 access token과 refresh token을 클라이언트에 발급하는데 이때에도 캐시를 사용하였습니다.

refresh token을 미리 캐시에 넣어두고, 이후 access token이 만료되었을 때 refresh token을 클라이언트에서 서버로 보내면 캐시에 넣어둔

refresh token과 비교하여 유효성 검증하는 용이나 로그아웃시에도 사용하였는데 간단해보인듯하면서도 생각하는데에 매우 어려웠습니다..ㅠㅠ

우리 팀에는 spring 을 사용하는 분이 저말고도 있어서 그분의 도움으로 spring security와 ExceptionHandler, filter를 처음으로 알게 되어

짧은 기간이지만 정말 많은 것을 얻었습니다. 남은 기간도 화이팅,,

profile
부족함을 당당히 마주하는 용기

0개의 댓글