이전

리뷰 (2)

한줄평
평점 분포
  • 리뷰 총점10 50%
  • 리뷰 총점8 50%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 10.0
  • 40대 0.0
  • 50대 8.0
리뷰 총점 종이책
간만에 나온 알찬 PHP 도서입니다.
"간만에 나온 알찬 PHP 도서입니다." 내용보기
기존 책 소개 글: http://qnrdlqkrwhdgns.canxan.com/prob/post/238책 정보Modern PHP : 네임스페이스, 트레이트, 클로저부터 모범 사례와 최신 도구까지조시 록하트 저/정병열 역, 312쪽한빛미디어책 소개"PHP에 대한 기본적인 이해가 있으며 자신의 기량을 강화하고 싶은 모든 개발자를 위한 책이다."국내 PHP 서적은 굉장히 많습니다. 사실 나올 책들은 다 나왔죠. 그렇지만 기존 PHP
"간만에 나온 알찬 PHP 도서입니다." 내용보기

기존 책 소개 글: http://qnrdlqkrwhdgns.canxan.com/prob/post/238

책 정보

Modern PHP : 네임스페이스, 트레이트, 클로저부터 모범 사례와 최신 도구까지

  • 조시 록하트 저/정병열 역, 312쪽
  • 한빛미디어


책 소개

"PHP에 대한 기본적인 이해가 있으며 자신의 기량을 강화하고 싶은 모든 개발자를 위한 책이다."

국내 PHP 서적은 굉장히 많습니다. 사실 나올 책들은 다 나왔죠. 그렇지만 기존 PHP 책들은 최근의 PHP 경향을 따라가지 못할 뿐더러 대부분 입문서에 그칩니다.
이 책은 PHP 중급자분들을 위한 책이고 최근의 PHP 개발 패러다임의 변화에 대해 다루고 있습니다. PHP 5.x 버전에서 새로 등장한 신기능들에 대해 다룹니다. 이 책은 입문서가 아니기에 문법을 다루지 않습니다. 근래에 PHP 중급 서적이 나오지 않아서 목말랐던 중에 참 단비같은 책입니다.

컴포저(Composer), PDO, 네임스페이스, 클로저, 제너레이터, PSR, 트레이트(Trait) 이들 중에 처음 들어보거나 듣긴 했지만 아직 감이 오지 않으시는 분 들께 강력 추천합니다!


평점

  • 추천독자: PHP 중급
  • 내용: ★★★★★
  • 편집: ★★★★★
  • 한마디: 모든 PHP 개발자가 읽었으면 좋겠습니다ㅎㅎㅎ


주요 내용

  • 네임스페이스, 트레이트, 제너레이터, 클로저 등의 모던 PHP 지식
  • 컴포저(Composer) 소개와 사용법, 컴포넌트 제작
  • 입력값 검증/필터링, PDO 데이터베이스, 스트림(Stream), 에러와 예외 등에 대한 모범 사례
  • 배포, 튜닝, 테스팅, 프로파일링(성능추적)에 필요한 도구와 기술
  • PHPUnit을 이용한 소스코드 검증
  • HVVM와 Hack 소개


책 총평

이 책을 고려하시는 분들께 도움이 되고자 책의 첫인상과 내용에 대한 총평을 먼저 말씀드리겠습니다.

첫인상

  • 책이 얇고 가벼워서 부담없습니다.
  • 오라일리 책 답게 읽기 좋게 잘 편집되어 있습니다. (저자의 글 솜씨인지 편집구성이 잘되서 인지 술술 잘 읽힙니다ㅎㅎ)


내용면 총평

  • 얇지만 내용은 결코 얇지 않습니다.
  • 예제가 핵심을 찌릅니다. (제너레이터 설명하는 몇줄 안되는 코드에 그 동안의 궁금증이 사라졌습니다ㅋㅋ)
  • (책 제목에 있듯이) 저자의 경험을 담은 '모범사례'가 있어서 적용 하는데 조언이 되었습니다.
  • 읽고나면 이 책의 내용을 자신의 코드에 적용해보고 싶은 '열정(?)'이 생깁니다.
  • HHVM과 Hack, 트레이트, 클로저에 대한 설명 등 최신 개발 지식들을 모두 담고 있습니다.
  • 책 후반부 '최신도구' 를 설명하는 부분은 자세히 다루지 않고 맛보기로 설명하고 넘어갑니다.


책 내용 중 인상깊은 말

"뒷 표지"

