Backend 4

Java 비동기 처리 (2) - CompletableFuture 사용해보기

0. Intro 지난 시간에 Future 를 활용한 스프링/자바 에서의 비동기 처리에 대해 알아보았다. Java 비동기 처리 (1) 기본편 Contents 0. Intro 1. 비동기란 2. 자바 비동기 구성요소 2.1 Future 2.2 ExecutorService & Executors 3. 스프링을 사용한다면? 3.1 @EnableSync 3.2 Executor Configuration 3.3 @Async 3.3.1 주의할 점.. fearless-nyang.tistory.com 당시 Future 를 사용하여 비동기 처리에 대한 기본을 훑어봤는데, 비동기 처리의 정수는 CompletableFuture 에 있다고해도 과언이 아니라고 생각해서..! 아쉬워 이번 포스팅에서 다뤄보려 한다. 사실상 자바 비동기..

Backend/Java 2022.06.26

Java 비동기 처리 (1) 기본편

Contents 0. Intro 1. 비동기란 2. 자바 비동기 구성요소 2.1 Future 2.2 ExecutorService & Executors 3. 스프링을 사용한다면? 3.1 @EnableSync 3.2 Executor Configuration 3.3 @Async 3.3.1 주의할 점 0. Intro 개인적으로 '비동기'는 그동안 내가 상당히 압도되고 깊게 공부하기 부담스러웠던 주제였다. 왜 그랬을까 생각해보면 아래와 같이 요약해볼 수 있을 거 같다. 비동기를 공부하려고 하면 맞닥뜨리는 현상 1. 비동기 컨셉 근본 글들이 대부분 Javascript 로 이야기한다. 2. 자바로 공부하는 순간 쏟아져나오는 개념... 심지어 자바를 잘 알아야 할거 같은 너낌 Future (미래?), Executor,..

Backend/Java 2022.05.23

Test Double

테스트 더블이란. 테스트의 대상이 의존하는 컴포넌트를 원하는 형태로 동작하는 것처럼 테스트할 수 있도록 하는 방법 액션영화에서 위험한 촬영이 있을 때 스턴트맨이 실제 배우를 대신해 촬영을 진행하곤 한다. 이런 스턴트맨을 외국에서는 '스턴트 더블 (Stunt Double)' 이라 부르는데, 테스트 더블은 테스팅 과정을 촬영에 비유했을 때 비로소 그 의미를 쉽게 유추해볼 수 있다. 테스트 더블(스턴트 더블)이란 실제 객체(배우)로 테스트(촬영)을 진행하기 어려운 경우 대신 진행해주는 방법 및 구성하는 요소들로 정의할 수 있다. 여기서 테스트를 진행하기 어려운 상황이 무엇일까? 단적으로 API를 호출해 데이터를 받아와서 로직을 수행하는 경우, 테스트는 네트워크 연결, 호출하고자 하는 API를 제공하는 서버 상..

Backend/Test 2022.04.24