본문 바로가기

Programming

(208)
Spring Boot Spring Boot 스프링 부트는 그 목적 자체가 단독으로 실행 가능하고(stand-alone), 제품 수준의 (production-grade) 스프링 기반 애플리케이션을 제작하는 것을 목표로 진행된 프로젝트이다. 주요기능- 단독 실행 가능한 수준의 스프링 애플리케이션 제작 기능- 내장된 Tomcat, Jetty, UnderTow 등의 서버를 이용해서 별도의 서버 설치 없이 실행 가능- 최대한 자동화된 설정 제공- XML 설정없이 단순한 설정방식제공 pom.xml org.springframework.bootspring-boot-stater-web org.springframework.bootspring-boot-stater-tomcatprovided org.springframework.bootspring..
MyBatis Mapper MyBatis Mapper MyBatis만을 이용해서 프로젝트를 구성할 때 DAO 구성을 좀 더 간단하게 할 수 있는 방법으로 Mapper 인터페이스를 이용해서 자동으로 객체를 생성하는 방법 기존방식1) DAO 인터페이스 작성2) Mapper XML 생성 및 SQL 처리3) DAO 인터페이스를 구현한 구현클래스의 작성 변경1) Mapper 인터페이스 작성2) MyBaits 애노테이션 또는 Mapper XML 작성 mybatis-spring이 자동으로 Mapper 인터페이스를 구현한 프록시 객체를 만들어준다. XML 네임스페이스 지정root-context.xml 파일의 네임스페이스를 지정할때 mybaits-spring을 지정 DataSource, SqlSessionFactory 설정 Mapper 인터페이스..
아키텍처 표현-응용-도메인-인프라스트럭처표현 UI영역은 사용자의 요청을 받아 응용 영역에 전달하고 응용 영역의 처리 결과를 다시 사용자에게 보여주는 역할을 한다.웹 애플리케이션을 개발할 때 많이 사용하는 스프링 MVC프레임워크가 표현 영역을 위한 기술에 해당한다.웹 애플리케이션에서 표현 영역의 사용자는 웹 브라우저를 사용하는 사람일 수도 있고, REST API를 호출하는 외부 시스템일 수도 있다. 웹브라우저 -> 표현(객체변환) -> 응용(서비스)웹브라우저
엔티티와 밸류 엔티티와 밸류도출한 모델은 크게 엔티티(Entity)와 밸류(Value)로 구분한다. 엔티티와 밸류를 제대로 구분해야 도메인을 올바르게 설계하고 구현할 수 있다.엔티티엔티티의 가장 큰 특징은 식별자를 갖는다.식별자는 엔티티의 객체마다 고유해서 각 엔티티는 서로 다른 식별자를 갖는다. 예)주문 도메인에서 각 주문은 주문번호를 갖는데 이 주문번호는 각 주문마다 서로 다르다.주문번호가 주문의 식별자가 된다.주문 도메인 모델에서 주문에 해당하는 클래스가 Order이므로 Order가 엔티티가 되며 주문번호를 속성으로 갖게된다.주문에서 배송지 주소가 바뀌거나 상태가 바뀌더라도 주문번호가 바뀌지 않는 것 처럼 엔티티의 식별자는 바뀌지 않는다.엔티티를 생성하고 엔티티의 속성을 바꾸고 엔티티를 삭제할 때가지 식별자는 유..
도메인 모델 도출 도메인 모델 도출기획서, 유스케이스, 사용자 스토리와 같은 요구사항과 관련자의 대화를 통해 도메인을 이해하고 이를 바탕으로 도메인 모델 초안을 만들어야 비로소 코드를 작성할 수 있다. 화이트보드, 종이와 연필, 모델링 툴 중 무엇을 선택하든지 간에 구현을 시작하려면 도메인에 대한 초기 모델이 필요하다. 도메인을 모델링 할때 기본이 되는 작업은 모델을 구성하는 핵심구성요소, 규칙, 기능을 찾는것이다. -최소 한종류 이상의 상품을 주문해야한다. -한 상품을 한개 이상 주문할 수 있다. -총 주문 금액은 각 상품의 구매 가격 합을 모두 더한 금액이다. -각 상품의 구매 가격 합은 상품가격에 구매 개수를 곱한 값이다. -주문할 때 배송지 정보를 반드시 지정해야한다. -배송지 정보는 받는사람이름, 전화번호, 주소..
DDD - 도메인 모델 패턴 DDD(Domain Driven Design) 도메인 주도 설계 도메인 모델 패턴 일반적인 애플리케이션의 아키텍처는 4 개의 계층으로 구성 사용자인터페이스(UI) 또는 표현(Presentation) 사용자의 요청을 처리하고 사용자에게 정보를 보여준다. 여기서 사용자는 소프트웨어을 사용하는 사람뿐아니라 외부 시스템도 사용자가 될수 있다. 응용(Application) 사용자가 요청한 기능을 실행한다. 업무 로직을 직접 구현하지 않으며 도메인 계층으로 조합해서 기능을 실행한다. 도메인 시스템이 제공할 도메인의 규칙을 구현한다. 인프라스트럭처(Infrastructure) 데이터베이스나 메시징 시스템과 같은 외부 시스템과의 연동을 처리한다. 도메인 모델은 도메인 패턴을 의미한다(마틴 파울러) 도메인 모델은 아키텍..
Spring login with cookie Spring login with cookie (자동 로그인과 쿠키) 최근의 웹페이지를 보면 로그인할 때 체크박스를 만들어두고, 사용자가 원하는 경우 매번 로그인을 하지 않는 '자동로그인' 기능을 제공는 경우가 많다. 흔히 'Remember Me'로 표현하는데, 국내 사이트에서는 '자동 로그인'으로 표시하는 경우가 많다. 자동로그인은 브라우저가 서버에 접속할때 특정한 쿠키를 같이 전송하고, 이를 이용해서 로그인을 처리하는 방식이다. HttpSession에서 사용되는 세션쿠키와 달리 개발자가 만들어 내는 쿠키의 경우는 '만료기한'을 지정할 수 있기 때문에, 오랜 기간 보관이 가능하다.일반적으로 웹에서 로그인은 세션을 사용하는 방식을 더 선호 했는데, 가장 큰 이유는 보안에 대한 문제이다. 세션을 이용하는 경..
IT 서적 IT Book한달에 한권씩 꼭 구매해서 정리해야겠다.나를 위한 투자~