우아한테크코스/회고
[우아한테크코스] LV3 - 4차 스프린트 회고
들어가면서 4차 스프린트는 하루스터디 서비스 사용자들이 그동안 진행했던 스터디 기록을 모아볼 수 있는 기능을 제공하기 위한 로그인 기능을 구현하는데 집중했던 기간이었다. 과거에 진행했던 스터디 기록을 다시 조회할 수 없다는 것이 서비스 사용자들에게 가장 큰 불편함으로 다가올 것이라고 판단해서 최우선적으로 구현을 하기로 결정했다. 이와 별개로 운영중인 서비스에서 발생하는 로그들을 전혀 확인할 수 없는 문제가 있었는데 이를 해결하기 위해 로깅 시스템을 구축했어야 했다. 무엇 하나 쉽지 않았던 굵직했던 주제들이라 데드라인을 맞추기 위해 팀 내에서도 분업을 해서 정신없이 진행했었다. 이번 회고에서는 바쁘게 진행했던 작업들을 되짚어보면서 그 과정들을 기록해놓고자 한다. 4차 스프린트 Oauth2.0을 이용한 로그..
[우아한테크코스] LV3 - 3차 스프린트 회고
들어가면서 3차 스프린트는 서비스 배포와 내부 설계 변경에 집중했던 기간이었다. 처음엔 프론트엔드와 백엔드 모두 기능적으로는 구현이 완료된 상태였기에 배포 과정에서 큰 문제는 없을 것이라 판단했었다. 그러나 예상과는 다르게 기본적인 비즈니스 플로우의 시작점에서부터 에러들이 발생하기 시작했다. 이러한 에러들을 해결하며 기능 연동을 위해 노력하는 한편 백엔드 팀에서는 내부 구조에 대한 논의와 변경이 많이 이뤄졌었는데 이를 정리하고자 한다. 3차 스프린트 CloudFlare 캐시 삭제 문제 하루스터디 팀에서는 프론트엔드와 백엔드 별 기능 구현이 1차적으로 완료되고 나서 정식 배포를 위해 기능 연동을 진행했다. 실제로 연동이 잘 되었는지 확인하기 위해 개발 서버에 배포를 완료한 후 배포된 서비스에 접근해서 직접..
[우아한테크코스] LV3 - 2차 스프린트 회고
들어가면서 4차 스프린트가 진행중인 현재 2차 스프린트 회고를 진행해보고자 한다. 노션에 개인적으로 2차 스프린트에 대한 회고를 메모형식으로 정리해두기는 했었으나 프로젝트 일정이 더 급하다는 이유로 포스팅을 미뤄뒀었다. 시간이 더 흘러서 적어뒀던 메모를 보고도 기억이 나지 않기 전에 스스로를 위해 포스팅한다. 2차 스프린트는 뒤쳐지지 않기 위해 무던히 애를 썼던 기간이었다. 첫 주부터 예비군 훈련으로 내리 4일을 빠지게 되었기에 그 동안 팀에서 진행한 업무들을 동기화하는데 더 노력을 기울일 수 밖에 없었다. 다행인지 불행인지는 모르겠지만 4일 동안 1차 스프린트 데모데이 피드백을 중심으로 서비스의 방향성을 뒤집는 기획 회의만 이뤄졌었다. 개발적인 부분이 먼저 시작되었으면 더 쫓아가기 힘들었을텐데 딱 캠퍼..
[우아한테크코스] LV2 - 웹 장바구니 협업 미션 회고
들어가면서 (임시저장만 해두고 발행을 누르지 않은 것을 반성합니다) 우아한테크코스 레벨2의 마지막 미션은 웹 장바구니 협업 미션이었다. 이번 페어는 키아라와 주드였다. 프론트, 안드로이드 크루들과도 함께 팀을 이루어 미션을 진행하는 방식이었는데 랜덤 배정 결과 프론트 크루들과 함께 미션을 진행하게 되었다. step 0, 1 에서는 서버를 AWS 상에 배포하고 CORS 문제를 해결하는 과정이 핵심이었다. 그리고 step2에서는 장바구니에 담은 물품들을 실제로 주문을 할 수 있도록 기능을 추가 구현하는 것이었다. 이와 더불어 할인 정책과 관련된 기능을 선택해서 추가하는 것 또한 요구사항이었는데 우리는 포인트 적립 및 사용 정책을 구현하는 것을 결정했다. 같이 협업을 하게된 프론트 크루들은 솔로스타와 네이브였..
[우아한테크코스] LV3 - 1차 스프린트 회고
1차 스프린트에서 만난 문제상황과 해결책 소프트 스킬 데일리 미팅 개인 일정 정리 문제점 : 근로를 진행하는 크루들이 있어 workout 시간을 온전히 활용하기는 힘들다는 문제가 있었다. 해결책 : 팀 전체적으로 진행하는 회의 및 일정을 중간에 흐름이 끊기지 않게 잘 조절할 수 있었다. 서비스 기획 회의 진행 문제점 : 회의를 진행하다보면 원래 해결하기로 했던 안건에서 점점 벗어나는 경우가 발생했다. 해결책 : 팀이 해결해야할 안건을 정하고 해당 안건을 얘기하는 회의 시간을 구체적으로 미리 정해두고 회의를 진행한다. 정해진 회의 시간이 지나면 원래 얘기하기로 했던 안건에 대해 잘 논의되었는지 확인한다. 또한 회의 중간에라도 처음 안건과는 주제가 멀어지게 된다면 즉시 브레이크를 걸고 회의를 시작했던 안건을..
[우아한테크코스] 중간 회고
우아한테크코스 레벨1과 2를 지나고 3에 들어와 팀 프로젝트를 진행하고 있다. 본격적으로 프로젝트를 시작하기에 앞서 다시 헤매지 않기 위해 여태까지 해왔던 학습 방향과 생각들을 정리하고자 한다. 레벨2 막바지부터 방학 내내 이어졌던 감정에 대해 되돌아보았다. 주변 크루들에게는 '번아웃의 3분의 2지점에 서있는 듯한 기분이다' 라고 얘기를 종종 했던 것 같다. 그런데 곰곰히 생각해보면 체력적으로 부치는 건 아니었고, 뭔가 어려운 문제를 직면했던 것도 아니었다. 꽤 긴 시간 결론을 내리지 못했었는데 감정의 핵심적인 부분은 다음과 같이 정리되었다. 공부해야할 건 많은데, 궁금한 건 많은데 해야할 것들은 쏟아져 오는 상황이다. 그런데 조금 전에 공부한 것도 기억 안나고 정리해뒀던 것들을 봐도 뭘 위해 이렇게 정..
[우아한테크코스] LV2 - 웹 지하철 미션 Step2, 3 회고
들어가면서 레벨2에서 가장 어렵다고 여겨지는 지하철 미션이 모두 끝났다. 페어미션인 step1 때부터 지금까지 폭풍처럼 시간이 지나갔던 것 같다. step2, 3는 생각보다 쉽게 구현할 수 있었다. 오히려 리팩토링 기간에 가장 시간을 많이 투자한 부분은 step1 에서 설계했던 도메인 객체인 sections였다. 처음 설계할 때 외부 라이브러리인 jGrapht를 사용할 것을 염두에 두고 설계를 했었는데 이게 결과적으로 독이 되었던 것 같다. 개인적으로 당장 필요하지 않은 기능을 고려해서 설계를 진행하는 것이 오히려 더 큰 복잡함을 낳을 수 있다는 것을 새삼 깨닫게 되었다. 그리고 객체지향의 목적에 대해 다시 한 번 생각하게 되는 계기가 되는 미션이었던 것 같다. 여태까지 객체지향을 현실의 객체들에 대한 ..
[우아한테크코스] LV2 - 웹 지하철 미션 Step1 회고
들어가면서 레벨2 세번째 미션은 지하철 미션이었다. 지하철의 노선과 역 정보를 관리하는 API를 설계하고 구현하는 것이 이번 목표였다. 지하철 노선도라는 복잡한 도메인으로 웹 서비스 API를 설계하는 것이 이번 미션의 취지였다고 한다. 그만큼 도메인을 설계하는 과정에서 고려해야할 사항들이 굉장히 많아서 난이도도 높게 느껴졌고 시간이 많이 부족했다. 이번 미션의 페어는 이리내였다. 이리내는 긴 시간 페어 프로그래밍에도 코드에 대한 집중력을 잃지 않는 크루였다. 덕분에 미션을 진행하면서 고려해야 할 사항들이 너무 많아서 주기적으로 흐름을 놓칠때마다 다시 제자리를 찾아가는데 도움을 많이 받았다. 지난번 장바구니 미션에서 도메인의 설계가 외적인 부분에 영향을 받는 것이 굉장히 맘에 걸렸었다. 그래서 이번에는 반..