본문 바로가기

2026 Dev Log6

[SpringBoot] 자동 배포 2026 최종본 (Docker + GitHub Actions) 보호되어 있는 글 입니다. 2026. 5. 14.
[SpringBoot] 2026 CRUD 서비스 로직 한동안 개발 작업보단 개발 공부에 조금 집중했었다.그러다 오랜만에 멋쟁이사자처럼 운영진 동료의 CRUD 코드를 보았는데, 조금 놀랐다.엇..? 저거 왜 쓰지? 저게 뭐지? 하는 모르는 코드 패턴이었다. 그 중 하나가 from이었고, map의 활용이었다.이왕 이렇게 모르는 부분이 생긴 김에 오랜만에 실습을 해보자 싶기도 하고, 멋사 아기사자분들이 참고하시길 바라며 이 글을 남긴다. 크게 서비스 코드와 DTO 중 하나로 구성했다. 서비스 코드에선 다양한 방식의 CRUD를, DTO에선 from으로 DTOEntity 변화에 집중해 보길 바란다. 아래 코드는 직접 실습을 마친 코드이기에 오류는 없다.다만, 코드 트랜드 변화를 기록하고 싶어서 작성하는 지금이기에컨트롤러는 큰 변화를 체감하지 못해서 업로드하지 않았다.. 2026. 5. 4.
[Springboot] entity <-> DTO 변환 방법 변환 방식 요약 방식변환 책임핵심 코드추천1. Dto 내부 메서드Dtodto.toEntity() / ResponseDto.from(entity)소~중형 ✅2. Entity 내부 메서드Entityentity.toDto() / Item.from(dto)거의 안 씀 ❌3. Service 직접 변환Service빌더/생성자 직접 호출소형 단순용4. Mapper 클래스 (수동)Mappermapper.toEntity(dto)중~대형 ✅5. MapStruct (자동생성)컴파일 자동@Mapper 인터페이스만 선언대형 강추 ✅6. ModelMapper (리플렉션)런타임 자동modelMapper.map(dto, Item.class)느려서 비추package com.example.demo.dto;// ==============.. 2026. 4. 30.
[Spring Boot] Service 파일 CRUD 일반적인 로직을 짤 때 다음과 같은 기본 과정을 우선 떠올린다.Controller 요청 → Repository 호출 → Entity 저장/조회/수정/삭제 → DTO 반환 여기서 Repository와 Entity 는 기능 집합 라이브러리와 객체의 개념으로 이해했다.그렇기에 우린 이 기능과 객체를 활용할 코드 파일을 만들어야 한다.그것이 Service 파일이다. 우리는 서비스 파일에서 흔히 로직, 알고리즘이라 부르는 코드를 주로 작성한다.단순히 데이터를 DB에 삽입(Create)하고, 읽고(Read), 수정(Update)하고, 삭제(Delete)하는 것을 넘어 읽은 데이터를 활용해 작업하여 DB에 삽입하거나 기존 DB의 데이터에서 수정한다. 결국엔 백엔드는 데이터를 다루고 관리하는 일을 한다. 우선 가장 기.. 2026. 4. 29.
Port 8080 is already in use 서버 개발에서 런이 실패하면 프롬프트를 확인하게 되는데APPLICATION FAILED TO START 이런 문구가 나오면 그 아래를 자세히 살펴본다. 그 때, Port 8080 is already in use 라는 오류 문구가 나오면 다음과 같이 해결하면 된다. 1. CMD 관리자 모드를 틀고, 아래와 같이 입력한다.netstat -ano | findstr :80802. netstat -ano | findstr :8080 netstat -ano | findstr :8080 그러면 아래와 같이 프롬프트에 뜬다TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345여기서 맨 뒤에 있는 12345가 바로 PID (프로세스 ID) 이다.이 PID를.. 2026. 3. 4.
[1] 컴파일러(Compiler)와 프레임워크(Framework)의 구분 오랜만에 실습을 하기 전 되돌아보는 기념으로 지피티와 이야기를 나누던 중, 한 가지 잘못 알고 있던 지식을 발견했다.바로 컴파일러와 프레임워크에 대한 구분이다. 스프링부트가 컴파일러...였던가? 라는 의문이 들었고, 내가 컴파일러와 프레임워크에 대해 잘못 생각했음을 알았다.흔히 학교에서 배우는 개발은 언어다.그럼 그 언어는 어떻게 실행시킬까? 언어는 크게 3가지로 나뉜다. 기계어 어셈블리어 고급 언어내가 작성한 Java 코드는 고급 언어에 속한다.그렇기에 컴퓨터가 내가 작성한 자바 코드를 이해하려면 자바 소스 코드를 자바 바이트 코드로,자바 바이트 코드를 네이티브 기계어로 바꿔줘야 한다.그럼 그 기계어를 통해 CPU가 프로세스와 스레드를 실행한다. 여기서 소스 코드를 바이트 코드로 바꿀 때 자바 컴파.. 2026. 1. 13.