👥조별 과제
⚡ 개념 정리하기 !
네트워크를 통해 다른 컴퓨터나 장치들에게 서비스를 제공하거나 리소스를 공유하는 역할을 수행하는 컴퓨터 시스템이다. 주로 네트워크를 통해 클라이언트로부터 요청을 받아 처리하고, 필요한 데이터나 리소스를 제공한다. 다양한 종류와 기능을 갖춘 서버들은 중요한 역할을 하며, 비즈니스와 개인의 다양한 요구에 맞춰 사용된다. 서버는 많은 클라이언트 요청을 동시에 처리하고 데이터를 효율적으로 관리하는 능력이 중요하다.
API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 ‘대화’하여 휴대폰에 매일 최신 날씨 정보를 표시합니다.
API = Application Programming Interface
API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의합니다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있습니다.
여러 프로그램들과 데이터베이스, 그리고 기능들의 상호 통신 방법을 규정하고 도와주는 매개체 API는 데이터베이스가 아니지만, 액세스 권한이 있는 앱의 권한 규정과 “서비스 요청”에 따라 데이터나 서비스 기능을 제공하는 메신저 역할을 한다.
⚡ 토론해보아요 !
Node.js에서 API를 활용하는 방안은 RESTful API 서버 구축, 데이터 수집 및 가공, API 인증과 보안 구현, 데이터베이스 연동, 실시간 통신 등 다양하다. 이를 통해 웹 애플리케이션을 빠르고 확장 가능하게 개발할 수 있다.
브라우저라는 제한된 환경에서만 사용할 수 있었던 Javascript를 os와의 상호작용을 통해서 os의 기능에 제한적으로 접근할 수 있도록 해주는 것이 Node.js 이다 Node.js에서는 JavaScript으로 OS의 기능에 액세스하는 프로그램을 짤 수 있다. 즉, 브라우저에서 동작하고 있을 때는 되지 않았던 자유로운 파일의 읽기 쓰기나 네트워크 통신 등의 OS의 기능을 다룰 수 있다.