일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JAVA기본
- 회고록_코드스테이츠
- 회고 #주간회고
- 사용자계정 #WSL2
- 시작 #꾸준히 #과하지않게
- 코드스테이츠 #회고록
- jvm
- 피드백
- WSL2 #권한
- Java환경
- 백엔드로드맵
- 코드스테이츠 #
- 몰입학습 #몰입
- 인터넷 #ISP
- Git #회고록
- mapstruct
- 에러해결
- 네트워크 기초
- 롤중독
- String
- git #intellij
- 글 foramt
- WSL #Linux #ubuntu
- OOP
- 호스트주소 #Host주소
- 코딩테스트
- 정리글 작성법
- 회고록
- 공부방식
- 회고
- Today
- Total
느리더라도 꾸준히
회고 및 피드백 : 애견용품 E-Commerce Service 본문
목표
내가 만족할만한 애완동물 E-Commerce 서비스를 완성시키자.
- 각 도메인 별 사용자 요구 사항 정의서 작성
- Bare requirement, Advanced
- User Sequence Flow 작성
- 테이블 설계서(ERD), API 명세서 작성
- ERD Cloud
- Restdocs → POSTMAN로 변경
- 회원 도메인 및 기능
- CRUD (D 는 논리적 삭제로 구현)
- 회원 로그인 인증, 인가 기능 구현
- Spring Security
- JWT를 이용한 인증, 인가
- 주문 도메인 및 기능
- CRUD (D 는 논리적 삭제로 구현)
- 상품 도메인 및 기능
- CRUD (D 는 논리적 삭제로 구현)
- 비즈니스 Flow에 알맞도록 각 도메인 별 연관 관계 매핑 및 기능 수정
- Spring Data JPA
- AWS EC2 인스턴스에 도메인 적용
회고
한 달 간의 메인 프로젝트가 끝났다… 밤도 꽤 많이 샜지만, 팀원들과 계속 소통하면서 우리가 초기에 설정한 Base requirement는 70퍼 넘게 충족하는 service를 만들 수 있었다.
프로젝트를 진행하면서 거시적으로 아래 두 가지 문제가 있었다고 생각한다.
- 실력을 고려하지 않은 기획과 설계
- 백엔드 팀원 한 명의 탈주
‘시간이 되면 검색 기능도 만들어보고 “판매자와 관리자” 도메인이 따로 있으면 좋겠고, TDD 방식으로 작성하고 싶고...등’ 팀원들과의 회의에서 많은 의견들이 나오고 요구 사항에 기록해 두었지만, 우리에게 주어진 시간은 3주 정도의 시간밖에 존재하지 않았고 우리 팀원들의 구현 실력 및 속도는 그렇게 빠른 편이 아니었다.
그리고 무엇보다 2 주차가 끝날 무렵 개인적인 사정 때문이신지, 실력의 이유인지는 알 수 없지만 백엔드 팀원 한 분이 사라지셨다.
문제는 이미 이 시점에는 설계가 다 되어 있었고 도메인 별로 일을 나누었었기 때문에 설계를 뒤집을 수가 없었다. 결국 회의를 통해 사라지신 분의 영역인 상품과 주문 도메인은 구현 속도가 빠른 내가 담당하고 다른 백엔드 개발자 례화님이 본인의 도메인과 배포 쪽에 집중하는 방향으로 Task를 나누었다.
갑자기 업무량이 확 증가하여 당황할 수 있는 상황임에도 꺾이지 않고 플젝을 완성시킨 우리 팀의 모습을 보니 괜시리 더 기쁜 마음과 팀원들에 대한 고마운 마음이 든다.
AWS를 이용한 자동배포에 많은 시간을 할애해주신 례화님, 그리고 상품, 주문쪽 API 명세가 늦게 나왔음에도 미리 대비하여 페이지를 만들어두신 프론트 분들, 정말 고생하셨고 감사했습니다.
개인적으로 아쉬운 부분은 기본적인 기능을 구현해 놓고, 팀원들과 새로운 기술스택을 써서 리팩토링 하거나 엔티티들간의 N+1 문제들을 해결해보거나 하고 싶었는데 해보지 못하게 되서 아쉬운 것 같다. 이 부분은 혼자 공부해보고 팀원들에게 공유하도록 해야겠다.
피드백
앞으로의 피드백은 다음과 같이 작성하려고 한다.
Why?
지금까지 피드백을 보니 나는 아쉬운 점만 적어왔다는 사실을 알 수 있었다. 진정한 피드백이란, 잘한건 잘했다고 못한건 못했다고 인정하여 내 멘탈을 지키면서 성장해야 한다는 것을 느꼈다.
1. 잘한점/배운점
- 발생하는 많은 이슈들을 해결하며 프로젝트를 완성 시킨 것들이 뿌듯하다.
- AWS 공식 문서들을 보며 CORS 문제를 해결한 것
- Spring 관련 문서들을 보며 HTTP 통신에 이미지를 요청/응답하는 기능을 구현한 것
- Security를 통해 무난한 로그인 기능을 구현한 것
- 탈주자가 발생하였지만, 포기하지 않고 우선순위에 따라 각 도메인의 기능들을 구현한 것
- 프론트 개발자 분들과 함께 작업하며 3 Tier Architecture의 동작을 더 깊이 배워볼 수 있었다.
2. 아쉬운점/개선할점
- 트러블 슈팅한 부분들을 제대로 기록하지 않은 것이 아쉽다.
- 급한 일정에 간략하게 기록하고 제대로 기록하지 못한 것이 아쉽다.
- 멘토님을 보며 트러블 슈팅을 위해 CS 지식과 새로운 기술스택의 공부가 필요함을 느꼈다.
- 요구사항 정의서와 동시에 User Sequence Flow를 작성하지 않고 ERD만 작성한 점
- User Sequence Flow가 제대로 나와야 구현 시점에 기능로직 과 연관관계 매핑으로 고생하지 않게 된다는 사실을 알게 되었다.
- 백엔드 개발자로써 더 전문적인 영역의 파트를 파보지 못한 점
- N+1 문제
- Redis ( NOSQL )
- 로드 밸런서
- 커뮤니케이션 부분
- 사라지신 팀원 분에게 힘이 되어드리지 못한 점
'회고 및 피드백' 카테고리의 다른 글
달리면서 고민하기 (0) | 2023.08.08 |
---|---|
두려움은 내 상상보다 크다. 겁내지 말자. (0) | 2023.07.29 |
회고 및 피드백 (1) | 2023.03.11 |
회고 및 피드백(Pre-Project) (0) | 2023.02.23 |
회고 및 피드백(Pre-Project) (0) | 2023.02.14 |