기초적인 C++ 과 MySQL 활용을 익히고나서 2인 1조로 채팅프로그램을 만드는 실습을 진행했다. 3월 24일 부터 3월 28일까지의 작업 과정을 복기하며 정리해본다.
1일차
채팅 프로그램 사양 세우는 날.
이전 게임개발자 교육과정에서 주먹구구식으로 진행 했었던 팀 프로젝트, 개인 프로젝트가 얼마나 형편없이 끝났는지 지금 생각해도 결과물에 마음이 아팠다.
+ 스스로도 욕심이 많아서 이거저거 사양을 붙이는 편이기도 했고 항상 미완으로 과제를 제출 하곤 했었다.
때문에 이번 목표는 일단 과제 납기일 1순위, 문제 없이 작동하는가 2순위, 팀원 모두가(비록 2명 뿐이지만) 코드를 이해하는가를 3순위로 두고 작업을 진하였다.
기존에 만들어 놨던 채팅 클라이언트, 서버 cpp 실습파일에 MySQL을 연동시키고자 했다. 코드를 1차적으로 옮기는 것 뿐이라 쉬울 것이라 생각했다.
안됨. 왜지. 이런거 저런거 해봤지만 진행이 안된다.
담당 교육 선생님에게 해결책을 요구를 하였으나 꽤나 오래 걸릴 것 같다는 이야기를 전달 받았다. 한시가 아쉬웠지만 아쉬운대로 프로젝트의 구조나 사양에 대한 생각만 의견을 나누고 팀원에게 클라이언트부를, 내가 서버부를 담당해서 진행하기로 했다.
2일차
오전시간 중에는 큰 진전이 없었다. 손놓고 있을 순 없기에 합치기 이전 MySQL cpp와 서버.클라이언트 cpp 에서 기능구현부터 진행하였다. 하루 반나절이 지나서야 using namespace std; 를 사용해서 라는걸 알게 됐다. mysql 헤더 쪽에서 무언가 풀리는게 충돌났었나보다. 5팀 중에 유일하게 한팀 만이 std 기능들을 별개로 사용해서 오류가 나지않아 알게 되었다. 샘플코드를 그대로 쓴 조둘이 대부분 비슥한 오류를 일으켰었던 모양이다.
따로따로 작성중이던 코드도 합치고 실행하니 샘플 테이블도 정상적으로 생성 되는 것을 확인했다. 감격. 채팅내역을 테이블에 저장하게끔 하는 걸 생각하고 마무리했다.
3일차
싱글벙글하고 코딩만 할 줄 알았는데 깃 머지 관련 이슈가 생겼었다 뻨킹. cpp가 유니코드 관련해 문제가 생긴것같아 이슈가 생긴것 같아 이거저거 해봤지만 실패. 코드내용을 복사해서 새로운 cpp를 만들고 유니코드 옵션 설정을 통일해서 다시 작업 시작함. 다행이 작업물이 많지않아 진행은 되고있지만…
진전이 꽤 있었다. 한글 관련한 오류도 따박따박 해결 된 듯 하고.
깃 할때 왜 경로 설정도 옮겨가는지 이해가 안되지만? 이거좀 수정할 수 있으면 좋겠는데
4일차
채팅창에만 내역이 뜨게끔 성공했다. 문자열이 뒤틀려서 나오길래 무언가 잘못됐나 했는데 그냥 한번에 출력되는 화면 갯수를 넘기면 뭉틍그려서 나오는듯 하다. 이부분을 수정할 수 있다면 좋긴한데. 일단 20~30줄 출력을 기본으로 하고 사양을 만들어야 겠다.
사양이고 뭐고 다날렸다. 일단 납기일에 맞추고 작동이 되게끔은 해놓았다. 전체적으로 코드 최적화 고생한것 같다. 하지만 이미 정상작동하고 있는데 차라리 추가기능 만드는게 낫지 않았나 싶다.
다른 사람들 발표물을 보고 다들 열심히 했구나 느꼈다. 아쉬운게 많이 남았다. 수정하려고하면 더 디벨롭 할수 있을 듯 하다.
협업은, 언제나, 어렵다.