빅데이터 전문가 과정의 마지막으로 팀 프로젝트를 진행했다. 처음으로 진행한 프로젝트가 개인 프로젝트도 아닌 팀 프로젝트이다 보니 느낀 부분이 너무나도 많아 따로 정리를 하고 넘어가야 겠다는 생각을 하게 되었다.
내가 사용하는 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…)
- 공인 IP vs. 사설 IP
의존성
- 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에 대한 _개념적 이해_는 추가적으로 공부해서 얻도록!
- 기본기를 튼튼하게 하자는 다짐
- 삐그덕거렸음에도 분담을 했던 팀원들의 출중한 실력으로
입상