클린 아키텍처 인 PHP
$24.00
최저가
$30.00
권장 가격

클린 아키텍처 인 PHP

책 소개

처음엔 개발 속도도 빠르고 잘 진행되는 것 같았는데, 언젠가부터 진도가 안나간다. 아주 간단한 기능 하나 추가하는데도 하세월이 걸린다. 건드리지도 않았는데 전혀 관련없는 코드에서 버그가 난다. 테스트를 작성할 시간 같은건 애초에 존재하지도 않았다. 어쨋든 지금은 다 깨져서 옴짝달싹 못하게 되버렸다.

이쯤되면 즐거웠던 프로그래밍이 재미없는 일이 되버린다.

애플리케이션의 구조를 잘 잡는게 중요하다. 방향을 잘못잡으면 나중에 악몽에 시달리게되고, 새로운 요구사항에 맞게 애플리케이션을 리팩토링하기가 거의 불가능해진다. 비록 이 책에서 소개하는 방법이 애플리케이션을 개발하는 유일무이한 방법은 아니지만 다음과 같은 특징을 갖도록 개발할 수 있게 도와줄 것이다.

  • 테스트 가능한
  • 리팩토링 가능한
  • 작업하기 쉬운
  • 유지보수하기 쉬운

이 책은 엉클 밥이 제시한 클린 아키텍처가 무엇인지, PHP에선 이를 어떻게 구현할 수 있는지 소개한다. 뿐만 아니라 SOLID의 개념, 다양한 디자인 패턴과 아키텍처도 함께 설명한다.

이 책은 기존에 English로 쓰여진 The Clean Architecture in PHP의 Korean 번역본입니다.

저자 소개

Kristopher Wilson
크리스토퍼 윌슨

크리스토퍼는 10년 넘게 엔터프라이즈급 PHP 애플리케이션을 개발했다. 그는 그랜드 래피즈 PHP 개발자 그룹(GrPhpDev)의 창시자로 PHP 커뮤니티에서 활발히 활동하며, 지역사회의 지식과 기술을 육성하고 높이는 데 전념하고 있다.

그는 미시간 그랜드 래피즈에서 아내인 애슐리와 딸 엘리아나, 그리고 네 마리의 고양이와 함께 살고 있다.

Twitter로 연락할 수 있고, Github에서 그의 작업을 확인해볼 수 있다.

이현석
이현석

PHP를 주로 사용하는 개발자이고 개발 관련 책과 글도 씁니다. 매일 라라벨 관련 글을 한 편씩 보내주는 1일 1식 라라벨 프로젝트를 진행하고 있습니다. 출간한 책으로는 “바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서“가 있습니다. 대외활동으로는 모던 PHP 유저 그룹에서 꾸준히 활동 중이고, 코딩 야학에도 조력자로 참여하고 있습니다. 라라벨 관련해서는 XE 기술 세미나와 XECON에서 발표한 바 있고, 패스트캠퍼스에서 강의한 바 있습니다.

