드디어 백엔드 개발에 들어갔다. 내가 맡은 부분이 웹소켓이라 생소하여 진짜 이것저것 찾아본 것 같다. 한편으로는 기본적인 CRUD도 제대로 하지 못하면서 이걸 잘 해낼 수 있을까라는 생각때문에 많은 시간을 할애한 것 같다. 구글, 깃허브, 유튜브 등 다양한 플랫폼에서 찾아보다가 우연히 인프런 강의에 좋은 웹소켓 강의가 있길래 바로 매니저님한테 빌려서 들어봤다. 강의에서 백엔드 뿐만 아니라 프론트로 Vue로 하길래 딱 지금 내 상황에 맞는 강의라 생각했다. 확실히 이해하기 쉽지는 않았다. 그래도 강의 듣고 코딩하고 블로그 같은 것도 찾아보니까 어느정도 이해는 됐지만 아직 부족한 게 많은 것 같다. 지금은 강의를 거의 다 들은 상태인데 메시지를 저장할 때 그냥 MariaDB에 저장할지 아니면 몽고DB나 Redis같은 툴을 써서 저장할지 고민을 많이 하였다. 결론은 다 처음 써보는 기술이니 심플하게 원래 설계했던 MariaDB에 저장하고 기획 단계에서 말했었던 투표 기능을 구현했다. 처음에는 채팅방 기능과 투표 기능, 첨부 파일 기능들을 말했다가 점점 개발에 가까워지면서 현실을 직시하여 투표 기능과 첨부 파일 기능은 빼고 채팅방이라도 완성하는게 우리 팀의 목표였다. 그래서 DB툴을 교체하는 것보다 기능들을 고도화 하는 게 좋아 보여 일단 투표 기능까지도 개발을 완료하였다..! 이제 남은 건 첨부 파일이다.. 빨리 끝내고 다른 파트를 도와주는 게 맞는 것 같다.
강의를 들으면서 코드를 짰지만 아직 내 걸로 완벽하게 만들지는 못한 것 같다. 로직이나 흐름 정도는 어느정도 이해가 가지만 코드를 짜면서 중간중간 터지는 에러들을 해결하는데도 시간이 꽤 걸렸다. 메시지 읽음 처리 로직을 짜면서 아무래도 메세지를 보내면 사용자들의 읽음 처리를 동시에 하다보니 트랜잭션 에러가 터졌다. 왜 강의와 똑같이 짰는데 나만 에러가 뜨지 하면서 찾아본 결과.. MariaDB에서만 나는 에러라고 한다. 강의는 Mysql로 해서 에러가 안났던 모양이다. 정말 어이가 없는 억까여서 gpt만 2시간동안 돌리면서 해결한 것 같다. 아직 배워야 할 것들이 너무나도 많다..ㅠㅠ
이제 수업 끝나고 남아서 하는건 국룰이 됐다. 하지만 8시까지가 최대인 것 같다. 그 이상하면 수면 패턴이 꼬일 것 같아서ㅎㅎ 그리고 요즘 불면증이 좀 생긴 것 같다. 부트캠프 초반에는 너무 피곤해서 누우면 바로 잠들었는데 요즘 왜인지는 모르겠는데 가끔씩 잠이 안와 새벽3-4시까지 설치다가 잠드는 경우가 생겼다. 피곤한건 똑같은데 대체 뭐가 문제인건지..
그의 코딩쇼는 어디까지 갈 것인가.. 성장하는 괴물과 같다.