목록분류 전체보기 (55)
구어체로 설명하는 다이어리

이번에도 늘 그랬듯이 타이핑하면서 책을 읽으려 한다. 이 책을 추천해 주신 분께서 책을 읽고 나면 업무를 함에서도, 평소에 말하는 것에서도 많은 변화를 느끼게 될 것이라 하여 조금의 기대를 하고 독서에 임하려 한다. 이번에도 아마 완독하게 되면 자동으로 비공개 처리할 예정이다. 함께 읽으실 분은 차근히 따라와 주길 바란다.

URL 설계 URL에서 명사는 좋고, 동사는 나쁘다REST의 데이터 지향 모델의 결과로, 모든 URL은 어떤 '대상'을 식별합니다. 즉, API 클라이언트 프로그래머가 읽고 쓸 수 있도록 설계된 URL과 쿼리 URL은 사물(대상)을 나타내는 자연어의 품사인 '명사'로 구성되어야 한다는 의미입니다. 잘 알려진 URL위의 예에서, 알려진 개들의 컬렉션에 대한 URL은 https://dogtracker.com/dogs입니다. API에서는 최소한 하나 이상의 잘 알려진 URL을 게시해야 하며, 그렇지 않으면 클라이언트가 시작할 수 없습니다. 우리는 아마도 https://dogtracker.com/owners 같은 URL을 통해 알려진 소유자에 대한 또 다른 URL을 제공할 수도 있습니다.이론적으로는 http..

표현 설계 많은 API 설계 논의는 URL 설계에 대한 광범위한 논의로 시작됩니다. 하지만 REST와 같은 데이터 지향 모델에서는 표현 설계부터 시작하는 것이 더 낫다고 생각합니다. URL 설계는 "URL 설계" 섹션에서 다룹니다. 표현(Representation)은 클라이언트가 서버에서 웹 자원을 가져오거나 클라이언트에서 서버로 보낼 때 반환되는 데이터에 대한 기술적인 용어입니다. REST 모델에서는 웹 자원이 내부 상태를 가지고 있으며, 이 상태는 직접 볼 수 없고 클라이언트와 서버 간에 주고받는 것은 그 상태의 표현입니다. 사용자는 자원의 표현을 미디어 타입(media types)이라고 불리는 다양한 형식으로 볼 수 있습니다. 원칙적으로, 특정 자원의 모든 미디어 타입은 동일한 정보를 단지 다른 ..

데이터 지향 설계 패러다임 REST API는 엔티티를 조작하는 함수 집합보다는, 노출하려는 문제 도메인의 기본 엔티티에 중점을 둡니다. 머리말에서 소개한 예를 따르면, 우리 문제 도메인은 개와 그 주인을 추적하는 것이라고 가정해봅시다. 여기서 우리가 노출할 주요 엔티티는 다음을 포함할 수 있습니다:• 알려진 개들의 컬렉션. 이 컬렉션의 URL은 https://dogtracker.com/dogs 일 수 있습니다.• 개별 개들. 각 개는 고유한 URL을 갖습니다. 각 개의 URL 형식은 곧 논의할 것입니다. 우리는 주인에 대해서도 이와 유사한 무언가가 필요합니다.데이터 지향 접근 방식이 왜 유용할까요?개별 개의 URL과 HTTP 프로토콜의 작동 방식을 알고 있다면, 이미 여러 가지 작업을 어떻게 수행할지 알..

리팩터링 자동화 리팩터링과 관련하여 지난 수십 년 사이에 일어난 가장 큰 변화는 자동 리팩터링을 지원하는 도구가 등장한 것이다. 예를 들어 〈인텔리제이 IDEA〉나 〈이클립스〉에서 자바로 프로그래밍할 때는 메서드 이름을 바꾸는 작업을 메뉴에서 원하는 항목을 클릭하는 것만으로 처리할 수 있다. 실제 리팩터링은 나 대신 개발 도구가 처리해주며, 따로 테스트할 필요가 없을 정도로 안정적이다. 자동 리팩터링 기능은 존 브랜트와 돈 로버츠가 개발한 스몰토크용 〈리팩터링 브라우저〉에서 최초로 등장했다. 이 아이디어는 2000년대 초반에 자바 커뮤니티에 급속도로 퍼졌다. 젯브레인즈JetBrains에서 〈인텔리제이 IDEA〉를 출시할 때 내세운 대표 기능 중 하나가 바로 자동 리팩터링이었다. IBM도 뒤따라 〈비주얼..

