코딩일기 📘 - Day 18
·
KPT 회고
✅ Keep DTO 필드명과 JSON 키의 카멜 케이스/스네이크 케이스 차이를 명확히 이해하고 정리했다.→ notice_writer ← ✅ 매핑 성공→ notice_Writer ← ❌ 매핑 실패 (Jackson은 대소문자 및 케이스 민감)→ 자동 매핑에 의존할 경우, 정확한 키 이름 일치가 중요하다는 것을 경험을 통해 체득함.Optional의 개념을 확실히 이해함.→ null이 될 수 있는 값을 안전하게 감싸는 컨테이너 객체→ NullPointerException을 방지하기 위한 Java의 안전장치로 잘 활용 가능❌ Problem@Overridepublic MemberDto.Response updateMember(String userId, MemberDto.Update updateDto) { Mem..
코딩일기 📘 - Day 17
·
KPT 회고
✅ Keep- JPA 를 활용한 CRUD 기능을 과제로 수행했다.- 서비스 계층까지는 기존 방식대로 작성했지만, 새롭게 Repository 개념을 학습했다.- 서비스에서 필요한 데이터를 레포지토리로 넘기고, 레포지토리에서는 jpa 의 EntityManager을 활용하여 데이터 처리 로직을 구성한다.- 레포지토리는 인터페이스로 정의하고, 구현체 클래스에서 직접 jpa 기능을 구현했다.(캡슐화)- @PersistenceContext 어노테이션을 통해 EntitiyMangager 가 주입되며 persist()를 사용해 엔티티를 저장한다.package com.kh.jpa.repository;import com.kh.jpa.entity.Notice;import jakarta.persistence.EntityMan..
코딩일기 📘 - Day 16
·
KPT 회고
Keep- jpa 관계에 대해 공부했다.- 관계설정과 각 엔티티에서 꼭 사용해야할 어노테이션을 알게 됐다.- 단방향과 양방향에 방향성에 대해 알게 되었다. Problem- 장염걸려서 학원을 못 가서 수업을 듣지 못했다. Try- 오늘은 남아서 어제 못 들었던 수업 내용을 복습해야 한다.- 방향성을 어떤식으로 잡는지 엔티티를 설계할 때 고민 해봐야 한다.- 양방향 or 단방향 -> 어떤식으로 컬럼을 사용할지에 대해
코딩일기 📘 - Day 15
·
KPT 회고
Keep- DTO 와 엔티티의 관계에 대해 공부했다.- 엔티티는 DB 테이블의 구조를 그대로 담은 클래스이고, DTO 는 이 엔티티에서 실제로 데이터로 요청 및 처리 할 값들만 저장하는 데이터 전송 객체이다.- DTO를 사용하는 이유는, 엔티티를 그대로 클라이언트와의 요청/응답에 사용할 경우 불필요한 정보까지 노출되거나 네트워크 처리 및 성능에 문제가 생길 수 있기 때문이다.- 이를 방지하기 위해 실제 필요한 데이터만 포함한 DTO 객체를 만들어 사용한다.- DTO 에서는 @Builder 어노테이션으로 DTO 클래스 안에 별도로 빌더패턴을 사용한 이너 클래스를 하나 더 만들어주는데, 이를 통해 DTO 안에 있는 이너 클래스를 컨트롤러에서 불러와 데이터를 전송, 수신 할 수 있다. - setter 로 DT..
코딩일기 📘 - Day 14
·
KPT 회고
Keep- 스프링을 복습했다. 스프링 부트를 스프링 이니셜라이즈에서 설정을 지정하고 다운 받으면 내장 톰캣 서버 및 스프링의 주요 기능들을 바로 편하게 사용할 수 있어, 시간이 덜 소요 된다.- 클라이언트 사이드 렌더링과 서버 사이드 렌더링에 대해- 클라이언트 사이드 렌더링(CSR)은 웹 브라우저에서 실행되는 렌더링 방식이고, 서버 사이드 렌더링(SSR)은 서버에서 HTML을 생성하여 전달하는 방식이다. JSP는 HTML 기반의 템플릿이지만, 서버에서 실행된 후 HTML로 변환되기 때문에 SSR이며, React는 자바스크립트 기반으로 브라우저에서 렌더링이 일어나므로 CSR이다. Problem- 정적 동적 리소스 차이가 헷갈렸다.- 클라이언트, 서버 사이드 렌더링이 헷갈렸다.- 강사님이 던지는 질문에 바로..