상세 컨텐츠

본문 제목

세부 목차 정리 - 프로 ASP.NET MVC 프레임워크-Taeyo's Choice

전체 출간 도서

by 비제이퍼블릭 2009. 10. 10. 09:00

본문

 
                             번역서 표지                                                           원서 표지

프로 ASP.NET MVC 프레임워크』도서의 세부 목차를 정리하여 올려드립니다. 사실, 지금 올려 드리는 것보다 더 깊게 들어가는 목차가 있는데, 이 이상 더 세부적으로 들어가면 중간에 보시다가 포기(?)하실까봐 여기까지만 정리를 해서 올려드립니다.

도서에 관한 그 외의 정보는 다음 링크에서 확인이 가능하고 출간일은 10월 13일입니다.

현재 각 인터넷 서점에서 예약판매를 진행중에 있습니다.


Part 1 ASP.NET MVC 소개


>>> 1장 전체 개요

웹 개발의 간략한 역사
  기존의 ASP.NET
  기존 ASP.NET의 문제점

최근의 웹 개발
  웹 표준과 REST
  애자일과 테스트 주도 개발
  루비 온 레일즈

ASP.NET MVC의 주요 장점
  MVC 아키텍처
  확장성
  테스트
  엄격한 HTML 제어
  강력한 새로운 라우팅 시스템
  ASP.NET 플랫폼의 장점들을 기반으로 만들어진 ASP.NET MVC
  NET 35 언어의 혁신
  오픈 소스 ASP.NET MVC

누가 ASP.NET MVC를 사용해야 하는가?
  ASP.NET 웹폼과의 비교
  루비 온 레일즈와의 비교
  모노레일과의 비교

요약


>>> 2장 ASP.NET MVC 응용 프로그램 도전

개발환경 준비하기

새로운 ASP.NET MVC 프로젝트 생성하기
  불필요한 파일 제거하기
  동작원리

웹 페이지 렌더링
  뷰 생성 및 렌더링
  동적 출력 추가하기

첫 응용 프로그램
  개요
  액션간의 링크 걸기
  데이터 모델 설계하기
  폼 작성하기
  폼 제출 처리하기
  유효성 검사 추가하기
  마무리

요약


>>> 3장 사전지식

모델-뷰-컨트롤러(MVC, Model-View-Controller) 아키텍처의 이해
  스마트 UI
  도메인 모델 분류
  3-티어 아키텍처
  MVC 아키텍처
  모델-뷰-컨트롤러의 변형

도메인 모델링
  도메인 모델 예제
  엔티티와 값 개체
  편재 언어
  집합 및 단순화
  리파지터리를 이용하여 데이터 접근 코드를 유지하기
  LINQ to SQL 사용하기

느슨하게 연결된 구성 요소 작성하기
  균형 잡힌 접근방식
  IoC 사용하기
  IoC 컨테이너 사용하기

자동화된 테스트 시작하기 
  단위 테스트 및 통합 테스트
  실패 후 성공 개발방식8

새로운 C# 3 언어 기능들
  설계 목표: 통합 언어 질의(LINQ)
  확장 메서드
  람다 메서드
  제너릭 형식 추론
  자동으로 구현된 속성
  개체 및 컬렉션 이니셜라이저
  형식 추론
  익명 형식
  LINQ to Objects 사용하기
  람다 식
  IQueryable<T>와 LINQ to SQL

요약


>>> 4장 스포츠스토어: 실무 응용 프로그램

시작하기
  솔루션 및 프로젝트 생성하기

도메인 모델 작업하기
  추상 리파지터리 생성하기
  가상 리파지터리 만들기

제품 목록 출력하기
  불필요한 파일 제거하기
  첫 번째 컨트롤러 추가하기
  기본 경로 설정하기
  첫 번째 뷰 추가하기

데이터베이스 연결하기
  데이터베이스 스키마 정의하기
  LINQ to SQL 설정하기
  실제 리파지터리 생성하기

IoC설정하기
  사용자 정의 컨트롤러 팩터리 생성하기
  IoC 컨테이너 사용하기

자동화된 테스트 생성하기

사용자 정의 URL 스키마 구성하기
  RouteTable 정보 추가하기
  페이지 링크 출력하기

모양 꾸미기
  마스터 페이지 안에 페이지 레이아웃 정의하기
  CSS 규칙 추가하기
  파샬 뷰 생성하기

요약


>>> 5장 스포츠스토어: 탐색 및 장바구니

탐색 컨트롤 추가하기
  제품 목록 필터링하기
  카테고리용 URL 스키마 정의하기
  카테고리 탐색 메뉴 만들기

장바구니 구현하기
  Cart 엔티티 정의하기
  ‘Add to Cart’ 버튼 추가하기
  각각의 방문자에게 별도의 장바구니 제공하기
  CartController 생성 하이
  장바구니 출력하기
  장바구니에서 항목 제거하기
  타이틀 바에 장바구니 요약 출력하기

주문 전송하기
  도메인 모델 개선하기
  ‘Check Out Now’ 버튼 추가하기
  고객으로부터 배송 상세 정보 입력하기
  주문 제출자 IoC 구성 요소 정의하기
  CartController 완성하기
  EmailOrderSubmitter 구현하기

요약


>>> 6장 스포츠스 토어 관리기능 및 최종 개선 작업

카탈로그 관리 추가하기
  AdminController 생성하기 CRUD 기능을 구현할 위치
  리파지터리에 존재하는 제품의 그리드 렌더링 하기
  제품 편집기 작성하기
  새 제품 생성하기
  제품 삭제하기

관리 기능 보안
  폼 인증 설정하기
  인증 적용을 위한 필터 사용하기
  로그인 입력 창 출력하기

이미지 업로드
  도메인 모델 및 데이터베이스 준비하기
  파일 업로드 받기
  제품 이미지 출력하기

요 약


Part 2 ASP.NET MVC 심화


>>> 7장 ASP.NET MVC 프로젝트 개요

비주얼 스튜디오에서 MVC 응용 프로그램 개발하기
  기본 MVC 프로젝트 구조
  명명 규약
  초기 응용프로그램 골격
  MVC 응용프로그램과 단위 테스트를 디버깅하기
  디버거 사용하기
  .NET 프레임워크 소스코드로 들어가기
  ASP.NET MVC 소스코드로 들어가기

요청 처리 파이프라인
  1단계: IIS 
  2단계: 핵심 라우팅
  3단계: 컨트롤러와 액션
  4단계: ActionResult와 뷰

요약


>>> 8장 URL과 라우팅

개발자가 제어할 수 있다

라우트 설정하기
  라우팅 메카니즘 이해하기
  라우트 엔트리 추가하기
  매개변수 사용하기
  Defaults 사용하기
  Constraints 사용하기
  매개변수의 가변 길이 목록 수용하기
  서버의 하드 디스크에 있는 파일과 매치하기
  라우팅 시스템을 우회하기 위해서 IgnoreRoute 사용하기

출력용 URL 생성하기
  HtmlActionLink로 하이퍼링크 생성하기
  순수 라우팅 데이터로부터 링크와 URL 생성하기
  생성된 URL로 재전송하기
  아웃바운드 URL 매치 알고리즘 이해하기
  HtmlActionLink<T>와 람다 식으로 하이퍼링크 생성하기
  라우트에 이름을 부여하기

라우트를 단위 테스트하기
  인바운드 URL 라우팅 테스트하기
  아웃바운드 URL 생성 테스트하기

그 이상의 사용자 정의
  사용자 정의 RouteBase 엔트리 구현하기
  사용자 정의 라우트 처리기 구현하기

URL 스키마 지침
  URL을 깔끔하고 사용자 친화적으로 만들자
  HTTP 관습을 따르자
  검색 엔진 최적화

요약


>>> 9장 컨트롤러와 액션

개요
  ASP.NET 웹폼과의 비교
  모든 컨트롤러는 IController를 구현한다
  컨트롤러 기본 클래스

입력 수신하기
  컨텍스트 개체로부터 데이터 가져오기
  액션 메서드 매개변수 사용하기
  액션 메서드에서 수동으로 모델 바인딩 호출하기

출력 생성하기
  ActionResult 개념 이해하기
  뷰를 렌더하여 HTML 반환하기
  재전송 수행하기
  텍스트 데이터 반환하기
  JSON 데이터 반환하기
  자바스크립트 명령 반환하기
  파일과 이진데이터 반환하기
  사용자 정의 액션 결과 형식 만들기

재사용 가능한 동작을 추가하는 필터 사용하기
  4개의 기본적인 필터 형식 소개하기
  컨트롤러와 액션 메서드에 필터 적용하기
  액션 필터와 결과 필터 만들기
  권한부여 필터 만들고 사용하기
  예외 필터를 만들고 사용하기
  액션 필터와 결과 필터를 통해서 예외 버블링하기
  [OutputCache] 액션 필터
  그 외의 내장된 필터 형식

요청처리 파이프라인의 일부로서의 컨트롤러
  DefaultControllerFactory 다루기
  사용자 정의 컨트롤러 팩토리 만들기
  액션 메서드가 선택되고 호출되는 방법 사용자 정의하기
  컨트롤러와 액션 테스트하기
  Arrange(준비), Act(행동), Assert(확인하는 방법)
  View와 ViewData의 선택을 테스트하기
  재전송 테스트하기
  테스트에 관한 부가적인 이야기
  컨텍스트 개체를 Mocking하기

요약


>>> 10장 뷰

ASP.NET MVC와 뷰와의 조화
  웹폼 뷰 엔진
  뷰 엔진은 교체가 가능하다

웹폼 뷰 엔진 기초
  뷰 템플릿에 콘텐트 추가하기
  뷰 템플릿에 동적 콘텐트를 추가하는 5가지 방법

인라인 코드 사용하기
  프로 ASP.NET MVC 프레임워크
  인라인코드가 MVC 뷰 템플릿에 적합한 이유

MVC 뷰는 실제로 어떻게 동작하는가
  ASPX 템플릿은 어떻게 컴파일되는가
  ViewData 이해하기
  ViewDataEval을 사용하여 ViewData 항목 렌더하기

HTML 도우미 메서드 사용하기
  프레임워크의 내장된 도우미 메서드들
  자체HTML 도우미 메서드 만들기

파샬 뷰 사용하기
  파샬 뷰 만들기
  서버태그를 사용하여 파샬 뷰 렌더하기

응용 프로그램 로직을 갖는 재사용 가능한 위젯을 만들기 위해서
HtmlRenderAction 사용하기
  HtmlRenderAction이 하는 일
  언제 HtmlRenderAction를 사용하는 것이 적절한가
  HtmlRenderAction을 기반으로 하는 위젯 만들기

마스터 페이지를 사용하여 페이지 레이아웃 공유하기
  MVC 뷰 마스터 페이지에서 위젯 사용하기

사용자 정의  뷰 엔진 구현하기
  XSLT를 사용하여 XML을 렌더하는 뷰 엔진

다른 뷰 엔진 사용하기
  NVelocity 뷰 엔진 사용하기
  Brail 뷰 엔진 사용하기
  Spark 뷰 엔진 사용하기
  NHaml 뷰 엔진 사용하기

요약


>>> 11장 데이터엔트리                                                 

모델 바인딩
  액션 메서드 매개변수에 대한 모델 바인딩
  사용자 정의 형식에 대한 모델 바인딩
  모델 바인딩을 직접적으로 호출하기
  배열, 컬렉,션 딕셔너리에 대한 모델 바인딩
  사용자 정의 바인더 만들기
  업로드된 파일을 받기 위해 모델 바인딩 사용하기

유효성 검사
  ModelState에 에러 등록하기
  에러정보를 출력하기 위한 뷰 도우미
  프레임워크가 입력 컨트롤에 상태를 유지하는 방법
  모델 바인딩 중에 유효성 검사하기
  유효성 검사 로직을 모델 계층으로 옮기기
  클라이언트 측 JavaScript) 유효성검사

위저드와 다단계 폼

검증
  CAPTCHA 구현하기
  HMAC 코드를 통한 위조 방지와 승인 링크

요약


>>> 12장 Ajax와 클라이언트 스크립트

왜 자바스크립트 툴킷을 사용해야만 하는가

ASPNET.MVC의 Ajax 도우미
  Ajax ActionLink를 사용하여 비동기적으로 페이지 콘텐트 가져오기
  AjaxBeginForm을 사용하여 비동기적으로 폼 전송하기
  액션메서드에서 자바스크립트 명령 호출하기
  ASPNET.MVC의 Ajax 도우미 검토하기

ASPNET.MVC와 함께 jQuery 사용하기
  jQuery 참조하기
  기본적인 jQuery 원리
  MVC 뷰에 클라이언트 측 상호작용 추가하기
  Ajax가 사용되는 링크와 폼
  JSON으로 클라이언트 서버 데이터 전송하기
  jQuery를 사용하여 XML 데이터 가져오기
  애니메이션과 그 외의 그래픽적인 효과
  jQueryUI의 사전 구현된 사용자 인터페이스 위젯
  jQuery를 사용하여 클라이언트 측 유효성 검사 구현하기
  jQuery 요약

요약


>>> 13장 보안과 약점

모든 입력은 위조될 수 있다
  HTTP 요청 위조하기

크로스-사이트 스크립팅과 HTML 인젝션
  XSS 취약점의 예
  ASP.NET의 요청 유효성 검사 기능
  HTML Agility Pack을사용하여HTML 필터하기

세션 가로채기
  클라이언트 IP 주소 검사를 통한 방어
  쿠키의 HttpOnly 플래그를 설정하여 방어하기

크로스 사이트 요청 위조
  위조방지(Anti-Forgery) 도우미를 사용하여 CSRF 막기

SQL 인젝션
  입력을 인코딩하여 방어하기
  매개변수를 사용하는(Parameterized) 질의를 사용하여 방어하기
  개체-관계 매핑ORM)을 사용하여 방어하기

MVC 프레임워크를 보안적으로 사용하기
  우연하게라도 액션 메서드를 노출해서는 안 된다
  모델 바인딩이 민감한 속성을 변경하지 못하게 하라

요약


>>> 14장 배포

서버 요구사항
  공유 호스팅을 위한 요구사항

IIS 기본
  웹 사이트와 가상 디렉터리 이해하기
  웹 사이트를 호스트명 IP 주소 포트와 바인딩하기
  IIS가 요청을 처리하고 ASP.NET을 호출하는 방법

응용 프로그램 배포하기
  응용 프로그램 파일을 서버로 복사하기
  윈도우 서버2003/IIS 6에서 동작하게 만들기
  IIS 7에서 동작하게 만들기

응용프로그램을 운영서버에서도 잘 동작하게 만들기
  변경 가능한 라우팅 구성설정 지원하기
  가상 디렉터리 지원하기
  ASPNET 구성 기능 사용하기
  서버 상에서 컴파일 제어하기
  배포 전에 뷰 안에 있는 컴파일러 에러를 감지하기

요약


>>> 15장 ASP.NET 플랫폼기능

윈도우 인증
  익명 액세스 막기 또는 제한하기

폼 인증
  폼 인증 설정하기
  Cookieless 폼 인증 사용하기

멤버십과 역할 및 프로필
  멤버십 공급자 설정하기
  폼 인증과 멤버십 공급자를 함께 사용하기
  사용자정의 멤버십 공급자 생성하기
  역할 설정하기 및 사용하기
  프로필 설정하고 사용하기

URL 기반권한 부여

데이터 캐싱
  캐시 데이터 읽고 쓰기
  고급 캐시기능 사용하기

사이트 맵
  사이트 맵 설정하고 사용하기
  사이트 맵 API를 이용한 사용자 정의 탐색컨트롤 생성하기
  라우팅 데이터로부터 사이트 맵 URL 생성하기

국제화
  국제화 설정하기
  리소스파일 활용 팁
  리소스 문자열에서 형식 항목 사용하기

성능
  HTTP 압축
  추적 및 모니터링
  페이지 생성 시간 모니터링
  LINQ to SQL 데이터베이스 쿼리 모니터링

요약


>>> 16장 MVC와 웹폼의 결합

MVC 응용 프로그램에서 웹폼 기술 사용하기
  MVC 뷰에서 웹폼 컨트롤 사용하기
  MVC 웹 응용 프로그램에서 웹폼 페이지 사용하기
  웹폼 페이지에 라우팅 지원 추가하기

웹폼 응용 프로그램에서 ASP.NET MVC 사용하기
  MVC를 지원하도록 ASP.NET 웹폼 응용프로그램 업그레이드하기
  MVC 항목에 대한 비주얼스튜디오 지원 구현하기
  웹폼 페이지와 MVC 컨트롤러 간의 상호작용

요약


찾아보기

관련글 더보기

댓글 영역