새로운 패더라임의 최신 PHP를 만나다
PHP는 르네상스를 맞이했다 ... 하지만 인터넷에는 아직도 낡은 PHP 튜토리얼이 넘쳐난다.
이 책은 'PHP The Right Way'의 창안자로 유명한 로시 록하트가 현대화된 PHP의 세련된 기능을 설명하고 올바른 개발 습관을 길러주는 모범 사례들을 담은 실용서다.


상세한 이 책의 리뷰

네임스페이스, 컴포저(Composer)에 대해 다룹니다

네임스페이스는 한 공간(전역)에 변수와 함수, 클래스들을 몰아넣는 것이 아니라 공간(name-space)을 나누어서 함수/클래스들이 충돌하지 않게 해줍니다. 여러 개발자가 함께 개발을 하는 경우 함수명도 같게 될수도 있고 여러 문제가 생길 수 있습니다.(함수명이나 클래스명이 같으면 함수/클래스가 이미 정의 되어있다고 에러가 뜨죠.) 이런 경우 네임스페이스를 사용하는 것이 답입니다.

컴포저는 다른 PHP 개발자들이 만들어놓은 컴포넌트(모듈)들을 사용하기 쉽고 또 컴포넌트들간의 의존성을 관리하는 도구입니다. 과거에는 개발을 할때 자체 제작 모듈을 사용하거나 아니면 다른 개발자가 공개한 소스코드를 사용했습니다. 그러나 이렇게 될 경우 사용한 각 모듈에 대해 관리가 필요합니다. 다른 개발자가 제작한 모듈을 업데이트 할 경우 문제가 발생할수 있죠. (업데이트 되면서 함수 등이 사라지거나 동작방식이 달라지면.. 오류가 생길 수 있습니다.) 또한 매번 개발자 사이트들을 접속하며 업데이트 여부 확인하는 것도 힘들고요.

Packgist 는 전세계 PHP 개발자들이 자신이 만든 모듈을 공개하고 관리하는 저장소입니다. 컴포저는 패키지스트에 공개된 컴포넌트(모듈)들을 내려받아 사용하기 쉽게 하며, 각 컴포넌트들의 버전의존성을 관리해주어서 각 모듈이 업데이트됨에 따라 버전이 달라서 문제가 생기는 경우를 방지합니다.

패키지스트와 컴포저 덕분에 공개된 컴포넌트를 사용함에 따라 개발기간을 단축하고 이미 만들어진 수레바퀴를 다시 만들 걱정을 줄여줍니다.

트레이트, 제너레이터 등 PHP 5.x 버전의 신기능을 담고있습니다.

트레이트는 여러 클래스의 공통적인 동작을 다루는 녀석입니다. 다중상속의 새로운 제안입니다. 물론 상속 개념은 아닙니다. "PHP에는 왜 다중상속이 없는거야! 똑같은 일을 하는 여러 클래스의 경우 코드들이 중복되잖아!" 하는 상황에서 트레이트가 답이 될 수 있습니다.

물론 추상클래스 등으로 똑같은 일을 하는 클래스들의 코드중복을 막을 수 있지만, 같은 상속 계층이 아닐 경우 추상 클래스는 올바르지 못한 방법입니다. (억지스럽긴 하지만...) 가령 Car 클래스에 run 메서드가 있고, Dog 클래스에도 run 메서드가 필요하고 코드 중복을 막아보겠다고 Dog가 Car 메서드를 상속 받는건 옳지 않죠... 이런 경우 Run 이라는 trait 을 만들고 Dog 클래스과 Car 클래스에 Run 특성을 적용하면 됩니다.

물론 동작은 Dog가 Car를 상속받는 거랑 똑같지만, 개념적으로 다릅니다.

또 다시 결론

PHP 개발자분들께 강력추천합니다 ㅎㅎㅎㅎ


q************s 2015.12.12. 신고 공감 0 댓글 0
리뷰 총점 종이책
Modern PHP
"Modern PHP" 내용보기
Modern PHP - 네임스페이스, 트레이트, 클로저부터 모범 사례와 최신 도구까지최근 출간되었던 C++ 관련 서적들이 생각나서 선택한 책이었습니다. C++과 PHP 라는 것이 직접적인 관련이 있는지는 잘 모르겠지만,Modern 이라는 제목이 붙어 있다는 점에서 제 눈길을 끌었고,과연 modern 이 붙은 php는 어떤 모습을 하고 있는지 살펴보기 위해 책을 읽어 나갔습니다. php를 이전에 많이 써
"Modern PHP" 내용보기


