본문 바로가기

리디북스 접속이 원활하지 않습니다. 새로 고침(F5)해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

RIDIBOOKS

리디북스 검색

최근 검색어

'검색어 저장 끄기'로 설정되어 있습니다.


리디북스 카테고리



바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서 상세페이지

책 소개

<바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서> 회사에서 PHP 웹 애플리케이션 실무를 진행하기 위해서는 PHP 사용법 외에도 알아야 할 것이 많습니다. 팀장급 개발자분들과의 인터뷰를 통해 신입 개발자가 될 수 있는 한 빨리 알았으면 하는 것들의 목록을 도출하고, 저자가 개인적으로 중요하다고 여기는 주제를 추가하여 한 권의 책으로 엮었습니다.

단순히 사용법만을 전달하는 것이 아니라 위의 주제들을 ’왜 알아야 하는지’를 효과적으로 전달하기 위해 스토리를 도입했습니다. 이 책은 처음부터 끝까지 하나의 스토리로 연결되어 있습니다. 신입 개발자 이신입은 직무교육을 겸한 미션을 부여받습니다. 언뜻 보기에 굉장히 간단하게 보였던 미션이지만 이신입은 계속해서 문제에 부딪히게 됩니다. 각 문제를 해결하기 위해 다음의 지식들을 습득하여 미션을 완수합니다.

- 버전 관리 시스템
- 컴포저
- 가상머신을 이용한 개발 환경 구축
- 프론트 컨트롤러 패턴과 MVC 패턴
- HTTP와 REST
- 시큐어 코딩
- PHP 표준 권고
- PDO와 ORM
- 통합 개발 환경

[대상 독자]
이 책의 대상 독자는 초급 PHP 개발자입니다. 여기서 초급이라 함은 혼자서도 간단한 수준의 PHP 웹 애플리케이션은 만들고 배포할 수 있는 능력이 있는 개발자를 의미합니다. 이 책은 PHP 입문 서적이 아니므로, PHP 웹 애플리케이션 개발에 대한 기초 지식이 없는 분들께는 적합하지 않습니다.

[무료 업데이트]
업투데이트북스는 독자가 언제나 최신 버전으로 학습할 수 있도록 책을 업데이트하여 무료로 제공해드립니다. 홈페이지에서 '업데이트 알림 받기'를 신청해주세요.
업데이트 알림 신청하러 가기

개정 1차 : 3월 27일
5장 메소드 오버라이드 설명 추가.
6장 비밀번호 다루기 추가. password_hash API와 PHP 7.2에 추가된 Sodium 라이브러리 쓰는 방법을 추가했습니다.


출판사 서평

[추천사]
책을 읽기 시작하자마자 끝까지 고개를 끄덕이며 읽었다. 내가 신입으로 들어갔을 때 이런 책이 있었으면 얼마나 수월하게 배우기 시작했을까. 주변에 PHP를 사용하는 사람이 있다면 꼭 알려주자. 신입 PHP 개발자에게는 어떻게 시작해야 하는지 좋은 가이드가 되고 선임이나 팀장급 이상이라면 어떤 내용을 신입에게 가르쳐야 하는지 명확한 지침이 되는 책이다.
- haruair

책 제목이 길지만 너무도 직설적으로 잘 지었다는 생각이 들 정도로
선배가 후임에게 가이드 해 줄 만한 내용들로 채워져 있습니다.
더불어 PHP: The Right Way 의 부드럽고 유연한 판 이라는 느낌을 받았습니다.
- VoidNoble

PHP 언어의 문법을 처음부터 차근차근 설명하는 책이 아닌, PHP를 활용해 실제 개발에 착수하기 전에 어떤 걸 학습해야할지 알려줄 가이드가 필요한 개발자에게 이 책을 추천한다.
- paikwiki

