SlideShare a Scribd company logo
API를 준비하는 금성인을 위한 안내서
장동수 / 아임인LAB / 개발실 / KTH

                           1
눈에 보이는 API (1)




                 2
눈에 보이는 API (2)




                 3
눈에 보이는 API (3)
그러나...

그것은...

API 문서일 뿐...

눈에 보이는 것이...

API의 전부는 아니랍니다...
OTL


                    4
API란?
Application Programming Interface
Application Program
  a program that gives a computer instructions
  that provide the user with tools
  to accomplish a task
Interface: inter + face; 얼굴과 얼굴 사이?!
  a surface forming a common boundary
  between two things


                                                 5
장치와 장치 사이




            6
사람과 사람 사이




            7
사람과 프로그램 사이




              8
프로그램과 프로그램 사이
     (응용) 프로그램




        API

    (시스템) 프로그램




                 9
서비스와 서비스 사이
     (매시업) 서비스




      Open API

     (플랫폼) 서비스




                 10
화성인 용어 사전 (1)


라이브러리(Library)

툴킷(Toolkit)

프레임웍(Framework)




                  11
화성인 용어 사전 (2)

프로시져 호출(Procedure Call)

시스템 호출(System Call)

프로세스간 통신(IPC; Inter-process Communication)

로컬 프로시져 호출(LPC; Local Procedure Call)

원격 프로시져 호출(RPC; Remote Procedure Call)



                                             12
화성인 용어 사전 (3)
프로토콜(Protocol)
TCP/IP, Socket, HTTP
Open API, Cross-Domain
REST, JSON, JSONP
SOAP, XML
Authentication &
Authorization, OAuth


                         13
