일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Algorithm
- BFS
- Smilegate
- 중반부
- 보석쇼핑
- 카카오인턴
- IBK기업은행 #기업은행 #디지털 #직무 #정리
- 소감
- 백준
- BaekJoon
- 스마일게이트
- c++
- 삼성 #코테 #2020상반기 #c++
- 서버개발캠프
- 코딩테스트
- 1편
- LIS #Algorithm #요소추적
- 식단
- 알고리즘
- 카카오
- 투포인터
- 코테
- 유니온파인드
- Union-find
- Today
- Total
짱아의 개발 기록장
Smilegate 서버개발캠프를 통해 배운 것! 본문
정말 정말 아쉽지만, 서캠이 코로나바이러스로 인해 강제로 종료되었다.......
갑자기 서캠 종료 통보를 받았을 때에, 우리 팀은 차장님께 프로젝트 피드백을 받고 직후여서 너무 정신없는 상태였다.
그래서 더욱 믿기지 않았고 대리님께서 몰래카메라 하시는 줄 알았다.....ㅋㅋ
살짝 너무 헤어지는 것이 아쉬웠는지 눈물도 날 뻔했다..ㅜ.ㅜ(난 눈물이 많은 것 같다...)
하지만, 어쨋든 저쨋든 서캠이 끝났으니 다들 서로 마지막 인사도 하고 사진도 많이 찍고 마지막 회식도 하고 끝이 났다.
서캠이 끝나고 내가 서캠을 통해 얻은 것이 뭐가 있을까 생각을 곰곰히 해보았다.
일단, 내가 얻은 것을 개발적인 부분과 그 외적인 부분으로 나누어서 정리를 했다.
1) 개발적인 부분
개발적인 부분에 있어서는 진짜 배운 것이 너무 많다. 항상 거의 모든 프로젝트에서 서버 개발을 담당해왔기 때문에 프론트를 개발해 본 적이 거의 없었다. 하지만, 이번 프로젝트에서는 골고루 프론트와 백엔드 개발을 모두 같이 하기로 했다.
팀원 한 명이 Vue.js를 사용해본 적이 있다고 해서 아예 제로 베이스보단 더 습득력이 빠를 것 같아 Vue.js로 프론트를 진행하기로 했다. 나는 Vue.js가 아예 처음이었기 때문에 솔직히 힘들었지만 팀원이 너무 잘 가르쳐 주어서 그래도 후반에는 나름 잘 다룰 수 있게 되었다.
백엔드 언어는 두 명 모두가 사용해본 Node로 통일하기로 했다.
'카카오톡을 벤치마킹한 메신저 웹 서비스'를 개발하는 것이었기 때문에 채팅이 매우 핵심 기능었다. 따라서 나는 주로, 채팅 서버를 개발하는 것에 주력을 다했다.
상대방과 메시지를 주고 받는 것을 구현하는 것은 Redis의 pub/sub기능을 사용하여 구현하였고 그다지 어렵지는 않았다. 하지만 정말 어려웠던 부분은 읽은 메세지를 처리하는 부분이었다.
읽은 메세지를 처리하는 것에 있어서도 크게 두 가지의 어려움이 있었다.
- 채팅방에서 메세지를 보낼 때, 현재 채팅방에 이미 접속해 있는 사람들을 고려한 읽은 메세지 수 표시하기
채팅방을 관리하는 db table에 online_dt와 offline_dt칼럼을 추가하여 특정 채팅방에 속해 있는 사람들이 채팅방에 들어갈 때 online_dt를 update 해주고 채팅방에서 나갈 대 offline_dt를 update해준다. 따라서, online_dt>offline_dt일 때, 채팅방에 사용자가 접속해 있다는 것을 알 수 있다.
->따라서, (원래 채팅방 인원 - 채팅방에 있는 인원들 중에 online_dt>offline_dt인 인원)만큼 읽은 메세지 수를 표시한다. - 채팅방에 메세지 A를 읽지 않은 사람A가 입장을 했을 때에, 채팅방에 이미 접속해 있는 사람B와 사람C의 메세지A에도 읽은 메세지 수가 줄어들기. (즉, 실시간으로 읽은 메세지 수 처리하기)
채팅방에 들어왔을 대의 socket.id를 그 채팅방에 등록을 해두어서, 다른 사람이 들어왔을 때의 바뀐 읽은 메세지 수를 등록된 모든 소켓들에게 emit해준다.
2) 그 외적인 부분
- 이사님께 받은 프로젝트 피드백 이사님께서는 항상 프로젝트 피드백을 해주실 때에, 우리가 이 프로젝트를 통해 얻고 싶은 것이 무엇인지 즉, 개인적 목표와 팀의 목표를 설정하고 그에 맞게 프로젝트가 나아가는 것을 원하셨다.어떻게 보면, 항상 해왔던 프로젝트가 내가 아닌 프로젝트가 주인공이었던 나는 이러한 이사님이 피드백이 매우 인상깊었고 큰 도움이 되었다.
- 너무 고마운 팀원과 서캠 동기들💙저번 블로그 후기 때도 언급을 했지만, 우리 팀은 원래 3명으로 시작을 했지만 팀원 한 명이 건강상의 이유로 중간에 나가는 바람에 결국 2명으로 진행을 하게 되었다. 처음에는 두렵고 불안했던 것이 사실이지만, 정말 놀랍게도 해냈다...!원래 아는 사이기도 했고 나랑 너무 잘 맞았고 나이도 같아서 공감대도 많았다ㅎㅎ그리고 서캠 동기들~ 처음에는 솔직히 다들 개인 프로젝트를 하느라 바쁘고 그래서 말도 많이 안해서 나는 진짜 이렇게 말도 안하다가 끝날 줄 았았다...ㅋㅋㅋ 그래서 대리님께도 원래 이렇게 조용하냐고 자꾸 여쭤봤다. 그런데 점점 시간이 지나면서 회식도 하고 말도 하다보니 다들 말도 많고 재밌는 사람들이었다. 진짜 신기한게 그래도 약 두 달동안 매일 얼굴보고 지내다 보니까 갑자기 서캠이 종료 되었다고 하니 정말 많이~~~ 아쉬웠다.
- 정말 감사한 대리님과 차장님처음 서캠에 왔을 때에, 많이 어색했지만 대리님 특유의 발랄함과 웃음으로 너무 마음이 편해져서 훨씬 잘 생활할 수 있었다(대리님 사랑해요❤️).그리고 항상 우리 팀이 2명이어서 걱정도 많이 하시고 언제든지 질문하라고 하셨던 차장님! 항상 현실적인 조언과 도움을 주셨어서 너무 감사했다.
프로젝트 Github 주소 - https://github.com/jungahshin/camp4_5vengers
'대외활동 기록 > Smilegate 서버개발캠프' 카테고리의 다른 글
Smilegate 서버개발캠프 중반부가 넘어가는 시점의 후기!(1) - 소감 (0) | 2020.02.02 |
---|