Modern PHP


 - 네임스페이스, 트레이트, 클로저부터 모범 사례와 최신 도구까지



최근 출간되었던 C++ 관련 서적들이 생각나서 선택한 책이었습니다. 


C++과 PHP 라는 것이 직접적인 관련이 있는지는 잘 모르겠지만,


Modern 이라는 제목이 붙어 있다는 점에서 제 눈길을 끌었고,


과연 modern 이 붙은 php는 어떤 모습을 하고 있는지 


살펴보기 위해 책을 읽어 나갔습니다. 



php를 이전에 많이 써본 것이 아니었고, 


실제 봤던것도 좀 오래된 터라, 대강의 분위기만 아는 상황에서


책을 읽게 되었습니다.



이 책의 내용은 부제가 가장 잘 표현하고 있다는 생각이 듭니다. 


전체 300쪽, 세부분으로 되어 있는 이 책은 


실제 2번째와 3번째 부분이 100쪽쯤 되고, 1번째 부분과 부록이 


나머지를 차지하고 있습니다. 


1부 언어기능 에서는 네임스페이스, 트레이트, 제네레이터, 클로저와 같은 


개념에 대한 설명과 예제코드를 보여주고 있습니다. 


2부 모범사례 에서는 예외처리나 비밀번호 처리등의 모범사례들의 모음을 보여주며


3부 배포, 테스팅, 튜닝에서는 프로파일링이나 HHVM, Hack 과 같은 이슈까지 


다루고 있습니다.  



1부에서 다뤘던 주제들은 확실히 다른 언어의 경험이 있는 경우라면 


좀 더 쉽게 접근할 수 있습니다. 자바나 C# 혹은 C++ 에 경험이 있다면


네임스페이스에 대한 내용은 쉽게 이해할 수 있으며, 


php에서 사용하는 형식적인 문제만을 확인하면 됩니다. 


그외 인터페이스나 클로저와 같은 부분들도, 이미 이와 비슷한 내용을 


알고 있는 경우라면, 어렵지 않게 이해하고 확인할 수 있습니다. 


다만, 같은 용어를 사용하더라도 php에서 사용하는 의미와 방식이 


무엇인지만 주의한다면 어렵지 않게 이해하고 사용할 수 있으리라


생각합니다. 



2부는 말그대로 일종의 케이스 스터디와 같은 방식 입니다. 


비밀번호나 날짜 PDO와 같은 데이터베이스 이슈등


항상 인터넷에서 copy & paste를 통해 사용해 왔던 방식을 


다시 한 번 살펴보게 만드는 내용으로 되어 있습니다. 



3부는 중요하지만 간과하기 쉬운 부분들이 들어 있습니다. 


하지만, 이 부분은 깊이 보다는 넓이에 치중했다는 생각이 듭니다.


아주 자세한 부분보다는 맛보기 식으로 보여주고, 


실제로 사용을 위해서는 개별적인 도구들에 대해 좀 더 많이 


알아봐야 할 것 같습니다. 



 이전에 php 에 대해서 가지고 있던 인식은 약간은 낡고 마치 구식의 


언어와 같은 느낌을 받고 있었습니다. 이는 php의 성능이나 


사용되는 영역이 좁다거나 그런 문제가 아니라 


예전부터 다양하게 많이 사용되어 왔기 때문에,


그리고, 변화하는 IT의 흐름에서 마치 새로나온 다른 


언어나 프레임워크와 같은 것들을 사용하지 않으면 


뒤떨어진다는 느낌이 들기도 하는 분위기도 없지 않아 


있었기 때문이 아닌가 싶습니다. 


하지만, 오래전부터 사용해 왔고, 그만큼 널리 쓰이고 있다는 것은


이것 나름대로의 장점을 가지고 있기 때문일텐데요. 



변화하는 세상속에서 php 또한 그런 변화를 따라가고 있으며,


또는 그런 변화에 적극적으로 대응하고 있다는 것을 알수 있는 


내용이 아니었나 생각합니다. 


 

php를 관성적으로 사용했던 초보분들이라면, 


php에 대한 생각을 바꾸고 자신의 시야를 좀 더 넓힐 수 있는


좋은 기회를 얻을 수 있으리라 생각합니다.




YES마니아 : 로얄 m*********u 2015.12.14. 신고 공감 0 댓글 0