Server
-
웹서버? WAS 서버? 에 대해 알아보자Server 2025. 4. 18. 17:09
✅ 웹 서버(Web Server)와 WAS(Web Application Server)의 차이점웹 개발 환경에서 자주 듣는 웹 서버와 WAS. 이 둘은 비슷해 보이지만 분명한 차이가 있습니다.🔸 웹 서버란?웹 서버는 HTML, CSS, JavaScript, 이미지 등 정적인 파일을 클라이언트(브라우저)에 전송하는 역할을 합니다. 역할: 정적인 리소스를 처리 예시: 정적 웹사이트, 이미지 서버, 파일 다운로드 서비스 등🔸 WAS란?WAS(Web Application Server)는 클라이언트 요청에 따라 동적으로 로직을 처리하고 결과를 생성해 전달하는 서버입니다. 보통 DB 조회, 사용자 인증, 비즈니스 로직 처리 등을 담당합니다. 역할: 동적인 로직 처리 예시: 게시판 글 등록, 로그인 기능, ..
-
[Springboot] 스레드와 프로세스를 구분해보자!Server/Spring Boot 2025. 4. 18. 17:06
✅ 스레드와 프로세스의 차이점프로세스(Process)는 실행 중인 프로그램으로, 운영체제로부터 독립적인 메모리 공간(코드, 데이터, 힙, 스택)을 할당받아 실행됩니다.스레드(Thread)는 프로세스 내에서 실행되는 작업의 최소 단위이며, 하나의 프로세스는 여러 개의 스레드를 가질 수 있습니다. 구분 프로세스 스레드 정의 실행 중인 프로그램 프로세스 내에서 실행되는 작업의 흐름 메모리 공간 독립적 공유 (코드, 힙 등은 공유하고, 스택은 별도) 통신 방법 IPC(Inter-Process Communication) 필요 메모리 공유로 간편 ..
-
💡 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..
-
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..
-
🔗 MSA 환경에서의 통신 방식 비교 (HTTP API vs gRPC vs 메시지 큐)Server 2025. 4. 15. 14:46
🔗 MSA 환경에서의 통신 방식 비교 (HTTP vs gRPC vs 메시지 큐)MSA(Microservices Architecture) 환경에서는 마이크로서비스 간 통신을 위해 다양한 방법을 사용할 수 있습니다. 대표적으로 HTTP/REST, gRPC, Message Queue가 있으며, 각각의 특성과 장단점이 다릅니다.📦 1. HTTP/REST✅ 장점 범용성: 대부분의 언어나 프레임워크에서 지원 학습 곡선이 낮음: 익숙하고 문서화 용이 디버깅 쉬움: curl, Postman 등 도구 사용 가능 브라우저 접근 가능: 호출 및 테스트 용이❌ 단점 속도 느림: JSON은 텍스트 기반이라 오버헤드 큼 Payload 큼: 바이너리보다 크고 파싱 속도 느림 실시간 처리 부적합: 대기 시간 발생⚡ ..