profile
be_zion

🧩 Spring Application Event로 주문 생성 트랜잭션 분리하기

이 글에서는 기존에 하나의 트랜잭션 안에서 동작하던 주문 생성 로직을 Spring Application Event 기반으로 분리하며, 트랜잭션 안정성과 코드 구조 개선을 동시에 달성한 과정을 정리합니다.Spring Application Event는 JVM 내부 메모리에

2일 전
·
0개의 댓글
·
post-thumbnail

PG Simulator 환경 기반 장애 전파 차단 전략 정리 (Timeout / Retry / CircuitBreaker)

PG 시뮬레이터를 로컬 PC(M1 Air)에서 실행하며, 실제 운영 환경에서 적용할 Failure Ready System을 어떻게 설계할지 수치 기반으로 정리했습니다.서버와 TCP 연결을 맺는 데 걸리는 시간PG 요청 지연 max = 500ms→ 600ms로 설정서버가

2025년 12월 4일
·
0개의 댓글
·

상품 목록/상세 조회 캐시 설계

인덱스 생성 브랜드 + 좋아요 인덱스 확인 좋아요수는 변경이 많은데 인덱스를 생성해도될까 최신순, 좋아요수 정렬은 전처리된 데이터가 아닌 기본 데이터를 쓸까? 조회 목록 기능에서 고려해야할 검색 조건 브랜드id 별 목록 최신순/가격별/좋아요수 별 정렬 수정이 빈번

2025년 11월 28일
·
0개의 댓글
·

주문 시스템에서 JPA 1차 캐시와 @OneToOne 관계가 비관적 락을 방해했던 경험

TL;DR 주문 시스템의 재고와 포인트 차감 로직에 동시성 제어를 적용하는 과정에서, JPA 1차 캐시와 @OneToOne 양방향 관계가 비관적 락의 동작을 방해하는 예상치 못한 문제를 발견하고 해결한 과정을 정리했습니다. 배경: 주문 시스템의 동시성 문제 전자상거

2025년 11월 20일
·
0개의 댓글
·

🚀 DDD 기반 주문 생성 프로세스 설계: Facade와 도메인 서비스 분리 여정

주문 생성 트랜잭션을 깔끔하고 유지보수하기 쉬운 코드로 만들기 위해, 기능과 책임을 쪼개고 합치는 여정의 기록입니다. 이 과정에서 응용 서비스(Facade)와 도메인 서비스의 경계를 명확히 했습니다.현재 만들어야 하는 기능을 우선 상세하게 문장으로 적어보자"주문자가 /

2025년 11월 13일
·
0개의 댓글
·

Mermaid로 완성하는 도메인 설계: 클래스 다이어그램 점검

간단하게 그려진 초기 클래스 다이어그램을 점검하고, 핵심 요소를 반영하며 최종 문서를 완성하는 과정을 정리합니다. 1. 🔑 접근 범위(Visibility) 및 메서드 추가 Mermaid 문법을 활용하여 클래스 멤버(필드, 메서드)의 접근 범위를 명확히 표현했습니다. | 기호 | 의미 | 설명 ...

2025년 11월 6일
·
0개의 댓글
·

📚 TDD(테스트 주도 개발) 학습 및 `@SpringBootTest` 빌드 속도 저하 트러블 슈팅

테스트 주도 개발(Test Driven Development, TDD)은 기능 구현에 앞서 테스트 코드를 먼저 작성하는 소프트웨어 개발 방법론입니다. 테스트 케이스를 먼저 작성하고 이를 통과시킬 최소한의 코드를 작성하는 과정을 반복하며 개발을 진행합니다. 🙋‍♀️

2025년 10월 31일
·
2개의 댓글
·

React Native New Architecture와 iOS 외부 앱 이미지 공유 시스템 구현기(Claude)

이전에 Android로 구현한 React Native 앱에서 외부 앱(사진, 카메라, 갤러리 등)에서 공유되는 이미지를 받아서 처리하는 기능을 iOS으로 개발하는 작업이었습니다. 처음에는 Swift로 개발을 시작했습니다. 최신 언어이고 문법이 깔끔하며, iOS 개

2025년 9월 12일
·
0개의 댓글
·

React Native New Architecture와 Android 외부 앱 이미지 공유 시스템 구현기(Claude)

React Native 0.68부터 도입된 New Architecture는 기존의 Bridge 방식에서 TurboModule과 Fabric으로 전환하면서 성능상의 많은 이점을 가져다주었습니다. 하지만 기존 Legacy 모듈들과의 호환성 문제로 인해 많은 개발자들이 마이

