전체 글

꾸준히 개발공부를 합니다.
프로젝트 개요 : 이것이 취업을 위한 백엔드 개발이다 클론코딩 - 상품관리 애플리케이션프로젝트 환경 : IntelliJ, SpringBoot, MySQL프로젝트 코드 : https://github.com/smkim9202/ProductManagement 유효성 검사 위치각 필드별 요구사항상품 번호1부터 시작, 추가시 1씩 증가동일한 상품 번호는 존재 불가상품 이름1~100글자 사이의 문자열동일한 상품 이름 존재 불가 가격0~1,000,000원 사이의 값재고 수량0~9,999개 사이의 값도메인 지식길이, 자료형 등의 도메인 지식도메인 객체 내부에 유효성 검사를 실행 - 도메인지식은 객체 밖으로 빠져 나가지 않는 것이 좋음도메인 지식을 도메인 계층 밖으로 공개하면 중복된 코드 양산, 클래스 응집도 낮아짐서비..
프로젝트 개요 : 이것이 취업을 위한 백엔드 개발이다 클론코딩 - 상품관리 애플리케이션프로젝트 환경 : IntelliJ, SpringBoot, MySQL프로젝트 코드 : https://github.com/smkim9202/ProductManagement상품 조회하기상품 번호 기준으로 하나의 상품 조회ListProductRepository.java public Product findById(Long id){ Product foundProduct = null; for (Product product : products) { if (product.sameId(id)) { foundProduct = product; ..
프로젝트 개요 : 이것이 취업을 위한 백엔드 개발이다 클론코딩 - 상품관리 애플리케이션프로젝트 환경 : IntelliJ, SpringBoot, MySQL프로젝트 코드 : https://github.com/smkim9202/ProductManagementDTO와 ModelMapperData Transfer Object : 데이터를 전송하는 역할을 가진 객체클라이언트에게 노출되는 데이터 구조와 백엔드 애플리케이션 내부 데이터 구조를 분리하기 위해 사용DTO 사용 이유도메인 객체를 컨트롤러, 서비스, 레포지토리에서 바로 사용시 도메인 객체의 필드가 변경되면 모든 계층이 영향을 받게 됨(실무에서 데이터 구조가 바뀌는 일은 자주 일어나는 일) 내부적으로 동일한 도메인 객체라 하더라도 상황에 따라 조금씩 다른 데이..
개발원슝이
꾸준히 개발슝이