본문 바로가기

6주포트폴리오6

Tennis Together 6주차 프로젝트 마감일이 다가온다. 내가 맡은 기능은 거의 다 구현이 되었지만 실제 서버에서 동작하는데 여러 버그들이 있는 것 같다. 이를 수정하는데 시간을 보낼 것 같다. 지금까지 API 문서는 Notion으로 관리했었는데 튜터님께서 Swagger를 적용해보라고 제안해주셨다. 스웨거(Swagger)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 대부분의 사용자들은 스웨거 UI 도구를 통해 스웨거를 식별하며 스웨거 툴 셋에는 자동화된 문서화, 코드 생성, 테스트 케이스 생성 지원이 포함된다. 위키백과를 인용했는데 쉽게 말해 Swagger란 API를 관리하는 오픈소스 프레임워크라고 보면 되겠다. Spring bo.. 2021. 11. 21.
Tennis Together 5주차 Tennis Together 프로젝트를 시작한 지 벌써 5주 차가 되었다. 조금씩 기능이 추가되고 있다만 아직도 해야 할 일이 산더미다. 지금은 현재 각자 맡은 기능을 개발하는데 시간을 많이 보내고 있다. 테스트 코드의 필요성 지금까지 작업해온 로직들이 간단하기도 하고 6주 기간 동안 할 일들을 완수할 수 있을지 모르는 걱정도 있기에 테스트 코드에 시간을 투자하기에 좀 꺼리게 되었었다. 기껏해야 Post Man으로 나름 성공 테스트와 실패 테스트를 거치는 정도..? 문제는 코드들이 조금씩 많아지고, 복잡해지는 가운데 기존의 코드를 리팩터링 하는 과정이 필요했다. 리팩터링 자체는 어렵진 않았지만 작동이 잘 되는지 검증을 해야 하는데 테스트 코드가 없다 보니 Post man으로 지금까지 해왔던 테스트를 해야.. 2021. 11. 14.
Tennis Together 4주차 4주 차는 지금까지 설계한 ERD와 API를 기반으로 본격적으로 구현하기 시작했다. 프로젝트의 백엔드 팀원들은 로그인부터 유저, 테니스장, 모집글, 댓글 CRUD 등 개발해야 할 부분을 나누어 담당하기로 했다. 이번 주 내가 맡은 업무는 테니스장과 위치 정보를 조회하는 API를 만드는 것이다. Layered Aarchitecture기반으로 Controller, Service, Repository를 만들어 구현했다. (Layered Architecture 간단히 살펴보기) 조회 API를 작업을 하면서 이슈 하나가 있었다. 조회할 때 query string을 받아와 조건을 줄 수 있다. 예로 회원을 조회하는데 성별의 조건을 '남자'로 해서 남자 회원만 조회하도록 말이다. 그런데 문제는 조건을 추가할수록 조건.. 2021. 11. 7.
Tennis Together 3주차 3주 차 내용 3주 차부터 백앤드 전담 튜터님과 함께하게 되었다. 튜터님은 본격적으로 프로젝트를 진행하기 전에 필요한 여러 가지 개념들에 대해서 설명해 주셨다. 기억나는 몇 가지 키워드를 적어 보겠다. 프로젝트 구조 Firebase Storage Firebase에서 제공하는 파일 서버로 우리 프로젝트에서는 이미지 저장소로 사용할 것이다. 인증 처리 Firebase Auth와 Spring Security 조합으로 인증 처리를 할 것이다. 이번 프로젝트에는 전화번호를 통한 회원가입 및 로그인을 구현할 것이다 배포 Github Actions + Heroku 조합으로 CI/CD 환경을 구축한다. Git Flow 브렌치 관리 전략 & PR main, develop, feature, fix 등등 개발하는 용도에 맞.. 2021. 10. 30.
Tennis Together 2주차 2주 차 내용 2주 차는 1주 차 때 작성했던 기능, 화면 명세서, API, ERD를 멘토님께서 검토해주셨다. 팀원들의 우려대로 기능이 너무 많다는 평가를 받았고 기능을 줄이는 게 좋겠다는 조언을 받았다. 물론 시간이 무제한 있다면야 그냥 개발하면 되겠지만, 실제 6주간 진행하는 프로젝트이고 기획, 배포 기간을 빼면 2~3주가량의 기간이 개발하는 기간이다. 그리고 프론트엔드 개발자는 1명뿐 인 것도 고려해야 했다. 주어진 자원을 고려해 일부 기능을 제외시켰다. (SNS 로그인, 채팅, 화면 통합 등등) 멘토링 중에 oAuth의 개념, git commit msg 규칙, branch 규칙에 대해서 배웠다. 나는 테니스장 데이터를 수집하는 크롤링을 맡게 되었다. 크롤링을 처음엔 파이썬으로 할 계획이었지만 언어.. 2021. 10. 26.
Tennis Together 1주차 카우치 코딩을 시작하게 된 계기 백엔드 개발자가 되기 위해 자바부터 JSP, 객체지향, 스프링 등등 공부를 한 지 7개월 정도 되어간다. (아직도 배울게 많네.) 협업을 해본 경험이 없어 이번 기회에 프로젝트형 스터디를 참여해 경험을 쌓고자 했다. 스터디를 통해 발목이 잡힌 경험이 있기 때문에 신중하게 찾아보다가 우연히 카우치 코딩이라는 6주 동안 포트폴리오용 프로젝트를 만들어보는 멘토링 서비스를 알게 되었다. 프로젝트를 진행해주시는 멘토가 있고, 또한 백엔드 개발자와 프런트엔드 개발자가 모여 프로젝트를 진행하는 것이 내가 찾는 스터디에 적합하기에 신청하게 되었다. 1주 차 내용 팀빌딩 백앤드(Spring) 3명 프런트앤드(React) 1명 주제 정하기 우리 팀은 주제를 테니스로 잡았다. 주요 기능은 테.. 2021. 10. 23.