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
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
PDF
백세코딩
PPTX
One-day-codelab
PDF
Basic of web ref.웹을지탱하는기술_01
PDF
Introduction to JSON
PDF
Java/Spring과 Node.js의 공존 시즌2
PPTX
분석과 설계
PDF
Java/Spring과 Node.js의공존
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
백세코딩
One-day-codelab
Basic of web ref.웹을지탱하는기술_01
Introduction to JSON
Java/Spring과 Node.js의 공존 시즌2
분석과 설계
Java/Spring과 Node.js의공존

Similar to 개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서 (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
PPTX
Ksug 세미나 (윤성준) (20121208)
PDF
우린 같은 곳을 바라 보고 있나요?
PDF
AManaging Kong API Gateway with Terraform
PDF
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
PDF
REST API 디자인 개요
PDF
초보 개발자/학생들을 위한 오픈소스 트랜드
PDF
MongoDB 도입을 위한 제언 @krmug
PDF
MongoDB 도입을 위한 제언
PPTX
Slackbot with Python
PDF
Naver 오픈api-마이그레이션가이드 20160913-리뷰
PPTX
220302 사내세미나_오정민 REST API와 크롤링
PDF
20201121 코드 삼분지계
PPTX
API Management Reference Architecture
PDF
Portfolio
F3 네이버오픈api만드는매쉬업
Open source engineering - 0.1
Open source engineering
2Naver Open Android API Translation At DCamp
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
open api seminar
Ksug 세미나 (윤성준) (20121208)
우린 같은 곳을 바라 보고 있나요?
AManaging Kong API Gateway with Terraform
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
REST API 디자인 개요
초보 개발자/학생들을 위한 오픈소스 트랜드
MongoDB 도입을 위한 제언 @krmug
MongoDB 도입을 위한 제언
Slackbot with Python
Naver 오픈api-마이그레이션가이드 20160913-리뷰
220302 사내세미나_오정민 REST API와 크롤링
20201121 코드 삼분지계
API Management Reference Architecture
Portfolio
Ad

More from 동수 장 (14)

PDF
고전적인 기술로 현대적인 웹앱 만들기 - HTMX / 2024 제주웹컨퍼런스
PPTX
패스트캠퍼스 - SUDO 2022 - 질주본능 스타트업을 위한 개발조직 구성
PDF
개인정보를 피해갈 수 없는 개발자를 위한 안내서 - 개인정보 처리 시스템 개발과 운영
PDF
AI 시대를 준비하는 개발자를 위한 안내서(부제: AI 시대에는 개발자가 필요없다며?)
PDF
(면접에서 자주 나오는) HTTP : 브라우저에서 서버까지.pdf
PDF
프론트엔드 웹앱 프레임웍 - Bootstrap, Backbone 그리고 AngularJS
PDF
웹 애플리케이션 프레임웍의 과거,현재 그리고 미래 - 봄날은 간다
PDF
모바일/클라우드 시대를 준비하는 개발자들을 위한 안내서
PDF
하이브리드앱 개발 전략과 이슈
PDF
하이브리드앱 아키텍쳐 및 개발 사례
PDF
단일 페이지 인터페이스 웹/앱 개발
PDF
Hybrid Mobile Application Framework
PPTX
Javascript Common Mistakes
ODP
Gnome Architecture
고전적인 기술로 현대적인 웹앱 만들기 - HTMX / 2024 제주웹컨퍼런스
패스트캠퍼스 - SUDO 2022 - 질주본능 스타트업을 위한 개발조직 구성
개인정보를 피해갈 수 없는 개발자를 위한 안내서 - 개인정보 처리 시스템 개발과 운영
AI 시대를 준비하는 개발자를 위한 안내서(부제: AI 시대에는 개발자가 필요없다며?)
(면접에서 자주 나오는) HTTP : 브라우저에서 서버까지.pdf
프론트엔드 웹앱 프레임웍 - Bootstrap, Backbone 그리고 AngularJS
웹 애플리케이션 프레임웍의 과거,현재 그리고 미래 - 봄날은 간다
모바일/클라우드 시대를 준비하는 개발자들을 위한 안내서
하이브리드앱 개발 전략과 이슈
하이브리드앱 아키텍쳐 및 개발 사례
단일 페이지 인터페이스 웹/앱 개발
Hybrid Mobile Application Framework
Javascript Common Mistakes
Gnome Architecture
Ad

개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서

  • 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