1. API란?
API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다.
데이터 교환 | 다른 소프트웨어의 기능 실행 | 서비스 접근 |
다른 소프트웨어와 데이터 교환할 수 있는 방법을 제공 ( 공유, 처리, 조작 등 ) | 다른 소프트웨어의 기능을 호출하고 실행할 수 있는 방법을 제공 | 웹 서비스나 클라우드 서비스에 접근할 수 있는 방법을 제공 |
2. API를 설명하지면?
- 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청하고 명령을 받을 수 있는 수단.
- 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스.
- 여러 프로그램들과 데이터베이스, 그리고 기능들의 상호 통신 방법을 규정하고 도와주는 매개체.
- 데이터베이스가 아니지만, 엑세스 권한이 있는 앱 권한 규정과 서비스 요청에 따라 데이터나 서비스 기능을 제공하는 메신저 역할.
- 다양한 형태로 존재할 수 있으며 웹서비스, 운영체제, 라이브러리, 다른 소프트웨어 접근 방법으로 사용 됨
- 개발자가 복잡한 기능을 쉽게 개발할 수 있도록 프로그래밍 언어로 코드를 제공하는 것
3. 접근 방식에 따른 API 종류
Public API | 개방형 API로 모두에게 공개 Public API 중에서도 접속하는 대상에 대한 제약이 없는 경우를 OpenAPI라 한다. |
Partner API | 특정 비즈니스 파트너 간의 데이터 공유 권한이 있는 특정인들만 사용할 수 있다. |
Private API | 내부 API Internal API 자체 제품과 운영 개선을 위해 내부에서만 사용. 외부에 노출되지 않는다. |
Web API | 웹 서버나 웹 브라우저를 위한 API 웹 개발 개념으로서 이는 웹 애플리케이션의 클라이언트 사이드(사용 중인 모든 웹 프레임워크 포함)과 관련될 수 있다. |
Library API | Library API는 특정 기능을 제공하고 개발자들이 해당 기능을 호출하여 사용 특정 프로그래밍 언어나 플랫폼에서 제공되는 기능이 Library API 형태로 제공하여 개발자들이 자체 앱을 보다 쉽게 구축하고 기능을 확장할 수 있도록 돕습니다. |
Hardware API | 응용 프로그램이 하드웨어와 통신하여 하드웨어 장치의 기능을 제어 소프트웨어가 하드웨어 리소스를 효율적으로 활용할 수 있도록 프로그래밍 인터페이스를 제공합니다 |
Browser API | 브라우저에 내장되어 있는 API 브라우저를 이용해 복잡한 작업들을 쉽게 구현할 수 있도록 도와줍니다 예를 들면 Web Audio API 는 브라우저에서 오디오를 조작하기 위한 Javascript 구성을 제공합니다. |
Third-party API | 외부에서 가져다 쓰는 API 트위터나 유튜브와 같이 최근 목록 가져오기 기능을 사용하고 싶을 때 해당 서비스에서 제공하는 API를 말합니다. |
4. 오픈API 사이트 링크
공공데이터포털
문화데이터 광장
카카오 API
네이버 API
구글 API 라이브러리
구글 클라우드 API
페이스북 API
4. 아키텍쳐 스타일에 따른 API 종류
SOAP API | SOAP 프로토콜만 사용하는 API (유연성 떨어짐) 단순 객체 접근 프로토콜(SOAP)은 프로토콜의 한 유형으로 클라이언트와 xml 사용하여 메세지를 교환함 |
REST API | REST 아키텍처를 사용하여 구축된 모든 API (오늘날 대부분의 API는 REST API) Representational State Transfer의 줄임말로 웹 표현 상태 변경(REST)은 웹 서비스를 위한 아키텍처 스타일입니다. REST API는 모든 프로토콜에서 작동합니다 REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의합니다. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환합니다. |
RPC API | 원격 프로시저 호출 Remote Procedure Call 줄임말로 다른 시스템의 함수 호출 RPC는 로컬 프로시저 호출 개념을 확장하지만 이는 HTTP API 컨텍스트에 포함되는 개념으로 다른 컨텍스트에서 함수의 원격 실행을 허용하는 사양입니다. 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송합니다. |
GraphQL API | GraphQL은 API를 위한 쿼리 언어 이미 존재하는 데이터로 쿼리를 수행하기 위한 런타임으로 데이터에 대한 완벽하고 이해하기 쉬운 설명을 제공하고 클라이언트에게 필요한 것을 정확하게 요청할 수 있는 기능을 제공하며 시간이 지남에 따라 API를 쉽게 진화시키고 강력한 개발자 도구를 지원합니다. |
5. API 활용사례
범용 로그인 | 사물 인터넷(IoT) | 여행 예약 비교 |
지도 앱 | SaaS 애플리케이션 |
스픽 - Whisper API 사용
Whisper API는 오픈 AI에서 개발한 자동 음성 인식 시스템으로 음성을 인식해 텍스트로 바꿔줄 뿐만 아니라 다양한 언어를 영어로 번역까지 가능하며 스픽은 음성인식 API인 Whisper API를 활용해 원어민이 없이도 1:1 외국어 프리토킹이 가능한 AI 튜터 서비스를 개발해, 외국어 회화 능력 향상이 필요한 사람들에게 앱 서비스
Whisper - Updated: April 24, 2024 - https://openai.com/index/introducing-chatgpt-and-whisper-apis
Whisper - September 21, 2022 - https://openai.com/index/whisper
더 자세하게 알 고 싶다면
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'IT 관련 > IT 용어 정리' 카테고리의 다른 글
용어 정리 / UI, UX 필수 용어 모음집 (1) | 2024.05.12 |
---|---|
용어 정리 / 사용자 분석시 필요한 용어 (0) | 2024.05.09 |