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

고객평점
저자김주원
출판사항제이펍, 발행일:2016/11/23
형태사항p.518 B5판:25
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9791185890623 [소득공제]
판매가격 30,000원   27,000원  (인터넷할인가:10%)
포인트 1,350점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

▣ 작가 소개

저자 : 김주원
H.O.T와 젝스키스가 한참 활동하던 시절, C와 펄(Perl) 언어로 웹 프로그래밍을 시작했다. 대학시절에 취미로 시작했던 웹 프로그래밍을 접고 이후 10년간 휴대 전화 제조사, 반도체 설계 회사, 미디어 스트리밍 솔루션 개발사 등 여러 분야를 거치며 솔루션 아키텍트 및 프로젝트 매니저로 지내다 몇 년 전에 다시 개발자로 돌아왔다. 지금은 물류 솔루션 개발사에서 서버 소프트웨어를 개발하고 있으며, 데브옵스와 풀 스택 웹 프로그래머로서 백발 코딩하는 꿈을 꾸며 산다.
절제할 때를 알고 술을 즐기는 애주가다. 평정심을 찾고 싶을 때는 클래식 기타를 연주하거나 우주과학 다큐멘터리를 보고, 아드레날린이 필요할 때는 격렬하게 테니스를 친다. 서울 중랑구에서 사랑하는 아내와 두 딸아이와 함께 살고 있다.

▣ 주요 목차

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

작가 소개

목 차

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우