전체 글
-
Git 브랜치 전략에 대해 알아보자! (+ git flow)IT 2025. 4. 16. 15:56
💡 왜 Git 브랜치 전략이 필요할까? Git은 강력한 분산 버전 관리 시스템이지만, 협업 시엔 브랜치를 어떻게 나누고 관리할지가 중요합니다. 명확한 브랜치 전략이 없다면 다음과 같은 문제가 생길 수 있어요: 코드 충돌이 자주 발생함 기능별 작업 상황을 추적하기 어려움 배포 시점이 모호해짐 긴급 수정 대응이 늦어짐👉 그래서 브랜치 전략이 필요합니다.🌲 Git Flow 전략이란? Git Flow는 복잡한 개발 프로세스를 체계적으로 관리하기 위해 만들어진 전략입니다. 릴리즈 주기가 명확하고 기능 단위로 작업이 나뉘는 환경에서 특히 유용합니다.🔀 브랜치 구성 브랜치 역할 설명 main운영 배포용 최종 브랜치 develop다음 릴리스를 ..
-
MapStruct 의 다양한 사용에 대해 알아보자Server/Spring Boot 2025. 4. 16. 13:08
🚀 MapStruct 고급 매핑 예제이번엔 MapStruct를 좀 더 깊이 있게 사용하는 예제들을 소개합니다.List 매핑, @AfterMapping, @Named, @InheritInverseConfiguration 등 실제 프로젝트에서도 매우 유용한 기능들이에요.1️⃣ List 매핑컬렉션 타입도 자동 매핑 가능합니다.// 단일 DTO 매핑 메서드UserDto toDto(User user);// 리스트 매핑List toDtoList(List users);단, 단일 객체 매핑 메서드가 정의되어 있어야 리스트 매핑도 동작합니다.---2️⃣ @AfterMapping - 매핑 후 추가 작업 처리매핑이 완료된 후 후처리를 하고 싶을 경우 @AfterMapping을 사용합니다.@Mapper(componentMo..
-
MapStruct 의 @Mapping 사용 방법을 알아보자!Server/Spring Boot 2025. 4. 16. 11:38
🎯 @Mapping 어노테이션 사용 예제@Mapping은 DTO와 Entity 간에 필드명이 다를 때나 특정 필드 매핑을 제어하고 싶을 때 사용합니다.예시 1️⃣: 필드명이 다를 경우// User 엔티티public class User { private Long id; private String name;}// UserDtopublic class UserDto { private Long id; private String username; // 엔티티에서는 'name'}@Mapper(componentModel = "spring")public interface UserMapper { @Mapping(source = "name", target = "username") UserD..
-
MapStruct 의 @Mapper 사용에 대해 알아보자!Server/Spring Boot 2025. 4. 16. 11:37
🛠️ Mapper 인터페이스 작성 & 사용 예제1. Entity, DTO 클래스 예시// User 엔티티public class User { private Long id; private String username; private String email; // getter/setter 생략}// UserDtopublic class UserDto { private String username; private String email; // getter/setter 생략}2. Mapper 인터페이스 작성import org.mapstruct.Mapper;import org.mapstruct.Mapping;@Mapper(componentModel = "spring")publi..
-
[Mysql] 트랜잭션과 ACID 이해하기!DB/Mysql 2025. 4. 15. 15:51
🔸 트랜잭션(Transaction)이란? 트랜잭션이란, 하나의 작업 단위를 이루는 일련의 SQL 명령들의 집합입니다. 데이터베이스에서는 여러 작업이 모두 성공하거나, 모두 실패해야 일관성이 유지되기 때문에 트랜잭션이라는 개념이 중요합니다. 예를 들어, 은행 계좌 이체를 생각해볼게요. -- A 계좌에서 1000원 출금UPDATE accounts SET balance = balance - 1000 WHERE user_id = 'A';-- B 계좌에 1000원 입금UPDATE accounts SET balance = balance + 1000 WHERE user_id = 'B'; 이 두 쿼리는 반드시 함께..
-
REST API 설계 원칙 중 PUT, PATCH 차이 (멱등성 관련)Web 2025. 4. 15. 15:29
💡 멱등성(Idempotence)이란?멱등성은 수학과 컴퓨터 과학에서 사용하는 개념으로, 같은 연산을 여러 번 적용해도 결과가 처음 한 번 적용했을 때와 동일한 성질을 말합니다.REST API에서 멱등성은 다음처럼 이해할 수 있어요:"같은 요청을 여러 번 보내더라도 서버 상태가 한 번 요청했을 때와 같아야 한다."🔍 예시로 이해하기 DELETE /users/123 요청을 생각해봅시다. 한 번 보내면 사용자 123이 삭제됩니다. 두 번 보내도 이미 삭제되어 있어서 서버 상태엔 변화가 없습니다.→ 따라서 DELETE는 멱등한 메서드입니다.✅ HTTP Method와 멱등성 HTTP Method 멱등성 있음? 설명 GET ✅ ..
-
🌐 RESTful API 설계 원칙 정리하기!Web 2025. 4. 15. 15:17
RESTful API는 웹 서비스를 설계할 때 가장 널리 사용되는 아키텍처 스타일 중 하나입니다. "REST"는 Representational State Transfer의 약자로, 자원을 명확하고 일관된 방식으로 접근할 수 있도록 해주는 규칙을 말해요. 이번 포스트에서는 RESTful API를 설계할 때 지켜야 할 핵심 원칙들을 정리해볼게요. ✅ 1. 자원(Resource)은 명사로, URI는 단수 or 복수형 REST에서는 URI가 자원을 나타내야 해요. 즉, 무엇을 조작할지를 나타내는 거죠. 예시: ❌ GET /getUser ✅ GET /users/1 자원의 집합은 보통 복수형으로 표현해요. 동작 HTTP 요청 설명..