본문 바로가기
review/DEV

책 리뷰 : 라라벨 실전 웹 어플리케이션 개발

by ㅇㄱㅈㄱ 2024. 3. 28.
728x90
반응형

[제이펍에서 제공 받은 '제이펍 전문서 리뷰어' 도서 리뷰 입니다]


10년전, 대학에 입학했을 당시에만 해도

Java, Spring 보단 c계열과 php가 유명했고,

웹 언어로는 php를 가장 먼저 배웠었다.

 

하지만 군대를 다녀오고 나서 무슨일이 있었는진 몰라도

Spring이 대세가 되어있었고 점유율은 높았지만

지는 태양인 php는 점점 java에 밀려 저 구석탱이로 밀려났다.

 

대세를 따라 Java 백엔드 개발자로 첫번째 진로를 정하면서

Spring을 배우게 되었고, 배우면 배울수록 아리송한

프레임워크와 관련해 디자인 패턴 같은 방식(형식?)에 관심이 가던 찰나,

php에도 프레임워크가 있다는걸 알게되었다.

 

php는 여러가지 이유로 배우다가 포기한 언어였는데,

최근 CI를 접할 기회가 생겨서 몇번 만져보다가

생각보다 디자인 패턴이 어려워서 잘 안보게 되었는데,

'php에서 가장 유명한 라라벨은 어떨까?'

라는 궁금증에 좋은 기회를 얻어 리뷰를 하게 되었다.

 

오늘 리뷰할 서적은 바로!

라라벨 실전 웹 애플리케이션 개발

 

 

  • 서적 요약 및 정리

1. 베타리더들의 후기를 보면 '입문서는 아니다'라는 의견이 많음, 읽어 본 바로는 입문서보단 php에 어느정도 익숙하고 리눅스나 도커 등을 어느정도 사용할 줄 아는 프로그래머가 읽으면 좋을거라 생각됨.

 

2. 내용이 3개의 파트로 구성되어 있으며, 기초(환경 설정 및 전체적인 설명), 기능활용(직접 따라 해보기), 개발(개발 방법론, 여기선 TDD) 으로 나뉨.

 

3. (2021년 4월 집필) 라라벨 8.x 버전 대응, PHP 7.3, 심포니 컴포넌트 5버전 사용.

 

4. 도커 설치와 리눅스 WSL 활용법과 필요할 경우 윈도우와 맥을 분리해서 설치방법 설명

5. PART1에서는 환경설정과 라라벨에 대한 전체적인 설명으로 진행, 프레임워크를 사용할 때 가장 중요한 흐름도와 디자인 패턴에 대해 설명, MVC 또는 ADR 패턴을 가장 많이 쓰기 때문에 두가지의 동작 방식을 설명.

6. PART2에서는 화면을 이동할 때, 기능적인 구현을 할 때, DB 활용 등 프레임워크의 기능 사용 방법에 대해 설명하고 직접 따라하며 구현해볼 수 있음, 이벤트와 테스트, 에러 핸들링 등 꼭 프레임워크에서만 필요한것이 아닌 실무에 필요한 내용도 포함.

7. spring에 security가 있는것처럼 라라벨에서도 인증관련 기능을 포함하고 있음.

여기에 한창 핫했던(핫 한?) JWT와 OAuth 인증에 대해서도 설명!

8. 마지막 PART3에선 TDD 개발 방법론을 활용한 개발에 대해 설명, 라라벨에 국한되지 않고 개발 자체에 필요한 내용이니 앞부분을 읽어보지 않았더라도 가볍게 읽어보면 도움이 될만함.

 

  • 여담

1. 도커, 리눅스를 잘 모르는 초심자에게 발생했다면 진행 의욕을 확 떨어뜨릴듯... (그 초심자가 바로 나야... 바 둠바 두비두바... 도커 너무 어렵다...)

2. laravel sail을 활용, 사용자가 직접 따라해볼 수 있게 진행 하는데 문제는 위에서 말한것처럼 도커와 리눅스를 등 php 외의 필요한 툴이나 기술들을 잘 모르거나 활용하지 못한다면 에러가 발생했을 때 진행이 안됨

sail 다운로드가 처음에 제대로 되지 않음... 근데도 10분이 걸리다니..?
다시 받는데 30분 넘는거 맞나요..?
다 된줄 알았더니 에러가 발생해서 3번 재설치 후 PASS
이번엔 포트를 사용중이라면서 실행이 안됨

3. 도커를 사용한 진행이 되질 않아 도커 없이 기본적인 구성만 따라해보고 책을 쭉 훑어보았는데 평소 관심이 많이가던 에러 핸들링, 테스트와 같은 내용이 가장 눈에 띄었고 해당 내용은 웹 개발자라면 대부분 익숙한 내용들이 많이 나오기 때문에 코드 구현부보단 '어떤식으로 구성할 것인지'에 대해 집중적으로 보게 됨

 

4. 다른 내용도 좋았지만 마지막 PART에서 TDD에 대해 설명하는 부분은 정말 좋은 내용이라고 생각됨.

주변에서 'TDD, TDD' 하길래 '한번 해볼까?' 라는 생각으로 어떻게 하는건지 찾다가 무슨말인지, 어떻게 시작해야 하는지 알 수가 없어서 해매었고 아직도 잘 모르겠음, 하지만 이 장에서는 php, 라라벨을 떠나서 TDD란 무엇인지, 어떤식으로 진행하는지를 직접 보여주기 때문에 '다른 언어를 사용하더라도 참고할 수 있지 않을까?' 하는 생각이 듦.

 

5. 전체적인 구성이 매우 훌륭하다고 생각됨, spring을 배울때도 그랬지만 프레임워크의 전부를 알 수 없듯이 핵심 내용들(많이 쓰이는 내용들)로 각 장을 구성했고, 사용자가 처음부터 끝까지 따라하면서 배울 수 있도록 구성되어 있는점 때문, 하지만 위에서 말했듯이 '프레임워크를 배우러 왔는데 다른걸 또 배워야하네?' 같은 상황이 발생한다면 좋은 구성도 말짱 도무룩이 아닐까 싶음.

728x90
반응형

댓글