logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

프로가 되기 위한 웹 기술 입문

프로가 되기 위한 웹 기술 입문

고모리 유스케 (지은이), 김정환 (옮긴이)
  |  
위키북스
2012-04-18
  |  
25,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

프로가 되기 위한 웹 기술 입문

책 정보

· 제목 : 프로가 되기 위한 웹 기술 입문 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788992939997
· 쪽수 : 308쪽

책 소개

웹 애플리케이션을 개발하곤 있지만, 정작 웹의 동작 원리나 메커니즘을 명확하게 이해하지 못한 채 당장 필요한 프레임워크 사용법과 같은 표면적인 부분만을 익힌 독자에게 웹 기술의 역사와 배경부터 각종 웹 기술, 웹 개발 프레임워크, 보안에 이르기까지 전체적인 그림을 그릴 수 있게 도와준다.

목차

▣ LESSON 0 | 프롤로그

- 웹 애플리케이션 개발 기술은 어디서 배우는가?
- 왜 여러분은 웹 애플리케이션 개발 기술을 배우지 못하는 것일까?
- 대상 독자
- 이 책을 읽을 때 필요한 사전 지식
- 가장 효율적으로 기술을 배우는 방법

▣ LESSON 1 | 웹 애플리케이션이란 무엇인가?

1.1 데스크톱 애플리케이션
1.2 웹 애플리케이션
1.3 정리

▣ LESSON 2 | 웹은 어떻게 발전했는가?

2.1 WWW의 탄생과 보급
- 전 세계의 컴퓨터를 연결하는 인터넷
- 인터넷 보급의 견인차 월드 와이드 웹과 모자이크
- WWW의 탄생
- 현대 웹 브라우저의 시조인 NCSA 모자이크
2.2 웹을 뒷받침하는 기술의 발명
- 웹 서버와 웹 클라이언트
- 왜 클라이언트와 서버로 나누는가?
- '그 리소스는 어디에 있지?' - URL
- HTTP
2.3 CGI의 탄생
- 동적인 콘텐츠에 대한 요구
- CGI의 탄생
- 웹의 폭발적인 보급
2.4 서블릿의 등장
- CGI를 둘러싼 문제점
- 자바/서블릿의 탄생
- 자바로 애플리케이션을 개발할 때의 이점
2.5 JSP의 탄생
- 서블릿의 문제점
- 발상의 전환! JSP의 탄생
2.6 웹 애플리케이션 프레임워크의 시대
- 서블릿과 JSP의 문제점
- 웹 애플리케이션 프레임워크의 탄생
2.7 정리

▣ LESSON 3 | HTTP를 이해하자

3.1 왜 HTTP를 알아야 하는가?
3.2 웹 브라우저와 웹 서버의 통신을 엿보자
- 피들러 설치
- HTTP 통신을 엿보자
- HTTP 요청을 엿보자
- HTTP 응답을 엿보자
- HTTP에서는 한 번에 리소스 하나를 취득한다
- 파일명을 생략했을 경우의 요청
3.3 정보는 어떻게 인터넷의 대해를 건너는가?
- 인터넷상의 주소-IP 주소
- IP 주소에 의지해 정보를 보내는 TCP/IP
- IP 주소는 누가 결정하는가?
- 글로벌 IP 주소와 사설 IP 주소
- 호스트명을 IP 주소로 변환하는 DNS
- DNS는 어떻게 구현되는가?
- 호스트 내의 수신처를 결정하는 포트 번호
3.4 웹 서버에 요청을 어떻게 전달하는가?
- GET 메서드를 이용한 매개변수 전달
- 애플리케이션 측의 매개변수 받기
- POST 메서드를 이용한 매개변수 전달
- GET과 POST 중 어느 쪽을 사용해야 할까?
- 한글은 어떻게 전달해야 하는가?
3.5 정리

▣ LESSON 4 | CGI에서 웹 애플리케이션으로

