이미 소장하고 있다면 판매해 보세요.
|
1장 Ajax와 리치 인터넷 애플리케이션
___진화하는 웹 ______기존 웹 애플리케이션의 단점 ______해결사 Ajax ___기업의 Ajax 활용 ___Ajax 수용 유도 ______사용성 ______네트워크 활용 ______데이터 중심 ______방법과 툴, 기술의 발전 ______서버 독립성 ___애플리케이션과의 관계 ______Ajax 기술 ______프로그래밍 패턴 ___Ajax의 대안 ______XUL ______XAML ______자바 애플릿과 웹 스타트 ______어도비 플래시, 플렉스와 아폴로 ______오픈라즐로 ___정리 ___참고자료 2장 Ajax 기본 구성 ___자바스크립트 ______자바스크립트 타입 ______클로저 ______객체지향형 언어 자바스크립트 ______프로토타입 프로퍼티 ______객체지향과 상속 ______가변성 ______스레드 ______에러 처리 ______네임스페이스 ___문서 객체 모델 ______DOM 기초 ______DOM 조작 ___CSS ______상속과 캐스케이드 ______인라인 스타일 ______스타일시트 ______동적 스타일 ___이벤트 ______이벤트 흐름 ______이벤트 바인딩 ______브라우저 호환 이벤트 ______이벤트 객체 ___클라이언트/서버 메시지 ______XMLHttpRequest 기초 ______데이터 처리 ___정리 ___참고자료 3장 웹 브라우저에서의 Ajax ___컴포넌트 기반 Ajax ______Ajax 사용 증가 ______서버로의 영향 ___HTML 표준 ______문서 타입 정의 ______박스 모델 ___Ajax 컴포넌트 실행 ______onload 이벤트 ______브라우저 속임수 ___모델 뷰 컨트롤러 ______뷰 ______컨트롤러 ______모델 ___Ajax MVC ______Ajax 모델 ______Ajax 뷰 ______Ajax 컨트롤러 ______관점지향 자바스크립트 ___정리 ___참고자료 4장 Ajax 컴포넌트 ___명령형 컴포넌트 ___선언형 컴포넌트 ______서버단의 선언형 프로그래밍 ______선언형 구글 맵 ______대안 방식 ___커스텀 선언형 컴포넌트 ______행위형 컴포넌트 ______선언형 컴포넌트 ______선언 ___컴포넌트 제작 ______기본 함수___ ______서버 연결 ______반복문 끝내기 ___정리 ___참고자료 5장 개발 과정 ___디자인 ______Ajax 모델링 ______모델 뷰 컨트롤러 패턴 적용 ______성능 문제 방지 ___프로토타입 ______와이어프레임 ______디자인 결정 검증 ___테스트 ______테스트 주도 개발론 ______디버깅 ___소프트웨어 배포 ______자바스크립트 압축 ______이미지 연결 ______지적 재산 보호 ______문서화 ___정리 ___참고자료 6장 Ajax 구조 ___N티어 구조: 1에서 n티어까지 ___비동기 메시지 ___폴링 ___서버 푸시 ______코멧 ___트래킹 요청 ___캐시: 데이터 접근 ___기본 캐시 ___컴포넌트에서의 캐시 ___브라우저에서의 캐시 ___서버에서의 캐시 ___데이터베이스에서의 캐시 ______MySQL ______MS SQL 서버 ______오라클 ___서버 업데이트 모델: 동시성 ______비관적 잠금 ______읽기 전용 잠금 ______낙관적 잠금 ______충돌 확인 ______충돌 해결 ______자동 충돌 해결 ___동시 접속 수 관리 ______클라이언트 ______서버 ___스케일링 ______로드 밸런싱과 클러스터링 ______Ajax 스케일링 문제 ___오프라인 Ajax ___파이어폭스 오프라인 스토리지 ___인터넷 익스플로러 userData 오프라인 스토리지 ___플래시 클라이언트 스토리지 사용 ___오프라인 Ajax와 동시성 ___정리 ___참고자료 ______REST와 웹 서비스 ______캐시 ______데이터베이스 성능 ______오프라인 Ajax 7장 웹 서비스와 보안 ___웹 서비스 ___웹 서비스 프로토콜 ______REST ______XML 원격 프로시저 호출 ______웹 서비스 ______올바른 툴 선택하기 ___클라이언트에서의 SOAP ______IBM 웹 서비스 자바스크립트 라이브러리 ______파이어폭스 ______인터넷 익스플로러 ___크로스 도메인 웹 서비스 ______서버 프록시 ______URL 부위 지정자 ______플래시 크로스 도메인 XML ______스크립트 삽입 ___보안 ___Ajax 보안 문제 ___크로스 도메인의 취약성 ______크로스 사이트 스크립팅 ______크로스 사이트 요청 위조 ______자바스크립트 하이재킹 ___SQL 삽입 ______예약문 ______저장된 프로시저 ______XPath 삽입 ___데이터 암호화와 보안 ___방화벽 ___정리 ___참고자료 8장 Ajax 사용성 ___일반적인 문제 ______뒤로가기 버튼과 북마크 ______페이지 총용량 ______자동 커밋 ___접근성 ______필요로 하는 접근성에 따른 사용자 구분 ______자바스크립트와 웹 접근성 ______스크린리더와 접근성 ______스크린리더에 관한 오해 ______JAWS에서 지원하는 Ajax 상호작용 ______키보드 접근성 ___사용성 테스트 ___약식 테스트 ______참가자 모집 ______디자인과 실행 테스트 ___소프트웨어 지원 테스트 ______사용성 테스트 툴 ______소프트웨어 지원 테스트 도움말 ___정리 ___참고자료 ______뒤로가기 버튼 ______사용성 테스트 9장 사용자 인터페이스 패턴 ___디스플레이 패턴 ______애니메이션 패턴 ___상호작용 패턴 ______기본 상호작용 패턴 ______드릴다운/마스터디테일 ___정리 ___참고자료 ______드래그앤드롭 ______진행상태 바 ______활성화 표시기 ______색상 페이드 ______즉석 편집 ______드릴다운 ______라이브 서치 ______라이브 폼 10장 문제 발생과 해결 방안 ___문제 원인 ______기술적 문제 ______문화적/정치적 문제 ______마케팅 문제 ___기술적 문제 ______사용 범위 ______브라우저 성능 ______유지보수 ______상위호환성 ______서드파티 툴 지원과 노후화 ___문화적/정치적 문제 ______최종 사용자 경험 ______훈련 능력 ______관련 법안 ___마케팅 문제 ______검색엔진 접근성 ______사용 범위 ______수익 창출 ___문제 진단과 해결 방안 ______특화된 Ajax 프레임워크나 컴포넌트 사용 ______점진적 향상과 비간섭 자바스크립트 ______구글 사이트맵 ______시각적 단서 ______골드 플레이팅 ______유지보수 계획 ______수익 모델 참고 ______애플리케이션 교육 기간 ___정리 ___참고자료 ______검색엔진 최적화 ______통계 ______로드맵 ______화면 캡처 툴 11장 사례연구 ___미국 국방부의 웹 2.0 ______배경 ______도전 문제 ______해결책 ______사용 기술 ______결과 ___아그리엄의 Ajax 적용 ______배경 ______도전 문제 ______해결책 ______사용 기술 ______결과 ___Ajax, 세계적 운송 업계 로지스틱스를 돕다 ______배경 ______도전 문제 ______해결책 ______사용 기술 ______결과 ___정리 ___참고자료 부록 A OPENAjax HUB ___핵심 특징: Hub의 publish/subscribe manager ______예 ______OpenAjax Hub를 지원할 예상 툴킷 |
|
재능 있는 개발자라면 Ajax에 관심을 갖기 마련이며, 어떻게 적용해야 자신의 웹 애플리케이션 성능을 향상시킬지 분명 고민할 게다. 이 글을 읽고 있는 사람이라면 적어도 Ajaxian.com 같은 사이트를 들러서 미리 조사를 했거나, 초보 단계의 Ajax 관련 서적은 한 권 정도 읽었으리라 생각한다. 미리 공부한 상태가 아니라면, Ajax에 관심이 있는 개발자 모임에 가입해서 함께 공부해보길 바란다. 어떤 방법으로 공부를 하든지 간에, 지금 이 책을 잡고 있는 독자는 Ajax를 더 알고 싶은 사람일 것이다.
어느 날 주위를 둘러보니 Ajax 개발과 관련된 중, 고급 정보가 기대만큼 많지 않다는 사실에 실망하게 됐다. 그래서 직접 이 정보를 제공해보고자 펜을 들었으며, 어느 정도 책을 쓰다 보니 어느 샌가 Ajax가 엔터프라이즈 소프트웨어에 깊숙이 침투해 있음을 깨달았다. 이 책은 엔터프라이즈 개발자의 관심사에 맞는 정보를 주로 담고 있다. 자바스크립트는 물론, 엔터프라이즈 개발자에게 익숙하고 또한 반드시 알아야 할 현재 Ajax와 함께 어우러져 사용 중인 기술을 다양하게 설명하려 노력했다. 이 책이 필요한 이유 이 책의 내용 대부분은 수년에 걸쳐 Nitobi(www.nitobi.com)에서 Ajax 애플리케이션과 사용자 인터페이스 컴포넌트를 직접 개발할 때의 경험을 반영했다. 개발 당시에는 고생스러웠지만, 그때의 경험을 바탕으로 Ajax가 포함된 애플리케이션 개발 프로젝트를 맡은 (혹은 맡을 예정인) 여러분에게 필요한 정보와 유용한 리소스를 제공해줄 수 있어 매우 기쁘게 생각한다. 자바스크립트 활용 개발, Ajax 도입 시 문제 해결, 유용한 소프트웨어 디자인 등을 기초부터 모두 이뤄내야 하는 재능 있는 개발자가 되고 싶다면, 분명 이 책이 도움이 되리라 믿는다. 자바나 C#에 익숙해진 개발자가 자바스크립트 방식에 적응하는 시간을 줄이기 위해, 이들이 자바스크립트 코드를 쉽게 작성할 수 있는 방법은 무엇인지 참으로 오랜 시간 동안 고민했다. 그와 동시에 보안, 오프라인 스토리지와 같이 Ajax 개발 과정에서 화두로 떠오른 주제와 Ajax 개발에 활용할 만한 소프트웨어 디자인 패턴은 무엇인지 고려했다. 또한 코드 성능화뿐만 아니라, 캐시와 같은 인터넷 인프라스트럭처의 핵심을 적용해 고성능의 Ajax 애플리케이션을 제작하는 실질적인 해결책도 제시했다. 이 책은 프로그래밍 기법에 관한 조언과, 사용성, 접근성, 국제화 등의 이슈에 대해서도 논의하는 등, 기존 책과는 다른 방식으로 Ajax에 접근한다. 게다가 Ajax 개발 프로젝트 수행 중 발생하는 문제와 적용 프레임워크, 실제로 Ajax를 애플리케이션에 적용한 사례 등을 다뤄서 좀 더 실질적인 도움을 주고자 했다. --- '저자 서문' 중에서 전세계적으로 스마트폰 보급이 확대되면서 웹 접근성이 그 어느 때보다 중요해지고 있다. 물론 현재는 플래시와 실버라이트 같은 기술이 많이 사용되고 있지만, HTML5 등 새로운 스펙이 등장하면서 마크업과 Ajax를 이용한 구현 방향으로 웹 기술의 판도가 바뀌는 중이다. 국내 포털 사이트는 물론 국외에서도 웹 환경에 대대적인 새로운 바람이 인다는 사실은 눈치챘으리라. 바야흐로 Ajax를 새로운 시각으로 다시 한 번 주목해야 하는 때가 온 것이다. 어떤 분야를 체계적으로 익히려면 관련 서적 참고가 최고의 해법이다. 지금 현재 아마존닷컴에서 Ajax를 검색하면 무려 1700 여권이, 우리나라 인터넷서점에서는 약 40권 정도의 책이 눈 앞에 펼쳐진다. Ajax 분야 '베스트셀러'에 오른 책들을 보면 단순히 Ajax를 '소개'하고 Ajax를 이용한 사이트를 '만드는 데' 집중했다. 반면 이 책 『엔터프라이즈 Ajax』는 Ajax를 이용한 다이내믹한 사이트를 그저 '만드는' 것에서 벗어나 정말 '잘 만들' 수 있도록 기술을 초급부터 고급까지 단계별로 아우르며 설명한다. 『엔터프라이즈 Ajax』는 우선 1장부터 4장까지 'Ajax 기초'를 설명한다. 고급 개발자라면 이 부분을 뛰어넘어도 좋지만 시간이 허락한다면 기본 개념을 정리하고 혹시라도 있을지 모르는 잘못된 개념을 바로잡기에 좋다. 무엇보다 3장에서 다루는 MVC 모델과 4장의 컴포넌트 제작 방식은 반드시 짚고 넘어가길 바란다. Ajax의 기본을 알았다고 해서 Ajax 사이트를 만들 수 있다면 좋겠지만, 아직은 부족하다. 물론 사이트를 '만들 수'는 있지만 이 책에서 이야기하는 '잘 만들기'는 어렵다. 5장부터 9장은 중/고급 수준이다. 애플리케이션 디자인부터 테스트, 배포는 물론, 스케일링, 인터페이스 패턴, 최적화, 그에 덧붙여 Ajax를 사용할 때 발생하는 보안 문제까지 다룬다. 그야말로 실전에 바로 적용할 수 있는, 실무 Ajax 개발자가 늘 고민하던 내용을 저자의 식견과 경험을 바탕으로 매우 충실하게 풀어낸다. 마지막 10장과 11장에서는 실제 개발 과정에서 발생할 만한 문제와 적절한 해결방안을 참조할 수 있다. 이 과정을 거쳐간 '고수' Ajax 개발자들의 경험에서 우러난 조언이니 참고하면 좋겠다. 이 책의 제목은 『엔터프라이즈 Ajax』다. 하지만 실제로 읽어보면 규모에 관계없이 어느 기업에서나 사용할 수 있는, 개발자에게 꼭 필요한 '실전' 기술을 배울 수 있다. 꼭 고급 개발자가 아니어도 괜찮다. Ajax를 맛봤거나 자바스크립트로 웹사이트를 만들어 본 개발자라면 앞 부분 소개 장을 거치면서 얼마든지 활용할 수 있는 책이다. 풍부한 기능을 바탕으로 사용자의 접근성과 편의를 중시하는 진정한 '리치 웹 애플리케이션'의 시대에서. 아무쪼록 이 책이 정말 '잘' 만든 Ajax 애플리케이션 개발에 큰 도움이 되길 바란다. --- '옮긴이의 말' 중에서 |
|
믿을 수 있는 엔터프라이즈급 Ajax 웹 애플리케이션 제작하기
엔터프라이즈 개발자, 설계자, 사용자 인터페이스 전문가에게 Ajax가 대규모 개발 환경에서 훌륭한 기능을 제공할 수 있는 이유를 설명하고자 하며, 더불어 오늘날 Ajax의 핵심 기술과 주요 컴포넌트를 소개한다. 데이터 테이블, 웹 폼, 차트, 검색, 필터링 등을 통합하는 Ajax 애플리케이션 제작에 필요한 프레임워크 개발은 물론 CRM, ERP, BI 등에 활용될 시스템 비즈니스까지 알아보자. 그 후에, 이런 강력한 기본 지식을 바탕으로 Ajax의 구조적 패턴을 증명하고 실제 닷넷과 자바 Ajax 애플리케이션에서 이끌어낸 사례를 살펴본다. Ajax로 구현하는 브라우저의 모델 뷰 컨트롤러(MVC) Ajax와 관련된 보안 문제 해결 코드 재사용을 통한 사용자 인터페이스 기능 보호와 브라우저 호환 개발의 문제점 Ajax 사용성 최적화: 뒤로가기 버튼, 캐시, 북마크, 오프라인 사용 등 보안 문제부터 확장성, 프로젝트의 위험요소까지, 이 책은 Ajax 개발자가 기업 환경의 애플리케이션 개발 상황에서 맞닥뜨릴 모든 문제를 다룬다. 레거시 HTML 인터페이스부터 시작하든, 아예 처음부터 새로운 애플리케이션을 개발하든 간에 상관없이, 이 책은 모든 개발자에게 도움이 될 것이다. www.enterpriseajax.com에서 코드 샘플, 사례, 지침서, 라이브 데모, 기타 Ajax 리소스 등을 내려 받을 수 있다. 이 책의 대상 독자 『엔터프라이즈 Ajax』는 자바, ASP.NET 등의 서버단 개발 지식이 있는 개발자가 쓴 책이다. 책에 쓰여진 많은 디자인 패턴 개념은 GoF, 즉 에릭 감마, 리처드 헬름, 랠프 존슨, 존 블리시데스가 저술한 『Design Patterns: Elements of Reusable Object-Oriented Software』에서 가져왔다. 따라서 소프트웨어 디자인 패턴을 잘 알고 있거나, 적어도 한 번쯤 들여다본 독자라면 책을 이해하기에 훨씬 수월할 것이다. 패턴을 이용한 설명 방식이 도움이 되길 바란다(경험이 많은 개발자일수록 더 쉽게 이해하리라 생각한다). 사실, 패턴보다 더 중요한 개념은 자바스크립트와 HTML, CSS가 아닐까 한다. 물론 XML, XSLT, JSON도 도움은 될 것이다. 자바, C#, PHP 같은 객체지향의 서버단 프로그래밍 언어 사용 경험은 당연히 있으리라 생각한다. 책을 다 읽은 후라면 Ajax 기술 스택이나 객체지향 자바스크립트 개발에 좀 더 익숙해지길 바란다. 또한 책에서 다룬 보안, 사용성, 접근성 등의 다양한 Ajax 관련 이슈를 직접 고민해보고, Ajax 애플리케이션 개발에 도움을 주는 많은 툴도 활용해보자. MVC 구현, 보안, 확장성, 안정성, 신뢰성, 기능 최적화, 프로젝트의 위험요소까지 Ajax 개발자가 기업 환경의 애플리케이션 개발 상황에서 맞닥뜨릴 모든 문제를 다루는 책. 기업에서 바로 적용할 수 있고 실무 Ajax 개발자가 꼭 알아야 할 실전 Ajax 웹사이트 구축의 모든 것. 엔터프라이즈 개발자, 설계자, 사용자 인터페이스 전문가의 필독서. 1장 "Ajax와 리치 인터넷 애플리케이션"은 Ajax 애플리케이션이 무엇인지를 설명한다. 웹 애플리케이션의 발전 과정은 물론 Ajax가 웹 기반 애플리케이션에서 선호될 수밖에 없는 이유는 무엇인지 함께 살펴보자. 2장 "Ajax 기본 구성"에서는 Ajax 기술 스택을 나눠 이야기한다. 자바스크립트의 올바른 프로그래밍 방법, 객체지향 자바스크립트, 문서객체모델, CSS, 이벤트, XMLHttpRequest 객체, 그 밖의 클라이언트와 서버 간 데이터 전송 방식 등을 설명하겠다. 3장 "웹 브라우저에서의 Ajax"에서는 2장의 내용을 바탕으로 주요 브라우저 간의 기술 차이, 관련 정보, 모델 뷰 컨트롤러 디자인 패턴을 적용한 Ajax 애플리케이션 제작 방식을 알아보자. 세부적으로는 클라이언트단 모델을 자바스크립트로 작성하는 방법, 데이터를 HTML 뷰로 생성해내기, 자바스크립트 기반 컨트롤러로 모델과 뷰 잇기 등을 설명한다. 4장 "Ajax 컴포넌트"는 웹 애플리케이션에서 사용될 Ajax 사용자 인터페이스 컴포넌트를 제작하는 방법을 다룬다. 여기서는 선언적 방식을 설명하고, 명령적 방식과의 차이점도 이야기하겠다. 이제 이 정도면 기본 내용은 훑어봤으니, Ajax 개발 과정에서 고려해야 하는 핵심 문제를 다룰 준비가 됐다. 5장 "개발 과정"에서는 Ajax를 적용하는 소프트웨어 개발 과정을 애플리케이션 디자인부터 테스트, 테스트 과정 후의 애플리케이션 배포까지 전체적으로 살펴보자. 다양한 성능 문제는 물론, 개발 프로젝트 과정에 참조할 만한 유용한 툴도 더불어 소개한다. 6장 "Ajax 구조"는 Ajax 개발을 둘러싼 다양한 구조적 이슈를 다룬다. 비동기적 메시지 패턴은 물론, 서버 푸시, 캐시, 스케일링, 오프라인 Ajax 같은 서버와의 커뮤니케이션 내용을 설명하겠다. 여느 웹 기반 애플리케이션에서도 위와 같은 이슈는 있지만, Ajax 책이니만큼 Ajax와 이들 이슈와의 관계에 초점을 맞춰 알아보자. 6장의 내용을 바탕으로 7장 "웹 서비스와 보안"에서는 Ajax가 웹 브라우저에서의 웹 서비스를 사용해 서비스 지향 구조에 사용될 수 있는 이유를 알아보겠다. 더불어 Ajax 웹 애플리케이션 제작 과정 중 발생하는 다양한 보안 문제도 살펴보자. 8장 "Ajax 사용성"에서는 이 책의 주요 화제 중 하나였던 사용성, 특히 Ajax 애플리케이션을 사용하는 모든 사용자에게 적용될 사용성 문제를 이야기하겠다. 뒤로가기 버튼 문제나, 접근성, 국제화 등의 이슈에 적용할 해결책에 관심이 있다면 8장을 꼭 읽어보길 바란다. 9장 "사용자 인터페이스 패턴"은 즉석 편집, 마스터 디테일, 라이브 폼, 드래그앤드롭 같은 강력한 Ajax 사용자 인터페이스 패턴을 설명한다. 종류를 불문하고, Ajax 애플리케이션을 제작해야 하는 개발자라면 누구든지 반드시 알아야 하는 핵심 사용자 인터페이스 디자인 패턴이다. 10장 "문제 발생과 해결 방안"부터는 기술적인 이야기는 접고, 엔터프라이즈급 Ajax 애플리케이션 과정 중 발생할 만한 문제와 해결 방안을 알아본다. 여타 Ajax 책에서도 다루는 내용이겠지만, 그만큼 새로운 애플리케이션을 제작해야 할 때 사전에 반드시 숙지해야 하는 내용이다. 마지막으로 11장 "사례연구"에서는 기업 환경에서의 실제 Ajax 구현 사례를 설명한다. 개발자로서 개발자에게 진정으로 건네고픈 경험담과 조언이 담겨 있으므로, 독자가 개발 프로젝트에 참여하게 됐을 때 참고하고 활용하길 바란다. 이 책이 Ajax 개발을 바라보는 새로운 안목을 키워주는 역할을 하고, 무엇보다 개발 프로젝트에 활용할 만한 새로운 지식과 기술을 공부하는 데 도움이 되길 바란다. |