[VMware Tanzu] Spring Boot 밋업 with Josh Long
인프런에 퇴근길 밋업으로 영상 제공되는게 있어서 들어보았다. 처음에는 개 입양서비스를 만드는 부분에 대해서 실시간 라이브 코딩을 진행했다. 스피커 Josh Long 분께서 말을 너무 잘하셔서 놀랐다.
Spring Project를 바로 만드셨고 아래 Dependencies 를 하나씩 추가하셨다.
로컬호스트에서 프로젝트를 실행하고 데이터베이스까지 연결 확인해보려고 했는데 우선은 데이터가 없어서 스킵했다!
코드에서 Data Oriented Programming 방식을 지원하는데 Java 버전이 17 이후로 올라가면서 다음 문법들을 지원하게 되었다.
- sealed types
- records
- pattern matching
- smart switch expressions
이러한 방식을 지원하는건 자바가 대규모 프로그래밍에서 성공적으로 실행하기 위한 목적임을 알 수 있었다.
위에 해당 하는 부분을 대출 서비스로 예시를 들어줬는데 다음과 같다.
우선은 대출, 비대출 서비스 각각을 만들어줬는데 비대출 서비스는 record 를 사용하였다.
record 는 toString, equals, hashCode, constructors, getter, setter 를 기본으로 만들어주는듯 하다. 일종에 tuple 역할을 하는듯 싶다.
그리고 Loan 서비스를 switch를 활용해 다음과 같이 매치시키는 코드를 구현하였다. switch를 사용하니 간결하고 코드의 가독성이 좋아진거 같다. 단순히 값만 비교하는게 아니라 객체의 타입을 비교해볼 수 있다. record 로 작성된 UnsecuredLoad 는 interest 에 바로 접근할 수 있고, 명시적인 캐스팅을 따로 할 필요도 없는거 같아 좋은거 같다.
'IT' 카테고리의 다른 글
Internal, external gateway 에 대해서 (1) | 2024.11.25 |
---|---|
가상 면접 사례로 배우는 대규모 시스템 설계 기초 4장 (1) | 2024.10.06 |
Spring Batch 5 migration guide (0) | 2024.09.01 |
몽고디비 모델링, 자주사용하는 연산자 정리 (0) | 2024.08.19 |
가상 면접 사례로 배우는 대규모 시스템 설계 기초 2장 - 개략적인 규모 추정 (0) | 2024.07.28 |
댓글
이 글 공유하기
다른 글
-
Internal, external gateway 에 대해서
Internal, external gateway 에 대해서
2024.11.25 -
가상 면접 사례로 배우는 대규모 시스템 설계 기초 4장
가상 면접 사례로 배우는 대규모 시스템 설계 기초 4장
2024.10.06 -
Spring Batch 5 migration guide
Spring Batch 5 migration guide
2024.09.01 -
몽고디비 모델링, 자주사용하는 연산자 정리
몽고디비 모델링, 자주사용하는 연산자 정리
2024.08.19