새로운 포스트
-
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 핵심 차이.. -
JVM [JVM] CDS와 AppCDS - JVM이 클래스 로딩을 캐싱하는 방법 JVM 인터널 시리즈이전 글에서 ClassLoader가 .class 파일을 찾아 InstanceKlass로 변환하는 과정을 살펴봤습니다.이번 글은 그 연장선입니다. JVM이 매번 같은 작업을 반복하지 않도록 결과를 캐싱하는 방법, Class Data Sharing(CDS) 을 다룹니다. 1. 왜 JVM 시작이 느린가?java -jar app.jar를 실행하는 순간, JVM은 애플리케이션이 첫 번째 요청을 처리하기 전까지 상당한 양의 작업을 수행합니다. 전형적인 Spring Boot 애플리케이션은 완전히 초기화되기까지 15,000~25,000개의 클래스를 로드합니다. 각 클래스는 아래의 단계를 거칩니다.Loading : .class 파일 탐색 → 바이트코드 읽기/파싱 → InstanceKlass 생성 ..
-
JVM [JVM] CRaC 완전 정복 (1편) - 개념과 동작 원리 시리즈 구성1편: 개념과 동작 원리 ← 현재 글2편: Spring Boot 실전 적용3편: JDK 배포판 비교와 실무 선택 가이드 들어가며Java 애플리케이션은 왜 뜨는 데 오래 걸릴까요? Spring Boot 기반의 마이크로서비스를 컨테이너로 배포해 본 경험이 있다면, 인스턴스를 스케일 아웃할 때마다 기동에 수 초씩 걸리는 문제를 한 번쯤 마주했을 것입니다. 서버리스 환경(AWS Lambda 등)에서는 이 Cold Start 지연이 더욱 치명적으로 작용합니다. 이 문제를 해결하기 위해 OpenJDK 진영에서 등장한 기술이 바로 CRaC(Coordinated Restore at Checkpoint) 입니다. 이번 시리즈에서는 CRaC의 개념부터 실전 적용까지 단계적으로 살펴봅니다. 1. Java Cold..
-
Kotlin [Kotlin] 코틀린 온보딩 1편 - 함수: 문과 식부터 이해하기 이번 글의 핵심은 코틀린의 기본 단위인 함수를 이해하는 것입니다. 그런데 코틀린 함수를 제대로 이해하려면 먼저 "문(statement)"과 "식(expression)"의 구분부터 짚고 넘어가야 합니다. 자바에서는 당연히 문이었던 것들이 코틀린에서는 식으로 취급되고, 이 차이가 함수를 정의하는 방식(블록 본문 vs 식 본문)까지 그대로 이어지기 때문입니다. 문과 식의 구분부터 시작해서, 이 개념이 함수 정의 방식에 어떻게 이어지는지까지 살펴보겠습니다. 문과 식의 기본 구분문(Statement): 실행되지만 값을 만들어내지 않습니다.식(Expression): 평가되어 값을 만들어냅니다.자바에서는 if, when(switch), try 같은 제어 구조가 전부 문이었습니다. 값을 만들어내려면 삼항 연산자(? :..
-
Istio [Istio] 3편: 이스티오 엔보이(Envoy) 프록시 파헤치기 - 개념부터 핵심 기능까지 https://dmoritle.tistory.com/271 [Istio] 2편: Istio 첫걸음 - CRD부터 관찰가능성까지, 핵심 컴포넌트 훑어보기이번 편은 그 큰 그림 안에서 언급만 하고 넘어갔던 istiod, 사이드카 주입, Gateway, 라우팅 규칙 리소스 같은 요소들을 하나씩 꺼내서 "실제로 Istio를 켜면 무슨 일이 일어나는가" 관점에서 훑어보dmoritle.tistory.com목차엔보이란 무엇인가엔보이의 두 가지 원칙핵심 개념: 리스너, 필터 체인, 라우트, 클러스터, 엔드포인트핵심 기능서비스 디스커버리로드 밸런싱트래픽 및 요청 라우팅트래픽 전환 및 섀도잉네트워크 복원력HTTP/2와 gRPC관찰 가능성메트릭 / 액세스 로그 / 분산 트레이싱자동 TLS 종료 및 시작속도 제한엔보이 확장v..