초등학생도 이해할 수 있는 API

마케터도 이해할 수 있는 개발 지식, 첫 번째 내용은 API에 대한 이해입니다. API는 지금의 인터넷 세상을 이루고 있는 근간이기도 하며, 서로 떨어진 컴퓨터들이 소통할 수 있는 많은 방법 중 가장 널리 사용되고 있는 개념이기도 한데요.

더 깊이 들어가면 이 역시 계층이 나뉘지만 오늘은 마케터 관점에서 API를 어디까지, 어떻게 이해하면 좋을지 명확하게 설명해 보도록 하겠습니다.

(추가로, 제가 요즘 햄버거에 빠져서..비유를 어떤거로 들 수 있을까 하다가 햄버거 가게로 들기로 했습니다. 자, 우리는 이제 햄버거 가게에 들어섭니다.)

목차

  1. 햄버거 가게에 들어선 우리
  2. 이미 우리는 API를 알고 있다
  3. 주문할게요
  4. API, 에브리씽 에브리데이 올뎃원스
  5. API는 왜 사용하는 걸까?
  6. API, Application Programming Interface
  7. 햄버거 가게를 나가며

1. 햄버거 가게에 들어선 우리

  1. API 같은 단어는 잠시 잊고 햄버거 가게에 들어선 우리를 생각해 봅시다. 주문해야 하는데 키오스크는 없는 아주 작지만 미친 새우버거가 있는 수제 버거 가게야.
  2. 가게에는 사람들이 너도나도 새우버거를 먹고 있고, 갑자기 도파민이 분비된 우리는 햄버거를 주문하기 위해 계산대 앞으로 가.

2. 이미 우리는 API 알고 있다

  1. 계산대로 가서 잠깐 서성거리고 있으니, 주문을 받으러 직원분이 오시네, 즉, 가게와 우리 사이에 직원분이 계시는 거야. 보통 우리는 주문을 넣고, 주방에선 그 주문에 따라 요리를 내어주게 되는데 그 중간에 직원분이 계시는 거지.
  2. 새우버거 세트 하나를 주문했고, 결제 후 자리에 앉았어.

자 여기까지 봤을 땐 우리가 흔히 아는, 전혀 이상한 거 없는 과정이잖아. 근데 이미 여기에서도 API의 개념이 사용됐어. 그건 아래에서 설명할게.

3. 주문할게요

그럼 지금까지의 상황을 정리해 볼까?

  1. 손님이 "새우버거 세트 하나 주세요!"라고 요청했어.
  2. 직원이 "10,900원 입니다. 삼성페이는 여기 터치해 주세요."라고 말했고.
  3. 결제가 완료됐고, 주방에 빌지가 전달됐어.
  4. 주방에선 햄버거를 만들어 직원에게 전달했고.
  5. 직원이 손님에게 햄버거를 가져다 줬어.

그럼 여기서, API가 사용되지 않은 상황이 있을까?
아니, 모든 곳에서 API가 사용됐어. 그럼 위 내용을 그대로 API를 도입해 말해볼게.

  1. 손님이 "새우버거 세트 하나 주세요!"라고 요청했어.
    -> 손님이 직원에게 정해진 메뉴 중 새우버거라는 메뉴를 직원에게 전달 (API를 통해 데이터 요청)
  2. 직원이 "10,900원 입니다. 삼성페이는 여기 터치해 주세요." 라고 말했고.
    -> 직원은 데이터를 주기 전 결제라는 과정이 있음을 알고 있어. 그래서 새우버거를 전달하기 전 결제를 받기 위해 요청에 대한 응답으로 가격과 비용을 지불할 수 있는 방법을 제시하고 있어. (API를 통해 데이터 응답)
  3. 결제가 완료됐고, 주방에 빌지가 전달됐어.
    -> 손님은 전달받은 응답(가격과 결제 방법에 대한 설명)을 수행해 다시 요청을 보냈지.
  4. 주방에선 햄버거를 만들어 직원에게 전달했고.
    -> 그 요청이 주방에 빌지 형태로 전달됐고, 주방에서는 손님이 요청한 새우버거라는 데이터를 전달하기 위해 요리를 하고 있고, 이는 곧 서버에서 요청받은 데이터를 전달하기 위한 작업을 의미해.
  5. 직원이 손님에게 햄버거를 가져다줬어.
    -> 주방은 손님이 요청한 데이터인 새우버거를 직원을 통해 전달했어. 여기서 API는 곧 직원에게 요청할 때 정해진 규칙이야. 손님과 주방을 연결하며, 정해진 규칙에 따라서만 움직이지. 직원은 인터넷 정도가 되겠네.

즉,
주방 - 직원 - 손님의 요청과 응답의 과정을 이해하면 API를 이해한 것과 다름이 없어.

