분류 전체보기 90

코딩일기 - 2025/07/26

Keep(계속 유지할 것)기술 공부기술 공부 ★정처기 공부 Problem(문제였던 것)블로그 정리프로젝트 ReadMe 작성에 어느것을 작성해야하는지 어려움이 있었다. TRY(시도할 것)공부기술 공부 진행정처기 공부 Dispatcher Servlet(디스패처 서블릿)DispatcherServlet은 Spring MVC의 프론트 컨트롤러 (Front Controller) 역할을 하는 서블릿으로, 클라이언트의 요청을 받아서 적절한 컨트롤러로 전달하고, 그 결과를 뷰로 응답하는 역할을 수행한다. 전체 요청 흐름클라이언트가 HTTP 요청을 보낸다.DispatcherServlet의 요청을 받는다.HandlerMapping을 통하여 어떤 컨트롤러가 처리할지 찾는다.찾은 컨트롤러(Handler)를 호출한다.Contro..

카테고리 없음 2025.07.26

코딩일기 - 2025/07/22

Keep(계속 유지할 것)기술 공부기술 공부 ★ Problem(문제였던 것)블로그 정리프로젝트를 마무리 때문에 한동안 블로그 정리를 하지 못하였다. TRY(시도할 것)공부기술 공부 진행 RDBMS란?RDBMS(Relational DataBase Management System, 관계형 데이터베이스 관리 시스템)는 관계형 데이터베이스(RDB)를 생성, 관리, 수정, 삭제할 수 있게 도와주는 소프트웨어 시스템이다. 데이터는 테이블(표) 형태로 저장되며, 각 테이블은 행(Row)과 열(Column)로 구성되어 있습니다. RDBMS의 장점데이터 무결성 유지 (제약조건, 트랜잭션)보안 기능 지원 (접근 제어, 권한 부여 등)데이터 중복 최소화 (정규화)복잡한 쿼리 지원 (JOIN, 서브쿼리 등) RDBMS와 No..

카테고리 없음 2025.07.22

코딩일기 - 2025/07/09

Keep(계속 유지할 것)오늘의 주제 공부오늘의 주제를 공부 ★프로젝트 진행' Problem(문제였던 것)프로젝트프로젝트의 제약 조건이 몇개 빠졌다. TRY(시도할 것)공부프로젝트 진행하기 JPA에서의 N + 1 문제JPA에서 N + 1 문제는 성능 이슈를 야기하는 대표적인 문제 중 하나이다. 간단히 말하면 1번의 쿼리로 N개의 결과를 조회한 후, 각 결과에 대해 추가로 N번의 쿼리를 실행하는 상황을 말한다. N + 1 문제란?하나의 쿼리로 엔티티 리스트를 가져온 뒤, 연관된 엔티티를 지연 로딩(LAZY)으로 설정한 경우, 각 엔티티마다 추가 쿼리(N)가 발생하여 총 N + 1번의 쿼리가 발생하는 문제이다.예시엔티티 설계@Entitypublic class Member { @Id @GeneratedV..

카테고리 없음 2025.07.09

코딩일기 - 2025/07/08

Keep(계속 유지할 것)오늘의 주제 공부오늘의 주제를 공부 ★프로젝트 진행 Problem(문제였던 것)프로젝트API 테스트에 사용할 데이터 찾기 TRY(시도할 것)공부프로젝트 진행하기 LAZY (지연 로딩)정의 : 연관된 엔티티를 실제로 사용할 때(접근 시) 쿼리를 날려서 가져옴. 연관된 엔티티를 사용하는 시점까지는 DB에서 가져오지 않고 프록시 객체로 대체함.필오할 때 로딩된다.호출되기 전까지는 쿼리를 실행하지 않음.장점 : 불필요한 연관 객체 로딩을 방지해 성능 향상 가능.단점 : 프록시 객체로 감싸져 있어, 영속성 컨텍스트 밖 (ex. Service -> Controller)에서 접근 시 LazyInitializationException 발생 가능.@OneToMany(mappedBy = "mem..

카테고리 없음 2025.07.08

코딩일기 - 2025/07/07

Keep(계속 유지할 것)오늘의 주제 공부오늘의 주제를 공부 ★프로젝트 진행 Problem(문제였던 것)프로젝트테스트 중 오류 발생 수정 필요 TRY(시도할 것)공부프로젝트 진행하기 영속성과 영속성 컨텍스트 영속성(Persistence)이란?영속성(Persistence)이란 "데이터가 일시적인 것이 아닌, 지속적으로 저장되는 성질"을 말한다. 즉, 객체의 상태가 메모리가 사라져도 유지되도록 DB나 파일 등에 저장되는 것이다.예시위락 Java에서 new Member("홍길동")으로 만든 객체는 메모리에만 존재하다가 프로그램이 종료되면 사라짐 -> 비영속그 객체를 DB에 저장한면 다시 조회할 수 있음 -> 영속 영속성 컨텍스트 (Persistence Context)란?JPA에서 엔티티(Entity) 객체를 ..

카테고리 없음 2025.07.07

코딩일기 - 2025/07/03

Keep(계속 유지할 것)오늘의 주제 공부오늘의 주제를 공부 ★프로젝트 진행 Problem(문제였던 것)프로젝트git에 또 다른 문제가 발생할 뻔 하였다. TRY(시도할 것)공부프로젝트 진행하기 session을 통한 로그인방식과 token을 통한 로그인방식웹 개발에서 세션 기반 로그인 방식과 토큰 기반 로그인 방식은 사용자 인증을 처리하는 대표적인 방법이다. 각각의 방식은 동작 방식, 장점 단점이 다르므로 상황에 따라 선택해주어야 한다. ◆ 세션(Session) 기반 로그인 방식개념사용자가 로그인하면 서버가 세션ID(Session ID)를 생성하고, 해당 ID를 서버의 메모리나 DB에 저장한다.클라이언트(브라우저)에게는 이 세션ID를 쿠키(cookie)에 담아서 전달한다.이후 요청 시 쿠키에 있는 세션..

카테고리 없음 2025.07.03

코딩일기 - 2025/07/02

Keep(계속 유지할 것)오늘의 주제 공부오늘의 주제를 공부 ★프로젝트 진행 Problem(문제였던 것)프로젝트git에 팀원 중 한명이 pull을 받지 않고 push하여 백업이 진행될 뻔하였지만 해결되었다. TRY(시도할 것)공부프로젝트 진행하기 JPA와 HibernateJPAJPA는 Java Persistence AOI의 약자로, 자바 객체(Object)를 데이터베이스에 영속(persistence) 시키기 위한 자바 표준 명세(인터페이스)입니다. 핵심 개념 정리표준 스펙 (즉, 규칙만 정의하고 실제 구현은 하지 않는다.)자바 ORM (Object-Relational Mapping)을 위한 인터페이스 집합DB와 객체 간의 매핑 작업을 코드로 쉽게 처리하게 해준다javax.persistence 또는 jak..

카테고리 없음 2025.07.02