[Laravel 기본] 12. Request & Response

라라벨 홈페이지가 이쁘게 업데이트 되었습니다. 2D Logo 에서 3D Logo 로 업데이트 되었는데 개인적으로 너무 마음에 듭니다. 다만 홈페이지 리뉴얼도 좋은데 라라벨 Eloquent ORM 도 세심하게 업데이트해주면 좋겠습니다. 이번 포스팅은 Laravel 에서 Request 와 Response 사용법에 대해 다룰려고 합니다. 라라벨에서는 이 둘 객체에 다양한 기능을 제공하여 사용자에게 편의성을 제공합니다. Request…

더보기

[Laravel 기본] 11. Controller

Laravel Controller Laravel Controller 의 역할은 라우트로 들어온 Closure의 로직을 처리하는 역할을 합니다. 연관된 요청 처리 로직별로 묶어서 하나의 Single Controller Class로 만들어 사용합니다. Laravel 의 Controller 들은 app/Http/Controllers 디렉토리 아래 정의되어 있습니다. 여기서 생각해볼만한 점은 내 라라벨 어플리케이션은 비즈니스 로직을 어디에 두고 사용할 것인가? 입니다. Controller, Model 에 비즈니스…

더보기

[Laravel 기본] 10. CSRF Protection

CSRF 는 Cross Site Request Forgery 의 약자로 크로스 사이트 요청 위조라고 불립니다. 악의적으로 사이트를 요청을 위조해서 서버에 위해를 가하는 웹 사이트 공격 방법입니다. OWASP 에서 선정한 웹 어플리케이션 보안 취약점 10가지 중 하나이다.

더보기

[Laravel 기본] 9. Middleware

어플리케이션 내부에서도 같은 의미로 middleware가 사용됩니다. 어플리케이션은 요청에 알맞은 처리를 진행한 후 응답을 하는 일을 합니다. 미들웨어는 이 요청과 응답 사이에 존재하여 특정한 기능을 수행합니다. 요청을 통과시켜 응답을 얻는다라는 개념도 틀린 말이 아닙니다. ( 스프링에서 AOP, Filter, intercept 개념과 비슷하다고 보시면 됩니다. )

더보기

[Laravel 기본] 8. Routing

웹 어플리케이션 내에서 Routing은 요청 URL 를 분석해 알맞은 처리 경로를 안내해 주는 역할을 합니다. 라라벨 어플리케이션에서는 어떻게 동작할까요?? Http Kernel 으로 들어온 요청을 분석하여 미들웨어를 통과시킨 후 route 에 도착하여 해당 작업을 하게 됩니다.

더보기

[Laravel 기초] 7. Contracts

Contract는 라라벨에서 제공하는 Core Service 들을 인터페이스 집합입니다. Contract 는 특별한 개념, 기술 같은 것이 아닙니다. Contract = Interface (라라벨 핵심 서비스) 입니다. ( <= 오늘 포스팅 내용 끝입니다.) 인터페이스를 정의 해놓고 라라벨 프레임워크를 사용하는데 있어 가이드라인, 청사진을 제시합니다.

더보기

[Laravel 기초] 6. Laravel Facade

Laravel Facade 는 라라벨 서비스 컨테이너에서 사용 가능한 클래스들에 대한 ‘정적인 인터페이스’를 제공하는 역할을 합니다. 서비스 컨테이너에 등록된 클래스들의 ‘정적 프록시’ 역할을 합니다. 뉴비 개발자에게 이 두 문장으로 파사드를 이해하기엔 부족한 느낌이 있었습니다. 제가 파사드를 이해한 흐름으로 설명하고자 합니다. 익숙한 단어들 위주로 공부해 보았습니다.

더보기

[Laravel 기초] 5. Service Provider

Service Provider 는 라라벨 어플리케이션 ‘Bootstrap’ 의 핵심 요소라고 합니다. 또한, 라라벨 어플리케이션의 코어 서비스들을 대부분 Service Provider 를 통해 제공된다고 합니다. 여기서 ‘Bootstrap’ 은 단순히 어플리케이션 시작, 흔히 말하는 부팅입니다. 위의 그림처럼 서비스 프로바이더들은 모두 서비스 컨테이너에 적재되어 있습니다. 라라벨 어플리케이션은 요청이 들어오는 경우 등록되어 있는 모든 서비스 프로바이더를 로드하는 것이 아니라 요청에 맞는 서비스 프로바이더만을 로드 하는 ‘지연된’ 프로바이더들을 제공합니다.

더보기