목차 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. 단위 테스트와 통합 테스트 2. JUnit 5 3. IntelliJ 에서 JUnit 5를 이용한 테스트 4. @ExtendWith(SpringExtension.class) 5. Spring Boot Slice Test 6. 테스트 전략 1. 단위 테스트와 통합 테스트 1) 단위테스트 모듈들이 각각 정상적으로 작동하는지 테스트 한다. 테스트의 단위를 클래스로 잡는다면 대상 클래스의 기능이 정상적으로 작동하는지 확인하는 작업이다. 따라서 동작하는데 필요한 협력 클래스(외부 라이브러리)의 객체는 mock(가짜) 객체로 만들어 복잡도를 낮추고 대상 클래스의 테스트에 집중하도록 한다. 이 때 사용하는 Java mocking framework 중 하나로 Mockito 가 있다. Mockito 사용법 참고..
목차 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
- java8
- 마이크로서비스 패턴
- kafka
- 스프링 카프카 컨슈머
- named query
- http
- Spring Data JPA
- 계층형 아키텍처
- 학습 테스트
- TDD
- spring rest docs
- H2
- mockito
- Spring Boot
- 이벤트 스토밍
- 폴링 발행기 패턴
- 트랜잭셔널 아웃박스 패턴
- ATDD
- JPA
- Spring
- 도메인 모델링
- 클린코드
- 스프링 예외 추상화
- Ubiquitous Language
- 육각형 아키텍처
- Stream
- Git
- HTTP 헤더
- MySQL
- clean code
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |