loading
본문 바로가기 메뉴 바로가기
🔄 Spring의 @Transactional 완전 정복 - 개념, 원리, 동작 방식, 트러블 슈팅까지

✅ 1.트랜잭션이란?하나의 작업 단위를 원자성 있게 처리하기 위한 논리적 작업 묶음모두 성공하거나, 하나라도 실패하면 전체를 롤백해야 함 📌 ACID 원칙항목설명Atomicity(원자성)전부 선공 or 전부 실패 (불완전 상태 금지)Consistency(일관성)작업 후 데이터 정합성 보장Isolation(격리성)동시에 실행되는 트랜잭션 간 간섭 없음Durability(지속성)커밋된 트랜잭션은 영구 반영됨💉 2. Spring의 @Transational이란?Spring AOP 기반으로 구현된 선언적 트랜잭션 처리 방식특정 메서드나 클래스에서 트랜잭션 범위와 롤백/커밋 조건을 선언적으로 지정할 수 있음@Transactionalpublic void order() { saveOrder(); save..

IT/Spring 2025. 6. 11. 19:50
Spring AOP 완전 정복 - 핵심 로직과 횡단 관심사의 완전 분리

1. AOP란 무엇인가?📌AOP의 정의AOP는 공통된 관심사를 분리하여 핵심 로직과 독립적으로 관리할 수 있도록 하는 프로그래밍 패러다임이다. 🎯AOP가 필요한 이유OOP(Object-Priented Programming)만으로는 다음 같은 문제를 해결하기 어렵다.로킹, 트랜잭션, 보안 체크, 캐싱, 성능 측정 등은 모든 비즈니스 로직에 반복해서 들어감이러한 횡단 관심사(Cross-cutting concerns)가 중복 코드 유발 + 유지보수 난이도 증가➡️ AOP는 이 관심사를 핵심 로직에서 분리해 재사용성과 응집도를 높임 🧩 2. AOP 핵심 용어 정리용어설명Aspect횡단 관심사의 모듈화 단위 (클래스)Join PointAdvice가 적용될 수 있는 지점 (ex: 메서드 실행)AdviceJoi..

IT/Spring 2025. 6. 5. 17:57
✅ 테스트 전략과 TDD 완전 정복 - 테스트는 왜, 어떻게, 무엇부터 할 것인가?

시스템이 커질수록, 기능이 많아질수록 중요한 건 "내가 만든 기능이 제대로 동작하는가?", 그리고 "이전 기능을 깨뜨리지 않았는가?"라는 확신이다. 이 확신을 만들어주는 것이 바로 테스트 코드이고, 이걸 개발의 중심에 두는 방식이 TDD(Test-Driven Development)다.1️⃣ TDD란 무엇인가?TDD는 말 그대로 테스트를 먼저 작성하고 그 다음 코드를 구현하는 개발 방법론이다. 전통적인 개발 흐름과는 순서가 정반대이다.📌 TDD 개발 순서 (Red -> Green -> Refactor)Red - 실패하는 테스트 작성Green - 테스트가 통과하도록 최소한의 코드 작성Refactor - 중복 제거, 구조 개선이 과정을 끊임없이 반복하며 안정적인 기능 개발을 이어나가는 방식이다.2️⃣ TDD..

IT/SW Dev Methodology 2025. 5. 26. 19:12
MSA와 DDD는 같은 말일까? 다른 말일까?

소프트웨어 구조와 설계 사이,, 그 미묘한 경계에서✅ 들어가며최근 MSA 전환에 대해 파고들고 있는데 문득 DDD랑 다른게 무엇인가 MSA는 아키텍처이고 DDD는 디자인 기법 중 하나인가?DDD는 단순 MSA로 가기 위한 수단 중 하나라고 생각하면 될까? 등 다양한 고민들이 쏟아졌기에 해당 글을 실무에서 어떤 관점으로 받아들여야 하는지 고민하는 개발자들을 위한 정리정도로 받아들이면 좋을 것 같다:)✅ MSA와 DDD, 정확히 무슨 차이일까?구분MSA (Microservice Architecture)DDD (Domain-Driven Design)개념시스템을 작은 독립 서비스로 분리하는 아키텍처 스타일복잡한 도메인을 잘 이해하고 모델링 하는 설계 접근 방식목적독립 배포, 확장성, 팀 간 분리 등 아키텍처 이..

IT/Architecture 2025. 5. 20. 20:25
DDD 완전 정복 - MSA 서비스 분리의 핵심, 도메인 모델링은 어떻게 하는가?

MSA 아키텍처 설계를 고민하다 보면 반드시 마주치는 개념이 있다.바로 DDD, Domain-Driven Design (도메인 주도 설계)이다.DDD는 단순한 설계 기법이 아니다.비즈니스와 개발이 완전히 같은 언어를 공유하면서 시스템을 설계하는 철학이다.이번 포스팅에서는 DDD가 무엇인지, 왜 필요한지, 실제로 도메인을 어떻게 모델링하고 서비스로 분리할 수 있는지까지 A to Z로 전부 정리해보겠다.1️⃣ DDD란 무엇인가?DDD(Domain-Driven Design)는 복잡한 비즈니스 로직을 효과적으로 다루기 위한 설계 방법론이다. 📌 키워드만 간단히 정리하면Domain (도메인) : 비즈니스 영역 (ex. 주문, 결제, 정산 등)Model (모델) : 도메인을 코드로 옮긴 표현Ubiquitous L..

IT/SW Design 2025. 5. 20. 19:39
🧩 MSA 전환과 모놀리식 구조의 차이, 그리고 마이크로서비스 설계 시 고려할 점

최근 시스템 설계나 백엔드 아키텍처 이야기에서 빠지지 않고 등장하는 단어가 바로 "MSA (Microservice Architecture)"이다.하지만 '좋다더라', '확장성 좋다더라'는 말만 듣고는 정확히 무엇이고, 어떤 장단점이 있는지 파악하기 어렵다.이번 포스팅에서는 MSA의 개념부터, 모놀리식과의 비교, 그리고 실제로 MSA로 전환할 때 어떤 점을 고려해야 하는지까지 깊이 있게 정리해보려고 한다. 1️⃣ MSA란 무엇인가?MSA(Microservice Architecture)는 하나의 시스템을 작고 독립적인 서비스들로 분리하여 운영하는 아키텍처 스타일이다.각 서비스는 자기만의 도메인, 자기 데이터베이스, 자기 비즈니스 로직을 가지고 서로 API 혹은 메시지로 통신한다. 📌 MSA의 핵심 특징작고..

IT/MSA 2025. 5. 18. 15:39
이전 1 2 3 4 5 ··· 11 다음
이전 다음

소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 때부자

티스토리툴바

운영자 : 아벡이
제작 : 아로스
Copyrights © 2022 All Rights Reserved by (주)아백.

※ 해당 웹사이트는 정보 전달을 목적으로 운영하고 있으며, 금융 상품 판매 및 중개의 목적이 아닌 정보만 전달합니다. 또한, 어떠한 지적재산권 또한 침해하지 않고 있음을 명시합니다. 조회, 신청 및 다운로드와 같은 편의 서비스에 관한 내용은 관련 처리기관 홈페이지를 참고하시기 바랍니다.