Posts NHN 8기 Rookie 베이스캠프 5주차 회고하기
Post
Cancel

NHN 8기 Rookie 베이스캠프 5주차 회고하기

계속되는 개발 주간…!

이번 8기 BaseCamp 5주차는 지난 주에 이어서 계속 ‘개발하기’ 주간이었다. 기획 발표를 할 때까지만이라도 필수기능은 빠르게 구현하고 어떤 추가 기능들을 구현할까?!?! 에 대한 기대감과 설렘으로 가득 차 있었다. 그러나 이런 생각들은, 개발을 시작하고 나서 조금씩 큰 짐으로 다가왔다…

전체적인 프로젝트의 진행 속도를 맞춰야 한다…?

설 연휴가 지나고 나서 나에게는 ‘조급함’이라는 것이 굉장히 크게 다가왔다.

팀 프로젝트였기 때문에, ‘뒤쳐지면 안 된다.’는 생각이 가장 컸던 것 같다. 그리고 이 생각은 자연스럽게 다음 문단으로 이어진다.

수단과 방법을 가리지 않고 무조건 기한 안에 기능을 구현한다…

기획을 할 때 구상했던 대로, 예매 페이지를 세 단계로 나누었다. Step1에서는 영화, 날짜, 시간을 선택하게, Step2에서는 인원과 좌석을 선택하게, Step3에서는 사용자가 최종적으로 선택한 현황을 확인하고 예매를 확정할 수 있도록 페이지를 구상

이를 토대로 step1.html, step2.html, step3.html을 만들었다. 여기서 발생한 첫번째 이슈는 영화를 ‘하나만’ 선택 가능하게 해야 하는 것이었다. 여러 개의 콤보 박스에 같은 onclick() 를 넣어서, 먼저 선택된 버튼의 상태를 off로 하고 나중에 선택한 버튼의 상태를 on으로 하는 방법으로 해결할 수 있었다. 이를 해결하고 보니 월요일 중 반나절이 지나가고 있었다. 나는 여전히 교육 때 받은 자료들을 보며 step1과 TicketController 기능 구현 중인데…

이 시점에서 view는 정말 간단하게 구현하고 어떻게든 기능을 구현해야겠다고 판단했다. (후에 다른 팀원이 만든 css와 교육 당시에 받았던 예제 파일을 토대로 그럴싸한 view가 탄생할 수 있었다.) 그렇게 step1에서 영화와 날짜+시간을 각각 하나씩 선택 가능하게 설정한 뒤, 이 정보를 js단에서 변수로 저장하는 데까지 성공했다!

그 다음으로 온 이슈는… 이 정보를 다음 페이지로 넘겨야 하는 것이었다..! 그냥 location.href를 쓰면 정보가 안넘어가는데 어떻게 해야 하지..? 그렇게 스프링 책을 봤더니 POST방식으로 register 함수가 구현된 것을 보았다…. 아 이렇게 한 페이지에서 다른 페이지로 정보를 넘길 수가 있네 이렇게 해보자!

이 의식의 흐름은 자연스럽게 다음 문단으로 이어진다….

어떻게든 기능을 돌아가게 구현했는데, 왜 그렇게 구현했냐고..? 나만 볼 줄 아는 개인주의적인 코드를 짤 것인가?

프로젝트를 진행하면서 깜짝 놀랐던 점 중 하나는, 내가 짠 코드가 다른 팀원들에게 엄청난 영향을 줄 수 있다는 점이었다. 영화 예매 사이트에 예매 기능을 담당하는 페이지가 엉망이라면 그 사이트는 어떻게 되겠는가… 어떻게든 돌아가는 코드를 짜서 다른 팀원들에게 공유했을 때 가장 많이 들었던 피드백은 “왜 이렇게 구현했는가?” 라는 질문이었다. 멘토님도 팀원들도 정말 많이 이러한 피드백과 질문을 주셨고 따라서 많은 이야기를 할 수가 있었다. 왜냐하면, ‘내가 만든 메인 페이지에서 너가 만든 예매 페이지로 넘어가야 하는데 어떻게 넘어가야 하는지 모르겠다…’, ‘나는 GET 방식으로 view와 Controller를 구성했는데 너는 POST 방식으로 view와 Controller를 구성했어서 서로 맞춰야 한다…’ 와 같은 심각한 이슈들이 있었기 때문이다.

어떻게든 내 쪽에서 기한 안에 돌아가는 코드를 완성했다고 다가 아니었고, 반대로 빠르게 코드를 완성했다고 해서 좋은 것도 아니었다. 왜냐하면 결국에는 우리 넷이 구현한 코드를 모두 합치고 다듬어서 완성해야 하기 때문이었다.

Git Branch, Commit, Push, Pull Request, Merge: 각자 구현한 기능을 합쳐서 조금씩 완성하기

Git을 사용하여 완성… Git을 사용하면서도 conflict 오류, push가 안되는 오류, fast-forward가 안 되는 오류 등 수많은 에러 메시지와 싸워야 했다.. Git의 그래프가 예뻐질 수록 기능들은 점점 많아졌고 그에 따라 충돌의 횟수도 많아지고 잘못된 branch로 merge해서 revert하는 경우도 흔하게 일어났다…

마지막 날 서버에 배포를 하는 그 순간을 잊지 못할 것이다 :)

This post is licensed under CC BY 4.0 by the author.

NHN 8기 Rookie 베이스캠프 4주차 회고하기

NHN 8기 Rookie 베이스캠프 6주차 회고하기

Comments powered by Disqus.

Trending Tags