목차

  •  
    • 소개
      • 구성
      • 저자
      • 코딩 스타일에 대해
  • 코드가 갖는 문제
    • 좋은 코드 작성하기는 어렵다
      • 나쁜 코드 쓰기는 쉽다
      • 어떤 것도 테스트 할 수 없다
      • 바꾸면 다 망가진다
      • 프레임워크에 살고 프레임워크에 죽는다
      • 모든 라이브러리를 사용하고 싶다
      • 좋은 코드 쓰기
    • 아키텍처란 무엇인가?
      • 아키텍처는 어떻게 생겼는가?
      • 소프트웨어 레이어
      • 나쁜 아키텍처의 사례
      • 나쁜 아키텍처의 비용
    • 우리의 적 커플링
      • 스파게티 커플링
      • 왜 커플링이 적인가?
      • 어떻게 하면 커플링을 줄일 수 있을까?
  • 디커플링 툴박스
    • 디자인 패턴 기초
      • 팩토리 패턴 (The Factory Patterns)
      • 리포지토리 패턴
      • 어댑터 패턴
      • 전략 패턴
      • 디자인 패턴 더 배우기
    • SOLID 디자인 원칙
      • 단일 책임 원칙
      • 개방/폐쇄 원칙
      • 리스코프 치환 원칙
      • 인터페이스 분리 원칙
      • 의존성 역전 원칙
      • SOLID 원칙 적용
    • 의존성 주입
      • 제어의 역전
      • 의존성 주입은 언제 쓰는가
      • 많은 의존성 다루기
      • 우리는 여전히 커플링 되어 있는가?
    • 인터페이스로 계약 작성하기
      • PHP에서의 인터페이스
      • 인터페이스를 타입 힌트로 사용하기
      • 인터페이스를 계약으로 사용하기
      • 제삼자 코드를 계약을 따르게 만들기
    • 어댑터로 추상화하기
      • 어댑터 세팅하기
      • 이게 어떻게 도움이 되는가?
  • 클린 아키텍처
    • MVC, 그리고 MVC의 한계
      • 다이어그램으로 보는 MVC
      • MVC 구성요소
      • 라우팅
      • MVC만으론 충분하지 않다
      • 비만 모델
      • 모든 것을 위한 더 많은 레이어!
    • 클린 아키텍처
      • 클린 아키텍처
      • 양파 아키텍처
    • 프레임워크 독립성
      • 프레임워크의 문제
      • 프레임워크 독립성
      • 손이 많이 간다
    • 데이터베이스 독립성
      • 도메인 모델
      • 도메인 서비스
      • 데이터베이스 인프라스트럭쳐 / 영속성
      • 코드 조직화하기
      • 요약
    • 외부 기관 독립성
      • 인터페이스, 어댑터, 의존성 주입 사용하기
      • 이득
  • 클린 아키텍처 사례 연구
    • 과금 시스템
      • 애플리케이션 워크플로우
      • 사전준비
    • 도메인 구축하기
      • 프로젝트 세팅하기
      • 엔티티 만들기
      • 도메인 서비스
      • 요약
    • 젠드 프레임워크 2 준비
      • 컴포저로 설치하기
      • 스켈레톤 지우기
      • 데이터베이스 세팅하기
      • 테이블 게이트웨이 팩토리
      • 요약
    • 젠드 프레임워크 2로 애플리케이션 만들기
      • 고객 관리
      • 주문 관리
      • 송장 관리
    • 독트린 2
      • 영속성 레이어 재구축하기
      • 독트린 기반 레파지토리 만들기
      • 엔티티 맵핑
      • Doctrine과 젠드 프레임워크 통합하기
      • 새 레파지토리 주입하기
      • 수화기 업데이트
      • 요약
    • 라라벨로 전환하기
      • 라라벨 세팅하기
      • 독트린 설정하기
      • 대시보드 세팅
      • 고객 관리
      • 주문 관리
      • 송장 관리
      • 다음 단계
      • 요약
  • Notes

Leanpub의 60일 간 100%만족 보장

구매일로부터 60일안에 어떤 결제든 클릭 두번으로 전액 환불을 받을 수 있습니다.

전체 약관 확인하기

Do Well. Do Good.

작가들은 Leanpub을 통해 글을 쓰고 출판하고 판매하여$11,242,897의 수익을 올렸습니다. 80% 로열티의 수입을 만드는 동안 2천5백만 파운드의 이산화탄소를 절감 했으며 46,000 그루의 나무를 아꼈습니다.

Leanpub에서 글 쓰는 법 더 보기

무료 업데이트. DRM(디지털 저작권 관리)는 없습니다.

당신이 Leanpub의 책을 산다면, 작가가 책을 업데이트 하는 한 책에 대한 무료 업데이트를 받을 수 있습니다! 많은 작가들은 Leanpub을 작성 중인 책을 출판하기 위해 이용합니다. 모든 독자들은 책을 언제 구매하건, 얼마나 지불하였건(무료 구매도 포합됩니다) 관계없이 무료 업데이트를 받습니다.

대부분의 Leanpub에 있는 책들은 PDF(컴퓨터용), EPUB(핸드폰과 태블릿용) 그리고 MOBI(킨들용)으로 제공됩니다. 책이 지원하는 포맷은 이 페이지 우측 상단에서 확인 할 수 있습니다.

Leanpub의 책은 DRM 사본 보호 장치를 드디어 없앴습니다, 그래서 지원가능한 어떤 기기로든 쉽게 구매하신 책들을 읽을 수 있습니다.

Leanpub의 ebook 포맷과 어디서 읽을 수 있는지 더 보기

Leanpub에서 글 쓰고 출판하기

당신은 Leanpub을 이용해 쉽게 글을 쓰고 출판할 수 있고 책과 코스가 작성중이든 완성 되었든 판매할 수 있습니다! Leanpub은 진지한 작가들을 위해 쉽고 우아한 글쓰기와 출판 과정을 작성중인 전자책들에 집중하여 판매 하는 온라인 쇼핑몰과 결합한 강력한 플랫폼 입니다. Leanpub은 작가들에게 마법같은 타자기와도 같습니다. 단지 단순한 텍스트를 쓰고, 출판하기 위해 그냥 버튼만 누르세요. 그만큼이나 쉽다구요.

Leanpub에서 글 쓰는 법 더 보기