[인프런 워밍업 클럽 0기] BE 3주차 발자국

일주일 간의 학습내용

  • 객체지향

  • JPA 연관관계

  • 미니 프로젝트

3주차를 진행하면서, 2주차에 이어 JPA에 대해 추가적인 학습을 하게되었다. 객체지향과 데이터베이스의 형태는 다르기 때문에 JPA의 연관관계 @OneToMany, @ManyToOne의 키워드에 대해 학습하였다. 또한 3주차를 진행하면서 미니프로젝트 STep1까지의 프로젝트를 만들어보았으며 추후 Step 2, 3, 4를 해볼 예정이다.

 

금요일 라이브 회고

금요일 라이브에서는 코치님의 코드리뷰 라이브를 보았다.

모두에게 공개되는 자신의 코드에 부끄럼없이 보여주신분들에게 감사를 표한다.

 

이번 코드리뷰에서는 더욱 객체지향적인 코드를 만드는 방법은 물론이며, 코치님이 생각하는 클린코드에 대해 듣게되었다. 우선 가장 기억에 남는부분은 Service 계층이 뚱뚱해지는 것을 막으려면, 도메인이 처리할 수 있는 부분은 도메인에 구현하라였다. 그렇게 도메인에 책임을 부여하게되면 Service 계층이 가벼워지고, 더욱 읽기 쉬운 코드가 되었다는 부분이었다.

 

두번째로는, Enum을 이용하여 Role 부분의 확장을 생각해보는 부분이었다. Enum을 자주쓰지 않았기 때문에, 어떤식으로 써야할지 감이 잘 오지 않았지만, 이번에 리뷰를 들으며 나의 프로젝트에서도 Enum을 사용하여 리팩토링을 해볼 예정이다.

 

마지막으로는, 헥사고날 아키텍쳐에 대해 간단하게 들었던 부분이다. 현재 널리사용되고 있는 Layered Architecture는 데이터베이스에 너무 의존적이기 때문에, 현재 코드 그대로 데이터베이스만 바꿀수 없지만, 헥사고날 아키텍쳐는 데이터베이스만 바꾸는 것이 가능하다. 얘기만 들었을때는, 추상화에 더 신경쓴 아키텍쳐라 생각되어 코드를 작성할 때에는 시간적인 비용이 많이들겠지만, 설계를 다 마치고나면 유지보수와 코드를 읽는데에는 훨씬 좋을 것 이라고 생각된다.

 

이번 워밍업 클럽을 통해 발전한 자신을 볼 수 있었으며, 좋은 기회를 주신 인프런과 최태현 코치님께 감사의 말씀을 올리며 마무리하겠습니다. 감사합니다

댓글을 작성해보세요.