[회고일지] 항해99 0주차

 

 

드디어 본격적으로 항해99 12기를 시작하는 한 주였다. 

0주차에는 웹 개발 종합반 강의 조 / 프로젝트 조로 나뉘는데 그 중 프로젝트 조를 선택했다.

월요일 아침 조 편성을 확인해보니 감사하게 22기 팀장으로 포함 4명이 같은 조로 편성이 되었다. 그리고 게더에 해당 조 자리가 지정되는데 해당 자리로 이동하여 서로 함께 인사와 자기소개 등 잠시 친목의 시간을 갖고 프로젝트에 대해서 함께 논의하였다. 항상 프로젝트를 할 때 주제를 선정하는 일이 가장 난감하고 어려운 부분이 아닐까 싶다. 우리 조의 경우 거창한 프로젝트보다는 종합반 강의에서 배운 크롤링, 클라이언트-서버 통신, CRUD 부분들을 녹여내 볼 수 있는 간단한 프로젝트를 하기로 했다. 

 

처음에는 클라이언트 화면을 통일 시켜야 한다는 생각에 1명이 담당하기로 하고 진행하려고 했으나 매니저님 조언으로 모두가 클라이언트-서버를 기능에 따라 하나씩 각자 분담하여 진행하기로 하였다. 나의 경우 서버는 비교적 어렵지 않았으나, 클라이언트 단 화면을 디자인 ? 구성? 하는게 좀 처럼 쉽지가 않았다. 분명 화면에 이쪽에 위치시켰는데 왜 저기있지?? 라는 생각을 반복적으로 하면서 많은 시간을 투자했다.

 

 프로젝트는 총 4일간 진행이 되었으며, 내가 맡은 부분은 회원가입이었다. 기능적으로 중복확인 부분은 서버쪽에서 체크했으며, 나머지 유효성 부분은 모두 클라이언트 단에서 자바스크립트, 제이쿼리로 해결을 했다. 그리고 패스워드 관련하여 hashlib -> sha256으로 해쉬화하여 저장했다. 비교적 맡은 부분을 완성하는데 오랜 시간이 걸리지는 않았다.

 

4일 간 프로젝트를 진행하면서 상대적으로 시작점이 다를 수 있기에 프로젝트를 하면서 어려움을 겪으시는 팀원 분들이 계셨다. 그래서 한 주간 팀장으로서 비록 프로젝트의 퀄리티는 다른 팀에 비해 떨어질 수 있어도 22조 모두가 한 주간 최대한 성장하는 것을 팀 목표로 잡고 다음과 같은 몇 가지 방법을 정해서 팀을 운영해보았다. 

 

  1. 질문하신 분 화면 공유를 통해서 다 함께 봐주기 -> 직접 설명하기보다는 팀원들이 돌아가면서 설명해볼 수 있는 기회를 최대한 만들어보기
  2. 직접적으로 이렇게 바꾸세요보다는 키워드를 제시하고 생각해보세요 / 찾아보세요로 알려드리기
  3. 개념적으로 어려워하실 경우 코드 흐름을 하나씩 따라가면서 설명드리기
  4. 좋은 정보는 무조건 다 함께 공유하자

4일 동안 다음과 같이 진행하였는데, 다들 정말 늦은시간까지 열심히 공부하고 프로젝트를 하면서 성장하는 모습들이 확연히 보여지고 설명을 했을 때 이해하고 받아들이는 속도가 점차 향상되는 것을 보면서 정말 뿌듯하고 모두에게 감사했던 경험이었다.

 


우리 조의 경우 3일 차 저녁까지 각자 초기 프로젝트를 로컬 저장소로 클론해서 각자 작업하고 합치기로 하였다. 이때까지는 각자 클라이언트 페이지 하나를 만들고 app.py에 서버 역할을 구현하였다. 

 

프로젝트가 복잡하지 않기에 전체 기능에서 볼 때 서버 역할은 DB와 관련된 CRUD가 주요 작업이며, 개인적인 기능을 구현할 때 각자 클라이언트 역할을 할 페이지를 만들고, 서버 측에서는 클라이언트로부터 요청을 받아 DB에 해당 작업을 수행할 것이다. 이 부분에 대해서 생각해보면 클라이언트 - 서버 간에 서로 통신을 해야하는데 각 기능들에 맞게 서버에서 요청을 처리하려면 어떻게 요청들에 대해서 통신할 수 있을까? 여기서 나오는 것이 바로 API이다. 

 

