Skip to content

appkr/l5essential

Repository files navigation

라라벨 (Laravel) 5 입문 및 실전 강좌

Build Status

라라벨은 PHP 언어로 개발된 풀스택 MVC 웹 어플리케이션 프레임웍이다.

종이책 출간 안내

http://blog.appkr.dev/work-n-play/laravel-paper-book-published/

이 강좌를 처음 시작하시는 분들께

2016년 4월 현재 laravel/framework 프로젝트에는 13,000개가 넘는 이슈와 거의 13,000개에 육박하는 커밋이 등록되어 있다. 곧 라라벨 탄생 5주기가 되는데, 5년 동안의 행적치고는 엄청나다. 라라벨이 살아 있다는 증거다. 이 강좌는 1월 말에 다썼다. 불과 3달 남짓 동안 또 엄청난 변화가 있었다. 이 강좌를 읽기 전에, #10 를 꼭 읽고 시작하시기 바란다. 이 강좌에서 수정 적용할 부분을 기록해 두었다.

라이브 데모 사이트

클라우드 비용이 꽤 나와서 라이브 데모 사이트는 폐지했다. 대신 강의 내용만 모아 댓글이 가능한 정적 사이트(http://l5.appkr.dev)로 오픈해 두었다.

목적

  1. 라라벨 입문을 돕는다.
  2. 실전 강좌를 통해 중급 이상의 개발자로 성장할 수 있도록 돕는다.
  3. 모던 개발 방법론과 베스트 프랙티스를 전파하여, 국내 PHP 개발자 생태계가 진화할 수 있도록 일조한다.

목표

  1. 8 시간 정도에 라라벨의 기본기를 모두 마스터하는 것을 목표로 한다. (1강 ~ 25강)
  2. 제시된 실전 프로젝트를 통해 중급 이상의 라라벨 개발자로 성장하도록 한다. (26강 ~ 계속 연재 중)

다루지 않는 것들

강좌를 진행하기 위해 사용하지만, 설명하지 않는 것들이다.

  1. PHP 문법
  2. 웹 프로그래밍 일반론
  3. 객체 지향 프로그래밍(OOP) 일반론
  4. 프론트엔드 프로그래밍 일반론

같이 배워 볼 주제들

[입문코스] 라라벨 프레임 입문

라라벨 입문자들이 꼭 알아야 하는 내용만 추렸다 (고 생각한다).

[중급코스] 실전 프로젝트

총 3개의 실전 프로젝트를 같이 만들어 본다.

1. Markdown Viewer

마크다운으로 작성된 이 강좌들을 HTML 뷰로 나이스하게 보여주는 기능을 구현해 본다. 이를 통해 Filesystem, Custom Helper, Cache, Elixir 등의 라라벨 기능을 살펴볼 예정이다.

2. Forum

StackOverflow 처럼 댓글이 가능한 포럼을 구현해 본다. 이를 통해 HTTP Request & Response 에 대한 이해를 높인다. 뿐만 아니라, 라라벨을 이용한 CRUD, Event, File/Image Upload, 인증과 권한부여 등에 대해 배워볼 예정이다.

3. RESTful API

Forum 에서 생성된 게시글/댓글을 JSON API 로 외부에 노출하여, 외부 앱들이 Forum 서비스와 상호 작용할 수 있도록 해 본다. 실험을 위해 프론트엔드 프레임웍을 이용한 간단한 모바일 앱도 만들어 볼 것이다.

번외. 기타 알면 좋은 내용들

이 강좌를 보는 방법

강좌들은 Markdown 문법으로 작성되어 있으므로 Github에서 보는 것이 좋다. 이미 PHP 언어와 라라벨을 좀 아는 분이라면, 강좌를 눈으로 읽고 머리로 이해하는 것도 도움이 된다. 강좌의 내용과 더불어, Github Commit 로그 를 이용해서 이전 강좌 대비 달라진 부분들을 보는 것도 좋은 방법이다.

그런데 필자는 이미 만들어진 소스코드를 눈으로 읽는 것 보다, 한 문장, 한 단락씩 따라하면서 실제 실습해 볼 것을 적극 권장한다. 강좌의 단계별 소스코드는 Git Tag 로 저장되어 있다. 먼저 이 프로젝트를 클론하고, 원하는 강좌로 체크아웃하자.

$ git clone git@github.com:appkr/l5essential.git myProject
$ cd myProject
$ composer install # composer가 설치되어 있지 않다면 2강을 참조해서 설치하자.
$ git checkout 03(tab & enter)

참고 학생들과 만나보면, 콘솔을 쓸 줄 모르는 분들이 많다. 문서에 나온 코드 블럭 중에서 $ (윈도우즈의 경우 \>) 로 시작하는 명령들은 콘솔에서 실행하라는 의미이다. 가령, $ ls -al 이라 써 있으면, 콘솔에서 ls -al (enter) 를 하라는 의미이다. 콘솔 명령 블럭에서 # ... 은 주석이다.

Contributors / Sponsors

기여 가이드 를 따라 주세요.

"모두 모두 감사합니다."

라이센스

  • 강좌에 사용된 코드는 MIT 라이센스를 따른다.
  • 강좌 자체는 CC BY-NC 라이센스를 따른다.