4.1 배달 피자 주문 사이트를 만들자
4.2 화면 구성
4.3 화면 모형
4.4 로그인 인증 기능
- PHP로 인증 기능을 만들자
- 인증 기능의 동작을 확인하자
- 리다이렉트 동작의 HTTP 통신을 확인하자
4.5 로그인 상태를 어떻게 기억할 것인가?
- 상태 유지 프로토콜과 무상태 프로토콜
- 무상태인 HTTP상에서 상태를 어떻게 표현할 것인가?
- 쿠키를 이용해 상태를 보존한다
- 실제 쿠키 이용을 확인한다
4.6 안전하게 상태를 보존하기 위한 기술 -세션
- 쿠키를 둘러싼 문제점
- 은행의 창구 업무를 통해 세션을 이해하자
- 계좌 개설 업무의 진행 상황을 어떻게 관리하는가?
- 세션으로 처리 진행 상황을 관리한다
- 세션의 상태를 어디에 보존할 것인가?
- HTTP에서의 세션 ID 전달 방법
- 실제 웹 애플리케이션에서의 세션 ID 활용
- 세션 ID를 이용한 사용자 식별
4.7 피자 펜토미노의 완성
4.8 정리

▣ LESSON 5 | 웹 애플리케이션의 구성 요소

- 왜 웹 애플리케이션의 구성을 이해해야 하는가?
5.1 웹 서버와 웹 클라이언트의 시대
- WWW의 여명기
- CGI의 시대
5.2 데이터베이스 서버의 등장
- 대량의 정보를 어떻게 관리할 것인가?
- 데이터베이스 관리 시스템의 등장
- 데이터베이스에 대한 조작
- 데이터베이스를 이용한 정보의 관리
- 데이터베이스에서 정보를 추출한다
- 필요한 정보를 SQL로 데이터베이스에 전달한다
- 데이터베이스와 클라이언트의 관계
- 데이터베이스 서버의 분리
- 웹 애플리케이션과 데이터베이스의 통신
5.3 애플리케이션 서버의 등장
- 서블릿이나 JSP는 어디에서 작동하는가?
- 서블릿/JSP를 작동시키기 위한 애플리케이션 서버
- 웹 서버와 애플리케이션 서버의 연동
- 웹 서버와 애플리케이션 서버의 분담
- 웹 서버와 애플리케이션 서버 연동의 이점
- 여러 톰캣에 전송하기
- 웹 서버의 기능을 가진 애플리케이션 서버
5.4 웹 시스템의 삼층 구성
- 최소 구성의 웹 시스템
- 일반적인 구성
- 웹 시스템의 삼층 구성
5.5 정리

▣ LESSON 6 | 웹 애플리케이션을 효율적으로 개발하는 방법

6.1 서블릿/JSP만으로는 부족한가?
- 웹 애플리케이션 개발의 표준 ? 자바
- 서블릿과 JSP의 연동
6.2 서블릿/JSP를 이용한 피자 펜토미노의 로그인 처리 구현
- JSP를 통한 로그인 화면 표시
- 서블릿의 호출
- 로그인 서블릿의 처리
- 포워드와 리다이렉트의 차이
- 요청 스코프에서의 정보 전달
- JSP의 요청 스코프에서 정보를 꺼내기
- 왜 요청 스코프가 필요한가?
- 세션 스코프와 요청 스코프의 차이
6.3 웹 애플리케이션의 아키텍처
- 로직과 디자인의 분리
- 소프트웨어의 건축 양식
- 피자 펜토미노의 구조를 살펴보자
- MVC 모델에 따른 웹 애플리케이션의 아키텍처
- MVC 모델에서의 처리 흐름
6.4 프레임워크를 통한 아키텍처의 구현
- 프레임워크란 무엇인가?
- 스트러츠를 이용한 MVC 모델의 구현
- 스트러츠를 이용한 피자 펜토미노의 로그인 처리
- JSP에서의 로그인 처리 액션 호출
- 로그인 처리 액션에서의 로그인 확인 처리
- 상품 목록 화면으로 이동
6.5 레이어 패턴에 따른 데이터 액세스 계층의 분리
- 모델을 어떻게 구현할 것인가?
- JDBC를 이용해 데이터베이스에서 정보를 가져온다
- 레이어 패턴에 따른 데이터 액세스 계층의 분리
- DAO 패턴을 이용한 데이터 액세스 레이어의 구현
6.6 O/R 매핑 프레임워크를 이용한 데이터 액세스 레이어 구현
- O/R 매핑 프레임워크의 필요성
- RDB와 객체의 임피던스 불일치
- 아이바티스를 이용한 O/R 매핑의 실제
- 데이터 매퍼와 SQL 맵 파일을 이용한 O/R 매핑 처리
- Dao 프레임워크를 이용한 DAO의 작성
6.7 프레임워크 이용의 장점과 단점
- 프레임워크 이용의 장점
- 프레임워크 이용의 단점
6.8 정리

