전체 글
-
RDBMS 와 NoSQL 비교해 보기IT 2025. 4. 17. 14:31
🔍 RDBMS vs NoSQL 차이점 항목 RDBMS (Relational DBMS) NoSQL (Not Only SQL) 데이터 모델 테이블 기반 (행/열) 문서, 키-값, 그래프, 컬럼 기반 등 스키마 고정 스키마 (정해진 구조) 유연한 스키마 또는 스키마 없음 확장성 수직 확장 (서버 스펙 업) 수평 확장 (서버를 여러 개로 분산) 트랜잭션 ACID 보장 (정합성 우선) 대부분 Eventually Consistent (속도 우선) 쿼리 언어 SQL 전..
-
💡 Java Spring에서 자주 사용하는 ObjectMapperServer/Spring Boot 2025. 4. 17. 14:11
Java로 웹 개발을 하다 보면 객체(Object)와 JSON 사이를 변환해야 하는 일이 굉장히 많습니다. 이때 유용하게 쓰이는 라이브러리가 바로 ObjectMapper입니다. 특히 Spring에서는 이 ObjectMapper를 이용해서 직렬화(Serialize)와 역직렬화(Deserialize)를 아주 손쉽게 처리할 수 있죠.이번 포스팅에서는 ObjectMapper의 기본 사용법부터 실무에서 자주 쓰는 옵션들, 그리고 실전 예제까지 깔끔하게 정리해드릴게요!📦 ObjectMapper란?ObjectMapper는 Jackson 라이브러리에서 제공하는 클래스입니다. JSON 데이터를 Java 객체로 변환하거나, Java 객체를 JSON 문자열로 변환할 때 사용합니다.Spring Boot에서는 기본적으로 Ja..
-
동등하다?(동등성) 동일하다?(동일성) 개념 정리IT 2025. 4. 17. 14:05
✅ 동등성과 동일성의 차이 (Equality vs Identity)Java를 포함한 객체지향 프로그래밍 언어에서는 동등성(equality)과 동일성(identity)을 구분하는 것이 매우 중요합니다. 겉보기에는 같아 보여도 내부적으로는 완전히 다른 의미를 가지기 때문이죠.🧠 1. 용어 정리구분설명동일성 (Identity)두 객체가 완전히 같은 객체인지 확인. 즉, 메모리 주소가 같은지를 비교. Java에서는 == 연산자를 사용.동등성 (Equality)두 객체의 내용이 같은지를 비교. Java에서는 equals() 메서드를 오버라이딩하여 비교.🔍 2. 자바 코드 예제로 이해하기public class Person { private String name; public Person(String ..
-
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..