전체 글 9

Real Mysql 8.0 - Part 1. MYSQL Architecture

Intro 배치성 업무 특성상 로직이 쿼리에 있는 경우가 대부분이고, 복잡한 쿼리로직이 많음에 따라 orm보다는 raw query를 다루게 된다. 뿐만 아니라 운영 과정에서 DB 관련된 timeout 이나 세션 사용문제 등으로 문제가 생김에 따라 자바나 스프링 이상으로 DB에 대한 숙련도가 필요하다고 느꼈고, 사용 스택인 Mysql 의 바이블 책이라고 불리우는 Real Mysql 8.0을 다시 읽게 되었다. 물론 인덱스나 파티셔닝 등 실제상황의 문제들을 해결하기 위한 직접적인 주제들도 중요하지만, 이전에 큰 그림을 먼저 잡고 가고자 본 주제를 다루었다. 본 포스팅은 Real MYSQL 8.0 책의 4장 내용을 다룹니다. MYSQL Architecture MYSQL은 여타 RDBMS처럼 다양한 프로그래밍 ..

카테고리 없음 2022.09.05

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

java.util.concurrent.Future 가이드

해당 글은 https://www.baeldung.com/java-future 를 번역한 글입니다. 1. 개요 이 튜토리얼에서는 Future에 대해 알아보고자 한다. 자바 1.5부터 생긴 인터페이스로, 비동기 호출과 병렬 처리 하는데 꽤나 유용하다. 2. Future 만들기 간단히 말하자면, Future 클래스는 미래에 나오는 비동기 연산 결과를 나타내는 클래스다. 이 결과는 처리가 완료되면 Future 에 최종적으로 나올 것이다. 그럼 Future 객체를 만들고 반환하는 메소드를 어떻게 작성하면 될까? 오래 도는 메소드는 기다리는 동안 다른 프로세스를 실행할 수 있다는 점에서 비동기로 처리하기에 좋은 후보다. Future의 비동기 특성을 사용 하기에 적합한 작업은 다음과 같다. 수학적, 과학적 계산 등의..