백엔드 프로그래밍을 위한 PHP & MySQL (데이터베이스 기반 웹 개발 교과서 | 풀 컬러 이미지, 인포그래픽, 코드 예제로 배우는 웹사이트 만들기)

백엔드 프로그래밍을 위한 PHP & MySQL (데이터베이스 기반 웹 개발 교과서 | 풀 컬러 이미지, 인포그래픽, 코드 예제로 배우는 웹사이트 만들기)

$37.33
Description
프로그래밍 개념을 시각화하여 머리에 쏙쏙 들어오게 하는 마법
프로그래밍을 책을 펼치면 기호와 문자가 뒤섞인 복잡한 코드가 쏟아져 나옵니다. 코드 하나하나에 분명 어떤 의미가 있을 텐데, 어떻게 구분해서 봐야 할지 알기 쉽지 않습니다. 이 책은 그런 초보자의 어려움을 아름답게 해결하기 위해 만들어졌습니다. 풀 컬러 페이지로 보기에도 화려하고 재밌으며, 코드를 시각적으로 구분해 바로바로 알기 쉽게 만들었습니다. 차근차근 따라가다 보면 PHP를 읽고 쓰는 것은 물론, 나만의 웹사이트를 만들 수 있을 것입니다.

PHP는 페이스북, 위키피디아, 워드프레스 등 세계 최고의 웹사이트에서 사용하는 프로그래밍 언어로서 꾸준히 업데이트되고 있습니다. 이 책은 PHP를 처음 접하는 초보자를 위해 기본 프로그래밍 명령부터 차근차근 알려줍니다. PHP 기본 명령어를 학습한 후에는 PHP를 사용하여 동적 웹 페이지를 어떻게 만드는지 살펴봅니다. 다음은 데이터베이스 기반 웹사이트를 구축하기 위해 MySQL을 사용한 데이터베이스 생성과 관리에 대해 학습합니다. 그리고 학습한 내용을 바탕으로 웹사이트를 구축하고 이 사이트에 회원가입, 좋아요, 댓글 기능 등을 추가하는 법과 PHP 커뮤니티에 공유된 PHP 클래스를 찾아서 사용하는 방법까지 배웁니다.

저자는 ‘더 나은 공부 방법’에 대해 고민하며 프로그래밍 서적을 집필했습니다. 복잡한 프로그래밍 개념을 시각화하여 독자가 한눈에 의미를 파악하고 이해하도록 구성했습니다. 이러한 노력은 전작들에서도 호응을 받았으며 ‘세상에서 가장 아름다운 프로그래밍 서적’이라는 호평을 받기도 했습니다. 아름답지만 알찬 구성으로 가득 찬 이 책으로 여러분의 웹사이트를 완성해보세요.

주요 내용
■ PHP 코드 읽기 및 쓰기
■ MySQL 데이터베이스에 데이터 저장
■ 방문자에 맞게 웹페이지를 조정하는 사이트 만들기
■ 콘텐츠 관리 시스템(CMS) 및 소셜 네트워크 구축
■ 회원가입 및 로그인 기능 구현
■ 댓글 및 좋아요 기능 추가하기
저자

존두켓

(JonDuckett)
20년이상작은스타트업부터글로벌브랜드에이르기까지다양한웹사이트를디자인하고개발했다.본서외저서로《자바스크립트&제이쿼리》(제이펍,2015),《HTML&CSS》(에이콘출판사,2012)가있다.이책들은코드와개념을시각적으로구분해서설명하는것이특징으로,40만부이상판매되었으며10개언어로번역되며많은독자에게사랑받고있다.

목차

옮긴이머리말v
베타리더후기vii
시작하며1

