> For the complete documentation index, see [llms.txt](https://jinwon-yoon.gitbook.io/jinonys-blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jinwon-yoon.gitbook.io/jinonys-blog/daily-log/2023.03.31.md).

# 2023.03.31

일일 회고 226일차

## 할일 및 한일&#x20;

* [x] 캡스톤 프로젝트 개발&#x20;
* [x] 스프링 데이터 JPA 강의 학습&#x20;

## 경험 및 배움&#x20;

### 캡스톤 프로젝트 개발&#x20;

오늘도 역시 캡스톤을 개발하였다.

오늘은 진전사항이 꽤 있었다. **옵셔널 적용, `final` 키워드 적용, 에러코드 생성 및 예외 처리를 추가**하였다.

확실히 옵셔널을 사용하니 `null` 체크 로직을 대체하는 것과, `orElseThrow` 를 이용하여 가독성 좋은 예외 처리를 할 수 있다는 점이 좋았다.

또한, 에러 코드를 `enum` 으로 생성하여 에러 메시지, 코드 등을 한번에 관리하여 적용하니 편하고 가독성이 훨씬 높아졌다.

<figure><img src="https://554097319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXOFWKNTyvL7RYCd4zX33%2Fuploads%2F1GnGsnUKlA5eMfQW4uV1%2Fimage.png?alt=media&amp;token=8086f14e-8a9b-4e19-9db6-2bead97853fe" alt=""><figcaption></figcaption></figure>

<figure><img src="https://554097319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXOFWKNTyvL7RYCd4zX33%2Fuploads%2FGa67gsLzoziiX03BEqMi%2Fimage.png?alt=media&amp;token=7d1edea0-2a88-43d0-9eaa-a0bd6dd1502a" alt=""><figcaption><p>사용 예시</p></figcaption></figure>

또한, **`final` 키워드를 메서드 파라미터에 붙여 혹시 모를 내부에서의 변경에 대비하였다!**

### 스프링 데이터 JPA 강의 학습&#x20;

마지막으로는 스프링 데이터 JPA 강의 학습을 시작하였다.

**프로젝트 생성 및 환경설정을 하고, 간단하게 레퍼지토리를 생성하여 일반 레퍼지토리와 JpaRepository를 사용한 방법을 비교**해보았다.

전에 계속 찾아보고, 이것저것 학습해본 덕인지 그리 어렵게 느껴지진 않는다.

쿼리 메서드 기능만 잘 학습하면 될 것 같다.

자세한 학습 내용은 다음 링크에서 볼 수 있다.

{% embed url="<https://jinwonyoon.notion.site/JPA-7c80306138ef4dc4a794c987604e11ce>" %}

## 개선 및 목표&#x20;

* 내일도 역시 강의 학습 및 캡스톤 개발을 진행하자.&#x20;
