🤝 활동/내배캠TIL

[내일배움캠프 48일차 TIL] 아웃소싱 프로젝트 (feat. KPT 회고)

MNY 2024. 6. 25. 23:52
728x90
반응형
2024.06.25.(화)
오늘의 진도 : 아웃소싱 프로젝트 발표까지...

오늘도 내가 강의를 들으면서 새롭게 알게된 것 그 동안 애매했던 것을 오늘의 학습으로 정리하려고 한다.
팀 프로젝트, 오늘의 회고 이렇게 2개의 큰 틀로 나누어 정리할 것이다.

 

팀 프로젝트

  • Keep - 현재 만족하고 있는 부분
    • 코드 컨벤션과 깃허브 룰스, 이슈 및 PR 템플릿을 미리 정하고 지켜서 사용함
    • PR시 리뷰 작성하여 코드 개선 및 확인
    • 규칙성 있는 주석 작성
    • Git issue랑 project를 사용해서 개발 진행과정을 보는데 좋았다.
    • 구체적인 예외처리
    • 규칙성 있는 패키지 구조 구성
    • TimeStamp에 @PrePersist를 의도에 맞게 잘 사용함
    • entity에 제약조건과 같은 구체적인 ddl 설정을 잘했고 테이블명도 _table로 일관성있게 잘 만들었으며, 적절한 fetchType 지정
    • 일관성 있는 Controller의 구현
    • 팀원 간의 원활한 소통과 협업🙂
    • 주말에도 코딩하는 열정적인 모습
    • 욕심내서 최대한 많은 기능을 구현해보고자 하는 것
    • 잘하는 팀원들을 보고 동기부여를 받을 수 있어서 좋았다.
  • Problem - 불편하게 느끼는 부분
    • 예외 발생 : custom exception 외에도 정의되어 있는 checked, uncheched exception이 많다
      • 정의되지 않은 예외도 일관성 있게 핸들링 할 수 있도록 하면 좋을 것 같다. 또한 현재 설계로는 예외처리 객체가 없이 status만으로 client에서 예외임을 구별해야하기 때문에 statusCode를 잘 정리하면 좋을 것 같다.
    • 코드컨벤션
      • 동일 개발자가 작성한 코드가 일관성이 없다면 가독성, 신뢰성면에서 좋지 않고 무엇보다 개인의 구현 습관을 만드는데 저해요소가 된다.
    • Config 파일에 이미 UserAuth로 선언된 상수가 magic number로 작성하였는데 상수로 관리해야 할 필요성 느낌.
    • OrderMenuList란 객체 명언 적합하지 않음
      • 객체는 단일을 보장받으며 복수의 형태를 가질 수 없기 때문에 collection과 array를 사용하게 된다.
    • stream을 남용하지 말고 사용 시 필요한 연산을 모두 수행하도록 할 것
    • 프로젝트 시작 전 세부적인 일정 작성과 마감 기한을 작성하지 않은 것이 아쉬웠습니다.
    • 테스트 코드를 작성하지 못한 것
    • 휴일에 시간투자를 더 못한것이 아쉬웠다.
  • Try - Problem에 대한 해결책, 당장 실행 가능한 것
    • 프로젝트 시작 전 세부적인 일정 작성(ex. JIRA, 마일스톤)
    • 적절합 도메인형 패키지 구조 구성
      • 현재 프로젝트에서는 entity별로 도메인을 나누었는데 도메인형 패키지 구조는 유사한 entity별로 aggregate(군집)을 짓는 것을 원칙으로 한다는 것을 알게됨.
      • 군집된 entity들 간에 협력으로 해당 도메인에 비즈니스를 처리하고 외부 도메인 협력이 필요할 시 interface를 통해 조합해 볼 것
    • Security filter의 예외처리
      • Security의 경우 대부분 예외 발생 시 기본 설정으로 response하게 되어 있음
      • EntryPoint, AccessHandler 등을 활용한 filter 예외처리도 고려해볼 것
    • controller layer에서 transactional
      • controller는 api를 관리하는 영역이기에 비즈니스를 만드는 service layer에서 transactional을 처리할 것
    • controller에 global mapping 정보
      • 규칙적이지 못한 경우가 있다 이 경우 추적성이 떨어질 수 있으니 유의해야한다.
    • try-catch 시 구체적인 exception으로 예외를 처리는게 가장 중요하지만 그 이외의 예외가 발생했을 때 try 후 catch하기 때문에 예상 외 exception도 처리하기 위한 코드를 작성해 주어야한다.
    • Entity에 상태와 같은 Enum을 확장성과 식별성을 위해서 구체적으로 수정. (Process -> OrderProcess || OrderStatus)
    • TDD : 코드 작성 전 테스트 코드 작성을 습관화하기
    • 팀플이 끝나고 자기가 구현한 코드말고도 다른사람의 코드를 뜯어보고 공부하는 시간을 가지자
    • 다른사람의 api를 다 실행해보지 못한게 아쉬웠지만 다음에는 다 실행해봐야겠다.
  • 발표 ppt

욕심쟁이(GreedyPeople).pdf
11.35MB

  • 프로젝트 Repository
 

GitHub - GreedyPeople/GreedyPeople

Contribute to GreedyPeople/GreedyPeople development by creating an account on GitHub.

github.com

 


오늘의 회고

  • 12시간 중 얼마나 몰입했는가?

오늘은 발표한다고 하루종일 긴장하면서 보내서

몰입한 시간은 없다...

 

  • 오늘의 생각

내가 리더를 신청했지만, 리더라니...

걱정이 앞을 가리네...

 

  • 내일 학습할 것은 무엇인지

aws와 jpa 심화!!!

강의가 지금 지급되어 있긴한데.. 

728x90
반응형