Latest

6월
04

친절한 SQL 튜닝 - 2. 인덱스 구조 및 탐색

미리 보는 인덱스 튜닝특정 데이터를 찾는 방법은 크게 아래의 두 가지로 나뉜다. 테이블 전체를 스캔한다.인덱스를 이용한다.찾으려는 데이터가 중복이
15 min read
6월
01

<Redis> 레디스 활용해서 N개의 랜덤 데이터 가져오기

우선 개발 중인 서버의 요구사항은 아래와 같습니다. Chosung 이라는 테이블이 있고 해당 테이블에서 클라이언트에게 전달될 랜덤한 N개의 초성 데이터를 뽑아내야합니다.
10 min read
5월
18

친절한 SQL 튜닝 - 1. SQL 처리 과정과 I/O

1.1 SQL 파싱과 최적화구조적, 집합적, 선언적 질의 언어SQL은 단어 그대로 구조적 질의 언어이다. 해당 언어는 아래와 같은 순서로 실행된다.
13 min read
5월
16

자바 병렬 프로그래밍 - 3장 객체 공유

가시성특정 변수의 값을 여러 스레드가 가져갈 때, 한 스레드가 작성한 값을 가져간다는 보장을 할 수 없다. 그래서 메모리상의 공유된 변수를
8 min read
5월
16

<Java> ThreadLocal 딥다이브

자바 병렬 프로그래밍을 읽으면서 문득 ThreadLocal이라는 클래스가 어떻게 스레드마다 서로 다른 참조를 유지시키는지 궁금해졌다. 이를 파악해본다. 먼저 공부를 하기 전
4 min read
5월
10

자바 병렬 프로그래밍 - 2장 스레드 안전성

동기화 프로그램 작성 시 아래의 3가지 사항을 고려한다. 해당 상태 변수를 스레드 간에 공유하지 않거나해당 상태 변수를 변경할 수 없도록
7 min read
4월
04

<Java> redis를 곁들여 Selector를 사용해보기

본 포스팅은 java의 nio 패키지의 Selector를 활용하여 Redis와 간단한 연산을 통해 통신하는 법을 알아봅니다. 또한 논블로킹과 블로킹 처리의 초당 요청
11 min read
4월
02

<Java> Reactive Streams 1

이번 포스팅에서는 Java Reactive Streams이 어떤 요구사항에 의해 생겼는지 그리고Publisher와 Subscriber의 기본적인 동작에 대해서 작성할 예정입니다. Iterable vs ObservableProject Reactor의
10 min read
3월
24

<Java> CompletableFuture는 왜 필요할까?

이번 글은 Future와 CompletableFuture의 동작을 간단히 소개하고, 왜 Future 타입의 경우 100% non-blocking이라고 할 수 없는지 그리고 이를 해결하기 위해
7 min read
3월
24

<Spring> @Async 동작 원리

이번 포스팅에서는 스프링 환경에서 @Async 어노테이션을 통해 비동기로 메서드 로직을 처리하는 방법과 원리에 대해서 알아본다. @Async 적용하기우선 springboot 환경에서 @Async
8 min read