▣ LESSON 7 | 보안을 확보하기 위한 방법

7.1 왜 보안을 확보해야 하는가?
- 웹 애플리케이션이 지켜야 할 보안
7.2 웹 애플리케이션에 대한 대표적인 공격 수법과 그 대책
- SQL 인젝션
- 크로스 사이트 스크립팅(XSS)
- 세션 하이재킹
- 크로스 사이트 요청 위조
- 강제 브라우징
- 디렉터리 접근 공격
7.3 설계ㆍ실행의 실수에 기인한 오작동이나 보안 문제를 막기 위한 대책
- 뒤로 가기 버튼 대책
- 이중 폼 제출 대책
- hidden 매개변수를 이용할 때의 주의점
- 디버그 정보를 출력하지 않는다
- 전역 변수에 정보를 담지 않는다
7.4 정리

▣ LESSON 8 | 맺음말

- 감사의 말
- 제5쇄 증쇄에 즈음해

▣ LESSON 9 | 부록

9.1 참고 서적ㆍ사이트

저자소개

고모리 유스케 (지은이)    정보 더보기
UL 시스템즈 주식회사(http://www.ulsystems.co.jp) 선임 컨설턴트 2000년 도쿄 공업대학 공학부 정보공학과를 졸업했다. 독립계 시스템 개발 회사의 SE, 기술 컨설턴트를 거쳐 현직에서 기술 지원과 PM 지원, 비즈니스 기획 지원 등 폭넓은 활약을 펼치고 있지만 ‘전 세계 사람들이 사용하는 제품을 개발한다’라는 꿈을 실현하려면 아직 갈 길이 멀다. 2005년부터 오픈소스 소프트웨어 개발 활동에 흥미를 느끼고 Seasar 프로젝트(http://www.seasar.org/)에서 커미터와 콘퍼런스 강연자로 활동 중이다. 동 프로젝트 아래서 리치 클라이언트 프레임워크인 Uruma(http://uruma.sandbox.seasar.org/ja/)의 개발을 진행하고 있지만, 시간을 내지 못해 생각만큼 개발을 진행하지 못하는 것이 최근의 고민거리다. 저서로는 『왜 당신은 자바로 객체지향 개발을 하지 못하는가?(なぜ、あなたはJavaでオブジェクト指向開發ができないのか)』(기주쓰효론사(技術評論社))가 있다.
펼치기
김정환 (옮긴이)    정보 더보기
건국대학교 토목공학과를 졸업하고 일본외국어전문학교 일한통번역과를 수료했다. 21세기가 시작되던 해에 우연히 서점에서 발견한 책 한 권에 흥미를 느끼고 번역의 세계를 발을 들여, 현재 번역 에이전시 엔터스코리아 출판기획 및 일본어 전문 번역가로 활동하고 있다. 경력이 쌓일수록 번역의 오묘함과 어려움을 느끼면서 항상 다음 책에서는 더 나은 번역, 자신에게 부끄럽지 않은 번역을 할 수 있도록 노력 중이다. 공대 출신의 번역가로서 공대의 특징인 논리성을 살리면서 번역에 필요한 문과의 감성을 접목하는 것이 목표다. 주요 역서로는 『일본 주식시장의 승부사들 1, 2』, 『미국 배당주 투자』, 『이동 평균선 투자법』, 『윌리엄 오닐의 좋은 주식 고르는 법』, 『사장을 위한 MBA 필독서 50』 등이 있다.
펼치기

책속에서



하면 먼저 PC통신을 떠올렸으며, 주로 전화선을 이용해 모뎀으로 통신을 했기에 속도는 턱없이 느렸다. 지금은 '겨우' 몇 메가바이트이지만, 그때는 '무려' 몇 메가바이트였다. 게다가 전화 요금 체계에 시분제가 적용됨에 따라 유선 통신 요금의 부담은 지금과는 비교도 되지 않았다. 밤새 PC 통신을 하다가 전화 요금이 십여 만 원씩 나와 고지서를 받고 깜짝 놀란 어머니(혹은 아버지)에게 빗자루로 맞았다는 이야기를 심심치 않게 들을 수 있었던 시절이었다(옮긴이도 빗자루로 맞지는 않았지만 비슷한 경험을 했다). 이렇듯 온라인을 통한 정보 교환에 제약이 많았던 시절이기에 소프트웨어는 패키지 형태로 판매되는 데스크톱 애플리케이션이 주류를 이뤘다. 그러나 ADSL과 VDSL 등 점차 초고속 통신망이 구축되고 인터넷이 일반화되면서 소프트웨어의 흐름은 데스크톱 애플리케이션에서 웹 애플리케이션으로 넘어오고 있다.

이제 웹 애플리케이션은 우리 생활에 없어서는 안 될 필수품이다. 우리는 Gmail이나 각종 포털 사이트의 이메일 서비스를 통해 이메일을 주고받으며, 사고 싶은 물건이 있으면 인터넷에서 최저가를 검색한 다음 인터넷 쇼핑몰에서 구입한다. 내가 타려는 버스가 어디쯤 와 있는지도 인터넷에서 확인할 수 있게 됐다. 모두 웹 애플리케이션의 발달로 가능해진 일들이다.

이 책은 그런 웹 애플리케이션의 개발에 뜻을 두고 있는 분들을 위한 입문서다. 입문서이기에 구체적인 기술을 자세히 다루지는 않지만, 그 대신 웹 애플리케이션을 개발하기 위한 기본적인 지식과 역사, 배경을 친절하게 설명해 준다. 글쓴이가 이 책에서 많은 중점을 둔 부분은 바로 웹 애플리케이션 개발 기술이 오늘에 이르기까지의 역사와 배경에 관한 설명이다. 어떤 기술이 개발된 이유는 그 기술이 필요했기 때문이다. 또한 처음부터 완벽한 기술은 있을 수 없으므로 문제점이 발생하기 마련이고, 그 문제점을 해결하기 위해 또 다른 기술이 탄생한다. 이러한 역사 속에서 현재의 웹 애플리케이션 개발 기술로 발전된 것이며, 앞으로도 새로운 필요성에 따라 신기술이 속속 탄생할 것이다. 그런 역사를 이해한다면 어떤 기술을 어떻게 이용해야 할지 아는 데 많은 도움이 될 것이며, 새로운 기술이 탄생해도 그 기술을 좀 더 빨리 이해할 수 있으리라는 것이 글쓴이의 생각이다. 그리고 옮긴이 역시 글쓴이의 생각에 동의한다.

뭔가를 배울 때 단순히 내용만을 암기하는 것은 큰 도움이 되지 못한다. 그 바탕에 깔려있는 배경을 알아야 응용력이 생기기 마련이다. 독자 여러분도 학교에서 수학 공식을 암기한 경험이 있을 것이다. 참고서에 나와 있는 공식을 무작정 외우기만 하면 똑같은 패턴의 문제가 나왔을 때는 간단하게 숫자만 바꿔바꿔서 빠르게 풀 수 있지만, 조금만 문제를 비틀어도 벽에 부딪치고 만다. 그러나 그 공식이 어떤 과정을 거쳐 나왔는지를 이해한다면 패턴에서 벗어난 문제를 만나더라도 당황하지 않고 이 문제를 어떻게 풀어야 할지 곰곰이 생각하며 풀 수 있게 된다. 어학에서 관용 표현이나 속담 등을 외울 때도 마찬가지다. 그 표현 또는 속담이 어떤 배경에서 나왔으며, 때로는 그 안에 어떤 역사가 담겨 있는지 알면 단순 암기할 때보다 훨씬 이해도 잘 되고 잘 잊어버리지도 않는다. 이와 같이 역사와 배경을 알면 이해도가 훨씬 높아지며, 무엇보다도 배우는 것이 즐거워진다.

다만 이 책은 아무런 지식도 없는 상태에서 웹 애플리케이션 개발 기술을 처음부터 배우려 하는 사람을 위한 책은 아니다. 전문적인 내용을 최대한 배제했다고는 하지만, HTML에 관한 기초 지식과 간단한 프로그래밍 지식 정도는 알고 있다는 가정에서 이야기가 진행된다. 그러나 지금부터 공부를 시작하는 사람도 가벼운 마음으로 읽어 본다면 앞으로 웹 애플리케이션 개발 기술을 공부하기 위해 필요한 개념을 잡는 데 많은 도움이 되리라고 생각한다.
- 옮긴이 서문 중에서


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책