목차 1. 리덕션 2. 병렬 스트림 1. 리덕션 스트림을 통해 들어가는 처음 두 개의 데이터에 대한 연산 결과와 다음 데이터를 연산하는 방식으로 최종 한 개의 결과값을 만들어내는 데이터 축소 연산. T reduce(T identity, BinaryOperator accumulator); public interface BinaryOperator extends BiFunction { // T apply(T t1, T t2) } List ls = Arrays.asList("Box", "Simple", "Complex", "Robot"); BinaryOperator lc = (s1, s2) -> { if(s1.length() > s2.length()) return s1; else return s2; }; Str..
목차 1. Strean 2. 스트림 생성 3. 중간 연산(중개 오퍼래이션) 4. 최종 연산(종료 오퍼레이션) 1. Strean 스트림을 통해 배열, 컬렉션 인스턴스의 데이터들을 가공할 수 있다. 스트림 생성, 중간 연산, 최종 연산 순으로 진행되고 최종 연산이 없으면 아무 결과를 얻지 못한다. 2. 스트림 생성 1) 배열 Arrays 클래스의 static 메소드 사용 public static IntStream stream(int[] array, int startInclusive, int endExclusive) int[] ints = {1, 2, 3, 4, 5}; // 인덱스 1 ~ 3 데이터를 대상으로 스트림 생성 Arrays.stream(ints, 1, 4) .forEach(System.out::pr..
목차 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..
- Total
- Today
- Yesterday
- 육각형 아키텍처
- Ubiquitous Language
- TDD
- 도메인 모델링
- Spring Boot
- 스프링 카프카 컨슈머
- 이벤트 스토밍
- MySQL
- 마이크로서비스 패턴
- 폴링 발행기 패턴
- ATDD
- 클린코드
- kafka
- 계층형 아키텍처
- H2
- http
- Spring Data JPA
- spring rest docs
- Git
- Stream
- Spring
- JPA
- named query
- 학습 테스트
- HTTP 헤더
- 트랜잭셔널 아웃박스 패턴
- java8
- clean code
- mockito
- 스프링 예외 추상화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |