HOME / CATALOG / 오픈소스 & 웹
오픈소스 & 웹

스프링과 메이븐을 활용한 실전 프레임워크 설계와 구축

지은이 강위민
도서 정보
출간일
2011년 8월 19일
쪽수
360쪽
ISBN
9788992939881
시리즈
오픈소스 & 웹 시리즈 _ 035
정가
25,000원
난이도
도서 소개
출판사 리뷰
저자 소개
목차
예제 코드

도서 소개

지금까지 스프링과 메이븐을 주제로 각종 서적이 출간됐지만 해당 기술을 실무에 적용하는 데 도움을 줄 수 있는 응용 기술서는 부족하다고 느껴왔다. 응용 기술서는 개발자로서 첫 발을 내 딛는 신입사원 등에게 특히 필요하며, 실무 적응력과 개념 정립이 필요한 시기에 그들을 이끌어 주는 데 큰 도움을 줄 수 있다. 이 책은 이러한 목적으로 집필된 응용 기술서로서, 초급 개발자와 더불어 중급 이상의 개발자에게도 유용할 것이다.

국내 프로젝트 상황을 둘러보면 신규 프로젝트를 진행할 때 프로젝트 설계나 문서화가 제대로 준비되지 않은 경우를 흔히 볼 수 있다. 이 책에서는 보편적인 웹 애플리케이션 개발을 주제로 범용적으로 적용할 수 있는 참조 구현물을 제공한다. 따라서 이 책에서 제공하고 있는 설계물을 실무 프로젝트에 적용한다면 설계와 문서화라는 두 가지 고민을 쉽게 해결할 수 있을 것이다.

이 책의 최종 목표는 표준화 프레임워크를 정의하는 데 있다. 많은 개발사들이 해마다 수많은 프로젝트를 진행하고 있지만 표준화 프레임워크가 정의돼 있지 않은 경우가 많다. 이로써 프로젝트를 진행할 때 업무의 지연과 혼선이 일어나고, 유지보수에 적지 않은 어려움을 발생한다. 이 책에서는 표준화 프레임워크를 정의하고자 각 기능을 컴포넌트 단위로 모듈화했으며, CBD 및 TDD 기반으로 개발해 나갈 수 있는 기틀을 마련한다. 따라서 사내 표준화 프레임워크를 준비하는 설계자라면 이 책을 참고해서 사내 프로젝트 특성에 맞는 자체 프레임워크로 발전시켜 나갈 수 있을 것이다.

출판사 리뷰

이 책은 스프링을 활용한 프레임워크의 설계 및 개발을 위한 가이드로서, 자바와 스프링에 대한 기본 지식이 있는 독자를 대상으로 한다. 특히 이 책은 다음과 같은 독자에게 유익할 것이다.

  • 스프링 프레임워크의 기본 지식은 갖췄으나 활용 경험이 부족한 분
  • 메이븐의 활용 또는 설계 경험이 부족한 분
  • 신규 프로젝트를 진행하려고 하나 프레임워크 설계 및 문서화가 준비되지 않은 분
  • 사내 표준화 프레임워크 설계를 준비하려는 분

이 책은 메이븐을 활용한 CBD 및 TDD 개발 환경을 제시하고, 이와 더불어 스프링 기반의 표준화 프레임워크의 설계 방법을 보여준다. 표준화 프레임워크를 설계하고자 하는 분은 이 책에서 제시하는 모델을 기반으로 사내 프로젝트 특성에 맞는 표준화 프레임워크로 발전시켜 나갈 수 있을 것이며, 급히 프로젝트를 진행해야 하는 상황에서는 이 책에서 제공하는 설계물을 바탕으로 프로젝트 표준을 신속히 제공하여 업무 진행을 원활하게 할 수 있을 것이다. 또한 이 책에서 지향하는 개념에 맞춰 프로젝트를 진행한다면 개발자들이 자연스럽게 CBD 및 TDD 개념을 몸으로 익힐 수 있을 것이다.

저자 소개

강위민

1999년부터 자바 프로젝트를 진행해 왔으며, 한국 썬마이크로시스템즈에서 전임강사를 역임한 바 있다. 『Core EJB(영진닷컴)』을 비롯해 『Applied BluePrint Workshop(한국 Sun)』, 『온라인 EJB 강좌(한국 IBM)』을 집필했고, 현재는 체계적인 프로젝트 진행을 위한 프로젝트 표준화 및 개발 프로세스의 시스템화에 관심이 있다.

 

지은이 글

실무에서 일어나는 문제점의 가장 핵심적인 원인은 표준화가 이뤄지지 못했기 때문에 발생하는 문제라 생각하고 표준화의 필요성과 표준화를 위한 참조 구현물을 제안해 보고 싶었다.

스프링과 메이븐을 주제로 각종 서적이 출간됐지만 실무에 적용하는 데 도움을 줄 수 있는 응용 기술서가 부족하다고 느꼈다. 응용 기술서는 개발자로서 첫 발을 내딛는 신입사원에게 특히 필요하다고 생각하며, 실무 적응력과 개념 정립이 필요한 시기에 그들을 올바르게 이끌어 줄 가이드가 필요하다고 느꼈다.

