이미 소장하고 있다면 판매해 보세요.
|
1장 역동적인 웹 컨텐츠
___HTTP와 HTML: 버너스 리의 기본 개념 ______요청/응답 절차 ___PHP, MySQL, 자바스크립트가 뛰어난 이유 ______PHP ______MySQL ______자바스크립트 ___아파치 웹 서버 ___오픈 소스 ___정리 ___자가 진단 문제 2장 개발 서버 설치 ___WAMP, MAMP, LAMP는 무엇인가? ___윈도우에 WAMP 설치하기 ______설치 시 오류 해결 ______설치 후 테스트 ______WAMP를 대체 가능한 방법 ___맥 OS X에 MAMP 설치하기 ______최종 수정 사항 ______MAMP를 대체 가능한 방법 ___리눅스에 LAMP 설치하기 ___원격으로 접속하기 ______로그인 ______FTP 사용하기 ___프로그램 편집기 사용하기 ___통합개발환경 사용하기 ___자가 진단 문제 3장 PHP 소개 ___HTML 내부에 PHP 포함 ______PHP 파서 호출 ___이 책의 예제 ___PHP의 구조 ______주석 ______기본 문법 ______변수의 이해 ______연산자 ______변수 대입 ______다중 라인 명령어 ______변수 입력 ______상수 ______echo와 print 명령어의 차이점 ______함수 ______변수 범위 ___자가 진단 문제 4장 PHP의 표현식과 흐름 제어 ___표현식 ______문자 형식과 변수 ___연산자 ______연산자 우선순위 ______결합성 ______관계형 연산자 ___조건문 ______If 문 ______else 문 ______elseif 문 ______switch 문 ______? 연산자 ___반복문 ______while 문 ______do...while 문 ______for 반복문 ______반복문 빠져나가기 ______continue 문 ___암묵적 형변환과 명백한 형변환 ___PHP의 동적 링킹 ______동적 링킹 동작 ___자가 진단 문제 5장 PHP 함수와 객체 ___PHP 함수 ______함수 정의 ______변수 반환 ______배열 반환 ______참조로 전달 ______전역 변수 반환 ______변수 범위 다시 살펴보기 ___파일 포함과 요구 ______include문 ______include_once ______require와 require_once ___PHP 버전 호환성 ___PHP 객체 ______전문 용어 ______클래스 정의 ______객체 생성 ______객체 접근법 ______생성자 ______메소드 작성법 ______속성 선언 ______상수 선언 ______PHP 5의 속성과 메소드 ______상속 ___자가 진단 문제 6장 PHP 배열 ___기본 접근법 ______배열의 숫자 인덱스 ______연관 배열 ______array 키워드를 사용한 대입법 ___foreach...as 루프 ___다차원 배열 ___배열 함수의 사용 ______is_array() ______count() ______sort() ______shuffle() ______explode() ______extract() ______compact() ______reset() ______end() ___자가 진단 문제 7장 실용적인 PHP ___printf ______자릿수 설정 ______문자열 채우기 ______sprintf ___날짜와 시간 함수 ______날짜 상수 ______checkdate ___파일 처리 ______파일이 있는지 검사 ______파일 생성 ______파일 읽기 ______파일 복사 ______파일 이동 ______파일 삭제 ______파일 갱신 ______다중 접근으로부터 파일 잠금 ______전체 파일 읽기 ______파일 업로드 ___시스템 콜 ______XHTML ______XHTML의 이점 ______XHTML 버전 ______HTML과의 차이점 ______HTML 4.01 문서 유형 ______XHTML 1.0 문서 유형 ______XHTML 검증 ___자가 진단 문제 8장 MySQL 소개 ___MySQL 기본 ___데이터베이스 용어 정리 ______커맨드 라인으로 MySQL 접근 ______커맨드 라인 시작하기 ______커맨드 라인 인터페이스 ______MySQL 명령어 ______데이터 타입 ___인덱스 ______인덱스 생성 ______MySQL 데이터베이스 쿼리하기 ______테이블 조인 ______논리 연산자 사용하기 ___MySQL 함수 ___phpMyAdmin으로 MySQL 접근 ______윈도우 사용자 ______맥 OS X 사용자 ______리눅스 사용자 ______phpMyAdmin 사용 ___자가 진단 문제 9장 MySQL 정복하기 ___데이터베이스 디자인 ______기본 키(관계형 데이터베이스의 키) ___정규화 ______첫 번째 정규 형식 ______두 번째 정규 형식 ______세 번째 정규 형식 ______정규형을 사용하지 않는 경우 ___관계 ______일대일 ______일대다 ______다대다 ______데이터베이스와 익명성 ___트랜젝션 ______트랜잭션 저장 엔진 ______BEGIN ______COMMIT ______ROLLBACK ___EXPLAIN ______백업과 복구 ______mysqldump ______백업 파일 생성 ______백업 파일로부터 복구 ______CSV 포맷으로 데이터 덤프 하기 ______백업 계획 ___자가 진단 문제 10장 PHP를 사용해 MySQL 접근 ___PHP로 MySQL 데이터베이스 쿼리 ______절차 ______로그인 파일 생성 ______MySQL 연결 ___실용적인 예제 ______$_POST 배열 ______기록 지우기 ______폼 디스플레이 ______데이터베이스 쿼리 ______프로그램 실행 ___실용적인 MySQL ______테이블 생성 ______테이블 묘사 ______테이블 삭제 ______데이터 추가 ______데이터 추출 ______데이터 갱신 ______데이터 지우기 ______AUTO_INCREMENT 사용 ______쿼리 추가 실행 ______SQL 인젝션 막기 ______HTML 인젝션 막기 ___자가 진단 문제 11장 폼 처리 ___폼 만들기 ___제출된 데이터 추출 ______옛날 방법에 의지하는 register_globals ______기본값 ______입력 형식 ______텍스트 상자 ______텍스트 영역 ______체크상자 ______라디오 버튼 ______숨겨진 필드 ______Select ______Label ______입력 보안 처리 ___예제 프로그램 ___자가 진단 문제 12장 Smarty로 템플릿 만들기 ___왜 Smarty 인가? ___설치 ___스크립트 생성 ___템플릿 생성 ___실용적인 예제 ___자가 진단 문제 13장 쿠키와 세션, 인증 ___PHP에서 쿠키 ______쿠키 설정 ______쿠키 추가 ______쿠키 삭제 ___HTTP 인증 ______계정 이름과 암호 저장 ______암호 보호 ___세션 ______세션 시작 ______세션 끝내기 ______세션 보안 ___자가 진단 문제 14장 자바스크립트 살펴보기 ___자바스크립트와 HTML 텍스트 ______문서 제목에 스크립트 사용 ______오래된 비표준 브라우저 ______자바스크립트 파일 포함 ______자바스크립트 오류 디버깅 ___주석 ___세미콜론 ___변수 ______문자열 변수 ______숫자형 변수 ______배열 ___연산자 ______산술 연산자 ______대입 연산자 ______비교 연산자 ______논리 연산자 ______변수 증가와 감소 ______문자열 연결 ______이스케이프 문자 ___변수 입력 ___함수 ___전역 변수 ______지역 변수 ___문서 오브젝트 모델 ______비호환 브라우저 ______DOM ___자기 진단 문제 15장 자바스크립트의 표현식과 흐름 제어 ___표현식 ______문자 형식과 변수 ___연산자 ______연산자 우선순위 ______결합성 ______관계형 연산자 ___with 문 ___onError ___try...catch ___조건문 ______if 문 ______switch 문 ______연산자 ___반복문 ______while 루프 ______do...while 루프 ______for 루프 ______반복문 빠져나오기 ______continue 문 ___명백한 형 변환 ___자가 진단 문제 16장 자바스크립트의 함수, 오브젝트, 배열 ___자바스크립트 함수 ______함수 정의 ______값 반환 ______배열 반환 ___자바스크립트 오브젝트 ______클래스 정의 ______오브젝트 생성 ______오브젝트 접근 ______prototype 키워드 ___자바스크립트 배열 ______숫자형 배열 ______연관 배열 ______다중 배열 ______배열 메소드 ___자가 진단 문제 17장 자바스크립트와 PHP 검증, 오류 처리 ___자바스크립트로 사용자 입력 검증하기 ______.html 문서 검증(첫 번째) ______.html 문서 검증(두 번째) ___정규 표현식 ___ ___메타 문자로 매칭 ______난해한 문자 매칭 ______괄호로 그룹 만들기 ______문자 클래스 ______범위 표시 ______부정(negation) ______몇 가지 복잡한 예제 ______메타 문자 정리 ______일반 변경자 ______자바스크립트에 정규 표현식 ______PHP에 정규 표현식 ___PHP 검증 후에 폼 다시 출력하기 ___자가 진단 문제 18장 Ajax ___Ajax는 무엇인가? ___XMLHttpRequest ______첫 번째 Ajax 프로그램 ______POST 대신 GET 사용 ______XML 요청 보내기 ___자가 진단 문제 19장 Ajax와 그 이상을 위한 YUI ___프레임워크 선택 ___YUI ______압축된 버전 ______Ajax에 YUI 사용 ___YUI의 여러 가지 사용법 ______간단한 YUI 달력 ___자가 진단 문제 20장 모두 종합 ___소셜 네트워크 사이트 설계 ______제3자의 애드온에 관해 ___웹 사이트에서 ___rnfunctions.php ______함수 ___rnheader.php ___rnsetup.php ___index.php ___rnsignup.php ______계정 이름 가용성 검사 ___rnsignup.php (YUI 버전) ___rncheckuser.php ___rnlogin.php ___rnprofile.php ______‘About Me’ 텍스트 추가 ______프로파일 이미지 추가 ______이미지 처리 ______현재 프로파일 출력 ___rnmembers.php ______사용자 프로파일 보기 ______친구 추가와 삭제 ______모든 멤버 나열 ___rnfriends.php ___rnmessages.php ___rnlogout.php 부록 A 각 장의 문제 해답 부록 B 온라인 자료 부록 C MySQL의 FULLTEXT 불용어 부록 D MySQL 함수 부록 E PEAR와 PHPUnit |
|
현재 가장 많이 개발되는 애플리케이션의 형태는 단연 웹앱(웹 애플리케이션)이다. 많은 사람이 웹 페이지를 단순한 페이지가 아닌 애플리케이션을 구동할 수 있는 웹앱의 형태로 본다. 아마도 스마트폰의 혁명이 가장 큰 이유가 됐겠지만 윈도우와 리눅스, 맥 OS, 심지어 iOS와 안드로이드에 이르기까지 웹 브라우저가 있는 곳이라면 웹이 모두 아우를 수 있다고 믿는다. 하나의 웹앱만 개발해 놓으면 모든 단말에서 사용할 수 있는데 어느 개발자가 마다할 것인가?
이러한 대세에 맞춰 이 책은 웹 서버와 웹 페이지를 구성하는 핵심 기술 중에서 가장 널리 사용되면서 손쉽게 구할 수 있는 기술을 소개한다. 동적인 웹 페이지를 구성할 수 있는 PHP, 사용자의 데이터를 저장할 수 있는 MySQL, 사용자의 웹 페이지에서 이벤트를 처리하는 자바스크립트를 모두 소개한다. 우선, 동적인 웹 페이지를 생성하기 위한 PHP 기술에 대해 알기 쉽게 설명한 기본 문법과 사용 방법, 사용 예까지 모두 자세히 설명한다. 이 책에 나온 순서대로 잘 따라한다면 훌륭한 동적 웹 페이지를 자유자재로 구성할 수 있게 될 것이다. 또한 사용자에게 보여주거나, 사용자가 직접 입력한 정보를 저장하는 데이터베이스인 MySQL을 소개한다. MySQL은 공짜로 쓸 수 있는 데이터베이스 중에서 가장 강력한 기능을 제공한다. 손쉽게 데이터베이스를 구성할 수 있는 여러 가지 툴이 있어서 개발 시간이 상당히 단축되며, 완성도까지 높여준다. 이 책에서는 MySQL에 직접 들어가서 조작할 때 사용하는 SQL 문법과 함께 예제를 쉽게 따라 하며 익힐 수 있는 형태로 제공한다. 마지막으로, 그야말로 가장 '핫한' 프로그래밍 언어 자바스크립트를 소개한다. 자바스크립트는 오랜 역사 속에서 기억되던 기능적인 프로그래밍 언어의 영역을 확대했다고 할 수 있다. 선언적인 언어의 특성도 그대로 갖춰서 익히기도 쉽다. 하지만, 문법과 사용법, 웹 페이지와의 연동에 대해서는 많은 부분을 익히고 연습해야 한다. 특히, 사용자의 웹 페이지를 다시 불러오지 않고, 데이터를 처리할 수 있는 Ajax 기술은 많은 가능성을 제시한다. 이 책에서는 예제를 통해 이런 가능성을 자세히 설명한다. 바야흐로 웹의 시대다. 웹의 시대에 사는 사람이라면 전문적으로 웹을 개발하는 개발자가 아니더라도, 컴퓨터와 관련된 일을 하면 웹 기술과 관련된 일은 꼭 발생한다. 가령, 요즘은 어떤 시스템을 개발하든지 가시적인 인터페이스를 만들 때는 하나의 플랫폼에서만 돌아가는 스탠드얼론(stand-alone) 애플리케이션보다는 웹과 연동해서 언제 어디서든 접근할 수 있게 만든다. 이 책에서 제공하는 기술만 완전히 익히면, 웹 프로그래머로서의 기본은 모두 갖춘 것이라고 할 수 있다. 이 책을 번역한 역자로서 궁극적으로 바라는 바는, 책에서 제공하는 소셜 네트워크 웹 사이트 예제를 더욱 발전시켜, 본인 스스로 소셜 네트워크를 구성하는 웹을 만들고, 마크 주커버거가 만든 페이스북과 정면 대결해보는 상상을 해보는 것도 많은 자극이 될 것이다. 웹 개발이 당장 필요하거나, 미리미리 대세를 앞질러서 배우려는 독자에게 이 책을 강력히 권한다. 한국에서 마크 주커버거 같은 소셜 네트워크의 귀재가 나오기를 기대해 본다. ---옮긴이의 말 |
|
웹과 웹 2.0에 기반한 기술의 훌륭한 지침서다. 읽기 편하고 쉽게 구성되어 즐기면서 읽고, 즐기면서 배울 수 있는 책이다.
- 파스칼 보르기노 / 야후의 데이터베이스 설계자 이 책은 핵심적인 웹 애플리케이션 기술 이상을 제공한다. 잘 설명된 예제를 통해 디자인 분야 초심자에게 사용자 측과 서버 측 모두에서 안전하고 관리하기 쉬운 사이트를 만드는 방법을 알려준다. - 앨런 솔리스 / 웹 애플리케이션 디자이너 프로그래밍 경험이 부족하더라도 HTML을 안다면, 어떻게 PHP와 MySQL, 자바스크립트를 사용하여 즉각적으로 반응하고, 데이터에 기반한 웹 사이트를 만드는지 쉽게 배울 수 있다. 『Learning PHP, MySQL & JavaScript 한국어판』은 세 가지 기술을 따로 설명한 후에, 각 기술을 조합하는 방법을 보여줄 뿐만 아니라 객체와 XHTML, 쿠키, 세션 관리 등 중요한 웹 프로그래밍의 개념도 소개한다. 이 책에서는 PHP와 MySQL 조합을 통해 동적인 데이터와 사용자 인터랙션을 아우르는 웹사이트를 구축하는 쉽고 빠른 방법을 알려준다. 리치 인터넷 애플리케이션을 생성하기 위해 자바스크립트를 추가하는 방법도 배우게 될 것이다. 또한, 책에서 기술한 요소를 바탕으로 소셜 네트워크 플랫폼 예제를 만들어보고 각자 실력을 검증해 볼 수 있는 연습문제도 제공한다. ★ 이 책에서 다루는 내용 ★ ■ PHP의 필수 항목과 객체지향 프로그래밍의 이해 ■ 데이터베이스 구조부터 복잡한 쿼리에 이르는 MySQL 완벽 숙달 ■ HTML 폼과 특징을 통합해 PHP와 MySQL로 웹 페이지 구성 ■ 자바스크립트 함수와 이벤트 처리부터 문서 객체 모델에 접근하는 방법 ■ Smarty 웹 템플릿 시스템, PEAR 프로그램 저장소, 야후 사용자 인터페이스(YUI) 라이브러리 등 라이브러리와 패키지 사용법 ■ Ajax 호출을 통해 동적 웹사이트를 만드는 방법 ■ 파일과 이미지 업로드와 조작, 사용자 입력 검증, 애플리케이션 보호 ★ 이 책의 대상 독자 ★ 이 책은 효과적이고 동적인 웹 사이트를 어떻게 만드는지 배우길 원하는 독자를 대상으로 한다. 정적 웹 사이트는 만들 수 있지만 기량을 좀 더 끌어올리려는 웹 마스터나 웹 디자이너뿐만 아니라 고등학생과 대학생, 대학원생, 독학을 원하는 사람들도 손쉽게 익힐 수 있다. 사실, Ajax로 알려진 웹 2.0 기술에 뒤에 숨은 기본을 배울 준비가 된 사람이라면 누구나 PHP와 MySQL, 자바스크립트 등 세 가지 핵심 기술에 대한 기초 교육을 철저히 받을 것이다. ★ 이 책의 구성 ★ 이 책의 각 장은 특별한 순서로 작성됐다. 우선, PHP, MySQL, 자바스크립트 세 가지 핵심 기술을 모두 소개한 후에 웹 개발 서버를 설치하는 것을 살펴본 다음 예제를 다룬다. 그 다음 부분에서는 PHP 프로그래밍 언어의 문법과 배열, 함수, 객체지향 프로그램의 기초를 포괄하는 기본을 배운다. 앞에서 배운 PHP를 바탕으로 MySQL 데이터베이스 시스템의 구조부터 복잡한 쿼리를 생성하는 것까지 소개한다. 그 후에 폼 등의 HTML 특징을 통합하여, 동적인 웹 페이지를 만들어기 위해 PHP와 MySQL을 조합하는 방법을 배운다. Smarty 템플릿을 사용해 웹 개발의 시간을 단축할 수 있는 방법도 살펴본다. 다음 세 개 장에서는 다양하고 유용한 함수와 쿠키와 세션뿐만 아니라 높은 수준의 보안을 유지하는 방법을 배움으로써 PHP와 MySQL 개발의 핵심적이고도 실용적인 면을 낱낱이 살펴본다. 그 다음 네 개 장에서는 간단한 함수에서 문서 오브젝트 모델(Document Object Model)에 접근하는 이벤트 처리까지 자바스크립트와 브라우저 검증과 오류 처리에 대한 기초를 배운다. 세 가지 핵심 기술의 이해를 바탕으로 보이지 않는 Ajax 호출을 만들고 웹 사이트를 매우 동적인 환경으로 만드는 방법을 살펴본다. 마지막으로 배운 내용을 모두 합쳐서 완벽히 동작하는 소셜 네트워크 웹 사이트를 구성하는 PHP 프로그램의 완전한 세트를 만든다. 책을 읽으면서 좋은 프로그래밍 습관을 키우는 데 있어서 많은 충고와 조언, 발견하기 어려운 프로그래밍 오류를 찾아내고 해결하는 데 도움을 줄 팁을 볼 수 있을 것이다. 책에서 다루는 주제에 관해 자세한 내용을 찾아 볼 수 있는 웹 사이트 링크가 많이 제공된다. |