profile
기쁘게 코딩하고 싶은 백엔드 개발자
태그 목록
전체보기 (192)Java(58)알고리즘(53)백준(53)algorithm(52)boj(52)Spring(17)JPA(14)입출력(11)문자열(11)for문(11)구현(9)배열(7)조건문(7)매핑(6)mapping(6)CS(6)git(6)if문(6)사칙연산(5)게시판(5)Spring boot(5)스프링(5)스프링부트(4)엔티티(4)Springboot(4)entity(4)network(3)linux(3)API(3)연관관계(3)함수(3)container(3)게시물(3)while문(3)이미지(3)applicationcontext(2)transaction(2)computer science(2)컴포넌트(2)곱셈(2)수학(2)deploy(2)Controller(2)oss(2)install(2)소수점(2)service(2)네트워크(2)반올림(2)db(2)트랜잭션(2)게시글(2)MultipartFile(2)나머지(2)나눗셈(2)instance(2)cmd(2)양방향(2)DTO(2)OS(2)PostgreSQL(1)python(1)PK(1)XML(1)openstack(1)격리(1)빠른입출력(1)eclipse(1)공개키(1)COLUMN(1)수정시간(1)테스트(1)방화벽(1)ssh(1)당근마켓(1)EOF(1)인스턴스(1)protocol(1)요구사항 분석(1)Xshell(1)docker(1)format(1)컨테이너(1)뺄셈(1)형식(1)필드(1)LocalDate(1)엔티티매핑(1)프로토콜(1)파일(1)build(1)String(1)commit(1)editor(1)일대다(1)다대일(1)일대일(1)다대다(1)repository(1)@property(1)영속성(1)에러(1)BufferedWriter(1)cpu(1)scheduling(1)크기(1)스프링빈(1)JPA Auditing(1)BufferedReader(1)다중파일(1)gitignore(1)기본키(1)컬럼(1)Configuration(1)aws(1)github(1)손익분기점(1)객체지향(1)redirect(1)spring-data-jpa(1)삭제(1)Database(1)영속성 관리(1)SCAN(1)최댓값(1)messagesource(1)단방향(1)등차수열(1)primary key(1)StringTokenizer(1)운영체제(1)Singleton(1)덧셈(1)셀프 넘버(1)gui(1)sonarqube(1)설계(1)vim(1)airbnb(1)이클립스(1)스캔(1)imageIcon(1)component(1)리다이렉팅(1)클론코딩(1)한수(1)environment(1)반환(1)Autowired(1)vi(1)생성시간(1)jenkins(1)field(1)평균(1)http(1)해시(1)개발(1)윤년(1)profile(1)django(1)대칭키(1)벌집(1)회원(1)도메인(1)구현 기능(1)파일업로드(1)PORT(1)알파벳(1)산술 연산자(1)조회(1)분수(1)스케줄링(1)convention(1)Isolation(1)요구사항(1)form-data(1)iptables(1)bean(1)environmentcapable(1)(1)memory hierachy(1)tripadvisor(1)환경변수(1)

[DB] 파일 자체를 DB에 저장하지 않고 '경로'만 저장하는 이유

"DB에는 왜 파일 경로만 저장할까?" 파일 자체를 저장하지 않고 경로(Path)만 남기는 '분리 저장 전략'에 대해 정리해 보았다.

약 16시간 전
·
0개의 댓글
·

[Spring] MultipartFile.transferTo: 왜 File과 Path 두 가지 방식을 다 제공할까?

MultipartFile.transferTo()가 File과 Path를 모두 지원하는 이유를 자바의 발전 과정(IO vs NIO) 관점에서 정리했다. 아울러 로컬 저장을 넘어 외부 스토리지 스트림 업로드 방식과의 결정적인 차이점까지 가볍게 파헤쳐 보았다.

4일 전
·
0개의 댓글
·

[Spring] "당연히 true 아닌가요?" spring.servlet.multipart.enabled 옵션이 존재하는 이유

"당연히 true 아님?" spring.servlet.multipart.enabled 옵션이 왜 존재하는지 궁금해졌다. 단순히 사용법을 넘어, 이 설정을 일부러 꺼야(false) 하는 '반전의 상황'을 정리해 보았다.

5일 전
·
0개의 댓글
·

[Spring] 컨버전 서비스, 파라미터가 2개인데 왜 "편하다"고 할까? (ISP 관점)

"파라미터가 2개라 더 불편한 것 같은데, 왜 개별 컨버터 호출보다 편리하다는 걸까?" 단순히 사용법을 넘어 인터페이스 분리 원칙(ISP) 관점에서 바라본 컨버전 서비스의 존재 이유와 실무적 이점을 정리했다.

2026년 2월 10일
·
0개의 댓글
·

[Spring] @ExceptionHandler에 여러 예외를 묶을 때의 파라미터 선언 규칙

"@ExceptionHandler에 예외를 여러 개 넣으면 파라미터는 어떻게 써야 할까?" 공통 부모 타입 선언부터 파라미터 생략 가능 여부까지. 실무에서 어떤 기준으로 파라미터를 결정해야 하는지 정리해 보았다.

2026년 2월 8일
·
0개의 댓글
·

[Spring] "그냥 @ResponseStatus 쓰면 안 되나요?" — ResponseStatusException의 존재 이유

"편한 @ResponseStatus를 두고 왜 굳이 ResponseStatusException을 쓸까?" 글로만 봐선 이해되지 않던 사용 이유. 외부 라이브러리 예외 처리와 조건별 동적 코드 변경이라는 실무적 관점에서 실제 활용 예시를 코드로 정리해 보았다.

