에너지경제연구원 전자도서관

로그인

에너지경제연구원 전자도서관

자료검색

  1. 메인
  2. 자료검색
  3. 통합검색

통합검색

교양도서

(라라벨로 배우는) 실전 PHP 웹 프로그래밍

PHP web programming with Laravel

저자
김주원
발행사항
파주 : Jpub(제이펍), 2016
형태사항
xxx, 518 p. : 삽화 ; 25 cm
소장정보
위치등록번호청구기호 / 출력상태반납예정일
이용 가능 (1)
연구외도서G101026대출가능-
이용 가능 (1)
  • 등록번호
    G101026
    상태/반납예정일
    대출가능
    -
    위치/청구기호(출력)
    연구외도서
책 소개
풀 스택 데브옵스 웹 개발자를 지향하는 라라벨 입문과 실전 프로젝트!

기존 5.x 버전보다 눈에 띄는 성능 향상을 보인 PHP 7과 PHP를 기반으로 한 웹 개발 프레임 워크인 ‘라라벨’ 프레임워크에 대해 기초부터 실무에 가까운 코드까지 모두 훑어볼 수 있는 책으로, 단순히 프레임워크만 설명하는 데 그치지 않고 모던 PHP를 사용하기 위해서 알아야 할 다양한 배경과 지식을 함께 전달하며, 라라벨의 구성과 기본 개념, 웹 애플리케이션을 제작할 때 필요한 부분을 실습이 가능한 코드와 함께 하나하나 짚어준다. 하나의 프로젝트를 통해 웹 개발을 해볼 수 있는 기회를 부여하므로 PHP를 사용하고 있다면 이 책을 통해 실력을 한 단계 끌어올릴 수 있을 것이다. 웹 개발 입문을 망설이고 있는 독자나 중급자도 모두 아우를 수 있어 다양한 독자층에게 권할 만한 참고서다.

입문에서 중급까지, 한 권으로 배우는 단계별 라라벨 학습!

PHP 프로그래밍 언어로 작성된 라라벨은 웹 프레임워크뿐만 아니라 개발 환경, 서버 프로비전, 코드 배포까지 웹 서비스 개발에 필요한 모든 도구를 제공한다. 그리고 풀 스택(full stack)과 데브옵스(DevOps)를 지향하는 웹 개발자가 알아야 할 기획, UI와 사용자 경험, 데이터 모델링, 비즈니스 로직, HTTP 프로토콜, 서버 준비 및 운영 등 웹 프로그래머가 갖추어야 할 다양한 소양을 쌓을 수 있을 것이다.

1부에서는 라라벨에 입문하기 위한 기본 스킬을 소개한다. 2부에서 4부까지는 마크다운 뷰어, 포럼, RESTful API 서비스를 직접 만들면서 중급자로 도약할 수 있도록 도와준다. 5부에서는 개발한 웹 서비스를 운영 서버에 배포하는 방법을 다루며, 마지막 부록에서는 이 책을 학습하기 위한 개발 환경 준비와 간단한 PHP 문법, 객체 지향 프로그래밍을 소개한다.

이 책의 목적
라라벨 입문을 돕는다
모던 웹 개발 방법론과 모범 사례를 전파한다
실전 프로젝트를 통해 중급 개발자로 성장할 수 있도록 돕는다

