다루게 된 배경

위플래닛에서는 기본적으로 NodeJS를 이용해 백엔드를 개발합니다. 가장 큰 이유는 ‘모든 개발자가 다룰 수 있는 ‘ 공통의 기술을 정하기 위함이었고, 이는 1) 개발 생산성이 좋고, 2) 배우기 쉬우며, 3) 협업이 가능해야 한다고 생각했습니다. 물론 NodeJS만을 사용했던 것은 아닙니다. 두 번째 백엔드 언어로 PHP를 꾸준히 사용해왔고, 최근까지 일부 프로젝트는 CodeIgniter로 개발되었습니다. 하지만 여전히 ‘남이 짠’ PHP 코드를 수정하는건 쉽지 않다는 것이 내부 결론이었습니다.

 

하지만 최근에 PHP 라라벨을 이용한 프로젝트를 진행하게되었고, @steven이 이를 담당하면서 라라벨을 새로 접하게 되었습니다. 이 연재는 라라벨을 새롭게 접하면서 알게된 내용을 맥OS 사용자의  관점으로 정리합니다. 내부 팀 공유를 기본 목적으로 하고 작성하였으나, 누군가에게 도움이 될 것이라는 기대감에 공개합니다.

 

다루게 될 내용

  • 라라벨 특징

  • Mac에서의 PHP 설치

  • Homestead 설치 (On Mac)

  • Homestead 설치 (On Window)

  • Composer 설치

  • Valet 설치

  • 개발 생산성을 위한 세팅

  • 라라벨 프레임워크 구조

  • 라라벨 프레임워크 Routing 세팅

  • 라라벨 프레임워크 템플릿 – 블레이드 템플릿

  • DB Connection 세팅

  • DB ORM – 엘리쿼트 ORM

  • 라라벨 프레임워크 모델

  • 라라벨 프레임워크 Component

  • Envoy 배포

  • 실무 – 기본세팅

  • 실무 – 사용자 로그인

  • 실무 – 소셜 로그인

  • 실무 – 다국어 지원

  • 실무 – API 기획 및 서비스 구축

  • 실무 – JWT를 이용한 인증

  • 실무 – 리소스 id 난독화

  • 실무 – AWS EC2 세팅

  • 실무 – Envoy를 이용한 배포

 

라라벨은 PHP로 짜여진 MVC 아키텍처를 지원하는 웹 프레임워크입니다. Ruby 언어에 레일즈, 파이썬 언어에 장고와 대칭되는 존재라고 볼 수 있습니다. SitePoint 의 2015년 설문조사에 따르면, 라라벨은 (해외에서) 현재 가장 인기 있는 PHP 프레임워크로 알려져 있습니다. 국산 CMS 중 사용자/사이트 수 측면에서 1위 CMS인 XE에서도 차기 버전인 XE3는 라라벨로 전환한다고 발표한 바 있습니다. 장기적으로 개발할 목적이라면 윈도우는 프롬프트를 사용으로 인해 생산성이 떨어질 수 있기 때문에, 리눅스 또는 Mac으로 대체하기를 권장합니다.

 

특징

  • 단순하고 (== 쉽고) 우아한 문법

  • 복잡한 것들은 프레임워크 안에서 처리

  • 강력한 확장 기능들

  • PSR(PHP Standards Recommendations) 적용

  • 모던 개발 방법론 적용

  • RAD RAD RAD (Rapid Application Development)

 

라라벨의 철학

  • 개발 생선성 : 라라벨은 다른 php 프레임웍에 비해 ‘무겁다’, ‘느리다’라는 편견이 일반적이다. 하지만 라라벨의 철학은 개발 생산성입니다. (작은 규모에서는 현명한 선택을 할 필요가 있습니다.)

 

내장 기능

  • 웹 서비스를 위해 필요한 Cache, Queue, Mail 등

  • Service Container 를 이용한 의존성 자동 주입

  • Cron 자동

  • Elixir를 이용한 CSS/Sass/Less, JS/Coffee 등 프론트 엔드 워크 플로우 자동화

 

확장 기능

  • Homestead/Valet 로 개발 환경을 표준화 할 수 있다.

  • Socialite로 소셜 인증을 쉽게 할 수 있다.

  • Cashier로 결제 기능을 쉽게 할 수 있다.

  • Envoy로 SSH 원격 작업을 자동화 할 수 있다.

 

확장 서비스

  • Forge를 이용하여 서버 프로비저닝/서버 관리/코드 배포등을 자동화 할수 있다.

  • Envoyer를 이용하여 무중단 코드 배포가 가능하다.

 

커뮤니티

  • 라라벨 뉴스 – 프레임웍 코어 멤버 중의 한명인 Eric Barnes 가 운영하는 뉴스 블로그. 라라벨 개발자라면 꼭 가입하라.

  • 라라 캐스트 – 역시 코어 멤버 중의 한명인 Jeffrey Way가 운영하는 동영상 강의 서비스. 매주 2~3개의 강의가 올라오며, 기존에 작성된 거의 400편에 가까운 동영상 강의를 볼 수 있다.

  • LARAVEL.IO – 라라 캐스트 전에 가장 활발한 활동을 하던 포럼이다.

  • Codecourse – phpacademy 란 채널이 최근에 이름을 바뀌었다. 무료 동영상 강의를 제공하고 있다.

 

메뉴얼

앞으로 진행 될 설치 및 기능 구현을 위해 다음과 같이 개발 환경을 맞추도록 하겠습니다.

 

 

 

 

PHP 라라벨 5 On Mac 포스팅

[PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들

[PHP 라라벨 5 On Mac] 2 : Composer, Valet, Framework

[PHP 라라벨 5 On Mac] 3 : Framework

[PHP 라라벨 5 On Mac] 4 : Routing

[PHP 라라벨 5 On Mac] 5 : 블레이드 템플릿 1 (View)

[PHP 라라벨 5 On Mac] 6 : 블레이드 템플릿 2 (View)

[PHP 라라벨 5 On Mac] 7 : 블레이드 템플릿 3 (View)

[PHP 라라벨 5 On Mac] 8 : 마이그레이션 (Create Table)

[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)

[PHP 라라벨 5 On Mac] 10 : 마이그레이션 (적용)

[PHP 라라벨 5 On Mac] 11 : 마이그레이션 (컬럼 수정)

[PHP 라라벨 5 On Mac] 12 : Laravel Tinker Shell

[PHP 라라벨 5 On Mac] 13 : Laravel Tinker Shell (쿼리 빌더)

[PHP 라라벨 5 On Mac] 14 : 엘로퀀트 ORM 1

[PHP 라라벨 5 On Mac] 15 : 엘로퀀트 ORM 2

[PHP 라라벨 5 On Mac] 16 : 엘로퀀트 ORM 3

[PHP 라라벨 5 On Mac] 17 : Controller I

[PHP 라라벨 5 On Mac] 18 : Controller II

9 replies

Trackbacks & Pingbacks

  1. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  2. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  3. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  4. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  5. […] HP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  6. […] HP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  7. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  8. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

  9. […] [PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들 […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *