Blog
Posts
작성한 모든 글.
서버
Spring WebFlux 정리: 이벤트 루프, Mono 와 Flux, backpressure, 그리고 MVC 와의 선택 기준
Spring MVC 의 스레드 모델과 WebFlux 의 이벤트 루프 모델의 차이, Reactive Streams 의 backpressure, Mono 와 Flux, WebClient 와 R2DBC, 이벤트 루프를 막는 블로킹 호출과 BlockHound, Kotlin 코루틴 지원, 공식 문서가 제시하는 도입 기준을 Spring Boot 3.1 기준으로 살펴봅니다.
자료구조
연결 리스트, 포인터 두 개로 끼워 넣는 구조와 뒤집기·사이클 탐지 (Kotlin)
노드와 포인터로 이어 붙이는 단일·이중·원형 연결 리스트를 애니메이션으로 보고, 삽입·삭제·탐색 복잡도와 배열과의 차이(캐시 지역성 포함), java.util.LinkedList 의 특성, 리스트 뒤집기와 Floyd 사이클 탐지를 Kotlin 코드로 정리합니다.
Kotlin
Kotlin 제네릭과 Java 제네릭, 변성을 쓰는 위치가 다릅니다
Java 의 사용 지점 와일드카드(? extends, ? super)와 Kotlin 의 선언 지점 변성(out, in)을 PECS 와 대응해 비교하고 타입 프로젝션, 스타 프로젝션과 raw type, inline 과 reified, where 제약, List 와 MutableList 의 차이를 실행 결과와 함께 다룹니다.
서버
서버 아키텍처의 의존 방향: 계층형, 헥사고날, 어니언, 클린 아키텍처와 Kotlin 패키지 구조
계층형 아키텍처가 만드는 의존 방향과 한계, Cockburn 의 헥사고날(포트와 어댑터), Palermo 의 어니언, Martin 의 클린 아키텍처가 공유하는 의존성 규칙을 비교합니다. Spring 에 묶이지 않는 Kotlin 패키지 구조와 테스트 이점, 과하게 느껴지는 경우를 함께 봅니다.