오늘은 항해를 시작한지 7일차이다.
일요일은 항상 WIL으로 저장하고 TIL은 혹시 플러스되는 것들은 다음날에 올릴 것이다.
일단 항해에서 요구한 조건은 두가지이다.
첫번째는 API
두번째는 첫항해를 시작하고 이번주에 배운점과 느낀점이다.
이를 기준으로 이번주 WIL 를 작성하겠다.
API는 살면서 정말 많이 들어보았을 것이다.
모든 코딩초보들 (나와같은) 사람들은 너무나도 추성적인 말이다.
일단 정확한 정읠르 말해보자면 다음과 같다.
Application Programming Interface의 약자이다.
즉 다시 정의를 살펴보면 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법이다.
그렇다면 이 방법은 무엇일까?
간단하게 생각을 하면 이 API라는 것은 식당의 메뉴판과 같다고 생각할 수 있다.
식당에서 주문을 할때 우리는 우리가 원하는 음식, 즉 내가 원하는 음식을 커스텀하는 경우는 없다.
메뉴판을 보고 거기에 적혀있는 메뉴들을 정확히 주문을하게 된다.
즉 메뉴판은 식당의 API 라고 생각해도 무방하다.
다시말해 식당과 손님이 음식을 주고받기 위한 방법인 것이다.
만약 내가 웹툰을 보내주는 프로그램을 만들었다고 가정했을때
다른 사람들이 이 서버에 웹툰 말고 다른 에니메이션을 보내달라고 할 수 없다.
우리는 이를 위해서 미리 웹툰 API를 작성해야 하는 것입니다.
다시한번 말하자면 이 웹툰 API는 웹툰 서버와 손님이 웹툰을 주고받기 위한 방법이다.
그렇다면 이때 이 '방법' 이라는 것이 너무나도 추상적인데,
이는 그냥 코드라고 생각하면 된다.
이것을 만들고 동작하고 스킨들 전부 코드로 이루어져 있다.
하지만 유저들은 이 코드들을 직접 실행, 즉 동작시키지 못한다.
그래서 이 코드를 만드는 사람이 API 를 직접 만들어야 하는데
이번주차에서 배웠던 'get' 과 같은 부분이다.
api 가 가져야할 내용은 3가지와 같다.
web의 경우에는 REST API라는 원칙에 따라서 작성을 해야함.
이때 유저 또한 코드를 자연스럽게 작성을 해야한다고 생각할 수 있다.
get 요청을 하려면 당연히 코드를 짜야한다.
우리가 생각했을때 코드를 짜고 있지 않다고 생각을 하고 있을수도 있지만
이는 사실 지금 '브라우저'를 통해서 계속해서 짜고 있다.
즉 주소창에서 보내는것이 계속해서 get 요청을 보내고 있는 것이다.
지금까지는 웹에서의 API를 생각하고 있었지만
사실상 모든 프로그램은 API를 가질 수 있다.
Winodws API를 사용하면 윈도우의 운영체제의 기능들을 사용이 가능하고
Database 관리 프로그램 API 를 사용하면 DB 입출력 기능들을 사용가능하다.
처음부터 열심히 하지 말것 그러다가 나가 떨어짐
초심을 잃지 말라는 말이 있다.
그 초심이 쓰레기면 그 초심을 잃을 필요도 충분히 있는 것 같다.
열심히 하지 말라는 이야기가 아니라
10이 있다면 7로 끝까지 가는 것을 유지하자