역할 및 담당
결제 API, 말 많은 아이 담당
개발 진행시 중점을 둔 부분 및 상세 내용
'완성' - 지금까지 매번 프로젝트를 진행해오면서 시간 내에 완성을 시키는 것이 우선 제일 중요하다고 생각을 해왔었습니다. 또한 실력이 부족한 탓에 민폐를 끼치기 싫어서 맡은 부분은 꼭 완성하자는 생각을 했습니다. 그래서 짧은 시간내에 완성시키는 것을 중점으로 하였고, 추가적으로는 복잡해지는 로직에서 모듈화를 하여 최대한 간결하고 보기좋게 로직을 짜보자는 생각을 했습니다.
자랑하고 싶은 코드
views.py (extension_payment_system/DjangoServer/payment/views.py)
결제에 관한 로직을 모두 구현해 놓았다. 작은 로직이지만 트랜잭션 부분까지 생각을 해보게 되었다.
본인이 개발한 내용 중에 아쉬웠던 부분
사실 혼자서 개발을 하다보니 API 통신을 직접 구현을 해본적이 없었습니다. 그러다보니 API설계, 구현, Serializer를 잘 모르고 있고, Restframework 사용도 해본적이 없어 다루는데 있어서 아쉬웠숩니다.
개발 내용중에 아쉬운 부분이 자랑하고 싶은 코드 부분에 있는데 위에도 언급했듯이 Serializer를 다루는 것이 부족하여 Request에서 들어오는 부분을 그대로 Payment에 저장을 한 다음 필요한 부분을 수정하는 식으로 진행을 하게 되었다. 불필요하게 DB를 두 번이나 건드리는 것이 코드 구현 부분에 있어서는 가장 아쉽습니다.
다른 부분으로는 내가 API 명세를 작성한대로 클라이언트쪽에서 넘겨줄수 있다고 확신하고 로직을 구현한 것이 후에 그렇게 진행 될 수 없었을 때 불필요한 코드가 생기고 더러워졌던 것이 아쉽습니다. 이 부분은 클라이언트쪽에 대해 조금만 생각을 해보았다면 그것을 Request에 명시를 할 수 없었을 텐데 하는 부분이 있습니다. 또한 API 명세를 작성하고 수정하면서 익스텐션쪽 구현하시는 민국님과의 이야기가 많이 되지 않았던 것 같아 아쉽습니다.
또한 개인적으로 확인 한 통신에서는 성공을 해서 본인이 원하는 부분까지는 모두 구현을 했지만 최종적으로 통신을 익스텐션과 확인을 못해서 완성시키지 못한 것이 너무 아쉽다. 처음부터 부분,부분 익스텐션쪽과 통신을 해보고 진행을 했으면 어땠을까 생각을 해봅니다.
프로젝트를 진행하면서 배운점 및 느낀점
개발에 입문한지 얼마 되지 않았지만 짧은 시간 달려오면서 내가 이렇게 개발을 하는 것이 맞을까? 개발의 방향성을 잡지 못하고 헤메고 있었습니다. 주변의 물어볼 친구도, 선배도 없었습니다. 그래서 그냥 코드를 짜고 돌아가고 하면 넘어가는 방식으로 개발을 매번 진행했습니다. 특히 취업 준비를 하다보니, 개발에 대한 방향성과 더불어 진로에 대한 방향성도 모르겠고, 연이은 취업 실패로 자신감도 하락하면서 슬럼프가 찾아왔습니다. 그 와중에 네이버 핵데이에 운 좋게 뽑혀서 참가를 하게 되었고, 개발,진로 방향성을 잡게 된 것이 가장 첫 번째로 좋았습니다. 지쳐가는 취준생의 열정에 기름을 붓게 된 계기가 되었고, 다시 한 번 뛸 수 있게 만들어준 계기가 되어서 너무 고맙습니다.
두 번째로는 이렇게 협업을 해본게 처음이라 Git을 사용하는 방법이라던지, 형상관리법등을 배운게 너무 좋았습니다. 이런 방법을 실제 현장에서도 사용한다는게 무엇보다 뜻 깊었습니다.
세 번째로는 팀 바이 팀이겠지만 좋은 개발 문화가 무엇인지에 대해 생각해볼 수 있었습니다. 처음에 팀 미팅 당시에 자연스러운 존칭과 '님' 문화가 좋았고, pull reqeust를 통해 코드 리뷰를 했던 것, 모르는 부분을 계속해서 질문을 하는데도 친절하게 답해주시는 것, 중간 중간 생각해볼만한 문제들을 집어주시면서 생각을 물어보시는 점 등 .. 좋은 개발 문화가 있는 곳에 가서 근무를 하고 싶다는 생각을 많이 하게 되었습니다. 그리고 더 불어서 내가 여기서 근무를 하게 되면 성장을 많이 하겠구나라는 생각도 했습니다.
네 번째로는 결제 시스템에 대한 생각해볼 시간을 가졌다는 것도 좋았습니다. 한 주제를 가지고 개발을 할 때 도메인지식이 필요한데 결제라는 도메인 지식에 대해 공부를 해볼 수 있었고, 팀원들과 다같이 모여서도 결제가 어떻게 일어나는지 같이 확인을 해보면서 평소에는 그냥 지나쳤서 몰랐지만 세부적인 결제 단계에 대해서도 놀랐습니다. 그래서 우리가 생각하는 결제 로직을 생각해서 스토리보드를 작성하고 그대로 구현해 보았던게 좋았습니다.
다섯 번째로는 API에 대한 공부를 많이 하게되었고 배워갑니다. API 명세부터 시작하여 RESTful 하게 url을 작성하고 직접 통신하고 로직까지 구현하면서 공부가 진짜 많이 되었습니다. 설계하면서 PUT과 POST에 대한 부분을 직접 사용하면서 확실한 이해를 했습니다. 이 부분을 멘토님이 다시 한 번 언급하셔서 설명해주셨던 부분도 좋았습니다.
마지막으로는 완성 못한 것이 너무 아쉽습니다. 각자의 기능은 모두 구현을 하고 테스트도 별도로 진행을 하고 이상이 없음을 확인해 금방 완성을 할 수 있었을 것 같았는데 합치는 과정에서의 생각보다 긴 시간소요와 이슈발생으로 끝내 완성을 못했습니다. 이후에 학기가 끝난 후에 완성을 해볼 계획입니다. 익스텐션(Client)와 유저,상품,결제(Server) 통신을 하고 기능들을 잘 합쳐서 구현을 할 생각입니다. 추가적으로는 url parttern까지 생각도 못해본 것도 너무 아쉽습니다. 멘토님이 언급해주셨던 방법인 패턴을 우선 페이지별로 나눠서 저장을 시켜놓고 후에는 모델을 학습시켜서 적용시키는 방법이 지금으로써는 제일 좋고 실현 가능성이 있는 방법인 것 같습니다.