- Java 16 주요 변경점starryeyeJDK 16 1. Stream 클래스에 메서드 추가 toList() 스트림의 요소들을 순서대로 List 에 담아 반환한다. Java 16 이전에는 collect(Collectors.toList()) 를 사용했지만, 좀더 간결하게 표현 가능해졌다. mapMulti() mapMulti() 를 알아보는 김에.. map(), flatMap(), multiMap() 를 알아보겠다. (map, flatMap 은 Java 8) map() 스트림 내부의 요소 하나하나에 접근해서... 파라미터로 넣어준 함수를 실행한 뒤 최종연산에서 지정한 형식으로 반환해주는 메서드이다. flatMap() 스트림 내부의 각 요소를 한번 더 또다른 스트림으로 변환하고, 이렇게 생성된 모든 스트림을 하나의 스트림으로 결합한다. (중첩된 데이..
- 2023-05-20 01:41:47
- 불변 객체 validationstarryeye불변 객체, lombok @Value 와 Java record 포스팅에서 이어진다. 개발을 하다보면 불변 객체는 Dto 로 사용되며 이는 Architecture 관점에서 각 layer 의 입력 모델과 출력 모델에 해당한다. 또한, 입력 모델과 출력 모델에 대한 검증 책임은 각 layer에 있기 때문에 불변 객체의 validation 은 항상 신경 써줘야 한다.. (생성 시점) 이번 포스팅에서는 불변 객체의 생성시점에서 자주 사용되는 검증 방법을 코드로 한번 알아보겠다. -> 선언적 유효성 검사 방법 -> 개발자가 모두 구현하는 방식은 제외 Lombok 을 사용한 방법 import lombok.Builder; import lombok.NonNull; import lombok.Value; @Value @Bu..
- 2023-05-07 06:32:38
- 불변 객체, lombok @Value 와 Java Recordstarryeyelombok 의 @Value 를 이용한 불변객체 만들기와 Java 14 ~ 16 부터 도입된 record 타입을 활용한 불변객체 만들기를 알아보자.. lombok @Value 롬복은 자바 개발을 단순화하고 가독성을 높이기 위한 라이브러리이다. (annotation 방식으로 boilerplate code 를 줄여준다.) 예를 들면 어떤 클래스에 @Getter 어노테이션을 적용하면 빌드 후 ".class 파일"을 까보면 해당 클래스의 모든 필드에 대한 getXXX 메서드가 만들어져 있다. 그러면 @Value는 개발자 대신 어떤 것을 해줄까.. 1. 모든 필드를 private final 로 만들어 준다. -> 이로써 필드의 값을 변경할 수 없게 되어 불변성이 보장된다. 2. 모든 인자를 받는 생성자를 만들어준..
- 2023-05-07 03:30:42
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)