이 책의 또 다른 장점을 꼽자면, 레거시(Legacy)가 아닌 매우 현대적으로(Modern) PHP 다루고 있다는 점입니다. 국내 다수의 PHP 서적들이 오래된 스타일의 코드로 설명을 하고 있지만, 이 책은 이와 달리 현대적인 코드 스타일이라는 점이 장점입니다.
그렇기 때문에 숙련된 PHP 개발자라 할지라도 현대적인 PHP 코드 스타일이나 개발 방법 등에 익숙하지 않다면 한번쯤 훓어볼 가치가 있습니다.
- sangheon



저자 소개

2009년에 개발의 개자도 모르면서 덜컥 웹 애플리케이션 만드는 회사를 창업했다. 개발 능력이 없어서 사업이 제대로 진행되지 않아 PHP 웹개발에 입문했다. 독학의 벽을 넘기 위해 커뮤니티에 열심히 참여했는데, 정기 모임에 꾸준히 참석한다는 이유로 모던 PHP 유저 그룹(https://goo.gl/qMWHQx)의 운영자가 되었다. 2017년에는 패스트캠퍼스에서 <라라벨을 활용한 PHP7 웹 프로그래밍 CAMP>에서 강의했다. 처음 창업한 회사를 폐업하고, 젤리코스터와 오퍼니티에서 웹 개발자로 일했다. 오퍼니티에서 퇴사한 이후로는 '필요한 데 없으면 직접 만들자'는 자세로 살고 있다. 그 덕에 현재 IT 북카페 <일공공>과 IT 전문 전자책 출판사 <업투데이트북스>, PHP 전문 교육 프로그램인 <PHP 부트 캠프>를 만들어 운영하고 있다.

목차

들어가며

제1 장. 저장소가 뭔가요? - 버전 관리 시스템
1. 이신입 이야기
2. 왜 버전 관리 시스템을 사용할 줄 알아야 하는가
3. 업무에 필요한 최소한의 Git 사용방법 익히기
3.1. Git 설치
3.2. 사용자 설정하기
3.3. 원격 저장소 복제하기 - git clone
3.4. 브랜치(branch)
3.5. 커밋(commit)
3.6. 임시저장 - git stash
3.7. 병합하기 - git merge
3.8. 원격 저장소에 보내기 - git push
3.9. 원격 저장소 가져와서 병합하기 - git pull
3.10. 충돌 해결하기
3.11. 이전 코드로 되돌리기
4. 마치며

제2 장. 저장소의 소스코드를 받았는데 왜 안되죠? - 컴포저
1. 이신입 이야기
2. 이신입이 되어 봅시다
3. 컴포저를 사용하는 이유
3.1. 외부 라이브러리를 쉽게 설치할 수 있다
3.2. 설치한 라이브러리를 쉽게 사용할 수 있다
3.3. 여러 컴퓨터에서 똑같은 라이브러리 사용할 수 있다
4. 컴포저와 관련하여 알면 좋은 것들
4.1. 컴포저와 버전 관리 시스템
4.2. composer install과 composer update
4.3. 좋은 라이브러리 찾는 방법
4.4. 버전 지정 시 유의사항
5. 마치며

제3 장. 제 컴퓨터에서는 잘 되는데요? - 가상 머신을 이용한 개발 환경 구축
1. 이신입 이야기
2. 로컬 개발 환경 구축 시 가상 환경을 활용하는 것이 유용한 이유
2.1. 개발 환경은 실제 서비스 운영 환경과 같을수록 좋다
2.2. 여러 개발 환경이 동시에 필요한 경우가 있다
2.3. 가상화 해결책
3. 업무에 필요한 최소한의 도커 익히기
3.1. 도커로 공유받은 개발 환경 구축하기
3.2. 도커 기능을 최소한으로 사용해서 가상 환경 만들기
4. 마치며

제4 장. 어떤 파일을 고쳐야 할 지 모르겠어요 - 프런트 컨트롤러 패턴과 MVC 패턴
1. 이신입 이야기
2. PHP 입문서와 튜토리얼의 함정
3. 관심사의 분리 (Separation of Concerns, SoC)
4. 모델-뷰-컨트롤러 (MVC, Model-View-Contruller) 패턴
4.1. MVC 패턴이란
4.2. MVC 패턴을 사용하면 좋은 점
5. 프런트 컨트롤러(Front Contruller) 패턴
5.1. 프런트 컨트롤러 패턴이란
5.2. 프런트 컨트롤러를 사용하면 좋은 점
6. 이신입이 되어 봅시다
7. 마치며
8. 참고자료

제5 장. GET, POST는 알겠는데 PUT, DELETE는 뭔가요? - HTTP와 REST
1. 이신입 이야기
2. REST
2.1. 자원 식별
2.2. 표현을 통한 자원 조작
2.3. 자기-서술적 메시지
2.4. 애플리케이션 상태 엔진으로서의 하이퍼미디어 (Hypermedia As the Engine of Application State, HATEOAS)
3. 이신입이 되어봅시다
4. 마치며

제6 장. 그렇게까지 해야 하나요? - 시큐어 코딩
1. 이신입 이야기
2. 믿어서 생기는 일
2.1. SQL 인젝션 (SQL Injection)
2.2. 크로스 사이트 스크립팅 (Cross-Site Scripting, XSS)
2.3. 크로스 사이트 요청 변조 (Cross-Site Request Forgery, CSRF, XSRF)
3. 최소한의 시큐어 코딩: 유효성 검사(Validating)-입력값의 위험 제거(Sanitizing)-출력 예외 처리(Escaping)
3.1. 유효성 검사
3.2. 입력값의 위험 제거
3.3. 출력 예외 처리
4. 이신입의 코드에 최소한의 시큐어 코딩 적용해보기
4.1. 유효성 검사
4.2. 출력 예외 처리를 통한 크로스 사이트 스크립트 공격 방어
4.3. 입력값 위험 제거를 통한 SQL 인젝션 방어
4.4. CSRF 공격 방어
5. 비밀번호 다루기
5.1. 비밀번호 해시용 알고리즘은 따로 있다
5.2. 비밀번호 해싱 API
5.3. Sodium을 이용한 비밀번호 해시
5.4. 패스워드 해시 함수와 Sodium의 호환성
6. 마치며

제7 장. 그냥 제 스타일대로 하면 안되나요? - 코딩 컨벤션과 PHP 표준 권고
1. 이신입 이야기
2. PHP 표준 권고
3. 코딩 스타일 표준
3.1. 코딩 컨벤션
3.2. PSR-1 기본 코딩 표준
3.3. PSR-2 코딩 스타일 가이드
3.4. 코딩 스타일 검사 도구
4. 오토로딩 표준
5. 표준 인터페이스
6. 마치며

제8 장. MySQLi는 나쁜건가요? - PDO와 ORM
1. 이신입 이야기
2. PDO를 사용하면 좋은 점
3. PDO 사용 방법
3.1. 데이터베이스 연결
3.2. 쿼리 준비
3.3. 쿼리 파라미터에 값 배정(데이터 바인딩)
3.4. 쿼리 실행
3.5. 결과 값 조회
4. ORM(Object-Relational Mapping) 이란?
5. 마치며

제9 장. 메모장에 코딩하면 안되나요? - 통합 개발 환경
1. 이신입 이야기
2. 통합 개발 환경 없이도 개발을 잘해야 진짜 실력자?
3. IDE를 사용하면 좋은 점
3.1. 구문 강조
3.2. 코드 자동 완성
3.3. 코드 자동 생성
3.4. 리팩토링
3.5. 네비게이션
3.6. 실시간 코드 검사
3.7. 디버거 통합
3.8. 테스터 통합
4. 마치며

마치는 글


리뷰

구매자 별점

4.5

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

48명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

‘구매자’ 표시는 유료 도서를 결제하고 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기


spinner
모바일 버전