이를 좀 더 잘 이해하기 위해서는 클라이언트 - 서버라는 개념을 이해해야 한다. 클라이언트는 통신을 하는 과정에서 무엇인가를 요청하는 입장이며, 서버는 클라이언트로부터 요청을 받아서 요청에 대해서 처리하고 응답하는 입장이다. 이때 응답으로 무엇인가를 줄 수도 있고 없을수도 있다. 반대로 요청하는 쪽에서도 무엇인가 서버로 전달할 수도 있고 없을 수도 있다.

 

이처럼 클라이언트 - 서버 간 통신을 하기위해서 어떻게 통신을 할 것인가를 지정하고 통신할 수 있게 해주는 것이 API이다. 

 

각자 맡은 부분들에 대해서 서버 측에서 URL('/~')을 지정하는데 사전에 이 부분에 대해서 간과하다보니 합칠 때 서로 간에 연결을 해야하는데 URL이 제 각각이고, 클라이언트 측에서도 임시로 지정해 놓기는 했지만, HTML, CSS , JS 코드등이 난무하기에 추후에 해당 부분 코드가 어디 있는지 찾아서 다시 맞춰주는 것도 꽤 번거로운 작업이었이다. 이 부분을 통해서 막연하게만 알고 있던 API 문서에 대한 중요성을 경험했다.


마지막으로 항해99를 시작하면서  스스로 찾아서 공부하거나 그런 것에 대해서 많은 어려움을 겪기도 했고 멘토링을 받는 것에 대한 갈망도 있었기에 부트캠프를 결심하게 되었는데 모순적으로 하나부터 다 공부하고 스스로 해결하고 진짜 도저히 안 되는 경우만 매니저님들이 도와주면 어떻게 하나싶은 막연한 두려움이 있었다.

 

그러나 첫 주차를 시작하고나서 두려움이 바로 즐거움으로 바뀌었다. 매일 지정된 시간, 지정된 기술매니저님들이 각 조를 순회하시면서 질문을 받고 정말 친절하고 세세하게 알려주셨다. 심지어 나중에는 공부하고 프로젝트하면서 궁금증이 생기기 전에 매니저님들이 오셔서 물어볼게 없는 경우도 생겼다. 뿐만 아니라 운영 매니저님들도 계속 잘하고 있는지 궁금하거나 어려운 부분은 없는지 체크해서 과정을 진행하면서 굉장히 케어받는다는 생각이 많이 들었다.

 

나중에는 진짜 기술적인 질문이 없다보니 블로그를 작성할 때 팁이라던가, 과정 중 겪게되는 고충이라던가 별별 사소하고 소소한 부분까지도 생각나는게 있음 바로바로 질문한 것 같다. 그러나 어느 질문하나 대충하는 것 없이 최대한 알려주고 도와주려는 모습이 보여서 정말 너무 좋좋고 든든했다. 그리고 어느때는 하나의 질문에서 꼬리에 꼬리를 물어서 전혀 생각하지도 못했던 부분들에 대해서도 좋은 팁을 정말 많이 얻었고, 우리 조의 경우 그런 꿀팁들은 무조건 서로 다 공유하여 함께 성장하자는 목표를 함께 달성해 나갔다.


항해를 시작하는 첫 주 나의 경우 글을 작성하는 이 시점을 포함하여 100시간을 초과했다. 그러나 한 주간 비록 허리는 너무 아프긴한데...(디스크....) 같은 조 뿐만아니라 함께하는 12기 동료들을 여러명 알게되고 함께 이런저런 대화도 나누고 응원도 서로 해주고 어려운 부분들에 대해서 서로 소통하고 물어보고 알려주면서 주 100시간이 생각보다 시간가는 줄 몰르고 훌쩍 지나갔다. 그리고 지금까지 만난 12기 동료들은 정말 인성 최고였다!!!! 다들 끝까지 으쌰으쌰해서 모두 좋은 환경에서 좋은 사람들과 함께 일하는 좋은 개발자들 다 되었으면 좋겠다.

'TIL & WIL > WIL' 카테고리의 다른 글

[회고일지] 항해99 실전프로젝트 1주차  (0) 2023.03.22
[회고일지] 항해99 5주차  (2) 2023.02.19
[회고일지] 항해99 3주차  (3) 2023.02.05
[회고일지] 항해99 2주차  (0) 2023.01.30
[회고일지] 항해99 1주차  (0) 2023.01.22