목록2024/01 (13)
공부 기록
✅ 프로젝트 적용 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..
✅ 들어가며 Git과 Github를 사용할 때 branch를 생성하여 프로젝트를 진행한 적이 없다. 이번 프로젝트에서는 branch를 생성하여 작업해보려고 하는데 그전에 branch의 개념과 사용방법에 대해 먼저 공부해보려고 한다. ✅ 브랜치 📌 브랜치(branch)란? 브랜치(branch)는 개발을 할 때 코드를 통째로 복사한 후 원래 코드와는 상관없이 독립적으로 개발을 진행하는 것을 말한다. 📌 브랜치 사용의 장점 한 소스코드에서 동시에 다양한 작업을 할 수 있다. 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있다. 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩할 수 있다. 즉, 브랜치를 생성하여 작업하게 되면 편리하게 협업할 수 있..
✅들어가며 도메인 중심 설계를 포스팅하면서 공부했을 때, 데이터 중심 개발은 getter와 setter사용으로 캡슐화가 되지 않는 점을 단점으로 꼽으면서 도메인 중심 개발이 이를 보완할 수 있다고 하였다. 그런데 나는 배달 어플 프로젝트를 시작하며 객체 생성을 위한 클래스를 만들면서 Getter와 Setter를 이용하였다. (이 방법dl 이 아닌 다른 방법으로 클래스를 만들어 본 적이 없기도 하다;;) 그렇다면 도메인 중심 개발에서 클래스를 만들기 위해서는 어떻게 해야할까? 이를 알아보기 위해 Entity, DTO, VO에 대해 정리해 보았다. ✅DTO(Data Transfer Object) 계층(Layer) 간 데이터를 서로 주고받을 때 사용하는 객체이다. 로직을 가지고 있지 않으며, getter와 s..