늦은 프로그래밍 이야기
12주차 WIL 본문
이번주 알게 된 점
Git
팀원들과 팀프로젝트를 진행하면서 GitHub 병합 작업을 맡아 진행하면서 Git에 대한 이해도를 조금 더 배울 수 있었던 기회가 되었다.
Interface
그동안 인터페이스에 대한 막연한 두려움(?) 같은 것 때문에 프로젝트를 진행하며 인터페이스를 사용하지 않았었는데, 이번 팀프로젝트를 진행하며 프로젝트를 시작하기 전에 전체적인 설계를 하고 인터페이스를 작성하고 프로젝트를 진행해 보았다. 의외로 간단한 작업이었고, 인터페이스를 통해 미리 가이드 라인을 만들어 다른 팀원들과 코드 작성을 한층 일체감 있게 할 수 있었다.
연관관계
최대한 연관관계를 맺지 않고 프로젝트를 진행하다가 Order와 OrderItem의 경우는 연관관계를 맺지 않고 작성을 할 수 없는 문제가 발생하여 양방향 연관관계를 맺어 주었다. 이 작업을 진행하며 튜터님께 질문을 하였는데, 공부 목적으로 연관관계를 맺지 않고 작성하는 것과 연관관계를 맺어서 작성하는 두가지 방식을 모두 해보는 것도 좋지만, 연관관계를 맺지 않으면 JPA를 사용하는 효용을 얻을 수 없다는 말을 듣고 연관관계에 대해 다시 생각해 보는 계기가 되었다.
Enum
주문 상태 표시를 Enum을 사용하여 작업하였는데 이 작업을 진행하면서 어려움이 꽤 따라서 많은 시도를 해보았고, 그 결과 그냥 나열만 할 수 있는 줄 알았던 Enum의 다른 기능들도 알 수 있게 되었다.
이번주 목표
알고리즘 쉬운 문제 1문제 이상, 제시된 문제 혹은 정답률 낮은 문제 1문제 이상 총 2문제 이상 풀기
저번 프로젝트처럼 시간적으로 여유가 있을 줄 알고 많은 개인공부 목표를 세웠는데 이번 프로젝트는 정말 시간이 부족하였다. 계속 알고리즘 문제를 풀어야 한다는 생각은 가지고 있었지만, 팀프로젝트에서 다른 팀원들이 담당한 기능 구현들도 도와주다 보니 알고리즘 문제를 하나도 풀지 못하였다.
이펙티브 자바의 아이템 1개 이상 팀프로젝트나 개인과제 리팩토링에 적용해보기
프로젝트의 기본기능을 구현하기 바빠서 이펙티브 자바의 내용으로 리팩토링을 할 시간이 충분하지 않았다. 다음 주에 프로젝트가 완성되면 프로젝트를 혼자 리팩토링 해보면서 적용해 보면 좋을 것이다.
다다음주 JPA 심화 대비
@Query 어노테이션 사용하여 직접 쿼리문을 작성하였을 때와 JPA에서 제공하는 메소드와의 차이점 알아보기
프로젝트를 완료하고 연관관계를 맺었을 때의 쿼리와 맺지 않았을 때의 쿼리, 직접 쿼리문을 입력하였을 때의 쿼리와 JPA가 제공하는 메소드의 쿼리를 비교하여 어느 방식이 적은 쿼리가 발생하고, 성능을 향상 시킬 수 있는지 알아 보아야 할 것이다.
연관관계 설정했을 때의 장점과 단점 알아보기
연관관계를 설정하는 것이 무조건 안 좋다고 인식하고 있었는데 이번에 Order와 OrderItem을 구현하면서 연관관계의 효용을 조금은 느낀 것 같다. 프로젝트가 완료되면 여러 방식으로 연관관계를 맺어보며 각각의 장점과 단점을 조금 더 명확하게 알아야 할 것이다.
다음주 목표
- 알고리즘 쉬운 문제 1문제 이상, 제시된 문제 혹은 정답률 낮은 문제 1문제 이상 총 2문제 이상 풀기
- 이펙티브 자바의 아이템 1개 이상 팀프로젝트나 개인과제 리팩토링에 적용해보기
- 최종 프로젝트를 대비하여 여태 사용해보지 않은 기술 한가지 이상 공부하여 적용해보기
'내일배움캠프 > TIL, WIL' 카테고리의 다른 글
| 230125 TIL (KPT회고, 알고리즘) (0) | 2023.01.25 |
|---|---|
| 230124 TIL (Refresh Token, Redis) (0) | 2023.01.25 |
| 230120 TIL (팀프로젝트) (0) | 2023.01.22 |
| 230119 TIL (팀프로젝트) (0) | 2023.01.19 |
| 230118 TIL (팀프로젝트) (0) | 2023.01.19 |