공부해요/책 목차

PHP와 MySQL

예쁜꽃이피었으면 2015. 1. 26. 16:15

PHP와 MySQL


성공적인 웹 프로그래밍: PHP와 MYSQL

저자
루크 웰링로라 톰슨 지음
출판사
정보문화사 | 2009-08-10 출간
카테고리
컴퓨터/IT
책소개
[성공적인 웹 프로그래밍 : PHP와 MySQL]제4판! 웹 응...
가격비교


1부 PHP 사용하기
1장 PHP 훑어보기
시작하기 전 : PHP 사용하기
예제 : Bob’s Auto Parts
주문 폼
폼 처리하기
HTML에서 PHP 사용하기
PHP 태그
PHP 태그 스타일
PHP
공백
주석
동적으로 컨텐츠 추가하기
함수 호출
폼 변수 다루기
date() 함수
짧은, 중간, 긴 폼 변수
문자열 연결
변수와 문자
식별자
변수형
PHP의 데이터 형
형 강도
형 변환
가변 변수
상수
변수의 범위
연산자
산술 연산자
문자열 연산자
대입 연산자
비교 연산자
논리 연산자
비트 연산자
기타 연산자
폼에서 받은 값 처리하기
우선순위와 결합 순서
변수와 관련된 함수
변수의 데이터 형을 검사하고 설정하기
변수 상태 검사
변수형 변환
조건문으로 결정 내리기
if
코드 블록
else
elseif
switch
조건문 비교하기
반복문
while
forforeach 루프
do..while
제어 구조와 스크립트 빠져나가기
대체 제어 구조 문법 사용하기
declare 사용하기
다음 장에서는
2장 데이터 저장하고 불러오기
데이터 저장하기
Bob의 주문을 저장하고 불러오기
파일 처리
파일 열기
파일 모드
fopen()을 사용하여 파일 열기
FTPHTTP를 사용하여 파일 열기
파일을 열 때의 문제점
파일 쓰기
fwrite()의 파라미터
저장 형식
파일 닫기
파일에서 읽기
읽기 전용으로 파일 열기 : fopen()
파일의 끝 알아보기 : feof()
한 번에 한 줄씩 읽기 : fgets(), fgetss(), fgetcsv()
한번에 파일 전체 읽기 : readfile(), fpassthru(), file()
한 글자씩 읽기 : fgetc()
임의의 길이 읽기 : fread()
기타 유용한 파일 함수
파일이 존재하는지 알아보기 : file_exists()
파일의 크기 알아보기 : filesize()
파일 지우기 : unlink()
파일 내부 탐색하기 : rewind(), fseek(), ftell()
파일에 락 걸기
좀 더 나은 방법 : 데이터베이스 관리 시스템
파일을 사용할 때의 문제점
RDBMS를 사용하여 문제점 해결
참고자료
다음 장에서는
3장 배열 사용하기
배열이란?
숫자 인덱스 배열
숫자 인덱스 배열 초기화하기
숫자 인덱스 배열 요소에 접근하기
배열을 루프로 사용하기
다른 값을 인덱스로 하는 배열
배열 초기화하기
배열 요소에 접근하기
루프로 접근하기
배열 연산자
다차원 배열
배열 정렬하기
sort() 함수 사용하기
asort()와 ksort()를 사용해서 연관 배열 정렬하기
역순으로 정렬하기
다차원 배열 정렬하기
사용자 정의 정렬
역순으로 정렬하기
배열 재배치
shuffle() 사용하기
array_reverse() 사용하기
파일에서 배열로 옮기기
기타 배열 관련 함수
배열 탐색 함수 : each(), current(), reset(), end(), next(),os(), prev()
배열의 각 요소에 함수 적용하기 : array_walk()
배열의 수 세기 : count(), sizeof`(), array_count_values()
배열을 스칼라 변수로 변환 : extract()
참고자료
다음 장에서는
4장 문자열 연산과 정규 표현식
예제 : Smart Form Mail
문자열 다루기
문자열 다듬기 : chop( ), ltrim( ), trim( )
문자열 정돈
데이터베이스에 저장하기 위해 문자열 다듬기 : addslashes( )와 stripslashes( )
함수를 통해 문자열 합치고 나누기
explode( ), implode( ), join( ) 사용하기
strtok( ) 사용하기
substr( ) 사용하기
문자열 비교하기
문자열 순서 : strcmp( ), strcasecmp( ), strnatcmp( ) 사용하기
strlen( )으로 문자열의 길이 알아보기
문자열을 일치시키고 맞바꾸기
문자열 안에서 문자열 찾아내기 : strstr( ), strchr( ), strrchr( ), stristr( )
문자열의 위치 찾아내기 : strpos( ), strrpos( )
문자열 대체하기 : str_replace( ), substr_replace( )
정규 표현식의 소개
정규 표현식의 기초
문자집합과 클래스
반복
부분 표현식
반복의 횟수 제한하기
문자열의 시작과 끝 고정하기
선택하기
특수문자들을 사용할 때에는
특수문자 요약
Smart Form에서 정규 표현식 사용하기
정규 표현식으로 문자열 찾기
정규 표현식으로 문자열 교체하기
정규 표현식으로 문자열 분리하기
참고자료
다음 장에서는
5장 코드 재활용과 함수 작성
코드 재활용의 장점
비용의 측면
신뢰의 측면
일관성의 측면
require( )와 include( ) 사용하기
파일 이름 확장자와 require( )
웹 사이트 템플릿으로 require( ) 사용하기
auto_prepend_fileauto_append_file 사용하기
PHP에서 함수 사용하기
함수 호출하기
정의되지 않은 함수 호출하기
대소문자와 함수 이름
자신만의 함수 만들기
함수의 기본 구조
함수 이름 붙이기
파라미터
범위
참조로 전달과 값으로 전달
return 키워드 사용하기
함수에서 값 리턴하기
재귀 함수
네임스페이스(Name Space)
참고자료
다음 장에서는
6장 객체 지향 PHP
객체 지향 개념
클래스와 객체
다형성
상속
PHP에서 클래스, 속성, 연산 만들기
클래스의 구조
생성자
소멸자
인스턴스 생성하기
클래스 속성 사용하기
privatepublic으로 접근 제어하기
클래스 연산 호출하기
PHP에서 상속 구현하기
privateprotected를 사용하여 변수의 범위 제어
오버라이딩
final을 사용하여 상속과 오버라이딩 막기
다중 상속
인터페이스 구현
클래스 디자인하기
클래스에서 사용할 코드 작성하기
PHP의 고급 객체 지향 기능
클래스당 상수 사용하기
정적 메소드 구현하기
클래스 타입 검사와 타입 hinting
늦은 정적 바인딩
객체 복사
추상 클래스 사용하기
__call()로 메소드 오버로딩하기
__autoload() 사용하기
Iterator와 반복 구현하기
클래스를 문자열로 변환하기
reflection API 사용하기
다음 장에서는
7장 예외 처리
예외 처리란 무엇인가?
Exception 클래스
사용자 정의 예외
Bob’s Auto Parts에서 예외를 발생시켜 보자
예외와 다른 오류 처리 메커니즘
참고자료
다음 장에서는
2부 MySQL 사용하기
8장 웹 데이터베이스 디자인하기
관계형 데이터베이스의 개념
테이블




스키마
관계
웹 데이터베이스의 디자인
모델링할 실생활에 대해 생각해보자
중복된 데이터가 저장되는 것을 피하자
하나의 항목에는 하나의 데이터만 저장되도록 하자
알아보기 쉬운 키를 사용하자
데이터베이스에 물어볼 질문에 대해서 생각해보자
내용이 빈 항목들이 많지 않도록 디자인하자
테이블의 종류 정리
웹 데이터베이스의 구조
참고자료
다음 장에서는
9장 웹 데이터베이스 만들기
MySQL monitor 사용하기
MySQL에 접속하기
사용자와 데이터베이스 만들기
사용자와 권한 설정
MySQL의 권한 시스템
최소 권한의 원칙
사용자 설정 : GRANT 명령어
권한의 종류와 레벨
REVOKE 명령어
GRANTREVOKE를 사용한 예제
웹을 위한 사용자 설정
관리자 계정에서 나가기
올바른 데이터베이스 사용하기
데이터베이스 테이블 만들기
기타 키워드들의 의미
열의 형에 대하여
SHOWDESCRIBE로 데이터베이스 살펴보기
인덱스 만들기
MySQL 식별자
열의 데이터 형
숫자 데이터 형
참고자료
다음 장에서는
10장 MySQL 데이터베이스 사용하기
SQL이란?
데이터베이스에 데이터 삽입하기
데이터베이스에서 데이터 불러오기
특정 조건을 만족시키는 데이터들만 불러오기
여러 개의 테이블에서 데이터 불러오기
특정 순서로 데이터 불러오기
데이터의 통계값 구하기
어떤 행을 리턴할지 선택하기
하위 쿼리 사용하기
데이터베이스에 저장된 데이터 변경하기
테이블이 만들어진 후에 테이블의 구조 변경하기
데이터베이스에 저장된 데이터 삭제하기
테이블 삭제하기
데이터베이스 전체 삭제하기
참고자료
다음 장에서는
11장 웹에서 PHPMySQL 접근하기
웹 데이터베이스는 어떻게 동작하는가?
웹에서 데이터베이스에 쿼리하는 기본 단계
입력 데이터 검토하고 필터링하기
데이터베이스에 접속하기
사용할 데이터베이스 선택하기
데이터베이스에 쿼리하기
쿼리 결과에서 값 얻기
데이터베이스와 접속 끊기
데이터베이스에 데이터 입력하기
준비된 문장 사용하기
기타 PHP-데이터베이스 인터페이스
generic 데이터베이스 인터페이스 사용하기 : PEAR MDB2
참고자료
다음 장에서는
12장 고급 MySQL 관리
권한 시스템에 대해 자세히 알아보기
user 테이블
dbhost 테이블
tables_priv, columns_priv, procs_priv 테이블
접근 제어 : MySQLgrant 테이블을 어떻게 사용하는가?
권한 변경하기 : 권한을 변경하면 언제부터 적용되는가?
MySQL 데이터베이스 안전하게 만들기
운영체제의 관점에서 본 MySQL
비밀번호
사용자 권한
웹 이슈
데이터베이스에 대한 더 많은 정보 얻기
SHOW로 정보 얻기
DESCRIBE로 열 정보 얻기
EXPLAIN과 결합한 쿼리 동작 이해하기
일반적인 최적화 팁
디자인 최적화
퍼미션
테이블 최적화
인덱스 사용하기
기본값 사용하기
기타 팁
MySQL 데이터베이스 백업하기
MySQL 데이터베이스 복구하기
복제 구현
마스터로 설정하기
초기 데이터 전송 수행
슬레이브 설정하기
참고자료
다음 장에서는
13장 고급 MySQL 프로그래밍
LOAD DATA INFILE
저장 엔진
트랜잭션
트랜잭션 정의
InnoDB를 사용한 트랜잭션
외래 키
저장 프로시저
기본 예제
지역 변수
커서와 제어 구조
참고자료
다음 장에서는
3부 전자상거래와 보안
14장 전자상거래 사이트 운영
목표 설정
상업적인 웹 사이트들의 종류
온라인 팜플렛
상품(혹은 서비스)에 대한 주문을 받아보자
디지털 상품, 서비스 판매
상품과 서비스의 가치를 좀 더 높이자
비용 절감
전자상거래 사이트를 운영할 때의 위험 요소
크래커
상업적 실패
컴퓨터 하드웨어의 문제
네트워크, 전력 등에서 생기는 문제
동종 업체와의 경쟁
소프트웨어의 오류
변화하는 정부 정책과 세금
시스템 용량의 한계
전략 선택하기
다음 장에서는
15장 전자상거래 보안 이슈
얼마나 중요한 정보인가?
보안 위협
신용 정보의 노출
데이터 손실과 파괴
데이터 조작
DoS(서비스 거부) 공격
소프트웨어의 오류
부인
가용성, 성능, 비용 그리고 보안
보안 정책 세우기
인증 원칙
암호화 기초
개인 키 암호화
공개 키 암호화
전자 서명
전자 인증서
안전한 웹 서버
감사와 로그인
방화벽
데이터 백업
파일 백업
MySQL 데이터베이스 백업과 복구
물리적 보안
다음 장에서는
16장 웹 응용 프로그램 보안
보안을 처리하기 위한 전략
적절한 마음가짐에서 시작하기
보안과 가용성 사이에서 균형 잡기
보안 감시
기본적인 접근 방식
직면한 위협 식별하기
민감한 정보에의 접근 혹은 수정
데이터 손실이나 파괴
서비스 거부(denial of service)
악의적 코드 주입
공격당한 서버
대응중인 사람에 대해 이해하기
크래커(cracker)
감염된 컴퓨터를 사용한 일반인
불만을 가진 사원
하드웨어 분실
우리 자신
코드 보호하기
사용자 입력 필터링
출력문 이스케이프
코드 조직
코드에서 무엇이 실행되는가
파일 시스템 고려 사항
코드 안정성과 버그
실행 따옴표와 exec 명령
웹 서버와 PHP 보호하기
소프트웨어는 항상 업데이트하기
php.ini 파일 탐색
웹 서버 구성
상업 호스팅 웹 응용 프로그램
데이터베이스 서버 보안
사용자와 퍼미션 시스템
서버로 데이터 전송
서버 접속
서버 실행
네트워크 보호
방화벽 설치
DMZ 사용
DoSDDoS 공격에 대한 준비
컴퓨터와 운영체제 보안
운영체제를 최신으로 업데이트하기
필요한 것만 실행
서버를 물리적으로 보호
재난 대책
다음 장에서는
17장 PHPMySQL로 인증 구현
방문자 식별
접근 제어 구현하기
비밀번호 저장하기
비밀번호 암호화하기
여러 페이지 보호하기
기초 인증
PHP에서 기초 인증 사용하기
Apache의 .htaccess 파일을 사용한 기초 인증 사용하기
mod_auth_mysql 인증 사용하기
mod_auth_mysql 설치하기
mod_auth_mysql 사용하기
맞춤 인증 만들기
참고자료
다음 장에서는
18장 PHPMySQL로 보안 트랜잭션 구현
보안 트랜잭션 제공하기
사용자의 컴퓨터에서
인터넷에서
시스템에서
SSL 사용하기
사용자의 입력 확인하기
안전한 데이터 저장
신용카드번호 저장하기
PHP에서 암호화 사용하기
참고자료
다음 장에서는
4부 PHP 기술 향상
19장 파일 시스템과 서버와의 연동
파일 업로드 소개
HTML로 파일 업로드 만들기
파일을 다루는 PHP 사용해보기
자주 발생하는 업로드 문제 회피
디렉터리 함수 사용하기
디렉터리에서 읽어오기
현재 디렉터리의 정보 가져오기
디렉터리 만들고 지우기
파일 시스템과 연동하기
파일 정보 가져오기
파일 속성 바꾸기
파일 만들기, 지우기, 옮기기
프로그램 실행 함수 사용하기
환경과 연동하기 : getenv( )와 putenv( )
참고자료
다음 장에서는
20장 네트워크와 프로토콜 함수 사용하기
사용할 수 있는 프로토콜에 대해 훑어보기
이메일 보내고 읽기
다른 웹 사이트의 데이터 사용하기
네트워크 lookup 함수 사용하기
FTP 사용하기
FTP로 파일 백업이나 미러링하기
파일 업로드
타임아웃 피하기
기타 FTP 함수 사용하기
참고자료
다음 장에서는
21장 날짜와 시간 다루기
PHP에서 날짜와 시간 알아내기
date( ) 함수 사용하기
유닉스 타임스탬프 사용하기
getdate( ) 함수 사용하기
날짜의 유효성 알아보기
타임스탬프 포맷 맞추기
PHPMySQL 날짜 포맷 맞바꾸기
날짜 계산하기
MySQL에서 날짜 계산하기
마이크로초 사용하기
달력 함수 사용하기
참고자료
다음 장에서는
22장 이미지 다루기
PHP에서 이미지를 다루기 위한 설정하기
이미지의 종류
JPEG
PNG
WBMP
GIF
이미지 만들기
캔버스 이미지 만들기
캔버스에 그림을 그리거나 글자를 써보자
최종 그래픽 이미지를 출력한다
리소스 반환
이미지를 웹 브라우저에 출력하는 방법
글자가 들어가 있는 이미지 만들기
기본 캔버스를 세팅한다
버튼에 글자를 넣어보자
글자의 위치를 잡아보자
글자를 버튼에 넣는다
마무리
그래프 그리기
기타 이미지 관련 함수
참고자료
다음 장에서는
23장 PHP에서 세션 관리
세션 관리란?
세션 관리의 기초
쿠키란?
PHP에서 쿠키 설정하기
세션과 쿠키 사용하기
세션 ID 저장하기
간단한 세션 구현
세션 시작하기
세션 변수 등록하기
세션 변수 사용하기
변수의 등록을 해제하고 세션 종료시키기
세션에 대한 간단한 예제
세션 관리에 대한 옵션
세션 관리를 사용한 인증 구현
참고자료
다음 장에서는
24장 기타 유용한 특징
문자열 실행하기 : eval( )
실행 끝내기 : die( )와 exit( )
변수와 객체의 직렬화
PHP 환경에 관한 정보 알아보기
사용하고 있는 PHP 확장 알아보기
스크립트 작성자 식별하기
스크립트가 수정되었을 때 알아내기
환경을 실행중에 임시로 바꾸기
소스 강조
커맨드라인에서 PHP 사용하기
다음 장에서는
5부 실용적인 PHPMySQL 프로젝트 만들기
25장 대규모 프로젝트에서 PHPMySQL 사용하기
웹 개발에 소프트웨어 엔지니어링 적용하기
웹 응용 프로그램 프로젝트를 계획하고 수행하기
코드의 재활용
유지 보수가 용이한 코드 작성
코딩 시 지켜야 할 점
코드를 부분별로 나누자
디렉터리 구조 활용하기
함수의 문서화와 공유
버전 관리 시스템
개발 환경의 선택
프로젝트의 문서화
프로토타이핑
컨텐츠와 코드의 분리
코드의 최적화
간단한 최적화 방법
Zend의 품을 사용해보자
테스트
참고자료
다음 장에서는
26장 디버깅
프로그래밍 오류
문법 오류
런타임 오류
로직 오류
디버깅을 도울 수 있는 다양한 코드
오류 리포팅 레벨
오류 리포팅 설정 바꾸기
자신만의 오류 내기
오류 처리 방법
다음 장에서는
27장 사용자 인증과 개인화
프로젝트 구성요소
사용자 신원 확인과 개인화
북마크 저장하기
북마크 추천하기
프로젝트 살펴보기
데이터베이스 만들기
기본 사이트 만들기
사용자 인증 만들기
등록하기
로그인
로그아웃
비밀번호 바꾸기
비밀번호 분실 처리
북마크 저장하고 찾아오기
북마크 추가하기
북마크 보여주기
북마크 지우기
추천하기
가능한 확장 방식
다음 장에서는
28장 장바구니 만들기
프로젝트 구성요소
카탈로그 만들기
장바구니의 항목 유지
결제
관리자를 위한 인터페이스
프로젝트 살펴보기
데이터베이스 만들기
카탈로그 만들기
카테고리 나열
카테고리 안에서 책 나열
책 세부 사항 보여주기
장바구니 만들기
show_cart.php 스크립트를 사용하기
장바구니 보여주기
장바구니에 새 책 추가하기
변경사항 저장하기
헤더 출력하기
주문완료 페이지 만들기
결제 만들기
관리자 인터페이스 만들기
프로젝트의 확장
이미 만들어져 있는 소스의 재활용
다음 장에서는
29장 웹 기반의 이메일 서비스
프로젝트 구성요소
메일 프로토콜 : POP3 대 IMAP
PHP에서의 POP3와 IMAP 지원
프로젝트 살펴보기
데이터베이스 설정하기
스크립트 구조
로그인과 로그아웃
계정 설정하기
새 계정 만들기
기존 계정 수정하기
계정 삭제하기
메일 읽기
계정 선택하기
메일함의 내용 보기
메일 메시지 읽기
메시지 헤더 보기
메일 지우기
메일 보내기
새로운 메시지 보내기
메일 답장 및 전달하기
프로젝트의 확장
다음 장에서는
30장 메일링 리스트 관리
프로젝트 구성요소
리스트와 가입자를 저장할 데이터베이스 만들기
파일 업로드
첨부 파일 붙여서 메일 보내기
프로젝트 살펴보기
데이터베이스 만들기
스크립트 구조
로그인 구현
새 계정 만들기
로그인
사용자 함수 만들기
리스트 보기
리스트 정보 보기
리스트 기록 보기
가입 및 탈퇴하기
계정 정보 바꾸기
비밀번호 바꾸기
로그아웃
관리자 함수 만들기
새 리스트 만들기
새 뉴스레터 업로드
여러 파일 업로드
뉴스레터 미리 보기
메시지 보내기
프로젝트의 확장
다음 장에서는
31장 웹 포럼 만들기
처리 과정 이해하기
프로젝트 구성요소
프로젝트 살펴보기
데이터베이스 만들기
게시물의 트리 구조 보기
확장과 축소
게시물 보여주기
treenode 클래스 사용하기
게시물 내용 보기
새 게시물 추가하기
프로젝트의 확장
만들어진 시스템 사용하기
다음 장에서는
32장 PDF 개인 문서 만들기
프로젝트 개괄
문서 형식 평가
프로젝트 구성요소
퀴즈 시스템
문서 생성 소프트웨어
프로젝트 살펴보기
문제 출제
점수 채점
RTF 인증서 생성하기
템플릿을 이용하여 PDF 인증서 만들기
PDFlib를 사용하여 PDF 문서 만들기
PDFlib로 “Hello World” 출력하기
PDFlib로 인증서 만들기
헤더 문제
프로젝트의 확장
다음 장에서는
33장 XMLSOAP으로 웹 서비스에 연결하기
문제 정의 : XML과 웹 서비스를 함께 사용하기
XML 이해하기
웹 서비스 이해하기
프로젝트 구성요소
아마존 웹 서비스 인터페이스 사용하기
XML 파싱 : REST 응답
PHP에서 SOAP 사용하기
캐싱
프로젝트 살펴보기
핵심 응용 프로그램
카테고리에 있는 책 보여주기
AmazonResultSet 클래스 가져오기
REST로 요청을 생성하고 결과 추출하기
SOAP 사용하기
요청에서 데이터 캐싱
장바구니 만들기
아마존으로 결제하러 가기
프로젝트 코드 설치하기
프로젝트의 확장
참고자료
34장 Ajax로 웹 2.0 응용 프로그램 만들기
Ajax란 무엇인가?
HTTP 요청과 응답
DHTMLXHTML
중첩된 스타일시트(CSS)
클라이언트측 프로그래밍
서버측 프로그래밍
XMLXSLT
기본 Ajax
XMLHTTPRequest 객체
서버와의 통신
서버 응답 처리하기
모두 하나로 합치기
이전 프로젝트에 Ajax 기능 추가하기
PHP 북마크에 Ajax 요소 추가하기
더 많은 정보
문서 객체 모델(DOM)에 대해 더 많이 공부하기
Ajax 응용 프로그램을 위한 자바스크립트 라이브러리
Ajax 개발자 웹사이트
부록
부록 A PHP, MySQL 설치 가이드
유닉스에서 Apache, PHP, MySQL 설치하기
바이너리 설치하기
소스 코드 설치하기
httpd.conf 파일 - 일부분
PHP가 제대로 실행되는가?
SSL이 돌아가는가?
윈도우즈에서 Apache, PHP, MySQL 설치하기
윈도우즈에 MySQL 설치하기
윈도우즈에 Apache 설치하기
윈도우즈에 PHP 설치하기
PEAR를 이용한 설치
기타 고려해야 할 사항
부록 B 참고자료
PHP 관련 웹 사이트
MySQLSQL 관련 웹 사이트
Apache 관련 사이트
웹 개발 관련 웹 사이트
찾아보기

반응형

'공부해요 > 책 목차' 카테고리의 다른 글

뇌를 자극하는 SQL 서버 2008  (0) 2015.01.26
SQL 전문가 가이드  (0) 2015.01.26
뇌를 자극하는 RedHat  (0) 2015.01.26
뇌를 자극하는 알고리즘  (0) 2015.01.26
자바를 다루는 기술  (0) 2015.01.26