2026/06 4

TIL (10) - 영속성 컨텍스트(Persistence Context)

영속성 컨텍스트한 줄로 하면 엔티티를 보관하는 임시 작업 공간 이다. 식당에 비유하면, DB는 창고고 영속성 컨텍스트는 주방의 작업대다. 손님 주문(엔티티)을 매번 창고까지 왔다 갔다 하지 않고, 일단 작업대에 올려두고 거기서 다듬다가, 마지막에 한 번에 창고로 보낸다. 이 작업대를 관리하는 게 EntityManager다. 엔티티의 4가지 상태 처음에 이게 제일 헷갈렸다. 엔티티는 상태가 있다. 비영속(new): new로 막 만든 객체. 작업대에 아직 안 올라옴. 영속(managed): persist() 하거나 조회해온 상태. 작업대 위에서 관리되는 중. 준영속(detached): 작업대에서 내려온 상태(detach, close, clear). 삭제(removed): remove() 한 상태. Membe..

TIL 2026.06.28

TIL (9) - Spring Data JPA

Spring Data JPA는 데이터베이스에 접근하는 반복적인 코드를 대신 짜주는 도구이다. 원래는 SQL을 쓰고 결과를 객체에 담는 작업을 일일이 해야 하는데, 이걸 식당에 비유하면 매번 육수를 처음부터 끓이는 셈Spring Data JPA는 자주 쓰는 육수를 미리 준비해 두고, 우리는 "이 메뉴 주세요"라고 주문만 하면 되도록 만들어 준다. 1. Spring Data JPA란? JpaRepository를 상속한 인터페이스를 하나 만들면, save, findById, findAll, delete 같은 기본 CRUD가 구현 없이 그냥 생긴다. 우리가 만드는 건 인터페이스뿐이고, 실제 구현체는 Spring이 실행 시점에 알아서 만들어 준다고 보면 된다. 즉 개발자는 "무엇을 가져올지만 정의하고, 어떻게 가..

TIL 2026.06.21

TIL (8) - 스프링 부트(Spring Boot)

1. 스프링 부트란?스프링 부트는 자바(Java)로 웹 애플리케이션(웹사이트, 서버 프로그램)을 쉽고 빠르게 만들 수 있게 도와주는 도구이다. 원래 자바로 서버를 만들려면 준비해야 할 설정이 무척 많은데, 스프링 부트는 그 복잡한 준비 과정을 대신 처리해 준다. 쉽게 말해 "바로 요리만 하면 되도록 재료 손질과 주방 세팅을 미리 끝내 놓은 상태"라고 생각하면 된다.스프링 부트를 이해하려면 먼저 그 바탕이 되는 개념들을 알아야 한다.1-1. 스프링 프레임워크(Spring Framework)프레임워크란 프로그램을 만들 때 쓰는 '뼈대' 또는 '틀'이다. 집을 지을 때 기둥과 골조가 미리 세워져 있으면 벽과 인테리어만 채우면 되듯, 프레임워크는 개발에 필요한 기본 구조를 미리 제공한다.스프링 프레임워크는 자바..

TIL 2026.06.12

TIL (7) - 협업관리 툴 GitHub

GitHub란?GitHub는 Git 기반의 원격 저장소(Repository) 호스팅 서비스이다. 개발자가 작성한 소스 코드를 온라인에 저장하고 관리할 수 있으며, 여러 사람이 함께 프로젝트를 진행할 수 있도록 협업 기능을 제공한다.Git은 버전 관리 시스템(VCS, Version Control System)이고, GitHub는 Git으로 관리되는 프로젝트를 인터넷 상에서 저장하고 공유할 수 있게 해주는 플랫폼이라고 볼 수 있다.예를 들어 프로젝트를 개발하다가 오류가 발생했을 경우, 이전 버전으로 되돌아가거나 특정 시점의 코드를 확인할 수 있다. 또한 팀원들과 같은 프로젝트를 공유하면서 변경 내역을 추적할 수 있다. GitHub를 사용하는 이유1. 버전 관리코드가 변경될 때마다 변경 이력을 저장할 수 있다..

TIL 2026.06.06