위코드의 마지막 한 달인 기업 협업을 나가게 됐다.
한 달간 협업을 하며 배우게 될 기업은 쉐어그라운드라는 곳으로 'SellUp'이라는
애플리케이션을 통해 동대문 의류 사입, 정산, 배송 등을 대행 서비스 하는 곳이다.
이 곳에는 이미 wecode 출신의 선배 2명이 근무하고 있고, 지속적으로 wecode와
협업을 하고 있는 기업이었다.
🌈 Project Github
멘토님께서 부트캠프를 새롭게 시작한다는 각오로 가야한다고 했다. 첫날 미팅에서 CTO님도 한 달 동안 많이 배우고 경험하라고 말씀해주셨다. 프로젝트 설계 구조를 익히고 기능을 구현하는데 최대 난관은 언어였다. 새롭게 javascript에 typescript까지 익혀야하는 과정이 쉽지 않았다. 위코드 졸업생인 사수는 우리의 그런 상황을 충분히 배려해주며 하나라도 더 알려주시려고 했다. 나와 같이 백엔드를 하는 동기도 어려운 상황이지만 같이 머리를 맞대고 고민하며 기능을 하나씩 구현해 나갔다.
MVC pattern의 설계 구조를 배우고 구조에서 어떤 부분이 각각 Model-view-controller에 해당하는지를 파악하였다.
프로젝트 진행하면서 DB의 중요성에 대해서 알 수 있었다. 접근할 때와 보여주어도 될 부분과 감추어야할 부분을 신경써야 했고, 신중하게 다루어졌는데, 실제로는 DB에는 유저의 개인정보등 민감한 정보가 담기기 때문이라고 하였다.
NoSQL이라는 것을 처음 사용해 보았다. SQL과 다르게 프라이머리키대신 파티션키와 소트키를 지정하여 사용하고, 배열이 저장되는 것이 특이했다. 관계가 없다보니 모델의 수정이 용이했다.
Typescript를 사용하면 실수를 줄일 수 있고 코드를 읽어보는 것만으로도 그 로직을 파악할 수 있어 가독성이 올라간다. 기업 협업에서 Typescript 처음 알게 되었고 경험해보았다.
serverless를 설치하고 AWS Lamdba를 통해 함수를 생성하고 serverless.yml에서 배포할 API를 설정 후 sls deploy
명령어를 통해 배포가 되었는데 기존에 AWS에 생성해둔 서버에 접속해서 배포해야되는 과정보다 훨씬 간편하고 서버가 사용될 때만 활성화된다는 점도 장점이라고 생각됐다.
총 2회의 세미나를 진행는데 첫번째는 팀원 4명이 같이 했고 두번째는 백엔드는 OOP를 주제로 준비하게됬다.
Clean Architecture
프로젝트의 구조를 설계하는 효율적인 디자인 패턴과 이 패턴들이 필요한 이유는 각각의 기능들을 독립적으로 사용하여 코드의 재사용성과 유지보수를 원할하게 하는데 있다는 것을 알게 됐다.
객체지향프로그래밍
객체지향프로그래밍에는 추상화, 상속, 캡슐화, 다형성등의 개념이 있고, 객체지향프로그래밍을 해야하는 이유 역시 코드의 재사용성과 원할한 유지보수를 위한 것이다. 개발에서 이는 계속 강조가 되어도 부족할 만큼 중요하다는 것을 알게 됐다.
CTO님께서는 어떤 개발자가 될 것인지 생각해보라고 하셨다. 백엔드 개발자여도 프론트 쪽으로 더 잘 알고 있을 수도 있고, 데이터베이스 쪽으로 더 깊게 알수도 있다고 하셨다. 개발자로써 어느 쪽의 방향성을 가지고 가야할지 생각해보는 계기가 됐다.
다양한 기술 스택과 두 번의 세미나까지 쉽지 않은 한 달이었다.
또 개발에 대해서 알지 못했던 부분들에 대해 알게 되는 계기가 됐다.
물론 앞으로 알아야 할 내용은 더 많다고도 느꼈다.🤯
바쁜 일정 속에서도 개발에 대해서 하나라도 더 알려주시려고 애써주시고,
개발자로서의 시작을 응원해주시고 격려해주신 CTO님과 사수님들께 너무 감사했다.
기업협업 기간은 20.05.25-20.06.18까지 진행하였다.