PARTI기본프로그래밍명령17
소프트웨어설치하기/샘플코드다운로드하기/PHP페이지에HTML과PHP코드를혼합하는방법/PHP가브라우저에텍스트와HTML을보내는방법/페이지에콘텐츠쓰기/주석/코드에주석추가하기
1장변수,표현식그리고연산자29
변수/변수생성하고접근하기/변수명을지정하는방법/스칼라(기본)데이터타입/변숫값업데이트하기/배열/연관배열/연관배열생성하기및접근하기/인덱스배열/인덱스배열생성하고접근하기/배열안에배열저장하기/다차원배열/echo에대한간단표기법/echo의간단표기법사용하기/표현식그리고연산자/산술연산자/산술연산자사용하기/문자열연산자/문자열결합하기/비교연산자/논리연산자/비교연산자사용하기/논리연산자사용하기/타입저글링:데이터타입변환하기/기본PHP페이지/데이터처리하고출력하기/요약
2장제어구조67
조건문/중괄호는코드블록을형성한다/조건문의구조/if문사용하기/삼항연산자/삼항연산자사용하기/if...elseif문사용하기/switch문사용하기/match표현식사용하기/루프/while루프/while루프사용하기/do…while루프/do…while루프사용하기/for루프/세가지표현식으로for루프사용하기/for루프사용하기/foreach루프/키와값을통한루프/인클루드파일을사용하여코드반복하기/파일include그리고require/인클루드파일생성하기/인클루드파일사용하기/예제/요약
3장함수103함수사용하기/함수정의하고호출하기/기본함수/코드가항상순서대로실행되는것은아니다/함수에서데이터가져오기/값을반환하는함수/정보가필요한함수정의하기/정보가필요한함수호출하기/매개변수를사용하는함수/함수이름짓기/범위/범위에대한데모/전역변수와정적변수/함수외부의변수에접근하기/함수와복합데이터타입/여러값받기와반환하기/인수와반환타입선언/타입선언사용하기/엄격한타입활성화하기/엄격한타입사용하기/여러개의반
환구문/함수에서여러개의반환구문사용하기/옵셔널매개변수와디폴트값/매개변수에대한디폴트값사용하기/지정인수/지정인수사용하기/함수작성에대한접근방법/함수를왜사용하나?/함수문서화하기/예제/요약
4장객체&클래스143
모델로서의웹사이트/속성&메서드/객체데이터타입/클래스는객체생성을위한템플릿이다/객체를생성하는방법과사용하는방법/클래스:객체에대한템플릿/클래스를사용하여객체생성하기/속성에접근하고업데이트하기/객체와속성사용하기/메서드정의하고호출하기/객체의메서드사용하기/생성자메서드/클래스와생성자사용하기/속성과메서드의가시성/게터그리고세터사용하기/객체의속성에배열저장하기/객체의속성으로배열사용하기/객체의속성에객체저장하기/객체의속성으로객체사용하기/객체사용의이점/예제/요약