이 책의 대상 독자
PHP로 웹 프로그래밍을 하려는 초보 개발자
라라벨을 배우고자 하는 웹 프로그래머
목차
PART 1 라라벨 입문 _1 CHAPTER 01 라라벨 설치 _ 2 1.1 새로운 라라벨 프로젝트 만들기 _ 2 1.2 라라벨 프로젝트 구조 _ 4 1.3 라라벨 작동 원리 _ 7 1.4 버전 관리 _ 8 CHAPTER 02 전역 환경 설정 _ 9 2.1 dotenv 파일이 하는 일 _ 9 2.2 APP 환경 설정 _ 11 2.3 마치며 _ 12 CHAPTER 03 라우팅 _ 13 3.1 URL _ 13 3.2 라우팅 만들기 _ 16 3.3 URL 파라미터 _ 18 3.4 라우트 이름 _ 19 3.5 마치며 _ 20 CHAPTER 04 뷰와 데이터 바인딩 _ 21 4.1 뷰 반환 _ 21 4.2 데이터 바인딩 _ 22 4.3 마치며 _ 23 CHAPTER 05 블레이드 _ 24 5.1 변수를 이용한 문자열 보간 _ 25 5.2 주석 _ 25 5.3 제어 구조 _ 26 5.4 템플릿 상속 _ 28 5.5 조각 뷰 삽입 _ 31 5.6 마치며 _ 33 CHAPTER 06 데이터베이스와 모델 _ 34 6.1 데이터베이스 준비 _ 35 6.2 REPL _ 36 6.3 데이터베이스 쿼리 _ 37 6.4 쿼리 빌더 _ 40 6.5 엘로퀀트 ORM _ 43 6.6 마치며 _ 49 CHAPTER 07 데이터베이스 마이그레이션 _ 50 7.1 마이그레이션 만들기 _ 51 7.2 마이그레이션 실행 _ 55 7.3 롤백 _ 56 7.4 열 추가 _ 57 7.5 초기화 및 새로고침 _ 58 7.6 마치며 _ 59 CHAPTER 08 컨트롤러 _ 60 8.1 컨트롤러 만들기 _ 60 8.2 RESTful 라우트와 컨트롤러 _ 61 8.3 마치며 _ 70 CHAPTER 09 사용자 인증 _ 71 9.1 HTTP의 무상태 특성 _ 71 9.2 기본기 다지기 _ 73 9.3 라라벨 내장 사용자 인증 _ 79 9.4 마치며 _ 81 CHAPTER 10 엘로퀀트 ORM _ 82 10.1 일대다 관계 _ 82 10.2 다대다 관계 연결 _ 86 10.3 마치며 _ 91 CHAPTER 11 데이터베이스 시딩 _ 92 11.1 시더 만들기 _ 92 11.2 모델 팩토리 _ 93 11.3 마스터 시더 _ 97 11.4 마이그레이션과 시딩 _ 99 11.5 마치며 _ 99 CHAPTER 12 즉시 로드와 페이징 _ 100 12.1 즉시 로드 _ 100 12.2 페이징 _ 104 12.3 마치며 _ 106 CHAPTER 13 입력값 유효성 검사 _ 107 13.1 유효성 검사 기본기 _ 108 13.2 트레이트의 메서드 이용 _ 114 13.3 폼 리퀘스트 클래스 이용 _ 115 13.4 마치며 _ 117 CHAPTER 14 이벤트 시스템 _ 118 14.1 기본기 다지기 _ 119 14.2 이벤트 레지스트리 _ 120 14.3 이벤트 리스너 클래스 _ 121 14.4 이벤트 클래스 _ 122 14.5 실용적인 이벤트 시스템 _ 124 14.6 라라벨 내장 이벤트 채널 _ 126 14.7 마치며 _ 129 CHAPTER 15 예외 처리와 디버깅 _ 130 15.1 전역 예외 처리기 _ 130 15.2 실용적인 예외 처리 _ 132 15.3 디버깅 _ 136 15.4 디버깅 방법 _ 140 15.5 마치며 _ 143 CHAPTER 16 이메일 보내기 _ 144 16.1 지메일로 메일 보내기 _ 145 16.2 메일건으로 메일 보내기 _ 147 16.3 심화 학습 _ 150 16.4 테스트 환경 _ 153 16.5 마치며 _ 153 CHAPTER 17 컴포저 _ 154 17.1 컴포저란? _ 155 17.2 로컬 컴포넌트 레지스트리 둘러보기 _ 156 17.3 컴포넌트 가져오기 실습 I _ 158 17.4 컴포넌트 가져오기 실습 II _ 160 17.5 install? update? _ 164 17.6 문제 해결 _ 164 17.7 오토로드 _ 165 17.8 좋은 컴포넌트 찾기 _ 166 17.9 마치며 _ 167 PART 2 실전 프로젝트 I - 마크다운 뷰어 _169 CHAPTER 18 모델 _ 170 18.1 파일시스템 _ 170 18.2 모델 만들기 _ 171 18.3 테스트 _ 173 18.4 예외 처리 _ 174 18.5 마치며 _ 175 CHAPTER 19 컨트롤러와 도우미 함수 _ 176 19.1 사용자 정의 도우미 함수 _ 176 19.2 컨트롤러 _ 177 19.3 뷰 _ 178 19.4 마치며 _ 180 CHAPTER 20 다듬질 _ 181 20.1 서버 측 캐싱 _ 181 20.2 이미지 응답 _ 183 20.3 클라이언트 측 이미지 캐싱 _ 187 20.4 마치며 _ 191 CHAPTER 21 엘릭서와 프런트엔드 _ 192 21.1 필요 프런트엔드 리소스 _ 192 21.2 필요 도구 설치 _ 193 21.3 엘릭서 _ 194 21.4 빌드 스크립트 작성 _ 196 21.5 활용 사례 _ 201 21.6 마치며 _ 204 PART 3 실전 프로젝트 II - 포럼 _205 CHAPTER 22 계획과 준비 _ 206 22.1 기능 요구 사항 목록 _ 206 22.2 데이터베이스 모델링 _ 207 22.3 프로젝트 준비 _ 209 22.4 마스터 레이아웃 _ 210 22.5 마치며 _ 213 CHAPTER 23 사용자 인증 재구성 _ 214 23.1 라우팅 정의 _ 214 23.2 컨트롤러 _ 216 23.3 사용자 등록 구현 _ 216 23.4 사용자 로그인 구현 _ 225 23.5 비밀번호 바꾸기 구현 _ 229 23.6 마스터 레이아웃 _ 234 23.7 마치며 _ 234 CHAPTER 24 소셜 로그인 _ 236 24.1 소셜라이트 컴포넌트 _ 236 24.2 작동 원리 _ 237 24.3 깃허브 설정 _ 239 24.4 라우트 정의 _ 241 24.5 마이그레이션 _ 241 24.6 로그인 처리 로직 _ 242 24.7 네이티브 로그인 처리 수정 _ 245 24.8 소셜 로그인 링크 _ 247 24.9 다듬질 _ 248 24.10 마치며 _ 249 CHAPTER 25 아티클 기능 구현 _ 250 25.1 라우트 모델 바인딩 _ 250 25.2 글 목록 _ 251 25.3 글 상세 보기 _ 256 25.4 글 수정 _ 257 25.5 글 삭제 _ 260 25.6 인증과 인가 _ 261 25.7 다듬질 _ 264 25.8 마치며 _ 266 CHAPTER 26 태그 기능 구현 _ 267 26.1 태그 데이터 _ 267 26.2 태그 선택 _ 270 26.3 태그 출력 _ 272 26.4 다듬질 _ 276 26.5 마치며 _ 277 CHAPTER 27 파일 첨부 기능 구현 _ 278 27.1 파일 업로드 _ 278 27.2 UI 개선 _ 285 27.3 다듬질 _ 291 27.4 마치며 _ 293 CHAPTER 28 댓글 기능 구현 _ 294 28.1 다형적 다대다 관계 _ 294 28.2 댓글 UI _ 300 28.3 서버 측 구현 _ 305 28.4 투표 기능 _ 309 28.5 마치며 _ 317 CHAPTER 29 다듬질 I _ 319 29.1 아티클 검색, 정렬, 조회 수, 댓글 수 _ 320 29.2 이메일 알림 _ 326 29.3 고아 첨부 파일 청소 _ 330 29.4 댓글 소프트 삭제 _ 334 29.5 모델 쿼리 캐싱 _ 338 29.6 캐시 저장소 변경 _ 343 29.7 마치며 _ 349 CHAPTER 30 다듬질 II _ 350 30.1 다국어 지원 _ 350 30.2 오류 알림 _ 363 30.3 마치며 _ 367 PART 4 실전 프로젝트 III - RESTful API _369 CHAPTER 31 기본기 익히기 _ 370 31.1 RESTful이란? _ 370 31.2 RESTful API 모범 사례 _ 371 31.3 개발 항목 _ 376 CHAPTER 32 구조 설계 _ 377 32.1 HTTP 요청 분기 _ 377 32.2 HTTP 응답 분기 _ 380 32.3 마치며 _ 386 CHAPTER 33 클라이언트 인증 _ 387 33.1 HTTP 기본 인증 _ 388 33.2 JWT 인증 _ 392 33.3 마치며 _ 402 CHAPTER 34 데이터 트랜스폼 _ 404 34.1 트랜스포머 작동 원리 _ 405 34.2 트랜스포머 컴포넌트 _ 408 34.3 컨트롤러 다듬질 _ 413 34.4 다국어 지원 _ 415 34.5 마치며 _ 417 CHAPTER 35 다듬질 I _ 418 35.1 클라이언트 측 캐싱 _ 418 35.2 응답 필드 선택 _ 424 35.3 마치며 _ 425 CHAPTER 36 다듬질 II _ 426 36.1 CORS _ 426 36.2 사용량 제한 _ 429 36.3 리소스 아이디 난독화 _ 434 36.4 마치며 _ 438 PART 5 코드 배포 _439 CHAPTER 37 서버 준비 _ 440 37.1 계정 발급 _ 440 37.2 서버 만들기 _ 441 37.3 서버 접속하기 _ 445 37.4 웹 서버 만들기 _ 447 37.5 마치며 _ 459 CHAPTER 38 코드 배포 _ 461 38.1 엔보이 _ 461 38.2 깃허브 _ 463 38.3 코드 배포 _ 467 38.4 배포 전략과 엔보이 배포 스크립트 _ 470 38.5 마치며 _ 474 APPENDIX 부록 _475 APPENDIX A 운영체제별 개발 환경 준비 _ 476 A.1 코드 에디터 준비 _ 477 A.2 Mac _ 477 A.3 우분투 데스크톱 _ 480 A.4 Windows _ 482 APPENDIX B 속성 PHP 프로그래밍 입문 _ 489 B.1 PHP 스크립트의 작동 원리 _ 489 B.2 PHP 언어 기본 _ 491 B.3 변수와 상수 _ 491 B.4 연산자 _ 493 B.5 데이터 타입 _ 494 B.6 조건문 _ 496 B.7 반복문 _ 498 B.8 함수 _ 499 B.9 클로저 _ 500 B.10 PHP 설명서 _ 502 APPENDIX C 속성 객체 지향 프로그래밍 입문 _ 503 C.1 클래스 _ 503 C.2 생성자 _ 504 C.3 메서드 _ 505 C.4 게터와 세터 _ 506 C.5 캡슐화 _ 507 C.6 상속 _ 508 C.7 추상 클래스 _ 509 C.8 의존성 주입 _ 511 C.9 인터페이스 _ 513 C.10 마치며 _ 515