..

항해 백엔드 코스 7주차 회고

#항해99 #항해플러스 #WIL

1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)

이번 주차를 지나며 겪었던 문제가 무엇이었나요?

Redis의 SortedSet과 Set 자료형을 처음 사용해봐서 적절한 명령어를 설정하는게 어려웠다. 특히 대기열 시스템을 Redis로 구현하면서 token 값을 관리하면서 어려움이 있었던 것 같다.

2. 시도

문제를 해결하기 위해 어떤 시도를 하셨나요?

Redis에 데이터를 token:userId:expiredAt 형식으로 넣게 되었다. 하지만 service단에서 token만 사용하기엔 코드 복잡성이 있는 것 같아서 해당 데이터를 base64로 인코딩, 디코딩을 통해서 해결하고자 했다.

3. 해결

문제를 어떻게 해결하셨나요?

해결…이라기보다는 사실 조금 더 복잡해진 면이 있는게 몇몇 repository 함수에서는 디코딩을 해서 데이터를 사용하거나 그대로 사용하거나 하는 식으로 나뉘면서 오히려 복잡성이 올라가지 않았나…싶다.

4. 알게된 것

문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?

DB를 통해서 대기열을 구현했을때보다 확실히 압도적으로 Redis로 구현하는게 성능이 좋았다. 하지만 DB가 제공하는 트랜잭션이나 조회 용이성에서 차이가 있어서, 스터디와 주의를 기울일 필요가 있다고 느꼈다. Redis를 더 공부한다면 더 좋은 방식을 사용할 수 있지 않을까 싶다.


Keep : 현재 만족하고 계속 유지할 부분

이번 주를 마무리 하며 나에게 만족했던 부분은 무엇인가요?

내가 선정했던 과제를 목요일에 끝내면서 처음으로 여유롭게 제출했던 것 같다. 여유가 있으니까 디테일이나 꼼꼼하게 설명할 수 있는 부분들이 있었고, 그런게 더 과제 전반의 퀄리티를 높일 수 있는 기회가 되었던 것 같다.

Problem : 개선이 필요하다고 생각하는 문제점

이번 주를 마무리 하며 개선이 필요하다고 생각했던 문제점은 무엇인가요?

부하테스트를 통해서 실질적인 성능 지표를 점검하지 못했다는 점. 과제 구현이 늦어질 것 같아서, 후순위로 밀었는데 역시나 하지 못했다. 이번 기회에 부하테스트 공부도 했으면 좋았을 것 같다.

Try : 문제점을 해결하기 위해 시도해야 할 것

이 문제점을 해결하기 위해 다음 한 주간 시도 할 것은 무엇인가요?

다른 분들의 문서를 보면서 저렇게까지 작성할 수 있다고…?를 느꼈다. 호기심들을 나열하고 그 답을 찾는 과정들을 잘 기록하고 검증해서 보여줄 수 있는 것이 나한테 필요할 것 같다.