우아한테크코스 7기 BE 기록
학습해야 하는 내용의 범위가 넓고 깊다. 절대적인 진리나 정답은 없으며, 왜?를 고민하고 함께 합의하는 과정이 중요하다.
미션 | 키워드 | PR |
---|---|---|
방탈출 예약 관리 | Web, HTTP, Spring Boot, Jdbc, RDBMS | 페어 미션 PR |
개인 미션 PR | ||
방탈출 사용자 예약 | 예외 처리, Interceptor, Argument Resolver | 페어 미션 PR |
개인 미션 PR | ||
방탈출 예약 대기 | JPA 도입, 도메인 간 강결합 | 페어 미션 PR |
개인 미션 PR | ||
방탈출 결제/배포 | 외부 API, 배포, 로깅 | 페어 미션 PR |
개인 미션 PR | ||
레벨2 글쓰기 | 레벨2까지 나의 성장 여정 | 미션 PR |
레벨2 파이널 미션 | 제한시간 내 AI 사용 없이 나만의 예약 서비스 API 제작 | 미션 PR |
- add 메서드 결과 반환을 위한 재조회 필요성 검토
- 존재 여부 확인을 위한 쿼리 개선, EXISTS vs COUNT(*), 인덱스
- 메서드의 원자적인 실행을 보장하기 위한 @Transactional
- 무조건 fetch join으로 다 가져오는 것이 좋을까?
- 도메인에 대한 이해와 규모에 관한 합의로 결정할 수 있다.
- XXService를 조회성과 명령성으로 분리
- 복잡해지는 요구사항 속 도메인 간 강결합 해소
- 이벤트 발행-수신 구조를 활용한 도메인 간 느슨한 결합
- 외부 API Connection Timeout, Read Timeout 설정
- 예약 삭제와 취소의 차이
- 남겨야 할 로그에 대하여
- @TransactionalEventListener(AFTER_COMMIT)에서 업데이트가 반영되지 않던 문제 분석
- 완벽한 논리보다, 실패해도 리스크가 작은 선택을 빠르게 시도해 보는 것이 나에게 도움이 될 것 같다.
- 내가 성장한 부분과 부족한 부분을 인지하는 미션이었다.
- 기획에서 과도한 설계로 인해 정작 완성하지 못한 부분이 있었다.
현장은 클린코드도 중요하지만 마감 시간 내에 동작하는 코드를 구현하는 것이 더 중요하다.
미션 | 키워드 | PR |
---|---|---|
로또 | 단위 테스트 | 페어 미션 PR |
개인 미션 PR | ||
출석 | TDD | 페어 미션 PR |
개인 미션 PR | ||
블랙잭 | 클린 코드 | 페어 미션 PR |
개인 미션 PR | ||
장기 | OOP, DB | 페어 미션 PR |
개인 미션 PR | ||
레벨1 글쓰기 | 유연함 강화 스터디 회고 | 미션 PR |
- 인터페이스의 default 메서드와 구현체 검증 책임의 위치 고민
- 코드의 일관성은 가독성을 높이고, 유지보수성을 높인다.
- 조건문의 비교 순서,
MAX > MIN
보단MIN < MAX
가 더 직관적이다. - 조건문 분리(메서드 또는 변수로 추출) 행위에 관한 일관성을 높인다.
- 조건문의 비교 순서,
- 불변 객체는 항상 좋은가?
- 개행, 공백, 주석, 테스트 코드의 일관성은 신뢰성 측면에서 중요하다.
- 새로운 환경에 대한 안내(실행 방법 등)는 당연하게 있어야 한다.
- 특정 DB의 기능을 사용하여 비즈니스적인 문제를 풀지 않아야 한다.
- 급하게 답변을 남기는 것보다 조금 더 고민하고 일관된 답변을 남기는 것이 좋을 것 같다.
- 인지하지 못했던 나의 부족한 부분을 인지할 수 있었다.
다양한 사람과 함께 성장하기 위한 준비하는 과정이다. 그 과정에서 나 스스로를 돌아보고 나아질 수 있는 방법을 고민한다.
미션 | PR | 회고 |
---|---|---|
문자열 덧셈 계산기 | 미션 PR | 회고 |
자동차 경주 | 미션 PR | 회고 |
로또 | 미션 PR | 회고 |
편의점 | Repository | 회고 |