# 2023.05.31

## 할일 및 한일&#x20;

* [x] 모던 자바 인 액션 9장(리팩터링, 테스팅, 디버깅) 학습 및 정리&#x20;
* [x] 스프링 MVC 강의 학습&#x20;
* [x] 캡스톤 프로젝트 개발&#x20;

## 경험 및 배움&#x20;

### 모던 자바 인 액션 9장(리팩터링, 테스팅, 디버깅) 학습 및 정리&#x20;

오늘도 역시 모던 자바 인 액션을 학습하고 정리하였다.

오늘 학습한 단원은 **리팩터링, 테스팅, 디버깅!**

**익명 클래스를 람다로 리팩터링해보고, 람다를 메서드 참조로 리팩터링해보고, 명령형 데이터 처리를 스트림으로 리팩터링**해보았다.

또한, **람다를 사용해서 전략 패턴, 템플릿 메서드 패턴, 옵저버 패턴 등을 리팩터링**해보았다.

신박했다! 디자인 패턴을 공부하기는 했어도 람다를 이용해서 리팩터링하다니..

쉽지는 않아도 여러모로 유익한 개발 서적이다.

{% embed url="<https://jinwonyoon.notion.site/Chapter-9-14a871bb994f49e8b51f759390ba21d4>" %}

### 스프링 MVC 강의 학습&#x20;

또한, 스프링 MVC 강의를 학습했다.

컨트롤러를 사용하게 쉽게 변경도 해보고,

**어댑터 패턴을 사용하여 한 가지 방식의 컨트롤러 인터페이스가 아닌 프론트 컨트롤러가 다양한 방식의 컨트롤러를 처리할 수 있도록 변경**도 해보았다.

{% embed url="<https://github.com/Jinwon-Dev/spring-mvc-1/commits?author=Jinwon-Dev&since=2023-05-31&until=2023-05-31>" %}

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

마지막으로는 캡스톤 프로젝트에 **결제 시스템**을 도입해보았다.

우선, 결제라고 하면 생각할게 너무 많고, 찾아봐도 동일했다.

토큰, 응답 형태, Validation, DB에 저장 등등..

우선은 **프론트 단에서 구현할 수 있는 결제창을 띄우고, 실제로 결제가 이루어지게 까지 구현해보았다!**

<figure><img src="https://554097319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXOFWKNTyvL7RYCd4zX33%2Fuploads%2FaMzU05Cm6Vt4tr8T6TJV%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202023-06-01%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.51.22.png?alt=media&#x26;token=1abcc452-4a77-45eb-bc48-b77a736eb7c6" alt=""><figcaption></figcaption></figure>

역시 새로운 기능을 도입할 때가 재미있다.&#x20;

시간 날 때마다 이제 어떻게 처리할것인지 구상을 해봐야겠다.&#x20;

## 개선 및 목표&#x20;

* 내일도 역시 동일하게!&#x20;
