일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 코딩 테스트
- 알고리즘
- @Setter
- Java
- 영속 자료구조
- 검색 기능 확장
- 고차원 함수
- H-index
- @Getter
- 가장 큰 수
- 롬복 어노테이션
- K번째수
- 완주하지 못한 선수
- @Data
- 쿠버네티스
- 모던 자바 인 액션
- 스택/큐
- 전화번호 목록
- @EnableScheduling
- 기능개발
- kubenetes
- 스프링 스케쥴러
- 루씬 인 액션
- @configuration
- 다리를 지나는 트럭
- 크론 표현식
- 해시
- 정렬
- 커링
- Today
- Total
목록JAVA & Spring (29)
Today I Learned
18.1 시스템 구현과 유지보수 함수형 프로그래밍이 제공하는 부작용 없음(no side effect)과 불변성(immutability)이라는 개념은 시스템의 유지보수에 큰 도움을 준다. 18.1.1 공유된 가변 데이터 공유된 가변 데이터 구조로 인해 변수가 예상하지 못한 값을 갖게 되고 데이터 갱신 사실을 추척하기 어려워진다. 클래스 또는 객체의 상태를 바꾸지 않으며 return 문을 통해서만 자신의 결과를 반환하는 메서드를 순수(pure) 메서드 또는 부작용 없는(no side effect) 메서드라고 부른다. 여기서 부작용은 함수 내에 포함되지 못한 기능을 의미한다. 자료구조를 고치거나 필드에 값을 할당(setter 메서드 같은 생성자 이외의 초기화 동작) 예외 발생 파일에 쓰기 등의 I/O 동작 수..
이 장의 내용 리액티브 프로그매잉을 정의하고 리액티브 매니패스토를 확인함 애플리케이션 수준, 시스템 수준의 리액티브 프로그래밍 리액티브 스트림, 자바 9 플로 API를 사용한 예제 코드 널리 사용되는 리액티브 라이브러리 RxJava 소개 여러 리액티브 스트림을 변환하고 합치는 RxJava 동작 살펴보기 리액티브 스트림의 동작을 시각적으로 문서화하는 마블 다이어그램 리액티브 프로그래밍 패러다임의 중요성 : 달라진 환경 빅데이터 : 페타바이트 단위로 구성되며 계속해서 증가 다양한 환경 : 모바일 디바이스에서 클라우드 기반 클러스터에 이르기까지 사용 패턴 : 사용자는 24시간 서비스를 이용할 수 있으며 밀리초 단위의 응답을 원함 다양한 시스템과 소스에서 들어오는 데이터 항목 스트림을 비동기적으로 처리하고 합쳐..
16.4 비동기 작업 파이프라인 만들기 public class Discount { public enum Code { NONE(0), SILVER(5), GOLD(10), PLATINUM(15), DIAMOND(20); private final int percentage; Code(int percentage) { this.percentage = percentage; } } ... } enum으로 할인율을 제공하는 코드를 정의하였다. 그리고 getPrice 메서드는 ShopName:price:DiscountCode 형식의 문자열을 반환하도록 수정했다. public String getPrice(String product) { double price = calcuatePrice(product); Discount..
이 장의 내용 비동기 작업을 만들고 결과 얻기 비블록 동작으로 생산성 높이기 비동기 API 설계와 구현 동기 API를 비동기적으로 소비하기 두 개 이상의 비동기 연산을 파이프라인으로 만들고 합치기 비동기 작업 완료에 대응하기 16.1 Future의 단순 활용 시간이 걸릴 수 있는 작업을 Future 내부로 설정하면 호출자 스레드가 결과를 기다리는 동안 다른 작업을 할 수 있다. Future 작업은 ExecutorService에서 제공하는 스레드에서 처리되고, 작업의 결과가 필요한 시점에 Future의 get 메서드로 결과를 가져올 수 있다. 하지만 get 메서드를 호출했을 때 결과가 준비되어있지 않다면 작업이 완료될 때까지 스레드를 블록시킨다. 16.1.1 Future 제한 Future 인터페이스에는 비..