4. API, 에브리씽 에브리데이 올뎃원스

  1. 사실 API는 모든 곳에 있고, 지금의 인터넷 세상을 이루고 있다고 해도 과언이 아닐 정도로 매우 매우 중요한 개념이야.
  2. 사실 잠깐 언급하긴 했는데 API는 결국 규칙이야. 만약 햄버거 가게에서 직원에게 피자를 주문한다면? 직원의 규칙에 어긋나겠지? 왜냐, 햄버거 가게고 피자가 메뉴에 없는데 피자를 요청하니까.
  3. 해서 API는 모든 곳에 있어. 이미 우리는 오늘만 해도 최소 수천, 수만 번의 API 요청을 보냈을거야. 사실 API 없이는 온라인 세상은 존재할 수 없는 것도 맞아.
  4. 우리가 매일 사용하는 인스타그램, 인스타그램에서 볼 수 있는 수많은 사진과 영상들. 어떻게 볼 수 있는걸까? 모두 인스타그램이 운영하는 서버와 우리 스마트폰이, 정확하게는 인스타그램 서비스가 API를 통해 소통해서야.
  5. 유튜브도 동일해. 우리가 PC로 유튜브를 본다고 하면, 우리의 PC와 구글이 운영하는 유튜브 서버가 API를 통해 소통하기 때문이야. 당연히 규칙이 있고, 해당 규칙에 맞춰 요청을 전달하면 응답이 오는 형태로 말이지.
  6. 온라인 세상, 또는 오프라인과 온라인을 잇는 것 모두 API이고, 결국 소통하기 위한 규칙이라고 볼 수 있어.

5. API는 왜 사용하는 걸까?

  1. API가 없으면 우리가 직접 필요한 모든 데이터를 가지고 있어야 하고, 온라인 세상에서 연결이 불가능 해.
  2. 앱과 앱, 서비스와 서비스가 서로 연결될 수 있는 이유는 API 덕분이야.
  3. 개발자들은 API를 이용해 통신을 하고, 서로 데이터를 주고 받는 서비스를 만들 수 있어. 오히려 API를 사용하지 않는 서비스는 없다고 볼 수 있을 정도야.

6. API, Application Programming Interface

  1. 이쯤에서 사전적 정의를 한 번 짚고 넘어가면 좋을 거 같아서 준비했어.
  2. Application은 정말 많이 사용되는데 쉽게 말해 서비스라고 이해해도 좋아. 물론 마케터가 API를 이해할 때를 기준으로 하는거야.
  3. Programming은 프로그래밍 관점을 정의하는건데, 크게 중요하지 않아. 이 부분은 전체를 한 번에 이해할 때 도움이 되는 관점이라 잠깐 넘어갈께.
  4. Interface는 프로그래밍에서도, 일상에서도 정말 많이 사용되는 용어인데도 굉장히 모호하게 느껴지는 단어야. 그냥 서로 다른 것들이 소통하기 위한 규칙이라고 이해하면 돼.
  5. 이 세 단어를 한 번에 이해하면 서비스의 프로그래밍 관점에서의 소통하기 위한 규칙 정도로 이해할 수 있을 거 같아.
  6. 결국 서로 다른 서비스가 통신하기 위해 정해놓은 규약이라고 볼 수 있어.

7. 햄버거 가게를 나가며

  1. API는 어려운 개념이 아니야. 기본적으로 나에게 없는 데이터를 받아오려고 할 때는 무조건 API를 사용하게 되는거지.
  2. 즉, API는 서비스와 서비스가 통신할 때 필요한 규칙을 정의한 것이라고 볼 수 있어. 이 규칙에 기반해 원하는 데이터를 요청하고, 응답하게 되는거지.

그럼 다음에 또 재밌는 이야기로 찾아올게, 마케터가 프로그래밍을 완벽히 정복할 수 있을 때 까지!

Read more

마케터를 위한 개발 환경 세팅

마케터가 개발 환경을 세팅할 일은 많이 없습니다. 하지만 코드를 조금씩 다루고 싶다면, 코드가 내 문제를 해결해 줄 수 있다면 개발 환경을 세팅해 빠르게 테스트 해볼 수 있는데요. 오늘은 가장 간단하게 코드를 돌려볼 수 있는 개발 환경을 세팅해 보도록 하겠습니다. 첫 번째로 어떤 것들이 필요한 지 알아보도록 할게요. 처음 보는 단어라도

By noah

마케터 야근 줄이기 프로젝트 1 ( 네이버 검색 광고 결과 가져오기)

왜, 마케터는 야근을 하는지 참 궁금했습니다. 마케터가 되어 보니 어느 정도 이유를 알 거 같더군요 . 하지만 코드를 아는 이상 수동으로 하는 반복 작업에 계속 당할 수는 없었습니다. 그래서 오늘은 마케터의 야근 줄이기 프로젝트, 첫 번째 시간을 가져보려고 합니다. 첫 번째 코드는 네이버 키워드 검색 시 검색 광고 영역의 광고 순위를

By noah

GA4 이것만 알면 된다 1탄

이번 글은 GA4를 쉽게 이해하기 위해 준비한 시리즈, GA4 이것만 알면 된다 중 첫 번째 내용입니다. 사실 GA4를 잘 활용하기 위해선 크게 두 가지 개념만 이해하면 된다고 생각합니다. 나머지는 문제를 어떻게 정의하는지, 문제를 해결하기 위한 가설을 수립하고 이에 맞는 지표를 설정할 수 있는지 등. GA4에서는 해결할 수 없는 부분들이구요. 그럼

By noah