PARTII동적웹페이지177
HTTP요청과응답/HTTPGET과POST를사용하여데이터를보내는방법/링크또는폼으로데이터를보내는방법/서버와주고받는데이터보안/인코딩스킴/PHP인터프리터의내장툴킷/슈퍼글로벌배열/$_SERVER슈퍼글로벌배열의데이터/변수데이터를보여주는내장함수/변수의내용표시하기/오류메시지/오류메시지예제/PHP인터프리터에대한설정및옵션/PHP인터프리터에대한설정보기/인터프리터설정변경하기:php.ini/서버설정변경하기:.htaccess
5장내장함수201
대문자&소문자길이확인하기/대소문자변환하기와문자계수하기/문자열에서문자찾기/문자열에있는문자확인하기/문자제거하기와교체하기/문자열의문자바꾸기/멀티바이트문자열함수/멀티바이트문자열함수사용하기/정규표현식/정규표현식함수/정규표현식사용하기/숫자로작업하기/숫자함수/배열로작업하기/배열함수/배열에항목추가하기와제거하기/배열업데이트함수/배열정렬하기(순서변경하기)/배열정렬함수/상수/상수사용하기/HTTP헤더추가하기또는업데이트하기/HTTP헤더를사용하여사용자리디렉션하기/파일에대한데이터및파일삭제하기/파일정보얻기/요약
6장브라우저로부터데이터가져오기231
데이터를수집하고사용하는네가지단계/HTTPGET을통해데이터전송받기/쿼리문자열을사용하여콘텐츠선택/슈퍼글로벌배열에누락된데이터처리하기/쿼리문자열을사용하여콘텐츠선택하기/데이터유효성검증하기/쿼리문자열데이터검증하기/데이터가누락된경우오류페이지표시하기/방문자를오류페이지로보내기/결과이스케이핑/이스케이핑을하지않은위험/예약된HTML문자이스케이핑하기/사용자가제공하는콘텐츠이스케이핑/폼데이터가서버로전송되는방법/폼데이터가져오기/폼데이터를수신하는방법/폼이제출되었는지확인하는방법/폼이제출되었는지확인하기/숫자유효성검사하기/숫자가유효한지확인하기/텍스트길이유효성검사하기/텍스트길이확인하기/정규표현식을사용하여데이터유효성검사하기/비밀번호길이검사하기/셀렉트박스와라디오버튼/옵션확인하기/체크박스가체크되었는지확인하는방법/체크박스확인하기/여러값이유효한지확인하기/폼검증하기/필터함수를사용하여데이터수집하기/데이터를수집하기위해필터함수사용하기/유효성검사필터/단일값을확인하기위해필터사용하기/필터를사용하여값을수집하기/여러입력을검증하기위한필터/필터로여러입력을검증하기/변수를가지고동작하는필터함수/변수의데이터검증하기/필터,플래그,그리고옵션검증/제거필터/변수에제거필터적용하기/필터를사용하여폼검증하기/요약
7장이미지&파일285
브라우저에서파일업로드하기/서버에서파일받기/파일이업로드되었는지확인하기/파일을목적지로이동하기/업로드된파일이동하기/파일명과중복파일정리하기/파일크기와파일타입확인하기/파일업로드검사하기/이미지크기조절하기/이미지자르기/확장프로그램을사용하여이미지편집하기/GD를사용하여이미지크기조절하기/Imagick로크기조절하고자르기/요약
8장날짜&시간309
날짜형식/시간형식/문자열을사용하여날짜및시간지정하기/유닉스타임스탬프/날짜내장함수와시간내장함수/날짜함수/날짜와시간을나타내는객체/DateTime객체/DateTime객체의날짜와시간업데이트하기/DateTime객체에날짜와시간을설정하는방법/DateInterval을사용하여간격나타내기/DateInterval객체/DatePeriod를사용하는반복이벤트/DatePeriod객체/DateTimeZone을사용하여타임존관리하기/DateTimeZone객체/요약
9장쿠키&세션329
쿠키란무엇인가?/쿠키생성과접근방법/쿠키설정하고접근하기/쿠키보안/쿠키설정제어하기/세션이란무엇인가?/세션을생성하고접근하는방법/세션에데이터를저장하고접근하기/세션의수명/기본로그인시스템/사용자가페이지를조회하기위해로그인하도록하는방법/요약
10장오류처리349
PHP오류가표시되는방법제어하기/오류메시지이해하기/오류의레벨과유형/구문오류/치명적인오류/치명적이지않은오류(경고또는알림)/디버깅:오류추적하기/사이트활성화하기/오류처리함수/치명적이지않은에러핸들링함수/예외/try…catch로예외처리/디폴트예외처리함수/try…catch를사용하여예외처리하기/커스텀예외발생하기/서로다른예외타입캐치하기/디폴트오류와예외처리하기/웹서버오류를표시하는방법/요약

