목차 1. Optional 2. Optional API 1. Optional 1) 자바 프로그래밍에서 NullPointerException을 종종 보게 되는 이유 null을 리턴하니까! && null 체크를 깜빡했으니까! 2) 메소드에서 작업 중 특별한 상황에서 값을 제대로 리턴할 수 없는 경우 선택할 수 있는 방법 - 예외를 던진다. (비싸다, 스택트레이스를 찍어두니까.) - null을 리턴한다. (비용 문제가 없지만 그 코드를 사용하는 클리어인트 코드가 주의해야 한다.) - (자바 8부터) Optional을 리턴한다. (클라이언트에 코드에게 명시적으로 빈 값일 수도 있다는 걸 알려주고, 빈 값인 경우에 대한 처리를 강제한다.) 3) Optional 오직 값 한 개가 들어있을 수도 없을 수도 있는 컨네..
목차 1. Stream 2. Stream API 1. Stream 1) Stream sequence of elements supporting sequential and parallel aggregate operations 데이터를 담고 있는 저장소(컬렉션)가 아니다. Funtional in nature, 스트림이 처리하는 데이터 소스를 변경하지 않는다. 스트림으로 처리하는 데이터는 오직 한번만 처리한다. 무제한일 수도 있다. (Short Circuit 메소드를 사용해서 제한할 수 있다.) 중개 오퍼레이션은 근본적으로 lazy 하다. List names = new ArrayList(); names.add("mandy"); names.add("hongseok"); names.add("keesun"); nam..
목차 1. 메소드 참조 2. 인스턴스 메소드 참조 1 3. 인스턴스 메소드 참조 2 4. 생성자 참조 5. static 메소드 참조 1. 메소드 참조 메소드 참조를 통해 기본적으로 람다식보다 조금 더 코드를 단순하게 할 수 있다. 일부 람다식을 메소드 참조로 대신하게 할 수 있다. 람다식으로 작성했을 때 넘어오는 인자를 그대로 메소드 참조에 사용하겠다는 약속을 기반으로 람다식 대신 메소드 참조를 사용할 수 있다. public static void main(String[] args) { List list = Arrays.asList(1, 3, 5, 7, 9); list = new ArrayList(list); // 익명 클래스 Consumer consumer1 = new Consumer() { @Overr..
1. 함수형 인터페이스 2. 자바에서 제공하는 함수형 인터페이스 3. 람다 표현식 4. 메소드 참조 1. 함수형 인터페이스 추상메소드를 하나만 가지고 있는 인터페이스 @FuncationInterface 어노테이션을 가지고 있는 인터페이스 // functional interface 를 annotation으로 정의 가능 // 선언 규칙위반일 때 컴파일 오류 발생 : 좀 더 견고하게 관리할 수 있다. @FunctionalInterface public interface FunctionalInterface01 { // 추상 메소드를 하나만 가지고 있는 인터페이스 // abstract 생략 가능 void doIt(); // static, default 메소드 정의 가능(java 8 에 추가된 기능) // publi..
- Total
- Today
- Yesterday
- H2
- named query
- Ubiquitous Language
- 클린코드
- 이벤트 스토밍
- 도메인 모델링
- TDD
- http
- spring rest docs
- 스프링 예외 추상화
- Spring
- Stream
- 트랜잭셔널 아웃박스 패턴
- kafka
- 마이크로서비스 패턴
- MySQL
- ATDD
- 폴링 발행기 패턴
- 스프링 카프카 컨슈머
- JPA
- HTTP 헤더
- 계층형 아키텍처
- 학습 테스트
- 육각형 아키텍처
- Spring Boot
- Spring Data JPA
- java8
- mockito
- clean code
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |