1. 인터페이스 :
- 두 시스템이나 컴퓨터 또는 사용자가 상호작용할 수 있도록 도와주는 매개체나 경계
2. UI, User Interface :
- 사람과 컴퓨터 간의 상호작용을 가능하게 하는 장치 또는 S/W
- 사용자가 시스템을 쉽게 사용할 수 있도록 직관적이고 사용하기 편리하게 설계
2-1. UI 종류 :
GUI(graphic user interface) - 마우스 커서를 사용해 아이콘을 눌러서 사용
CLI(command line interface) - cmd 명령어 창 같은 곳에 직접 명령어를 입력
NUI(natural user interface) - 사람의 자연스러운 행동을 인식하여 입력 받음
VUI(voice user interface) - 사람의 목소리를 인식하고 처리하여 응답
3. API, Application Programming interface :
- S/W 간 서로 통신하며 데이터를 교환할 수 있게 하는 규칙과 도구의 집합
- 다양한 웹 서비스가 서로 데이터를 주고받을 때 API를 사용
- 개발자가 새로운 앱을 만들 때 기존의 기능을 쉽게 통합 및 사용할 수 있도록 도움
3-1. Web API :
REST API - HTTP 프로토콜을 기반으로 하고 JSON 또는 XML 형식으로
데이터를 주고 받으며 가장 널리 사용되는 웹 api 중 하나이다.
SOAP API - XML을 기반으로 한 프로토콜로 더 엄격한 메세지 형식을 갖는다.
주로 보안과 트랜잭션을 중요시하는 앱에서 사용된다.
GraphQL - 단일 종료지점에서 고객이 필요한 데이터를
명시적으로 요청할 수 있고 페이스북이 개발했다.
3-2. 라이브러리/프레임워크 API :
- 특정 프로그래밍 언어나 프레임워크 내에서 사용되는 API이며
파이썬의 'requests' 라이브러리, 자바의 Spring 프레임워크 API 등이 있다.
3-3. 운영체제 API :
- OS가 제공하는 서비스에 접근하기 위한 API이며 윈도우 API, POSIX API 등이 있고
파일 시스템 접근, 프로세스 관리, 네트워크 통신 등을 처리한다.
3-4. DB API :
- DB와 상호작용하기 위한 API이고 SQL을 통한 데이터 베이스 퀴리나 트랜잭션
관리를 지원하며 JDBC(자바), SQLAlchemy(파이썬)가 있다.
3-5. H/W API :
- HW와 상호작용하기 위한 API이고 장치 드라이버나 펌웨어와의 통신을 처리하며
GPU 프로그래밍을 위한 OpenGL API, DirectX API 등이 있다.
3-6. 클라우드 서비스 API :
- 클라우드 리소스를 관리하고 상호작용할 수 있으며 AWS SDK,
구글 클라우드 API, 마이크로 소프트 Azure API 등이 있다.
3-7. 소셜 미디어 API :
- 소셜 미디어 플랫폼과 상호작용하기 위해 데이터를 가져오거나 게시물을 작성할 수 있으며 페이스북의 Graph API, 트위터 API, 인스타그램 API 등이 있다.
3-8. 사물인터넷(IoT) API :
- IoT 기기와 상호작용하기 위해 스마트 홈 기기나 센서 데이터를
수집 및 제어하며 MQTT, CoAP, Google IoT Core API 등이 있다.