첫 번째 팀 프로젝트를 마친 후 느낀 점

어렵디 어려운 팀 프로젝트를 통해 배우기

Posted by devfon on September 5, 2018

빅데이터 전문가 과정의 마지막으로 팀 프로젝트를 진행했다. 처음으로 진행한 프로젝트가 개인 프로젝트도 아닌 팀 프로젝트이다 보니 느낀 부분이 너무나도 많아 따로 정리를 하고 넘어가야 겠다는 생각을 하게 되었다.

내가 사용하는 Framework와 관련한 기본기의 중요성

  • Python 문법만 안 채, 다짜고짜 Django Framework 사용
    • 당연히 모르는 것 투성. 구조적 특징조차 이해하지 않고 시작한게 화근
    • Framework에 대해 기본적 공부라도 하고 진행했으면 삽질하는 시간이 대폭 감소했을 것
  • Spring을 배울 때도 JSP와 Servlet의 기본 지식을 알면 도움이 많이 될 것 같다는 생각을 하게 됨

배포와 네트워크의 어려움

  • 클라우드 서버 사용의 어려움을 뼈저리게 느낌
  • 포트포워딩과 같은 기본적 네트워크 지식을 단단히 갖추어야 겠다는 생각
    • 공인 IP vs. 사설 IP
      • ex) 내가 사설 IP에서 80번 포트를 열면 상대는 ‘공인IP:20682’와 같은 포트를 통해 들어오는것임
    • 단순히 인바운드 Port만을 열어주는 것이 아니라 해당 Port의 방화벽도 풀어주어야 함
    • 다양한 배포의 장이 있구나..(pythonanywhere, KT U-cloud biz, toast cloud, Azure, AWS…)

의존성

  • python2와 연동할 수 있는 Django version…(어차피 deprecated)
  • Python3과 연동할 수 있는 Django version
    • 3.x의 작은 버전 차이로 Django의 2.x에 의존성 문제 생김
    • ex) Python 3.4는 Django 2.0 사용 / Django 2.1 부터는 python 3.5 이상의 버전을 요구
    • Spring boot는 설정값이 스스로 의존성을 관리해준다는데…
  • Python2와 Python3이 모두 깔려있을 때, pip와 pip3 각각이 설치할 수 있는 패키지의 차이 존재
  • Version up은 링크 설정으로 해결하자!

분담의 위험성

  • 지나친 분담은 개인의 프로젝트에 대한 전반적 이해도를 떨어뜨리는 결과를 낳게 됨
  • 적절한 양으로의 분담과 주기적인 의견 교환 자리를 만들어 서로가 수행하고 있는 파트를 이해해야 함

그럼에도 불구하고..

  • REST API에 대한 느낌적 이해
    • 카카오 플러스 친구를 생성하기 위해 Kakao가 제시하는 API를 사용해보며 RESTful 하다는 것이 무엇인지 느낌적으로 경험
    • REST API에 대한 _개념적 이해_는 추가적으로 공부해서 얻도록!
  • 기본기를 튼튼하게 하자는 다짐
  • 삐그덕거렸음에도 분담을 했던 팀원들의 출중한 실력으로 입상