1. 코루틴 코루틴(Coroutine)은 코틀린에서 비동기-논블로킹 프로그래밍을 명령형 스타일로 작성할 수 있도록 도와주는 라이브러리이다. 코루틴은 멀티 플랫폼을 지원하여 코틀린을 사용하는 안드로이드, 서버 등 여려 환경에서 사용할 수 있다. 코루틴은 일시 중단 가능한 함수(suspend function)를 통해 스레드가 실행을 잠시 중단했다가 중단한 지점부터 다시 재개(resume)할 수 있다. 코루틴을 사용한 구조적 동시성 예시 suspend fun combineApi() = coroutineScope { val response1 = async { getApi1() } val response2 = async { getApi2() } return ApiResult { response1.await() r..
1. R2DBC 1-1. R2DBC 이전 전통적인 방식의 JDBC(Java Database Connectivity) 드라이버는 하나의 커넥션에 하나의 스레드를 사용하는 Thread per Connection 방식 String selectSql = "SELECT * FROM employees"; try (ResultSet resultSet = stmt.executeQuery(selectSql)) { List employees = new ArrayList(); while (resultSet.next()) { Employee emp = new Employee(); emp.setId(resultSet.getInt("emp_id")); emp.setName(resultSet.getString("name")); e..
1. 스프링 WebFlux 1-1. 프로젝트 리액터 (Project Reactor) 리액티브 스트림의 구현체 중 하나로 스프링의 에코시스템 범주에 포함된 프레임워크 리액티브 스트림 사양을 구현하고 있으므로 리액티브 스트림에서 사용하는 용어와 규칙을 그대로 사용한다. 리액터를 사용하면 애플리케이션에 리액티브 프로그래밍을 적용할 수 있고 비동기-논블로킹을 적용할 수 있다. 함수형 프로그래밍의 접근 방식을 사용해 비동기-논블로킹의 난해함을 어느 정도 해결한다. 백프레셔(BackPressure)를 사용해 시스템의 부하를 효율적으로 조절할 수 있다. 1-2. 모노(Mono)와 플럭스(Flux) 리액터는 리액티브 스트림의 Publisher 인터페이스를 구현하는 Mono와 Flux라는 두 가지 핵심 타입을 제공한다...
- Total
- Today
- Yesterday
- 디자인 패턴
- 대수확장성
- Design Pattern
- 함수형 프로그래밍
- 프로그래밍 패러다임
- 스프링 WebFlux
- 직접매핑
- 프로세스 컴파일
- 연관매핑
- java
- 메모리 계층
- 스레드
- 인덱스최적화
- 중첩루프조인
- 프로세스와 스레드
- 세컨더리인덱스
- 네트워크
- 선언형 프로그래밍
- 직접연관매핑
- 보이스코드정규형
- 프로그래밍
- 스프링 R2DBC
- 네트워크 기초
- 자바
- 캐시매핑
- 불연속할당
- 정렬병합조인
- 프로세스
- 클러스터형인덱스
- 코틀린
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |