전체 글 166

[UML] 시퀀스 다이어그램(Sequence Diagram)이란?

해당 내용은 ChatGPT 와 함께합니다. 백엔드 개발을 하다 보면 특정 기능이 어떤 과정을 거쳐 처리되는지 파악해야 할 때가 많다. 관련 문서가 작성되어 있다면 도움이 되겠지만, 문서만으로는 여러 객체나 서비스 간의 호출 관계와 처리 순서를 이해하기 어려운 경우도 있다. 또한 직접 개발한 기능의 동작 과정을 다른 개발자에게 설명하거나 문서화할 때도, 복잡한 처리 흐름을 글로만 표현하는 데에는 한계가 있다. 시퀀스 다이어 그램을 활용하면 객체나 서비스 간의 상호작용을 시간 순서대로 시각화하여 전체적인 처리 흐름을 쉽게 파악할 수 있어 보였다. 다이어그램 등 정치기에서 공부하면서 왜 필요한가 했는데,,, 이렇게 직접 찾으면서 블로그 작성까지 하게 될 줄은 전혀 몰랐다...^^;; 시퀀스 다이어그램의 개..

프로그래밍 2026.10.16

[코테] 각 자리 수 더하기

숫자 관련 문제를 풀다 보면 숫자의 각 자리 수를 추출해서 더하거나, 리스트로 만들거나, 특정 조건을 검사해야 하는 경우를 자주 접하게 된다. 예를 들어 12345라는 숫자가 있고, 각 자리의 숫자를 모두 더한 값을 구해야 한다고 해보자.1 + 2 + 3 + 4 + 5 = 15 고민을 해보고 두 가지 방법을 떠올렸다. 1. 문자열로 변환해서 각 자리 숫자를 더하는 방법가장 먼저 떠올린 방법은 숫자를 문자열로 변환한 뒤, 문자열을 한 글자씩 순회하면서 다시 숫자로 변환해 더하는 방식이었다n = 12345answer = 0for num in str(n): answer += int(num)print(answer) # 15 2. 몫과 나머지를 이용해 각 자리 숫자를 분리하는 방법두 번째로 떠올린 방법은 ..

[Transactional Outbox Pattern - 2편] 메시지 중복 처리와 멱등성, 장단점

해당 내용은 ChatGPT 와 함께합니다. 제목링크Transactional Outbox Patter 1편https://jm-baek.tistory.com/468✅ Transactional Outbox Patter 2편https://jm-baek.tistory.com/470 목차1. 메세지가 중복 발행되면 어떻게 할까?2. Transactional Outbox의 장단점3. 결국 언제 사용하는 것이 좋을까? 📌 빠르게 읽기중복 메시지로 인한 문제를 방지하기 위해 멱등성(Idempotency)을 고려해야 하며, Inbox에 처리 이력을 저장하는 방법을 사용할 수 있다.장점은 DB 변경과 이벤트 기록의 정합성을 보장하고, 메시지 브로커 장애에도 재시도를 통해 대응할 수 있다는 것이다.단점은 Outbox 테이블..

[Saga Pattern - 1편] 분산 트랜잭션과 보상 트랜잭션

해당 내용은 ChatGPT 와 함께합니다. 제목링크✅Saga Pattern 1편 - 분산 트랜잭션과 보상 트랜잭션 https://jm-baek.tistory.com/469 Saga Pattern 2편 - Choreography와 Orchestration의 차이점https://jm-baek.tistory.com/473 📚 목차Saga Pattern이란?왜 Saga Pattern이 필요한가?Saga Pattern은 어떻게 동작할까? 📌 빠르게 읽기Saga Pattern은 여러 서비스에 걸쳐 수행되는 비즈니스 트랜잭션을 일련의 로컬 트랜잭션으로 분리하고, 보상 트랜잭션을 통해 데이터의 일관성을 관리하는 분산 트랜잭션 패턴이다.각 서비스는 독립적인 로컬 트랜잭션을 수행하며, 작업이 성공하면 다음 단계로 ..

[Transactional Outbox Pattern - 1편] 이중 쓰기 문제와 메시지 발행 원리

해당 내용은 ChatGPT 와 함께합니다. 제목링크✅ Transactional Outbox Patter 1편https://jm-baek.tistory.com/468✅ Transactional Outbox Patter 2편https://jm-baek.tistory.com/470 📚 목차1. OutBox / InBox 란?2. 왜 Transactional Outbox가 필요한가?3. Transactional Outbox Pattern이란?4. Outbox 메시지는 어떻게 발행할까? 📌 빠르게 읽기Transactional Outbox Pattern은 DB 저장과 메시지 발행 사이에서 발생하는 이중 쓰기(Dual Write) 문제를 해결하기 위한 패턴이다.주문 정보와 같이 비즈니스 데이터를 저장할 때, ..

4. scale-out/in

어렵게 생각하지말고.. 그냥 해보자! 하다 보면 알지 않을까? 한 번에 많은 내용을 할 생각은 없다!직접 명령어를 작성해 보고 기능에 대해 궁금해 보자. Scale-out/in 란? Scale-out 해보기현재 Deployment → ReplicaSet → Pod → Service → 브라우저 접속 까지 성공했고, 이제 pod 개수를 늘려보자! 1) 명령어를 실행 해보자. deployment nginx→ nginx라는 이름의 Deployment를 --replicas=3→ Pod가 3개가 되도록 kubectl scale deployment nginx --replicas=3 2) 명령어 결과를 확인해보자.pod 3개가 실행 중인 것을 확인할 수 있다.Deploymentnginx READ..