PHP와 MariaDB를 활용한 웹 애플리케이션 개발 [빠르고 보안성 높은 인터랙티브 웹사이트 제작 지침서]
- 원서명Building a Web Application with PHP and MariaDB: A Reference Guide (ISBN 9781783981625)
- 지은이사이 스리니바스 스리파라사(Sai Srinivas Sriparasa)
- 옮긴이김무항
- ISBN : 9788960778573
- 25,000원
- 2016년 05월 31일 펴냄
- 페이퍼백 | 280쪽 | 188*235mm
- 시리즈 : acorn+PACKT
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/php-mariadb)
요약
이 책은 PHP와 MariaDB를 활용하여 빠르고 보안성 높은 인터랙티브 웹 애플리케이션을 제작하기 위한 지침서다. PHP와 MariaDB를 활용한 웹 애플리케이션 학습에 필요한 내용을 군더더기 없이 핵심만 전달해 단기간에 습득할 수 있도록 돕는다. PHP와 MariaDB에 대한 기초부터 REST API와 보안, 성능 최적화 등의 고급 주제까지 빠짐 없이 다루기 때문에, 프로그래밍 입문자부터 고급 개발자에 이르기까지 PHP와 MariaDB를 활용한 웹 애플리케이션을 개발하는 모든 이에게 유용하다. 단순히 이론만을 다루는 것이 아니라, 각 장마다 상세한 예제를 제공하여 초보 개발자도 쉽게 이해할 수 있다.
이 책에서 다루는 내용
■ PHP와 MariaDB를 활용한 기본 및 고급 프로그래밍 기술
■ CRUD 연산, 집합, 필터링, 조인
■ DDL 연산, 저장 프로시저, 저장 루틴, 트리거
■ PHP를 활용한 객체지향 프로그래밍 개념 적용
■ PHP 5.4 및 5.5 최신 기능 숙지
■ 단위 테스트 사용
■ PHP를 활용한 파일 처리 및 로깅
■ 인증 및 접근 제어 목록 관리
■ 성능 향상 및 보안 강화
이 책의 대상 독자
이 책은 다양한 수준의 개발자를 대상으로 한다. 여러 가지 예제와 팁, 추천 사항 등을 담고 있으며, 이를 통해 독자들은 설치 및 설정뿐만 아니라 웹 애플리케이션 배포까지 가능하다. PHP, MariaDB, 아파치 웹서버에 대한 사전지식은 많은 도움이 되지만 꼭 필요한 것은 아니다.
이 책의 구성
1장, ‘CRUD 연산, 정렬, 필터링, 조인’에서는 생성, 조회, 갱신, 삭제 등 기본적인 SQL 연산에 관해 설명한다. 다음 단계로 분류, 필터링, 테이블 조인도 설명한다.
2장, ‘MariaDB와 고급 프로그래밍’에서는 변경과 드롭(drop) 같은 여러 데이터 조작에 관련된 연산을 소개한다. DML 작업에 대해 이해한 다음, 저장 프로시저, 저장 루틴, 트리거와 같은 고급 개념에 대해 알아본다.
3장, ‘PHP 고급 프로그래밍’에서는 단위 테스트, 예외 처리와 같은 고급 프로그래밍 개념을 소개한다. 또한 PHP 5.4와 5.5에서 새롭게 추가된 기능들을 살펴본다.
4장, ‘학생 포털 만들기’에서는 3장까지 소개된 모든 개념을 활용해 학생 포털을 개발한다.
5장, ‘파일 및 디렉토리 사용법’에서는 학생 포털 애플리케이션을 사용해 파일 불러오기, 파일 올리기, 애플리케이션 로깅과 같은 기능을 소개 및 적용한다.
6장, ‘인증 및 접근 제어’에서는 학생 포털 애플리케이션의 인증 및 출입 관리 기능을 소개 및 적용한다.
7장, ‘캐싱’에서는 캐싱 개념을 소개한다. 이후 캐싱의 여러 타입에 대해 논의하며, 각 캐싱 방법은 어떻게 적용하는지 살펴본다.
8장, ‘REST API’에서는 REST 아키텍처의 개념을 소개한 다음, 학생 포털의 REST API 제작 예제를 다룬다.
9장, ‘보안’에서는 웹 애플리케이션의 보안 강화을 위해 아파치, MariaDB, PHP의 보안을 최적화 방법에 대해 알아본다.
10장, ‘성능 최적화’에서는 애플리케이션 확장성을 위한 여러 성능 최적화 기법들을 소개한다.
부록 1, ‘PHP, MariaDB, 아파치 설치’에서는 PHP, MariaDB, 아파치를 설치하고 설정하는 법에 대해 알아본다.
부록 2, ‘PHP 기반 객체지향 프로그래밍’에서는 PHP 기반 객체지향 프로그래밍OOP 개념을 소개한다. 예를 들어, 상속, 캡슐화, 다형성, 추상 클래스 등 여러 가지 객체지향의 특징에 대해 알아본다. 마지막으로 가장 인기 있는 디자인 패턴을 논의하며 마무리한다.
목차
목차
- 1장. CRUD 연산, 정렬, 필터링, 조인
- 문자열 데이터타입
- 숫자 데이터타입
- 날짜 데이터타입
- students 테이블
- courses 테이블
- students_courses 테이블
- 데이터 삽입
- 데이터 조회
- 데이터 정렬
- 데이터 필터링
- 데이터 갱신
- 데이터 삭제
- 조인
- 요약
- 2장. MariaDB와 고급 프로그래밍
- 기존 테이블 성능 향상
- 저장 프로시저 활용
- 저장 루틴 활용
- 트리거 활용
- 요약
- 3장. PHP 고급 프로그래밍
- PHP 5.4와 PHP 5.5에 포함된 새로운 기능
- 개선된 배열 선언
- 배열 역참조
- foreach 문에서 list( ) 함수 사용
- 클로저에서 $this 사용 가능
- 인스턴스 생성 시 클래스 멤버 접근
- 제너레이터
- 트레이트
- 예외 처리 시 finally 블록 추가
- 단위 테스트
- PHPUnit 설치
- MariaDB 사용하기
- PHP - mysqli
- PHP – PDO
- 요약
- PHP 5.4와 PHP 5.5에 포함된 새로운 기능
- 4장. 학생 포털 만들기
- 애플리케이션의 기본적인 부분 설정하기
- URL 재작성 설정
- MVC 설정
- 학생 추가
- 모든 학생 나열하기
- 코스 추가
- 모든 코스 나열
- 학생을 코스에 등록하기
- 모든 등록 정보 확인
- 요약
- 애플리케이션의 기본적인 부분 설정하기
- 5장. 파일 및 디렉토리 처리
- 데이터 가져오기
- 데이터 내보내기
- 로그 기록
- 요약
- 6장. 인증 및 접근 제어
- 인증
- 접근 제어
- 사용자 역할
- 요약
- 7장. 캐싱
- 캐싱이란
- 데이터베이스 캐싱
- 애플리케이션 캐싱
- 고급 캐싱 기법
- 요약
- 8장. REST API
- REST란
- XML 피드 생성
- JSON 피드 생성
- 요약
- 9장. 보안
- 아파치 웹서버 보안 강화
- 서버 정보 숨기기
- 서버 설정 제한
- MariaDB 보안 강화
- 데이터베이스 패스워드 설정
- 접근을 제한하기 위한 뷰 생성
- 사용자 생성 및 접근 권한 부여
- PHP 보안 강화
- 요약
- 아파치 웹서버 보안 강화
- 10장. 성능 최적화
- 아파치 웹서버 성능 최적화
- 사용하지 않는 모듈 비활성화
- 압축 사용
- 캐싱
- MariaDB 성능 최적화
- 데이터 조회 시 추천 사항
- 쿼리 실행 과정 이해하기
- 쿼리 최적화와 인덱싱
- PHP 성능 최적화
- CDN, 리버스 프록시, 데이터베이스 복제
- 요약
- 아파치 웹서버 성능 최적화
- 부록 A. PHP, MariaDB, 아파치 설치
- 부록 B. PHP 기반 객체지향 프로그래밍