새로운 포스트
-
Kotlin
[Kotlin] 코틀린 온보딩 7편 - 확장 함수: 바이트코드로 확장 프로퍼티까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 6편 - 함수 호출: 이름 있는 인자부터 infix까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 5편 - 루프와 예외 처리: for/while과 try-catch
-
Kotlin
[Kotlin] 코틀린 온보딩 4편 - enum과 when: 완전성 검사 다시 보기
-
Kotlin
[Kotlin] 코틀린 온보딩 3편 - 클래스와 프로퍼티: 커스텀 접근자로 이해하기
-
Spring WebFlux
[Spring WebFlux] 5편: Reactor의 배압 제어 - request(n)에서 전략까지
-
Spring WebFlux
[Spring WebFlux] 4편: Cold/Warm/Hot Sequence
-
Spring WebFlux
[Spring WebFlux] 3편: Reactive Streams, 실무에서는 - 구현체와 오해
다른 사람들이 관심있어한 포스트
-
Techfork [26/01/28] 오늘의 개발 일지 - 웹 Apple 소셜 로그인 구현 오늘은 웹에서 Apple 소셜 로그인을 할 수 있도록 REST API 문서를 보고 구현했습니다. 애플 로그인은 카카오 로그인보다 훨씬 까다롭더군요...https://developer.apple.com/documentation/signinwithapplerestapi Sign in with Apple REST API | Apple Developer DocumentationCommunicate between your app servers and Apple’s authentication servers.developer.apple.com 웹 Apple 로그인 구현 가이드TechFork 프로젝트의 Spring Security OAuth2 기반 Apple 소셜 로그인 구현⚠️ Apple vs Kakao 핵심 차이.. -
MySQL [MySQL] 고급 최적화 (1) - 조인은 어떻게 실행되는가: BNL, MRR & BKA 들어가며지금까지 이 시리즈에서는 MySQL 서버의 구조와 InnoDB의 내부 동작을 다뤘습니다. 서버 레이어의 커넥션 처리와 쿼리 처리 파이프라인, 그리고 버퍼 풀과 인덱스 구조, 로그 시스템까지 InnoDB의 핵심 메커니즘을 살펴봤습니다. 이번 포스트부터는 조금 다른 층위의 이야기를 다룹니다. 지금까지 살펴본 구조들이 "데이터를 어떻게 저장하고 관리하는가"에 대한 답이었다면, 이번 시리즈는 "그 저장된 데이터를 어떻게 더 빠르게 조합해서 결과를 만들어내는가", 즉 옵티마이저의 고급 최적화 기법들을 다룹니다. 첫 번째 주제는 조인(Join)입니다. 정확히는, 두 개 이상의 테이블을 연결할 때 MySQL이 실제로 어떤 알고리즘으로 실행하는가에 대한 이야기입니다. 같은 조인이라도 실행 방식에 따라 성능이 몇..
-
JVM [JVM] 가비지 컬렉터의 역사 (6) - ZGC와 Generational ZGC: 서브밀리초 GC의 모든 것 이전 포스트에서 Shenandoah는 Brooks Pointer를 사용해 동시 압축을 구현했습니다.https://dmoritle.tistory.com/174 [JVM] 가비지 컬렉터의 역사 (5) - Shenandoah GC: 동시 이주 실현한 Low-Latency 가비지 컬렉터서론: 왜 Low-Latency GC가 필요해졌는가하드웨어 성장이 만든 역설1990년대부터 2000년대 초반까지 JVM 힙 메모리는 수백 MB 수준이었습니다. 그러나 메모리 가격 하락과 64비트 아키텍처의 보편화로dmoritle.tistory.com ZGC는 같은 목표를 Colored Pointer와 Load Barrier로 달성하되, 구현 전략은 정반대에 가깝습니다. 1. ZGC 개요ZGC란?ZGC(Z Garbage Colle..
-
Spring [Spring] Spring의 비동기 처리 — @Async부터 Virtual Thread 통합까지 들어가며이전 포스트에서 자바의 네 가지 동시성 구현 메커니즘(Thread, Executor, Fork/Join, Virtual Thread)을 살펴보았습니다. 이번 포스트에서는 Spring Framework가 이 위에서 비동기 처리를 어떻게 추상화하는지 정리합니다. Spring은 @Async 어노테이션 하나로 메서드를 비동기로 실행할 수 있게 해줍니다. 편리하지만, 내부 동작 원리를 이해하지 못하면 "분명히 @Async를 붙였는데 동기로 실행된다"는 문제를 마주치게 됩니다. 이 포스트에서는 설정부터 동작 원리, 흔한 함정, 그리고 Spring Boot 3.2+에서의 Virtual Thread 통합까지 다룹니다. 1. @Async와 ThreadPoolTaskExecutor 설정1-1. @EnableAsyn..
-
Kotlin [Kotlin] 코틀린 온보딩 5편 - 루프와 예외 처리: for/while과 try-catch 지난 편에서는 enum class와 when을 엮어서 완전성 검사를 다시 짚어보고, when이 자바의 switch보다 훨씬 유연하게 쓰이는 지점들을 살펴봤습니다.https://dmoritle.tistory.com/288?category=1362768 [Kotlin] 코틀린 온보딩 4편 - enum과 when: 완전성 검사 다시 보기지난 편에서는 변수를 프로퍼티로 승격시키는 클래스 선언과 커스텀 접근자, 그리고 패키지·디렉터리 구조의 자유로움까지 살펴봤습니다.https://dmoritle.tistory.com/287 [Kotlin] 코틀린 온보딩 3편 -dmoritle.tistory.com 이번 편의 핵심은 1편에서 "여전히 문인 것들"로 잠깐 언급하고 넘어간 for/while 루프와, 예외를 던지고 잡는..