목록전체 글 (90)
CS log
9.1 도메인 모델과 경계 처음 도메인 모델을 만들 때 빠지기 쉬운 함정 = 도메인을 완벽하게 표현하는 단일 모델을 만드는 것 한 도메인은 다시 여러 하위 도메인으로 구분되기 때문에 한 개의 모델로 여러 하위 도메인을 모두 표현하려고 시도하면 오히려 모든 하위 도메인에 맞지 않는 모델을 만들게 된다. ex) 상품 모델 만들기 카탈로그에서 상품, 재고 관리에서 상품, 주문에서 상품, 배송에서 상품은 실제로 의미하는 것이 다르다. 왜냐하면 카탈로그에서 상품은 상품 이미지, 상품 이미지, 상품명, 상품 가격, 옵션 목록, 상세 설명과 같은 상품을 사용한다.카탈로그에서는 물리적으로 1개인 물건(맥북프로)가 재고 관리에서는 맥북프로 재고가 10개이기 때문에 여러 개 존재할 수 있다. 논리적으로 같은 존재처럼 보이..
Introduction 도메인 주도 설계(Domain Driven Design)의 중요성은 Domain Driven Design의 저자 Eric Evans의 말로 충분할 것 같다. Eric Evans, Domain-Driven Design 개발자들이 도메인에 대한 통찰을 얻기 위해 적용할 수 있는 체계적인 사고 방법이 존재한다. 무질서하게 뻗어 나가는 소프트웨어 애플리케이션에 질서를 부여할 수 있는 설계 기법 역시 존재한다. 이런 기술을 연마한다면 익숙하지 않은 도메인을 접하게 될 경우에도 더 가치 있는 개발자로 발전할 수 있게 될 것이다. Domain 도메인의 사전적 의미는 "정보와 활동의 영역"을 말하며, 흔히 프로그래머들에게는 애플리케이션 내의 로직들이 관여하는 정보와 활동의 영역 이라고 받아들여진..
1. Spring Security Spring 기반 어플리케이션의 보안(인증, 권한 부여 및 보호)을 담당하는 스프링 하위 프레임워크 2. 보안 용어 정리 인증(Authentication) : 접근하려는 유저가 누구인지 확인하는 절차 ex) 로그인 인가(Authorization) : 인증된 사용자에 대해서 권한을 확인하고 허락하는 것 접근 주체(principal) : 보호된 대상에 접근하는 유저, 아이디 비밀번호(credential) : 대상에 접근하는 유저의 비밀번호 서블릿 컨테이너는 스프링 컨테이너에 등록된 빈(Bean) 인식 불가 -> DelegatingFilterProxy(서블릿 필터의 구현체) 이용 3. SecurityContextPersistenceFilter - SecurityContext를..
1. push protocol vs pull protocol Push protocol : a client who initiates a connection to a server wants to send(push) data to the server (ex: SMTP, etc) Pull protocol : a client who initiates a connection to a server wants to receive(pull) data to the server (ex: HTTP, DNS, IMAP, POP3 etc) 2. Protocols SMTP (push protocol) : used for sending(pushing)/delivering (NOT retrieving) emails IMAP or PO..
1. TDD 이론정의테스트 주도 개발 (Test-Driven Development)업무 코드를 작성하기 전에 테스트 코드를 먼저 만드는 것작은 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 추가하는 단계를 반복해 구현 절차 실패하는 테스트 코드 작성 테스트를 통과하는 프로그램 작성절차테스트에서 한 질문에 대한 대답 테스트를 통과하는 최소한의, 매우 간단한 코드로 코드 리팩토링불필요한 것은 없애고, 모호한 것은 명확히Given-when-thenGiven: 테스트를 위해 필요한 상황 준비When: 테스트하는 메서드 실행Then: 테스트 결과 검증 2. JUnit5소개자바 개발자들이 가장 많이 사용하는 테스팅 프레임워크자바 8이상을 필요로 함JUnit5 대안: TestNG, Spock ..