새로운 포스트
-
Kotlin
[Kotlin] 코틀린 제대로 활용하기 1편 - 위임 프로퍼티: by 키워드로 lazy부터 맵 위임까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 11편 - 널이 될 수 있는 값: null 안전성 한 번에 정리하기
-
Kotlin
[Kotlin] 코틀린 온보딩 10편 - object와 companion object: 싱글톤부터 value class까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 9편 - 생성자: 정의와 초기화를 한 번에 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 8편 - 클래스 계층 구조: 인터페이스부터 sealed class까지 한눈에 정리하기
-
Kotlin
[Kotlin] 코틀린 온보딩 7편 - 확장 함수: 바이트코드로 확장 프로퍼티까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 6편 - 함수 호출: 이름 있는 인자부터 infix까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 5편 - 루프와 예외 처리: for/while과 try-catch
다른 사람들이 관심있어한 포스트
-
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 핵심 차이.. -
DDD [DDD] 바운디드 컨텍스트 매핑 패턴 - OHS/PL과 ACL 중심으로 1. BC 간 통합 패턴 전체 목록Bounded Context 간 통합 방식을 결정하는 것이 컨텍스트 매핑(Context Mapping)입니다.IDDD(Implementing Domain-Driven Design)에서는 다음과 같은 패턴들을 제시합니다.각 패턴은 두 BC 사이의 팀 관계와 기술적 통합 방식을 함께 표현합니다. 패턴 핵심Upstream/Downstream파트너십 (Partnership)두 팀이 대등하게 협력, 함께 일정 조율없음 (대등)공유 커널 (Shared Kernel)일부 도메인 모델을 두 BC가 공유없음 (공유)고객-공급자 (Customer-Supplier)Upstream이 Downstream 요구사항을 수용U/D 있음순응주의자 (Conformist)Downstream이 Upstre..
-
JVM [JVM] Project Leyden과 AOT Cache - Java가 콜드 스타트 문제를 해결하는 방법 JVM 인터널 시리즈1편에서 CDS와 AppCDS가 클래스 로딩 결과를 공유 아카이브에 저장하고 mmap으로 재사용하는 방법을 살펴봤습니다.그런데 CDS가 캐싱하는 범위는 Loading과 Verification까지였고, Linking의 마지막 단계인 Resolution은 여전히 런타임에 수행됐습니다.이번 글은 그 나머지를 채우는 Project Leyden과 AOT Cache를 다룹니다. 1. CDS의 한계: 시작 지연의 두 가지 얼굴1편을 마치며 남긴 질문이 있었습니다. CDS와 AppCDS가 Spring Boot 애플리케이션의 시작 시간을 40~60% 줄여줬는데, 나머지 40~60%는 어디서 오는 걸까요? Spring Boot 애플리케이션의 기동을 단계별로 보면 이렇습니다.① Loading + Veri..
-
Java [Java] CountDownLatch 완벽 정리 — 멀티스레드 동기화의 핵심 Java 동시성 프로그래밍에서 "특정 작업들이 모두 끝날 때까지 기다려야 하는" 상황, CountDownLatch 하나면 깔끔하게 해결됩니다. 1. CountDownLatch란?CountDownLatch는 Java 5(java.util.concurrent)에서 도입된 동기화 보조 클래스입니다.내부에 카운터(count) 를 가지고 있으며, 이 카운터가 0이 될 때까지 하나 이상의 스레드를 대기시키는 역할을 합니다.패키지: java.util.concurrent.CountDownLatch핵심 개념: 카운터가 0이 되는 순간 대기 중인 스레드가 일제히 진행을 재개 2. 핵심 메서드메서드설명CountDownLatch(int count)카운터 초기값을 설정하여 생성await()카운터가 0이 될 때까지 현재 스레드..
-
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..