프로그래밍의 큰 패러다임 중에 하나인 이벤트 프로그래밍을 라라벨에서 어떻게 사용하는 지 설명한다. 이벤트는 기본적으로 상태의 변화를 의미한다. 서비스에 상태가 변경되었을 때(예: 새 글 작성), 이벤트를 던...
라라벨 5 입문 및 실전 on 16-01-21
사용자는 개발자가 아니다. 개발자가 원하는 대로 데이터를 입력한다는 보장은 없다. 어쩌면 해커일 수도 있다. 잘못된 데이터로 부터 서비스를 보호하는 방법이 필요하고, 서비스(데이터)에 변경이 발생하는 사용자...
라라벨은 에러가 없다. 무조건 예외다. 애플리케이션 및 프레임워크에서 예외가 발생했을 때, 감지하고, 깔끔하게 소비하는 방법을 실습한다.
모던 PHP의 핵심이다. 컴포저는 PHP의 표준 의존성 관리자다. 외부 컴포넌트를 가져와 문제점을 빠르게 해결하고, 서비스의 기능을 개선하기 위해 컴포저를 사용한다. 그리고 PSR-4 네임스페이스와 오토로딩 기능을...
컴포저 컴포넌트를 이용해서 마크다운 문법으로 작성한 문서를 HTML로 출력하기 위한 실전 프로젝트다. 파일 시스템에서 마크다운을 읽어 들이는 모델을 개발한다.
마크다운 처리 로직을 별도 클래스로 분리한다.
마크다운 파일은 거의 변하지 않는다. 사용자가 매번 요청할 때마다, 파일 시스템을 읽고, 마크다운을 HTML로 컴파일하는 것은 별로 똑똑하지 않다. HTML로 컴파일된 결과를 어디에 저장해 놓고, 일정 시간 내에 들...
지금까지 만든 마크다운 뷰어를 웹 브라우저에서 더 예쁘고, 읽기 편하도록 표현하기 위해 꾸미는 작업을 한다. 프런트엔드 리소스를 편리하게 빌드할 수 있는 라라벨의 엘릭서 기능을 이용한다.
마크다운에는 이미지가 포함되어 있다. 웹 서버의 document root 밖에 위치한 이미지 파일을 읽어서 HTTP 응답으로 반환하는 방법을 살펴본다. 또 Etag HTTP 헤더를 이용해서, 서버의 부하를 낮추고, 네트워크 트래...
스택오버플로와 같은 포럼을 만드는 두번째 실전 프로젝트다. 스택오버플로를 벤치마크해서 어떤 기능을 포함할지 열거해 본다.