REST+JSON vs SOAP+XML
{
    "results" : [
       {
          "address_components" : [
             {
                "long_name" : "1600",
                "short_name" : "1600",
                "types" : [ "street_number" ]
             },
             {
                "long_name" : "Amphitheatre Pkwy",
                "short_name" : "Amphitheatre Pkwy",
                "types" : [ "route" ]
             },
             {
                "long_name" : "Mountain View",
                "short_name" : "Mountain View",
                "types" : [ "locality", "political" ]
             },
             {                                          14
REST+JSON vs SOAP+XML
<GeocodeResponse>
 <status>OK</status>
 <result>
  <type>street_address</type>
  <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 9404
  <address_component>
   <long_name>1600</long_name>
   <short_name>1600</short_name>
   <type>street_number</type>
  </address_component>
  <address_component>
   <long_name>Amphitheatre Pkwy</long_name>
   <short_name>Amphitheatre Pkwy</short_name>
   <type>route</type>
  </address_component>
  <address_component>
   <long_name>Mountain View</long_name>
   <short_name>Mountain View</short_name>
   <type>locality</type>
   <type>political</type>                                        15
크로스 도메인
  http://a.com                      http://b.com

 one        two                three         four


         Same Origin                Cross Domain
           AJAX                         AJAX


                 http://a.com/one

                   웹 브라우져
                                                    16
크로스 도메인
  http://a.com                    http://b.com

 one        two                 three        four


        Cross Domain                  Same Origin
            AJAX                        AJAX


                 http://b.com/three

                   웹 브라우져
                                                    17
OpenAPI 문서 보기(1)
이름(Name)

  HTTP 주소(URL, URI, ...) + 메소
  드(GET, POST, PUT, DELETE, ...)

요청(Request)

  인자, 파라메터, Parameters,
  Arguments, ...

응답(Response)

  반환값, 리턴값, 결과값, Result,
  Return, ...



                                   18
OpenAPI 문서 보기(2)




    이름    요청       응답
                        19
화성인에게 API란?
외부 시스템이 내부 시스템이
제공하는 기능을 사용하기 위
해 지켜야 하는 규약 & 문서

그리고, 실제로 요청을 받고
응답을 하는 시스템의 맨 바깥
계층 & 코드 덩어리

그리고, 계층을 통해 규약에
맞춰 요청을 보내고 응답을 받
기 위한 코드 덩어리


                   20
금성인에게 API란
더 큰/좋은/잘나가는/전문
적인 서비스에 묻어가기

경쟁자를 파트너로 만들기

경쟁자에게 밀리지 않기

서비스 플랫폼으로 자리잡
고 돈 벌기



                 21
Putting It All Together...
         아임IN
       안드로이드앱
                                                  써드파티
                            아임IN 서버               앱/매시업

        아임IN
아임IN    Private                                  리뷰
iOS앱   OpenAPI
                                       아임IN
                                      OpenAPI 장소 찾기 아리맛
             가입/로그인                           발도장 찍기
             발도장 공유
             친구 찾기

       페이스북        트위터                 푸딩.투
       OpenAPI    OpenAPI              OpenAPI

                                                          22
화성인 따라잡기
“좋아요” 버튼 달기

페이스북 개발자 등록

OAuth 인증/승인

타임라인 가져오기

타임라인에 글 올리기

친구 목록 가져오기


              23
Q&A
That’s all Folks!




                    24

More Related Content

PDF
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
PDF
Http 완벽 가이드(2장 url과 리소스)
PDF
Http 헤더
PPTX
HTTP 발표자료 - 김연수
PDF
Http 완벽가이드(3장 http 메시지)
PPTX
HTTP 완벽가이드 10장 http2.0, 11장_클라이언트식별과쿠키
PDF
JSP 빠르게 시작하기
PPTX
Restful API guide
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
Http 완벽 가이드(2장 url과 리소스)
Http 헤더
HTTP 발표자료 - 김연수
Http 완벽가이드(3장 http 메시지)
HTTP 완벽가이드 10장 http2.0, 11장_클라이언트식별과쿠키
JSP 빠르게 시작하기
Restful API guide

What's hot (20)

PDF
[Hello world 오픈세미나]open api client개발
PDF
REST API 디자인 개요
PDF
HTTP 완벽가이드- 19장 배포시스템
PDF
Web App Security 2015.10
PDF
[2017 Incognito] Code Clone 기법을 통한 모바일 브라우저 취약점 분석
PDF
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
PDF
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
PDF
RESTful API 설계
KEY
Html5 performance
PDF
Python 으로 Slackbot 개발하기
PPTX
아꿈사 발표 Node JS 프로그래밍 8장
PPTX
Ksug 세미나 (윤성준) (20121208)
PPTX
Startup JavaScript 7 - Node.JS 기초
PPTX
Json view 예제 설명
PPTX
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
PPTX
Kakao Bot(Plus friend)
PDF
KGC 2016 오픈소스 네트워크 엔진 Super socket 사용하기
PPT
Swc발표자료2 2(restful)
PPTX
REST API 설계
PPTX
Slackbot with Python
[Hello world 오픈세미나]open api client개발
REST API 디자인 개요
HTTP 완벽가이드- 19장 배포시스템
Web App Security 2015.10
[2017 Incognito] Code Clone 기법을 통한 모바일 브라우저 취약점 분석
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
RESTful API 설계
Html5 performance
Python 으로 Slackbot 개발하기
아꿈사 발표 Node JS 프로그래밍 8장
Ksug 세미나 (윤성준) (20121208)
Startup JavaScript 7 - Node.JS 기초
Json view 예제 설명
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
Kakao Bot(Plus friend)
KGC 2016 오픈소스 네트워크 엔진 Super socket 사용하기
Swc발표자료2 2(restful)
REST API 설계
Slackbot with Python
Ad

Similar to KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(1)_API_장동수_20120718 (20)

PDF
F3 네이버오픈api만드는매쉬업
PPTX
Open source engineering - 0.1
PPTX
Open source engineering
PPTX
2Naver Open Android API Translation At DCamp
PDF
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
PPTX
open api seminar
PDF
우린 같은 곳을 바라 보고 있나요?
PDF
AManaging Kong API Gateway with Terraform
PDF
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
PDF
초보 개발자/학생들을 위한 오픈소스 트랜드
PDF
MongoDB 도입을 위한 제언 @krmug
PDF
MongoDB 도입을 위한 제언
PDF
Naver 오픈api-마이그레이션가이드 20160913-리뷰
PPTX
220302 사내세미나_오정민 REST API와 크롤링
PDF
20201121 코드 삼분지계
PPTX
API Management Reference Architecture
PDF
Portfolio
PPTX
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
PDF
고급 서버리스 앱 개발 자세히 살펴보기::김필중:: AWS Summit Seoul 2018
PDF
Do IoT Yourself 3rd : Open API - revision 3
F3 네이버오픈api만드는매쉬업
Open source engineering - 0.1
Open source engineering
2Naver Open Android API Translation At DCamp
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
open api seminar
우린 같은 곳을 바라 보고 있나요?
AManaging Kong API Gateway with Terraform
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
초보 개발자/학생들을 위한 오픈소스 트랜드
MongoDB 도입을 위한 제언 @krmug
MongoDB 도입을 위한 제언
Naver 오픈api-마이그레이션가이드 20160913-리뷰
220302 사내세미나_오정민 REST API와 크롤링
20201121 코드 삼분지계
API Management Reference Architecture
Portfolio
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
고급 서버리스 앱 개발 자세히 살펴보기::김필중:: AWS Summit Seoul 2018
Do IoT Yourself 3rd : Open API - revision 3
Ad

More from KTH, 케이티하이텔 (20)

PDF
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
PDF
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
PDF
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
PDF
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
PDF
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
PDF
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
KEY
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
PDF
[H3 2012] UX, 애자일하고 싶어요
PDF
[H3 2012] Instant Prototyping with ROR
PDF
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
PPTX
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
PDF
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
PDF
[H3 2012] Local based SNS를 이용한 타겟 마케팅
PPTX
[H3 2012] 오픈소스로 개발 실력 쌓기
PDF
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
PDF
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
PDF
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
PPTX
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
PDF
[H3 2012] OAuth2 - API 인증을위한 만능 도구상자
PDF
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] UX, 애자일하고 싶어요
[H3 2012] Instant Prototyping with ROR
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
[H3 2012] Local based SNS를 이용한 타겟 마케팅
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] OAuth2 - API 인증을위한 만능 도구상자
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP

KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(1)_API_장동수_20120718

  • 1. API를 준비하는 금성인을 위한 안내서 장동수 / 아임인LAB / 개발실 / KTH 1
  • 4. 눈에 보이는 API (3) 그러나... 그것은... API 문서일 뿐... 눈에 보이는 것이... API의 전부는 아니랍니다... OTL 4
  • 5. API란? Application Programming Interface Application Program a program that gives a computer instructions that provide the user with tools to accomplish a task Interface: inter + face; 얼굴과 얼굴 사이?! a surface forming a common boundary between two things 5
  • 9. 프로그램과 프로그램 사이 (응용) 프로그램 API (시스템) 프로그램 9
  • 10. 서비스와 서비스 사이 (매시업) 서비스 Open API (플랫폼) 서비스 10
  • 11. 화성인 용어 사전 (1) 라이브러리(Library) 툴킷(Toolkit) 프레임웍(Framework) 11
  • 12. 화성인 용어 사전 (2) 프로시져 호출(Procedure Call) 시스템 호출(System Call) 프로세스간 통신(IPC; Inter-process Communication) 로컬 프로시져 호출(LPC; Local Procedure Call) 원격 프로시져 호출(RPC; Remote Procedure Call) 12
  • 13. 화성인 용어 사전 (3) 프로토콜(Protocol) TCP/IP, Socket, HTTP Open API, Cross-Domain REST, JSON, JSONP SOAP, XML Authentication & Authorization, OAuth 13
  • 14. REST+JSON vs SOAP+XML { "results" : [ { "address_components" : [ { "long_name" : "1600", "short_name" : "1600", "types" : [ "street_number" ] }, { "long_name" : "Amphitheatre Pkwy", "short_name" : "Amphitheatre Pkwy", "types" : [ "route" ] }, { "long_name" : "Mountain View", "short_name" : "Mountain View", "types" : [ "locality", "political" ] }, { 14
  • 15. REST+JSON vs SOAP+XML <GeocodeResponse>  <status>OK</status>  <result>   <type>street_address</type>   <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 9404   <address_component>    <long_name>1600</long_name>    <short_name>1600</short_name>    <type>street_number</type>   </address_component>   <address_component>    <long_name>Amphitheatre Pkwy</long_name>    <short_name>Amphitheatre Pkwy</short_name>    <type>route</type>   </address_component>   <address_component>    <long_name>Mountain View</long_name>    <short_name>Mountain View</short_name>    <type>locality</type>    <type>political</type> 15
  • 16. 크로스 도메인 http://a.com http://b.com one two three four Same Origin Cross Domain AJAX AJAX http://a.com/one 웹 브라우져 16
  • 17. 크로스 도메인 http://a.com http://b.com one two three four Cross Domain Same Origin AJAX AJAX http://b.com/three 웹 브라우져 17
  • 18. OpenAPI 문서 보기(1) 이름(Name) HTTP 주소(URL, URI, ...) + 메소 드(GET, POST, PUT, DELETE, ...) 요청(Request) 인자, 파라메터, Parameters, Arguments, ... 응답(Response) 반환값, 리턴값, 결과값, Result, Return, ... 18
  • 19. OpenAPI 문서 보기(2) 이름 요청 응답 19
  • 20. 화성인에게 API란? 외부 시스템이 내부 시스템이 제공하는 기능을 사용하기 위 해 지켜야 하는 규약 & 문서 그리고, 실제로 요청을 받고 응답을 하는 시스템의 맨 바깥 계층 & 코드 덩어리 그리고, 계층을 통해 규약에 맞춰 요청을 보내고 응답을 받 기 위한 코드 덩어리 20
  • 21. 금성인에게 API란 더 큰/좋은/잘나가는/전문 적인 서비스에 묻어가기 경쟁자를 파트너로 만들기 경쟁자에게 밀리지 않기 서비스 플랫폼으로 자리잡 고 돈 벌기 21
  • 22. Putting It All Together... 아임IN 안드로이드앱 써드파티 아임IN 서버 앱/매시업 아임IN 아임IN Private 리뷰 iOS앱 OpenAPI 아임IN OpenAPI 장소 찾기 아리맛 가입/로그인 발도장 찍기 발도장 공유 친구 찾기 페이스북 트위터 푸딩.투 OpenAPI OpenAPI OpenAPI 22
  • 23. 화성인 따라잡기 “좋아요” 버튼 달기 페이스북 개발자 등록 OAuth 인증/승인 타임라인 가져오기 타임라인에 글 올리기 친구 목록 가져오기 23