실전 프로젝트를 시작한지 일주일 정도 지났다. 역시 예상대로 시간은 빠르게 갔고 정신없는 일주일을 보냈다. 지금까지 일주일간 했던 프로젝트들과는 다르게 스케일이 크다보니 업무 분배, 팀원들과의 소통이 훨씬 힘들었다.
인원수도 많아서 기획이나 디자인하는 과정에서도 의견충돌이 많이 일어났고 결정하는데 많은 어려움이 있었다. 우여곡절끝에 기획과 디자인이 어느정도 끝나고 백엔드끼리 모여 업무 분배를 했다.
나는 채팅 기능을 맡았는데 워낙 어렵다는 소문이 많아서 걱정을 많이 했다. 역시나 웹소켓 개념자체도 어렵고 코드를 봐도 이해가 되지 않았다. 구글링과 유튜브 깃허브를 열심히 돌아다니며 코드들을 뜯어보고 결국 어느정도 감은 잡힌 것 같다.
코드 소스들이 정말 많은데 다 조금씩 달라서 애를 많이 먹었던 것 같다. 또 프론트엔드와 맞춰야 하기 때문에 프론트엔드 로직도 어느정도 알아야해서 지금까지 했던 작업들에 비해 많이 어려웠던 것 같다.
그래도 프론트엔드와 며칠동안 고생하며 통신과 채팅에 성공했다. 역시 기쁨은 성공하기까지의 시간에 비례해서 커지는 것 같다.
채팅기능과 소셜로그인 기능도 맡게 되었는데 이쪽도 생각했던 것과 다르게 만만치 않았다. 카카오에서 따로 설정해야 하는 정보들도 많고 refresh token까지 적용시키자 로직도 복잡해지고 이해하기 힘들었다. 그래도 소셜로그인도 소스들이 많아서 큰 어려움없이 빠르게 완성했다.
채팅도 소셜로그인도 삽질을 정말 많이 했지만 그 과정에서 배운것이 많다.
사실 지금까지 했던 기본적인 회원가입, 로그인 과정에서 사용하는 JWT토큰 방식, Spring Security를 사용한 인증방식들에 대한 이해가 부족했는데 이번에 소셜로그인을 하면서 어느정도 틀도 잡히고 로직도 이해할 수 있게 되었다.
3주차 중간 발표때까지 완성하기로 계획했던 기능들은 어느정도 마무리가 되었고 이제 오류 수정과 성능 개선이 남았다. 기능을 더 추가하는 것도 좋지만 중간 발표 끝나고 생각하기로 했다.
힘들긴 하지만 고생끝에 하나하나 성공을 맛보는 것만큼 재밌는 게 없는 것 같다. 또 하루하루 지나며 늘어가는 실력을 실감하는 것만큼 뿌듯한 것도 없다.
수료할 때는 지금보다 훨씬 대단한 개발자가 되기를 희망하며 끝까지 화이팅이다.