목록분류 전체보기 (15)
공부 기록
✅ 들어가며 첫 번째 Pull Request에서 받은 코드리뷰를 통해 고민해 오던 Entity에 Setter를 없애는 방법에 대한 힌트를 얻게 되었다. 나는 프로젝트에서 Entity↔DTO 변환을 위해 BeanUtils.copyProperties()를 사용하였다. 해당 방법을 사용하면서 Entity에 Setter를 생성해야 했어서 이전에 공부한 도메인 중심 개발과 상충되는 부분이 생겨 고민을 했었는데, 송아쌤과 스터디메이트의 코드를 보고 builder에 대해 공부해 보고 적용해보고자 한다. ✅ Builder 생성자에 @Builder를 붙여주면 빌더 패턴 코드가 빌드된다. 각 인자가 어떤 의미인지 알기 쉽다. Setter가 없으므로 불변 객체를 만들 수 있다. 한 번에 객체를 생성하므로 객체 일관성이 깨지..
✅ Git 커밋 메시지 컨벤션이란? 프로젝트 참여자들이 일관된 형식의 커밋 메시지를 작성하기 위한 규칙으로 관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들기도 한다. 가독성 및 의사소통 효율성 제고 소스 변경 이력 효율적 추적 및 문제 해결 속도 향상 ✅ Git 커밋 메시지 작성방법 // Git 커밋 메세지 컨벤션 [optional scope]: [optional body] [optional footer(s)] // 예시 feat: 음식 조회 기능 추가 - 음식 단일 조회 기능 구현 - 음식 전체 조회 기능 구현 Closes #123 📌 type : 변경 사항의 유형 - gitmoji를 사용하면 이모티콘만 보고 커밋의 목적과 의도를 쉽게 식별할 수도 있다. 유형 내용 F..

✅ 프로젝트 적용 0. Docker와 mariadb설치 [맥북/맥 Mac] 도커(Docker)로 MariaDB 설치하기 안녕하세요, 송아지할때 송아 김송아입니다. Docker Desktop을 설치하셨다면, 👉🏻 1분만에 설치하기 https://songacoding.tistory.com/56 우리는 맥/맥북 Terminal (또는 윈도우 cmd) 을 이용해서 Docker hub에 있는 songacoding.tistory.com 1-1. 의존성 추가 1-2. mariadb와 연결하기 2. Entity 수정 @Entity @Getter //lombok 어노테이션 : 클래스 내 모든 필드의 Getter 메서드 자동 생성 public class Food { @Id @GeneratedValue(strategy = ..
✅ 들어가며 오늘은 JPA를 이용하여 기능을 구현하기 위해 사용방법을 공부한 후 내 프로젝트에 적용해 보았다. ✅ JPA(Java Persistence API) ✔️ JPA란? 자바 응용 프로그램에서 관계형 데이터베이스의 관리를 할 수 있도록 하는 자바 API로 관계형 데이터베이스와 객체의 패러다임 불일치 문제를 해결할 수 있다. JPA는 인터페이스이기 때문에 구현체가 필요한데, 스프링 JPA는 하이버네이트(Hibernate)라는 구현체를 포함해서 제공하고 있다. ✔️ Entity JPA에서의 엔티티란 DB 테이블에 대응하는 하나의 클래스라고 생각하면 된다. 엔티티를 위한 어노테이션 📌 @Entity : JPA가 관리하며 DB의 테이블과 자바 클래스가 매핑된다. 접근제어자가 public 혹은 protec..