아직 국내 프로젝트에서 메이븐의 보급과 활용 수준이 그리 높지 않은 듯하다. 그 이유는 메이븐에 대한 전반적인 이해 부족에서 비롯된 것이라 생각한다. 저자는 초보자에게 메이븐의 동작 원리와 활용법을 간단하면서도 효과적으로 전달할 수 있는 학습의 장을 마련해 보고 싶었고, 이와 더불어 메이븐을 활용한 모듈 단위의 프로젝트 개발 환경을 소개하고 싶었다. 메이븐의 모듈 단위 개발 환경은 CBD 및 TDD 방법론을 적용하는 데 이상적인 프로젝트 구성을 제공할 수 있다.

신규 프로젝트를 진행할 때는 프로젝트 설계와 문서화가 제대로 준비되지 않은 경우를 흔히 접한다. 저자는 이 책과 더불어 어느 프로젝트에서나 범용적으로 적용할 수 있는 참조 구현물을 제공해서 그러한 고민을 덜어줄 수 있기를 바랐다.

목차

  • Chapter 01. 프레임워크 소개
    1. 사내 표준화 프레임워크의 필요성
    2. 웹 애플리케이션 설계 현황
    3. 프레임워크 컴포넌트 소개
    4. 메이븐 프로젝트 구조
      • store-root 프로젝트
      • store-comp 프로젝트
      • comp-user 프로젝트
      • store-web 프로젝트
      • web-frontend 프로젝트
      • 프로젝트 빌드 및 패키지
      •  
  • Chapter 02. 인프라 컴포넌트
    1. crypto 패키지
      • CipherTemplate
      • DigesterTemplate
    2. dao 패키지
      • AbstractIBatisDao
    3. dto 패키지
      • AbstractModel
    4. event 패키지
      • ApplicationEventListener
      • ApplicationEventHandler
      • EventHandlerAggregator
    5. exception 패키지
      • ApplicationException
      • 사용자 정의 예외 클래스
      • MessageException
    6. key 패키지
      • Constant
      • WebAttrKey
      • WebParamKey
    7. test 패키지
      • ObjectLoader
    8. type 패키지
      • Symbolic
      • 사용자 정의 데이터 타입
      • AbstractSymbolicEnumTypeHandler
      • 사용자 정의 타입 핸들러
    9. util 패키지
      • BeanFinder
      • ShellCommander
      • MessageUtil
      • SessionUtil
      • WebAttrAnalyzer
    10. web.filter, web.servlet 패키지
      • ParameterInjectionFilter
      • ParameterInjectionServlet
      • AccessProtectFilter
    11. web.form 패키지
      • AbstractOptionTemplate
      • CharRangeOptionTemplate
      • IntegerRangeOptionTemplate
      • ObjectOptionTemplate
      • CalendarTemplate
      • Enum 타입 템플릿
      •  
      •  
  • Chapter 03. 웹 컴포넌트
    1. 웹 컴포넌트의 디렉터리 구조
    2. 스프링 웹 MVC 구성
    3. DataSource 및 iBatis 설정
    4. 타일즈 및 다국어 지원
    5. 환경설정 파일 및 PropertyPlaceholder
    6. 예외 페이지
    7. Validator
    8. 스프링 시큐리티 설정
      •  
  • Chapter 04. 비즈니스 컴포턴트
    1. 비즈니스 컴포넌트의 디렉터리 구조
    2. User 컴포넌트
      • 테이블 정의
      • type, type.handler 패키지
      • dto 패키지
      • dao 패키지
      • web.listener 패키지
      • event, event.handler 패키지
      • service 패키지
      • 스프링 컨텍스트 설정
      • 웹 애플리케이션
    3. Control 컴포넌트
      • 공통 코드 및 캐시 관리
      • 동적 스케줄링
      • 제어 센터
      • 다중 서버 파일 업로드
    4. 컴포넌트 설계 가이드
    5. 단위 테스트
      •  
  • Chapter 05. 메이븐 퀵 스터디
    1. 메이븐 프로젝트 생성
    2. 메이븐 저장소
      • 중앙 저장소
      • 로컬 저장소
      • 내부 저장소
    3. 프로젝트 빌드 및 라이프사이클
    4. 의존성
    5. 웹 애플리케이션 컨테이너 배포
    6. 프로젝트 상속 및 집합 관계 구성
      • 프로젝트 상속 관계 구성
      • 프로젝트 집합 관계 구성
      •  
  • Chapter 06. 개발 환경 구축
    1. JDK 설치
    2. 프로젝트 소스 설치
    3. 메이븐 설치
    4. STS(SringSource Tool Suite) 설치
    5. 톰캣 설치

예제 코드

예제코드 관련 GitHub 페이지

WHERE TO BUY · 정가 25,000원
WHERE TO BUY · 정가 25,000원