유데미 스타터스 취업 부트캠프 2기 - 백엔드(java, 자바) 13주차 학습 일지
이번주 한일
- 최종 평가
- 레디스
- 스프링 슬랙 연동
1. 최종평가
이번 주 월요일에 2023년 첫 평일날 스타터스 2기는 최종평가 시험을 봤다. 문제에 대해 사전 공지를 해주신 것은 수강신청 페이지를 만드는 것. 최근에 계절학기 때문에 수강신청을 시도를 했기 때문에, 최근에 생각나는대로 api도 만들어보고 로직도 만들어보고 혼자 상상의 시나리오를 만들어서 관련된 기능을 만들어보려고 공부를 했다. 우선 최종평가에 대한 결과는 아마 이 부트캠프가 끝나고 점수를 알려주실 것 같다. 확실하게 언제 가르쳐 주시는지는 모르겠지만, 후에 점수에 대한 공지가 있을 것 같다. 본인은 중간고사 때까지만 하더라도 문제를 보고 어떤 것을 해야될지 몰라 오전 내내 듣던 강의에서 처럼 타임리프를 그리고 api에 대한 설계나 개발은 하지 않았을 정도로 많이 부족했다. 그러나, 이번 시험에서는 아무래도 계속해서 공부를 해왔고 그러다보니 문제를 어떻게 풀어야 될지에 대한 어느정도 머릿속으로 클라이언트가 어떤 값을 원할테고 어떤 걸 주고 어떻게 받으면 되겠다. 이런 생각을 갖고있으면서 개발을 진행하다보니, 시험을 보면서 그래도 성장하기는 했구나 하는 생각이 들었다. 다른 사람이 봤을 땐 어떻게 생각할지 모르겠다. 그러나 본인이 생각했을 때 그래도 열심히 살려고 노력했고 3개월 동안 잠도 줄여가면서 해야 될 공부도 해보면서 나름 재미도 느끼면서 시험이 뭔가 인턴 채용에 결과적으로 영향이 가는 시험이 맞지만서도 본인에 대한 체크를 할 수 있는 시간이 된 것 같아서 좋았다. 프로젝트를 진행하면서 해볼 수 있는 것들을 해봤고, 새로운 기술에 대한 두려움을 함께 나눌 동료분이 계셔서 어떤 것을 새롭게 만든다는 그 자체가 온전히 두려움으로만 다가오지는 않았다. 앞으로 한 2주 채 남지 않은 기간이 남았다. 어떤 결과가 나올지 모르겠지만, 앞으로 더 열심히 할 수 있고 해야되고 할 수 있는 것을 찾아서 더 발전할 수 있는 하루하루가 되었으면 좋겠다.
2. 레디스
이번 프로젝트를 진행하면서 기존 db와 달리 새로운 캐시서버를 사용해야 서비스를 운용할 수 있는 즉, 우리 수준에서 가능한 기능이 있어 레디스를 적용하기로 했다. 우선 구현하려는 기능은 db에 계속해서 사용자의 위경도를 계속해서 쏴서 자신의 위경도에 근처에 있는 사람들을 체크하고 또 그 근처에 있는 사람들이 채팅을 한번이라도 해서 그 채팅방이 활성화 되어있는 사람들만 나오게 해야된다. 추가로 이 기능을 탐색기능이라고 우리는 칭했는데, 탐색기능을 당장 사용하는 사람들끼리만 서로 탐지할 수 있게 하는 조금은 내 수준에선 복잡한 기술이었다. 실제 db에 계속해서 클라이언트 쪽에서 위경도를 백단으로 계속해서 보내는데, 그러면 계속해서 쿼리문이 업데이트가 되는데, 이럴수록 db가 부하가 걸리기도 하고 애초에 쿼리가 계속온다는 게 (15초마다 앞쪽에서 백단으로 최신 위경도를 보낸다.) db가 불쌍했기도 하고, 또 멘토님도 db를 좀 소중히 여겨야 한다고 하셨다. 그러면서 레디스를 쓰게 됐는데, 생각보다 어려웠다. 기존 sql처럼 between을 써서 해결해보려고 했으나 레디스는 애초에 noSQL이라서 그런지 between을 쓰면 안됐다. 그래서 점점 검색을 해봤는데, RediSQL?이런게 있었는데 결국에는 멘토님께 여쭤보면서 geoOperation을 통해서 해결했다. 다행히 해결한 것도 있지만, 결과적으로 RDB가 아닌 noSQL을 처음으로 사용해봤다. 이번 기회에 새롭게 noSQL을 사용했는데, 좀 재밌기도 하고 신기하기도 했다. 기존의 쿼리문을 사용하지 않고 스프링에서 메소드로 호출해서 사용하는 방식이 신기했고 기존의 위경도 반경의 유저를 구하는 방식은 between을 썼는데 안쓰고 구한것도 신기했다. 관련해서는 블로그에 하나 쒀놨으니 한번 참고해보면 좋을 것 같다.
3. 스프링 슬랙 연동
지금 하고있는 프로젝트는 신고기능이 있다. 기존의 프로젝트는 db에서 신고 관련된 내용을 봐야되는데 그러면 유저가 많아지면 실제 서비스를 운용할 때 너무 적합하지 않은 것 같았다. 그래서 현재 나로서는 프로젝트에 기여할 수 있는게 레디스를 적용하면서 끝났다. 그러다보니 개인공부를 할까 하다가 적어도 신고기능은 내가 만들기도 했고, 좀 더 편하게 확인할 수 있었으면 좋겠다는 생각을 했다. 그래서 슬랙에서 신고를 7번이상 당했을 경우 알람이 뜰 수 있는 기능을 만드는 중이다. 신고이유 7개를 다뜰 수 있게 할 것이다. 일단 이게 좀 더 편할 것 같아서, 이렇게 구현을 하고 추가로 기능을 발전시킬지 고민이지만, 일단 이정도만 해놓을 생각이다.
이제 진짜로 부트캠프가 끝나고 있다. 처음엔 내가 이렇게 잘하는 사람들 사이에서 잘할 수 있을까 하는 고민이 많았다. 그러다 이제 한 2주도 안남은 시점이 다가왔다. 후에 회고를 할테지만, 현재까지는 좋은 사람들 옆에서 발전하려고 발버둥치고 있다. 시험도 끝나고 프로젝트도 끝나가고 있다보니 조금 붕 뜨는 마음을 가지고 있는 것 같다. 차분히 마무리까지 최선을 다해서 해내야겠다.
——————————————————————————
* 유데미 바로가기 : https://bit.ly/3SFlXDy
* 유데미 STARTERS 취업 부트캠프 공식 블로그 보러가기 : https://blog.naver.com/udemy-wjtb
본 후기는 유데미-웅진씽크빅 취업 부트캠프 2기 - 프론트엔드&백엔드 과정 학습 일지 리뷰로 작성되었습니다.