[크래프톤 정글] 정글 1주차 후기
시작
오늘은 금요일, 크래프톤 정글에 참여하고 벌써 5일이 되었다.
첫 날에 팀원들과 인사하고 얼마 지나지 않은 것 같은데 벌써 두 번째 팀원들과 인사를 했다...
정글에 신청할 때는 혼자 공부하는 게 나을 지 고민이 정말 많았다.
아무래도 컴퓨터 전공이기도 하고, 부트캠프는 커녕 학원도 다녀보지 않아서
어떤 걸 배우는 지 감이 안 오기도 했다.
그치만 오기를 잘 했다는 생각이 든다. '할까말까 고민될 때는 그냥 해라' 이 말이 생각나더라
혼자 공부하면 이렇게 의욕을 내기가 힘들 것 같기도 하고, 언제 또 이런 도전을 해볼까 싶다.
열심히 할 수 밖에 없는 환경이지만 ㅋㅋ 열심히 해서 많이 배워가고 싶다.
가장 얻어갔으면 하는 점은 '내가 뭘 할 수 있는 지 아는 사람'이 되었으면 좋겠다.
지금은 내가 뭘 알고 모르는 지 조차 구분이 되지 않아서 바보같은 실수를 종종 하기도 하는데
정글에서 배워가는 것들을 '아는 것'으로 가져갈 수 있게 되었으면 좋겠다!
3일 프로젝트 후기
3일 간의 첫 미니 프로젝트는 많이 걱정했는데 생각했던 것보다 많은 기능을 만들어 보는 기회가 되어서 굉장히 좋은 시간이었다.
웹 프로젝트 자체가 처음이어서 어떤 기능을 넣을 수 있는 지,
어떤 서비스를 만들면 좋을 지 아이디어 회의를 하면서도 긴가민가 했다.
팀원들과 회의하며 커뮤니케이션에 집중한 서비스를 만들어보자 했고,
아무래도 소통이라고 하면 일반적으로 게시글과 댓글, 채팅이라고 할 수 있기에
한 번 해보자고 했다. 사실 첫 프로젝트라 볼륨을 어느정도로 해야 대충하지 않았다는 느낌을 줄 수 있을 지 판단을 잘 못 했다 ㅋㅋ
3학년 때, 기말과제로 채팅 프로젝트를 간단히 만들어 본 적이 있어서
비슷하게 할 수 있겠거니~ 생각했다. 하지만 다른 언어와 웹 네트워크는 좀 많이 달랐다...
자바 io스트림을 이용한 채팅도 만들어 봤고, 소켓을 이용한 채팅도 c#언어로 만들어 봤는데
이 두 언어와 웹소켓은 운영 자체가 다르더라고...
프로토콜을 정하는 것과 API를 만드는 것,, 비슷하지만 달랐다.
처음에 웹소켓을 사용하려다가 코치님의 조언을 듣고 long polling으로 구현을 시작했다.
flask 예시를 못 찾아서 javascript로 구현된 예시를 보고 flask로 바꿔보려 했다.
ajax도 잘 모르고 flask의 기능이나 파라미터도 잘 모르다보니 영...진전이 없었다.
차라리 서버를 flask가 아니라 javascript로 바꾸고 ajax를 사용해 long polling을 사용했으면
간단?하게 해결되었을텐데 flask를 고집하려니 방법이 없었다.
결국 반나절만에 웹소켓으로 다시 구현을 시작했다.
웹소켓을 활용한 채팅 예시는 여러 게시글이 있어서 도움을 많이 받았다.
웹소켓의 아쉬웠던 점은 여러 import 파일들의 버전 호환이 자유롭지 않았다는 점 ㅜㅜ
서로 버전이 좀만 안 맞아도 에러 폭탄이었다.
그래도 어찌저찌 만들긴 했다. 하루종일 하니까 되기는 하더라고,,,
이래저래 여러 라이브러리를 사용하긴 했는데 아직도 세션은 잘 모르겠다...
아무래도 시간이 모자라 채팅과 관련된 기능-참여중인 채팅 리스트, 채팅 관련 알람 등-도 대폭 줄여야했고,
기능을 줄이면서 1:1 채팅을 포기, 단체 채팅으로 방향을 바꾼 점은 조금 아쉬웠다.
제일 아쉬운 건 git bash 오류로 서버를 클라우드에 못 올려서 시연을 제대로 진행하지 못 했다는 것...
데스크탑에서 해봤을 때는 멀쩡했는데 노트북이 문제인건지 아직도 해결을 못 했다.
구현 자체는 완성되었기 때문에 코치님이 추천해주신 WSL을 이용해서 서버를 업로드 해볼 예정이다. 굿
하루종일 코딩만 하는 건 처음인데 앞으로도 계속 이렇겠지...굿...
아래는 우리 프로젝트다. 나중에 readme도 추가해봐야겠다.
https://github.com/ifindary/makemate
GitHub - ifindary/makemate: krafton jungle 4th - first mini project
krafton jungle 4th - first mini project. Contribute to ifindary/makemate development by creating an account on GitHub.
github.com
또, 이 링크는 가장 많이 참고한 블로그다. 덕분에 웹소켓 통신에 대해 이해할 수 있었다.
https://blog.naver.com/shino1025/222179697262
[Flask] 플라스크로 채팅 기능을 구현해보자
기본적으로 채팅 프로그램은 HTTP 프로토콜로는 구현하기가 까다롭다. HTTP 통신은 반드시 request...
blog.naver.com
오늘부터는 알고리즘 공부. 파이팅해야겠다.