카테고리 없음

[독서] 비전공자를 위한 이해할 수 있는 IT 지식

lxvxxu 2025. 2. 17. 23:04

 

22:25 독서 시작

 

 

해당 책을 통해 기초지식을 배우고

gipp.co.kr 강의에서 더 깊이 있는 지식을 쌓을 수 있다.

 

와이어 프레임 : 애플리케이션이나 웹 페이지가 어떻게 구성되는지, 어떻게 동작하는지 기획한 문서

 

IT 산업은 서비스가 만들어지는 과정이 다른 산업과 완전히 다르다.

변화의 속도가 매우 빠르기 때문에 처음부터 완성된 형태를 정해놓고 만드는 것은 위험한 일이다.

점진적 발전만 있을 뿐이다.

 

 


 

API (Application Programming Interface)

응용 프로그램 프로그래밍 인터페이스, SW 개발에서 호환성을 위해 지켜야 하는 추상적인 원칙.

여러 기업과 개발자들이 서로의 프로그램이 호환되도록 합의한 원칙이다. 라이브러리는 실제 이를 바탕으로 구현된 결과물

소스 코드 수준에서 정의되는 인터페이스

 

* 인터페이스 : 사용자가 기기를 쉽게 동작시키기 위해 도움을 주는 시스템

 Hardware Interface  
Software Interface  
Human Computer Interface 하드웨어, 소프트웨어를 가리지 않고 사람과 컴퓨터가 상호 작용을 하는 직접적인 경계에 놓인 모든 것

 

 

API 자체는 어디까지나 사양(specification)만을 정의하기 때문에 구현(implementation)과는 독립적이다.

이를 실제로 구현한 것은 '라이브러리(library'라고 부른다.

유닉스의 POSIX 표준, 윈도우의 MFC나 Win32, C++의 표준 라이브러리, Java SE API 등이 이에 해당한다.

 

프로그래머는 C 언어나 어셈블리어같이 저단계 프로그래밍 언어에서나 할법한 메모리 조작이나 하드웨어 조작 등을 직접 할 필요 없이, API만을 가지고도 손쉽게 이를 고레벨 프로그래밍 언어에서도 제어할 수 있다.

 

 

SDK (Software Development Kit)

API가 라이브러리(실제 기능 구현체)와 함께 제공되는 경우 이를 SDK라고 한다.SDK는 일반적으로 API, 라이브러리와 함께 프로그램을 개발하는 데 필요한 여러 보조 프로그램을 포함한다.

 

프로그래밍 언어 혹은 운영 체제마다 기본으로 제공되는 API 말고도 기업들이 운영 중인 여러 API들이 많다. 

기업들이 API를 운용하는 이유는 다음과 같다.

복잡한 프로그램일수록 개발자가 개발하는 프로그램은 그 프로그램 단독으로 돌아가는 경우가 많지 않으며 이미 개발되어 있는 무수한 여러 애플리케이션들과 소통하는 경우가 태반이다. 하지만 소통한답시고 기업들이 애플리케이션의 기반 코드자체 보유 데이터에 누구나 접근할 수 있도록 열어버리면 난리가 날 것이다. 따라서 각 기업들은 개발자가 개발한 프로그램의 코드를 작동함에 있어 자체 애플리케이션과 실시간으로 상호 작용할 내용이 있다면 이를 위해 '소통 창구'라 할 수 있는 자체 API를 만들어 배포하는 것이다.

 

따라서 개발자는 배포된 API를 받고 이를 자신의 코드에 추가함으로써 원하는 기능을 구현할 수 있다. 말하자면 운용 중인 애플리케이션에 적법한 절차를 걸쳐 허락을 맡고 구현물을 받아 오거나 새로운 요소를 삽입, 수정할 수 있는 것이다.

따라서 구글, 네이버, 카카오 등 많은 IT 회사들이 사내 제품군들의 API를 제공하여 개발 편의를 돕고 자사 제품을 쓰도록 유도하고 있다. 예를 들어 구글 유튜브 Data API를 보면 각 프로그래밍 언어별로 친절하게 동영상 업로드나 업데이터, 키워드별 검색, 재생 목록 만들기 등의 기능을 제공한다. 또 다른 예시로 카카오 지도 API를 보면 API를 통해 개발자는 카카오가 제공하는 함수를 써서 특정 경로를 찍거나, 해당 위치 주변의 지도를 개발물에 띄울 수 있고 이를 개발에 활용할 수 있다.

 

 

https://namu.wiki/w/API

 

API

A pplication P rogramming I nterface 응용 프로그램 프로그래밍 인터페이스. 프로그

namu.wiki