전체 글30 Spring WebClient + Reactor 기반 비동기 흐름 정리 subscribe(), doOnSuccess, onErrorResume의 동작 방식과 예외 처리 흐름, 그리고 실패 이력 저장까지. 실무 중심으로 정리한 비동기 처리를 정리했습니다. 왜 이 글을 쓰게 됐는가Spring WebClient 또는 Reactor (Mono, Flux) 기반의 비동기 처리 코드를 다루다 보면, 이런 고민이 한두 번씩은 생깁니다.subscribe() 내부에서 예외를 던지면 호출자가 인식할까?doOnSuccess, onErrorResume은 실제 흐름을 어떻게 바꾸는 걸까?메시지 전송 실패를 DB에 기록하려면 로직을 어디에 넣는 게 좋을까?이 글은 그런 궁금증을 실제 코드와 함께 짚어보고, 실무에 적용할 수 있도록 정리해봤습니다.Mono는 언제 실행되는가?다음처럼 생긴 코드는 많이 .. 2025. 5. 20. Spring Kotlin JPA에서의 @Transactional 활용 및 트랜잭션 전파 전략 안녕하세요. 이번 글에서는 Spring 기반 애플리케이션에서 트랜잭션 관리가 어떻게 동작하는지, @Transactional 어노테이션을 사용하면 발생할 수 있는 이슈와 그에 따른 해결책을 트러블슈팅 경험을 바탕으로 설명드리고자 합니다. 특히, 전파 옵션 중 REQUIRES_NEW의 필요성과 설정 방법, 그리고 Unchecked Exception과 Checked Exception에 따른 예외 처리 정책 차이에 대해 구체적으로 다루어보겠습니다.1. Spring의 트랜잭션 관리 원리 및 전파 옵션Spring에서는 AOP 기반 프록시를 통해 @Transactional 어노테이션이 적용된 메서드를 호출할 때 자동으로 트랜잭션을 시작하고, 정상 실행 시 커밋, 예외 발생 시 롤백하는 방식으로 트랜잭션을 관리합니다... 2025. 3. 14. AWS 내부 네트워크 보안 HTTPS 요청 처리: NLB TLS Termination 구성 안녕하세요. 오늘은 고객사의 온프레미스 환경과 내부 API 서버 간 VPN 연결을 통한 HTTPS 요청 처리에 대해 설명드리겠습니다. 이 글에서는 내부(Private) 네트워크에서 고정 IP를 활용하여 안전하게 요청을 처리할 수 있는 NLB TLS Termination 구성 방법을 설명하려합니다.배경 및 필요성현재 고객사와 회사의 서버는 VPN으로 연결되어 있습니다. 고객사의 방화벽 정책에 따라 특정 IP만 허용되어야 하므로, API 서버로 전달되는 요청의 IP를 고정할 필요가 있습니다. 기존에는 내부 API 서버의 EC2 Private IP 를 전달하여 요청을 처리하려했으나, ElasticBeanstalk 로 API 서버 EC2 자동 배포되다보니 지속적으로 EC2의 Private IP가 변경되어 관리에.. 2025. 2. 25. 530. Minimum Absolute Difference in BST 문제 풀기 - Top Interview 150 BST - 이진탐색트리 Binary Search Tree, BST 빠른 탐색, 삽입, 삭제가 가능한 자료 구조입니다. 왼쪽 자식 노드의 값은 반드시 부모 노드의 값보다 작아야 합니다. 오른쪽 자식 노드의 값은 부모 노드의 값보다 항상 크거나 같아야 한다는 특징을 가지게 됩니다. 평균 탐색 시간이 O(logn) 으로 Array ,LinkedList 비해 빠른 속도로 탐색하는 것이 가능합니다. 문제 Given the root of a Binary Search Tree (BST), return the minimum absolute difference between the values of any two different nodes in the tree. 문제에서 제공해준 TreeNode 코드입니다. /** *.. 2023. 9. 8. 이전 1 2 3 4 ··· 8 다음