웹 API와 REST API 설계자의 역할API의 역할은 애플리케이션 개발자가 최대한 성공할 수 있도록 돕는 것입니다. API를 설계할 때는 애플리케이션 개발자의 관점에서 디자인 선택을 고민해야 합니다.왜일까요? 아래의 가치 사슬을 살펴보세요. 애플리케이션 개발자는 전체 API 전략의 핵심입니다. API를 설계할 때 가장 중요한 설계 원칙은 애플리케이션 개발자의 생산성과 성공을 극대화하는 것입니다. 올바르게 설계하는 것은 중요합니다. 왜냐하면 설계는 어떻게 사용될 것인지를 전달하기 때문입니다. 그러면 질문은 이렇게 바뀝니다—애플리케이션 개발자에게 최적의 이익을 주는 설계는 무엇일까요? 웹 API란 무엇인가?웹 API는 사람이 사용하는 웹 브라우저가 아닌 임의의 컴퓨터 프로그램에 의해 접근되는 웹사이트..

소개 웹 API는 정의상 HTTP를 사용합니다. 웹 API 초기에는, 사람들이 HTTP 위에서 CORBA나 DCOM 같은 이전 세대 분산 기술의 기능을 구현하려고 많은 시간과 노력을 들였습니다. 그 결과 SOAP와 WSDL 같은 기술이 등장했습니다. 경험상 이러한 기술들은 대부분의 웹 API에는 너무 복잡하고 무겁고 취약하다는 것이 드러났습니다. SOAP와 WSDL을 대체한 아이디어는 HTTP 위에 복잡한 기술을 추가하지 않고, HTTP를 더 직접적으로 사용할 수 있다는 것이었습니다. 대부분의 현대 웹 API는 SOAP나 WSDL API보다 훨씬 단순하지만, HTTP 위에 가볍게 구현된 원격 프로시저 호출의 기본 아이디어를 어느정도 유지하고 있습니다. 이러한 API들은 RESTful API라고 불리게 ..

서문 웹 API 설계의 최첨단은 웹 API가 비즈니스와 기술에서 점점 더 중요해짐에 따라 지속적으로 발전하고 있습니다.API 관리 분야의 리더인 Apigee는 수백 명의 고객과 협력하여 다수의 API를 개발하고 관리해왔습니다. 우리의 경험과 고객, 그리고 전체 산업의 경험을 되돌아보며, 어떤 API 설계 혁신이 실제로 혜택을 가져오고 주목할 만한 트렌드로 자리 잡고 있는지에 대한 통찰을 얻을 수 있었습니다.이 책은 지난 몇 년 동안 등장한 API 설계의 중요한 트렌드를 담아내기 위한 시도입니다. 이 책은 명확하고 간단하게 설명하려고 노력했지만, API 설계에 대한 초급자용 가이드로 작성된 것은 아닙니다. 초보자를 위한 자료를 찾고 계신다면, Apigee에서 이전에 출간한 책들이나 이 주제에 관한 많은 ..

목차 서문 (Foreword)소개 (Introduction)웹 API와 REST (Web APIs and REST)API 설계자의 역할 (The Job of the API Designer)웹 API란 무엇인가? (What is a web API?)REST란 무엇인가? (What is REST?)HTTP와 REST: 데이터 지향 설계 패러다임 (HTTP and REST: A Data-oriented Design Paradigm)데이터 지향 접근이 유용한 이유는? (Why is a data-oriented approach useful?)API 설계 요소 (API Design Elements)표현 설계 (Designing Representations)JSON 사용 (Use JSON)JSON을 간단하게 유지 ..

나는 원래 타이핑하거나 필사하면서 책을 읽는 편이다. 그렇지 않으면 집중력이 휘발되기 때문이다. 찾아보니 블로그에 내용을 기록하며 읽는 사람들이 많은 듯 한데, 저작권 문제가 걱정되는 데다가 나는 블로그 포스팅을 스터디 사기 진작 용도로만 사용하고 있으므로 기한이 지나면 조금씩 비공개하며 진행할 예정이다. 현재로써는 일주일에 포스팅 하나 이상 올리는 것이 목표이므로 가능하면 열심히 해보도록 하겠다. 1장을 살짝 읽어봤는데 코드 위주로 진행하고 있고, 뒤쪽에 나오는 리팩터링 기법을 미리 사용하는 것 같아서 2장부터 읽어볼 것이다. 만약 저와 같이 달려줄 분이 계시다면 지금부터 함께합시다. 시작합니다.