티스토리 뷰

IT

최소한의 IT 언어 by 비나이 트리베디

비즈붓다 2023. 8. 15. 20:11
728x90

[ 밑줄/연결 ]

 

"바퀴를 다시 발명하지 말라"는 명언은 정보 공유가 당연시되는  IT 업계에 잘 어울리는 원칙이다.

 

(Application Programming Interface)

 

가까운 ATM의 위치를 지도로 알려주고 신용카드로 결재를 받으려 한다고 해보자....

구글 지도를 넣는 것은 무료지만, Stripe를 이용해 신용카드로 결제를 받으려면 건당 소액의 수수료를 쓰면서 빠르게 성장하고 비교적 짧은 시간에 복잡한 기능을 구현할 수 있게 됨

 

타사 API 활용하기. API를 사용할 때의 장점

비교 우위 : 당신의 핵심 역량과 가치 제안에 집중할 수 있음. 비핵심 업무를 외주화하는 것처럼 결제 처리와 지도 구현 같은 작업을 외주화할 수 있음

발 시간 절감 : 기능을 개발하는 시간 뿐 아니라 유지하는 데 드는 시간도 절약됨

타사의 전문성 활용 : 각 기업은 API 제공하는 정보나 기능을 확보하고 유지하기 위해 상당한 시간을 투입함. 그 일을 주력으로 하는 회사가 있다면 그쪽에 맡기는 편이 더 효율적임

정보 접근권 : 많은 API가 데이터에 접근할 권리를 제공함. API를 쓰면 동일한 데이터를 한층 더 이용하기 쉬운 형태로 확보할 수 있음. 예) 날씨 API :  지구온난화 연구를 위해 10개 도시의 지난 50년간 기온을 수작업으로 복사해야 한다면 무척 고된 일이 될 것임. 이때 API를 쓰면 필요한 데이터를 한꺼번에 받을 수 있음

 

API를 사용할 때의 단점

의존성 :  API를 제공하는 회사가 방침을 바꾸거나 API 제공을 중단하면 당신의 애플리케이션이 제 기능을 못함. 

커스터마이징 불가 : 당신에게 필요한 데이터나 기능을 정확히 제공하는 API가 시중에 존재하지 않을 수 있음.  API는 보편적인 필요를 상정하고 제작되기 때문에 당신에게 완벽하게 부합한다는 보장이 없음. 

 

API 공개하기, 장점

고객 통합성 강화 : 개별 솔루션 개발 --> API 형태로 솔루션을 표준화하여 그 안에서 파트너들이 원하는 것을 이용할 수 있게 하면 좋음

타사의 당신에 대한 의존성 증가 : 당신의 API를 필수로 쓰는 회사가 많아지면 새로운 가치 창출 수단이 생긴 것임

배포 수단 다각화 : 이용법 다각화 --> 다양한 사용자가 공략 가능

수입원 : API 사용료 부과

더 많은 데이터 확보 : 타인이 당신의 API를 호출할 때마다 당신은 그 정보를 기록할 수 있음

브랜드 가치 상승 : API 사용자 증가 --> 브랜드 인지도 증가 

 

API 공개하기, 단점

 자원 : 개발과 유지보수에 공을 들여야 함. 데이터의 출처가 바뀔 때마다 API도 수정해야 함. API만 공개하고 고객 지원이 없으면 개발자들이 불만을 품고 이탈함. 

ㅇ 보안 : API는 사용자가 당신의 데이터를 이용할 수 있게 함. 당신이 공유할 의도가 없는 정보가 부적절하게 쓰일 위험성도 존재함. 

ㅇ 비용 : API 요청을 처리하는 비용을 부담해야 함. 

 

API 작동 원리

ㅇ SW 간 통신용 인터페이스임

ㅇ 애플리케이션들이 인간의 개입없이 대화하는 수단임

ㅇ API와 함께 제공되는 '가이드'를 보면 프로그래밍 언어처럼 어떤 코드를 작성해서 무엇을 요청할 수 있는지 다 설명돼 있음

API는 SW 개발자들의 편의를 위해 만들어진 루틴(주로 함수)과 그것을 사용하기 위한 규칙의 집합체

 

REST (REpresentation State Transfer : 표현 상태 전송)

ㅇ REST에서 모든 요청은 두 부분으로 구성됨. 

엔드포인트라고 부르는 URL이고 다른 하나는 요청 사항을 담은 메시지

ㅇ 메시지는 개발자가 요구하는 행동(getWeather)과 그 행동에 대한 추가 정보를 제공하는 매개변수(getWeather의 대상을 오늘과 어제로 한정하기)가 명시되고, '키값'이라고 하는 개발자 아이디(누가 얼마나 빈번하게 요청하는지 기록하는 데 쓸수 있다)가 필수로 들어가기도 함

 

라이브러리

흔히 사용하는 기능(예: 드롭다운 메뉴, 팝업창 애니메이션)을 정의하는 코드를 모아놓은 것

 

SDK

ㅇ 특정한 플랫폼(예: 애플 아이폰에 탑재된 iOS)용으로 SW를 개발할 때 도움이 되도록 플랫폼 제조사에서 제공하는 개발도구

개발 문서(가이드), 통합 개발 환경, API, 라이브러리, 그 외 유용한 도구(예: 오류를 잡는 디버깅 도구, 성능 측정 도구)가 포함됨

 

[ 자평 ]

 

책의 부제가  'How to speak tech'이며 저술의 목적이 컴퓨터과학 비전공자의 디지털 문해력을 올려준다는 것이라 한다.

저자는 비나이 트리베디 (Vinay Trivedi) 라는 스타트업 PM이자 IT 전문 투자자다. 

 

근래 읽어본 초급자를 위한 IT 기본 해설서로 상당히 괜찮은 편이었다. 

댓글