2026년 2월 8일
·
0개의 댓글
·

[Spring] 요청 매핑과 에러 페이지의 관계

"4xx.html과 404.html이 다 있는데, 왜 /error-401은 404 화면을 띄울까?" 401 에러를 의도했지만 404를 마주치며 깨달은 사실. 상태 코드보다 앞서는 'URL 매칭'의 우선순위와 에러 페이지가 선택되는 내부 로직을 정리해 보았다.

2026년 2월 8일
·
0개의 댓글
·

[Spring] 필터와 인터셉터, 왜 예외 처리 메커니즘이 서로 다를까?

오류 페이지 재요청 시 필터와 인터셉터가 중복 호출되는 현상, 그리고 이를 해결하는 서로 다른 전략. 왜 필터는 시스템 설정으로 해결되고 인터셉터는 경로 매칭에 의존해야 할까? 두 도구의 태생적 위치에 따른 판단 근거와 책임 영역의 차이를 정리해 보았다.

2026년 2월 8일
·
0개의 댓글
·

[Spring] @SessionAttribute는 왜 세션을 직접 만들지 못할까?

"@SessionAttribute는 왜 세션을 직접 만들지 못할까?" 단순히 코드를 줄여주는 기능을 넘어, 스프링이 왜 이 어노테이션에서 '세션 생성 능력'을 뺏었는지 그 설계 의도와 리소스 관리 전략을 정리해 보았다.

2026년 1월 27일
·
0개의 댓글
·

[Spring] 왜 바인딩에 실패한 필드는 Bean Validation을 수행하지 않을까?

"왜 타입이 틀리면 검증(@Valid)조차 안 할까?" 김영한 강사님의 강의를 듣다 문득 궁금해진 데이터 바인딩과 Bean Validation의 우선순위! 스프링 MVC의 내부 동작 원리와 그 속에 담긴 '논리적 이유'를 정리해 보았다.

2026년 1월 18일
·
0개의 댓글
·

[Spring] 오류 메시지 결정의 비밀(MessageCodesResolver vs MessageSource)

스프링 검증 오류 시 발생하는 메시지 코드의 계층적 생성 원리와 typeMismatch.java.lang.Integer 같은 공통 메시지가 실제 텍스트로 치환되는 내부 동작 과정 정리.

2026년 1월 17일
·
0개의 댓글
·

[IntelliJ] .properties 한글 깨짐 해결 (Encoding)

IntelliJ 환경에서 Spring Boot 메시지 관리 중 발생하는 한글 깨짐(???) 현상의 원인과 해결 방법 정리.

2026년 1월 15일
·
0개의 댓글
·

[Java] Lombok 업그레이드로 IllegalAccessError 해결하기 (Java 17+)

Java 17 / Gradle 환경에서 발생한 Lombok IllegalAccessError 원인과 해결 방법 정리.

2026년 1월 14일
·
0개의 댓글
·

[JPA] 왜 외래키가 대상 테이블에 있으면 일대일 단방향 매핑이 안 될까?

일대다 단방향 매핑은 잘만 되잖아? 근데 왜 일대일 매핑에서는 외래키가 대상 테이블에 있으면 안되냐고...?

2025년 6월 7일
·
0개의 댓글
·

[svn] cli 명령어

✅ 상태 확인 ✅ 파일 추가 ✅ 커밋 ✅ 무시 설정 확인 및 제거

2025년 5월 26일
·
0개의 댓글
·

[issue] Spring 스케쥴러 중복 실행

✅ 현상 운영 서버에서 스케쥴러가 중복 실행됨 ✅ 원인 @Component 어노테이션이 등록되어있는 상태에서 context-scan이 되면 bean이 두 번 선언되어 중복 실행됨 ✅ 해결 방법 해결 방법은 여러가지가 있는데, 그 중 component-scan을 사용

2025년 1월 21일
·
0개의 댓글
·

[생성 패턴] 팩토리 메서드 패턴

들어가기 앞서 이 글은 「디자인 패턴들」 문서를 공부한 내용을 정리한 글입니다. 모든 출처는 해당 문서에 있습니다. 1. 정의 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하고, 자식 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴 가

2024년 12월 4일
·
0개의 댓글
·

[왕초보를 위한 Python] 2. 제어 구조

이 글은 「왕초보를 위한 Python」을 공부한 내용을 정리한 글입니다. 모든 출처는 해당 문서에 있습니다.어떤 조건이 만족되는 동안 아래에 쓴 문장들을 반복블록 내부의 소스코드들은 공백 네 칸 또는 Tab 키로 들여쓰기 해줄 것소스코드 입력 후 Enter 키 입력하여

2024년 10월 1일
·
0개의 댓글
·

[왕초보를 위한 Python] 1. 기초

이 글은 「왕초보를 위한 Python」을 공부한 내용을 정리한 글입니다. 모든 출처는 해당 문서에 있습니다.형식 : 변수명 = 값여러 개의 자료를 묶은 것리스트 내의 원소(element)의 갯수 확인 메소드인덱스는 0부터 시작사용자가 키보드로 입력한 모든 것을 문자열로

2024년 9월 23일
·
0개의 댓글
·

[제로초] 2장 - 기본 문법 배우기

이 글은 「제로초의 자바스크립트 입문」을 읽으며 습득한 내용을 정리한 글입니다. 모든 출처는 해당 저서에 있습니다.하나의 명령이 끝날 때 필수는 아니지만 붙이기를 권장함한 줄에 여러 명령을 넣을 때는 명령마다 붙여주어 그다음 명령과 구분해야 함사람이 알아볼 수 있도록

2024년 9월 16일
·
0개의 댓글
·