Search result

45강 - 기본 구조 잡기

API는 별도의 URL 엔드포인트와 컨트롤러를 사용한다. 그럼에도 불구하고, 웹 브라우저에서 들어 오는 요청과 처리 로직이 달라질 것이 없으므로, 컨트롤러를 최대한 재활용하고 중복을 제거하는 구조를 같이 고민해...

46강 - JWT 를 이용한 인증

API 클라이언트는 웹 브라우저처럼 쿠키 메커니즘을 이용해 세션을 유지할 수 없다. 따라서 HTTP의 무상태 특성을 이용한 인증을 해야 한다. 매 요청마다 사용자 인증 정보를 전달해야 하므로 보안 이슈가 발생한다....

47강 - 중복 제거 리팩토링

필자가 개발한 컴포저 컴포넌트를 이용해서 중복을 한번 더 제거한다.

48강 - all() is bad

API에서는 데이터 자체가 사용자에게 제공하는 뷰다. 데이터는 의미를 담고 있어서, 읽기 편하고, 탐색하기 편해야 한다. 블레이드로 HTML 페이지를 꾸몄듯이, 트랜스포머로 API 응답을 포맷팅하는 방법을 배운다.

49강 - API Rate Limit

API는 일종의 공공재다. 한 명이 독점하면 공공재의 비극이 찾아온다. 사용량 제한은 공공재를 사용자들간에 공평하게 나누어 쓸 수 있도록 한다. 무차별 HTTP 요청을 하는 해커의 공격을 막을 수 있는 부서적인 효...

50강 - 리소스 id 난독화

자동 증가 ID는 여러 가지 문제가 있다. 어떤 문제인지는 본문에 자세히 설명하고 있다. ID를 난독화해서 연속성을 없애는 기능을 구현한다.

51강 - CORS

API 클라이언트 중에는 Ajax(XHR) 요청을 브라우저도 있을 수 있다. 브라우저에서는 동일 출처 보안 정책(CORS, Cross Origin Resource Sharing)이란 것이 있어, 서버로 부터 데이터를 받았더라도 브라우저가 데이터...

52강 - Caching

캐싱은 빠지지 않는 주제다. 왜냐하면 "돈"이기 때문이다. 서버의 컴퓨팅 자원, 네트워크 대역폭, 단말기의 컴퓨팅 자원 등등. API 데이터의 변경 여부에 따라, 캐싱을 제어하는 방법을 배운다.

53강 - Partial Response

부분 응답은 캐싱과 마찬가지로 역시 "돈"에 관련된 이슈다. API 클라이언트가 필요한 필드만 요청하도록 하는 것이다. 쓰지도 않을 데이터를 전부 요청하고 응답하는 것 보다, 꼭 필요한 필드만 골라서 주고 받는...

54강 - API Documents

API 문서에 관련된 이야기를 한다. 그리고, Apiary란 서비스를 이용해서 API 문서를 만드는 방법을 실습해 본다.