목록분류 전체보기 (78)
공hannah부

11.1 단일 모델의 단점주문 내역 조회 기능 구현 시 여러 애그리거트에서 데이터를 가져와야 함Order에서 주문정보 가져오기Product에서 상푸무 이름 가져오기Member에서 회원이름 가져오기 등조회 화면 특성상 조회 속도가 빠를수록 좋기 때문에 여러 애그리거트 데이터가 필요하면 구현 방법을 고민해야 함식별자를 이용해서 애그리커드를 참조하는 방식: 즉시로딩 방식과 같은 JPA의 쿼리 관련 최적화 기능 사용 불가능애그리거트 간 연관을 식별자가 아니라 직접 참조하는 방식: 같은 연관도 즉시 로딩이나 지연로딩으로 처리해야 함이러한 고민이 발생하는 이유시스템 상태를 변경할 때와 조회할 때 단일 도메인 모델은 사용하기 때문→ 상태 변경을 위한 모델과 조회를 위한 모델을 분리해 구현 복잡도를 낮출 수 있음 1..

3.1 애그리거트 애그리거트 복잡한 도메인을 이해하고 관리하기 쉬운 단위로 만들기 위해 상위 수준에서 모델을 조망하는 방법 → 관련된 객체를 하나의 군으로 묶어줌 모델을 이해하는데 도움을 줄 뿐만 아니라 일관성을 관리하는 기준도 됨 → 복잡한 도메인을 단순한 구조로 만들어줌 → 복잡도가 낮아지는 만큼 도메인 기능을 확장하고 변경하는데 필요한 노려도 줄어듬 애그리거트의 경계 애그리거트는 경계를 갖음 → 한 애그리거트에 속한 객체는 다른 애그리거트에 속하지 않음 → 애그리거트는 독립된 객체군이며 각 애그리거트는 자기 자신을 관리할 뿐 다른 애그리거트를 관리하지 않음 ex) 주문 애그리거트는 배송지를 변경하거나 주문 상품 개수를 변경하는 등 자기 자신은 관리하지만, 회원의 비밀번호를 변경하거나 상품의 가격을 ..

해커톤 소개 해커톤 주제 교내 문제를 해결할 수 있는 IT 기술 해커톤 취지 이화여자대학교 내 서로 다른 IT 도메인 개발자 사이의 네트워킹 및 프로토타입 개발을 통한 자기개발 해커톤 일정 2024.03.15 ~ 2024.03.18 (약 4일간) 우리 팀 소개 팀명 💚멜팅팟💚 팀원 구성 기획: 민지희 디자인: 장예림 백엔드: 이한나, 정소은 프론트엔드: 정은채 인공지능: 박세은 팀 레포지토리 [Ewha-thon] Melting Pot [Ewha-thon] Melting Pot has 4 repositories available. Follow their code on GitHub. github.com 우리팀 아이디어 서비스명 🌸배울림꽃🌸 서비스 소개 ‘배’는 소리가 한곳에서 시작되어 주변으로 퍼지는 의미를..

2.1 네 개의 영역 표현, 응용, 도메인, 인프라스트럭처는 아키텍처를 설계할 때 출현하는 전형적인 네 가지 영역이다. 표현 (or UI)영역 사용자의 요청을 받아 응용 영역에 전달하고 응용 영역의 처리 결과를 다시 사용자에게 보여주는 역할을 함 웹 애플리케이션을 개발할 때 많이 사용하는 스프링 MVC 프레임워크가 표현 영역을 위한 기술에 해당함 웹 애플리에이션에서 표현영역의 사용자는 웹 브라우저를 사용하는 사람일 수도 있고, REST API를 호출하는 외부 시스템일 수도 있음 표현 영역은 HTTP 요청을 응용 영역이 필요로 하는 형식으로 변환해서 응용 영역에 전달하고 응용 영역의 응답을 HTTP 응답으로 변환하여 전송함 응용(Application)영역 표현 영역을 통해 사용자의 요청을 전달받는 응용영역..

1.1 도메인이란? 도메인: 소프트웨어로 해결하고자 하는 문제 영역 ex) 온라인 서점: 온라인으로 책을 판매하는데 필요한 상품 조회, 구매, 결제, 배송 추적 등의 기능 한 도메인은 다시 하위 도메인으로 나눌 수 있음 ex) 카탈로그 → 상품 목록, 주문 → 고객의 주문 처리, 혜택 → 쿠폰이나 특별 할인, 배송 → 상품을 전달하는 과정 다른 하위 도메인과 연동하여 완전한 기능 제공 도메인이 제공해야 할 모든 기능을 직접 구현하는 것은 X ex) 외부 배송 업체의 시스템을 사용하며 배송 추적 정보를 제공하는데 필요한 기능만 일부 연동 1.2 도메인 전문가와 개발자 간 지식 공유 전문가: 해당 도메인에 대한 지식과 경험을 바탕으로 본인들이 원하는 기능 개발을 요구 개발자: 요구사항을 분석하고 설계하여 코..

5장 - 데이터베이스 조작이 편해지는 ORM 5.1 데이터베이스란? DBMS(database management system): 데이터베이스 관리를 위한 소프트웨어 관계형 DBMS: 관계형 모델을 기반으로 함. 테이블 형태로 이루어진 데이터 저장소. ex) 회원 테이블이 있다고 가정하면 각 행은 고유의 키, 이메일, 나이와 같은 회원과 관련된 값들이 들어감 → H2, MySQL * H2: 자바로 작성되어 있는 관계형 DBMS로, 데이터를 다른 공간에 따로 보관하는 것이 아니라 애플리케이션 자체 내부에 저장한다는 특징이 있음. 간편하지만 애플리케이션을 다시 실행하면 데이터가 초기화되기에 테스트 용으로 많이 사용 됨. 5.2 ORM이란? ORM(Object-relational mapping): 자바의 객체와..

2장 - 스프링부트3 시작하기 2.1 @SpringBootAllication 이해하기 @SpringBootApplication public class SpringBootStudyApplication { public static void main(String[] args){ SpringApplication.run(SpringBootStudyApplication.class, args); } } 이 클래스는 자바의 main() 메서드와 같은 역할을 한다. @SpringBootAllication 애너테이션: 스프링 부트 사용에 필요한 기본 설정을 해줌 해당 애너테이션의 구성을 보면 @SpringBootConfiguragion, @CompoenetScan, @EnableAutoConfiguration이 있다. @..

0장 - 프로젝트 만들기 Build System의 그레이들과 메이븐의 차이? 그레이들과 메이븐은 소스 코드를 이용해서 실행 가능한 애플리케이션을 생성하는 과정을 자동화하는 프로그램을 말한다.(의존성 내려받기, 코드 패키징, 컴퍼일, 테스트 실행 등) 요즘은 그레이들을 많이 사용하는 추세이다. 메이븐에 비해 가독성이 좋고 간단 자바, 코틀린, 그루비 등 다양한 언어를 지원하며, 원하는 대로 빌드 스크립트 작성 가능 빌드와 테스트 속도가 메이븐에 비해 빠름 1장 - 자바 백엔드 개발자가 알아두면 좋은 지식 1.1 서버와 클라이언트 클라이언트: 서버로 요청하는 모든 프로그램. 대표적으로 웹 브라우저가 있다. 서버: 클라이언트의 요청을 받아 처리하는 주체 1.2 데이터베이스 데이터베이스: 여러 데이터를 한 군데..