PARTIII데이터베이스기반의웹사이트381
예제웹사이트소개/관계형데이터베이스가데이터를저장하는방법/데이터베이스에서의데이터타입/데이터베이스의데이터복제하지않기/MySQL작업을위해phpMyAdmin사용하기/데이터베이스를관리하기위해phpMyAdmin사용하기/샘플데이터베이스설정하기/샘플데이터베이스둘러보기/데이터베이스사용자계정생성하기
11장구조화된쿼리언어397
데이터베이스에서데이터가져오기/테이블에서특정행반환하기/SQL에서비교연산자사용하기/LIKE와와일드카드로결과검색하기/값에대해검색하기/결과세트의행순서제어하기/결과정렬하기/결과를카운팅하고그룹핑하기/일치하는결과의수카운팅하기/결과제한하기및건너뛰기/일치하는결과의수제한하기/두테이블에서데이터를가져오기위해JOIN사용하기/데이터가누락된경우JOIN이동작하는방식/여러테이블에서데이터가져오기/다중JOIN사용하기/앨리어스/열이름에대한앨리어스사용하기/열결합하기&NULL대체하기/CONCAT그리고COALESCE/예제CMS를위한기사쿼리/데이터베이스에데이터추가하기/데이터베이스의데이터업데이트하기/데이터베이스에서데이터삭제하기/고유성제약/외래키제약/요약
12장데이터베이스에서데이터가져오기&표시하기433
데이터베이스에연결하기/데이터베이스연결은인클루드파일에둘수있다/하나의PHP파일이서로다른데이터를표시하는방법/SQL쿼리를사용하여데이터가져오기/데이터베이스에서하나의데이터행가져오기/쿼리가데이터를반환했는지확인하기/데이터베이스에서여러행의데이터가져오기/한번에한행의데이터를가져오기위해루프돌기/SQL쿼리에변경할수있는데이터사용하기/동일한페이지에서로다른데이터표시하기/SQL쿼리에값바인딩/SQL쿼리에정수바인딩하기/단일파일을사용하여여러페이지표시하기/쿼리문자열을사용하여올바른페이지표시하기/HTML페이지에서데이터베이스데이터표시하기/HTML페이지에서사용되는데이터형식지정하기/SQL문을실행하는함수/매개변수가없는사용자정의PDO함수/매개변수가있는사용자정의PDO함수/몇개의PHP파일로전체사이트를운영하는방법/헤더와푸터파일/홈페이지/카테고리페이지/기사페이지/회원페이지/검색기능만들기/검색페이지/데이터를객체로가져오기/객체를가져오기위해페치모드설정하기/클래스를사용하여객체에있는데이터가져오기/존재하는클래스를사용하여객체생성하기/요약
13장데이터베이스의데이터업데이트하기483
테이블에데이터추가하기/테이블의데이터업데이트하기/테이블에서데이터삭제하기/새로운데이터행의아이디가져오기/얼마나많은행이변경되었는지알아보기/열에값이중복되는것을방지하기/데이터베이스데이터를편집하기위한웹페이지생성하기/카테고리생성하기,업데이트하기,그리고삭제하기/데이터생성하고업데이트하기/카테고리데이터가져오고유효성검사하기/카테고리데이터저장하기/카테고리데이터를생성또는편집하기위한폼/카테고리삭제하기/기사생성하고편집하기/트랜잭션:여러개의SQL문/기사:페이지설정하기(파트A)/기사:데이터가져오고유효성검사하기(파트B)/기사:변경사항저장하기(파트C)/기사:폼/메시지(파트D)/기사삭제하기/요약

PARTIV샘플애플리케이션확장하기521
절대경로와상대경로/파일구조와도큐먼트루트/구성파일/BOOTSTRAP파일/변수가데이터를저장하는방법
14장리팩터링&종속성주입533
데이터베이스작업을위한객체사용하기/Database객체/컨테이너객체/CMS컨테이너객체/Database클래스/Category클래스/카테고리생성하기,업데이트하기,삭제하기/기사데이터가져오기/CMS객체사용하기/코드리팩터링방법/클래스오토로딩하기/정적메서드를사용하는유효성검증클래스/요약
15장네임스페이스&라