새로운 포스트
-
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
다른 사람들이 관심있어한 포스트
-
MySQL [MySQL] 고급 최적화 (2) - 조인은 어떻게 실행되는가: Hash Join과 세 전략의 종합 비교 들어가며[이전 편: BNL, MRR & BKA]에서는 Nested Loop Join의 기본적인 한계, 그리고 그 한계를 각자 다른 방식으로 풀어낸 Block Nested Loop(BNL)와 BKA(+ MRR)를 다뤘습니다.https://dmoritle.tistory.com/266 [MySQL] 고급 최적화 (1) - 조인은 어떻게 실행되는가: BNL, MRR & BKA들어가며지금까지 이 시리즈에서는 MySQL 서버의 구조와 InnoDB의 내부 동작을 다뤘습니다. 서버 레이어의 커넥션 처리와 쿼리 처리 파이프라인, 그리고 버퍼 풀과 인덱스 구조, 로그 시스템까지 Indmoritle.tistory.com 두 전략 모두 "드리븐 테이블에 대한 접근을 어떻게 다룰 것인가"에 초점을 맞추고 있었죠. 그리고 이전 ..
-
Java [Java] volatile 키워드 완전 정리 - JMM부터 하드웨어 동작까지 1. Java Memory Model(JMM)과 메모리 구조Java에서 멀티스레드 프로그래밍을 이해하려면 먼저 JMM이 정의하는 메모리 구조를 알아야 한다.JMM은 메인 메모리(Main Memory) 와 작업 메모리(Working Memory) 라는 두 가지 논리적 영역을 정의한다.메인 메모리: 모든 스레드가 공유하는 영역. 인스턴스 변수, 클래스 변수 등 공유 데이터가 저장된다.작업 메모리: 각 스레드가 독립적으로 가지는 영역. 메인 메모리의 값을 복사해서 사용한다.각 스레드는 메인 메모리에 직접 접근하지 않고, 자신의 작업 메모리에 복사된 값을 읽고 쓴다. 그리고 필요한 시점에 메인 메모리와 동기화한다. 여기서 핵심은, 작업 메모리는 논리적 개념이라는 것이다. 실제 하드웨어에서는 CPU 레지스터와 캐..
-
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 핵심 차이.. -
Kotlin [Kotlin] 코틀린 제대로 활용하기 1편 - 위임 프로퍼티: by 키워드로 lazy부터 맵 위임까지 이해하기 지난 편에서는 코틀린이 String과 String?를 구분해 null 안전성을 타입 시스템으로 다루는 방법을 살펴봤습니다.https://dmoritle.tistory.com/293 [Kotlin] 코틀린 온보딩 11편 - 널이 될 수 있는 값: null 안전성 한 번에 정리하기지난 편에서는 object와 companion object, 객체 식, value class를 살펴봤습니다.https://dmoritle.tistory.com/292 [Kotlin] 코틀린 온보딩 10편 - object와 companion object: 싱글톤부터 value class까지 이해하기지난 편에서dmoritle.tistory.com 이번 편에서는 프로퍼티의 getter/setter 로직을 다른 객체에게 맡기는 by 키워..
-
MySQL [MySQL] 고급 최적화 (1) - 조인은 어떻게 실행되는가: BNL, MRR & BKA 들어가며지금까지 이 시리즈에서는 MySQL 서버의 구조와 InnoDB의 내부 동작을 다뤘습니다. 서버 레이어의 커넥션 처리와 쿼리 처리 파이프라인, 그리고 버퍼 풀과 인덱스 구조, 로그 시스템까지 InnoDB의 핵심 메커니즘을 살펴봤습니다. 이번 포스트부터는 조금 다른 층위의 이야기를 다룹니다. 지금까지 살펴본 구조들이 "데이터를 어떻게 저장하고 관리하는가"에 대한 답이었다면, 이번 시리즈는 "그 저장된 데이터를 어떻게 더 빠르게 조합해서 결과를 만들어내는가", 즉 옵티마이저의 고급 최적화 기법들을 다룹니다. 첫 번째 주제는 조인(Join)입니다. 정확히는, 두 개 이상의 테이블을 연결할 때 MySQL이 실제로 어떤 알고리즘으로 실행하는가에 대한 이야기입니다. 같은 조인이라도 실행 방식에 따라 성능이 몇..