2025년 8월 28일
·
0개의 댓글
·
post-thumbnail

macOS 10.15 홈서버 구축 -(3)CI/CD

Jenkins(Kubernetes 방식) 으로 변경 설정 초기 비밀번호 확인 secret 생성 [GitHub Push] ↓ (Webhook) [Jenkins Git Pull] ↓ [Docker Build (Minikube Docker)]

2025년 7월 10일
·
0개의 댓글
·
post-thumbnail

macOS 10.15 홈서버 구축 -(2)보안설정

openssl 1. OpenSSL 설정파일 생성 nano ~/openssl-san.cnf 2. 인증서 및 키 생성 3. nginx 설정 수정 4. nginx 재시작 외부포트 설정 1. 도메인구매 및 cloudflare 설정 www.namecheap.com ht

2025년 6월 14일
·
0개의 댓글
·

macOS 10.15 홈서버 구축 -(1)설치

ChatGPT 사용을 위한 114버전 다운로드 아래 사이트 맨 마지막 > 다른 플랫폼 선택 https://www.google.co.kr/chrome/next-steps.html?platform=mac129&statcb=0&installdataindex=empty&def

2025년 6월 8일
·
0개의 댓글
·

reactotron-recoil-plugin

reactotron-recoil-plugin 설치후 다음과 같은 에러가 발생해, --force 구문으로 해결하고 진행했었다. (이미 설치된 recoil의 버전과 reactotron-recoil-plugin 에 필요한 recoil 버전이 달라 발생한 오류이다.) mai

2024년 7월 7일
·
0개의 댓글
·
post-thumbnail

Recoil

디버그 라이브러리로 reactotron-recoil-plugin를 추가하고 npm install 시, 다음과 같은 오류가 발생했다.라이브러리의 마지막 업데이트가 3년전이라, 버전이 맞지 않았다.React 를 개발한 Facebook에서 개발한 React 상태관리 라이브러

2024년 6월 30일
·
0개의 댓글
·
post-thumbnail

React Native 디버그

Device > ShakeCmd ⌘ DCmd ⌘ MCtrl M설치 https://fbflipper.com/ 다운로드 또는 brew install — cask flipperFlipper 설정android/gradle.properties.FLIPPER_VERS

2024년 6월 16일
·
0개의 댓글
·

React native 모니터링

react native 의 크래시 도구에 대해 알아보자리액트 네이티브의 크래시 도구에 대해 한글로 검색 했을때, 다양한 도구들이 소개되어 있는 글보다, 한국회사가 개발한 도구에 대한 광고성 글과 Crashlytics 적용 글이 우선적으로 검색되었다. Firebase

2024년 5월 25일
·
0개의 댓글
·

feature toggle

단일 브랜치에서 개발자 협업main 브랜치에 코드가 머지되면, CI 시스템이 테스트/통합 과정 확인main 브랜치 코드가 즉시 운영에 반영된다.빈번한 머지와 배치로, 배치당 수정되는 코드가 적어진다. PR당 확인해야하는 코드가 적어져 리뷰가 쉬워지고, 배치당 해결해야하

2024년 4월 21일
·
0개의 댓글
·

브랜치 전략

Git, Github, GitLab 브랜치 전략에 대해 정리한다.개인 Github를 관리하면서 master에 커밋하는 정도록 git을 사용하기 시작했다. 그리고 취업후 처음으로 진행했던 웹 사이드 프로젝트에서 Git flow/Pull Request 를 사용하게 되었고

2024년 4월 14일
·
0개의 댓글
·
post-thumbnail

react native picker

앱개발 중 선택된 권한 뿐만아니라, 권한의 설명까지 아래 보여주는 picker 라이브러리를 찾아 개발해야 됬다.나와 비슷한 질문에 react-native-dropdown-picker 라이브러리를 추천한 글을 보았다. 라이브러리를 더 알아보니 renderItem를 사용해

2024년 4월 7일
·
0개의 댓글
·

Container 종류 정리

인생퍼즐 앱에서 사용하고 있는 Styled View, Container의 용도에 대해 정리한다.react-native 에서 자주 쓰이는 View 에 대한 질문에 chatGPT의 대답중 몇가지를 정리했다.가장 기본적인 컨테이너 컴포넌트다른 컴포넌트들을 포함하고 레이아웃을

2024년 3월 31일
·
0개의 댓글
·