👥 조별 과제

⚡ 개념 정리하기 !

  1. 서버

    At the most basic level, an API is a mechanism that enables an application or service to access a resource within another application or service. The application or service doing the accessing is called the client, and the application or service containing the resource is called the server. — *https://www.ibm.com/topics/rest-apis*

    Untitled

    Untitled

    +comment라 쓰고 아무말대잔치라 읽는다

    공부할수록 헷갈렸던 것 중 하나는, 바로 웹 서버(웹 서비스)와 API서버의 차이였다.

    TL;DR: 모든 웹서비스는 API지만, API라고 해서 웹서비스는 아니다. HTTP를 사용하는 API들을 ‘웹 서비스’라고 한다.

    원래 Web Server와 Application Server가 분리된 위 그림으로 이해했는데, HTTP를 사용하는 REST API들이 나오고, 사실 Web자체가 RESTful하게 동작하다보니 Web Server와 API Server의 경계가 흐려진 것 같다.

  2. API

    사실 API는 되게 넓은 개념인데, 프로그램끼리 리소스를 직접적으로 접근하지 않고도 정보를 교환할 수 있게끔 만든 매개체이다.

    Untitled

    02.웹과 API 서버의 통신

    API 이해하기 쉬운 개발블로그 글

    <aside> 💡 REST API란?

    </aside>

    요약: HTTP기반으로 필요한 리소스를 요청하는 아키텍쳐로 설계된 API이다.

    REST(*representational state transfer)*에 부합하도록 작성되었다.

    REST의 3요소(Resource, Method, Message(optional))

    1. (GET 요청) 2. comic.naver.com/webtoon/detail ? 3.id=318995
    

    Resource는 자원의 위치로 나타내는 URI(Uniform Resource Identifier)로 접근한다. 위의 박스에서 2번에 해당, 링크라고 생각하기! [+생소하지만 위치 말고 다른 방법도 있어요! https://en.wikipedia.org/wiki/Content-addressable_storage]

    Method는 HTTP Method(POST, GET, PUT, DELETE)를 따른다.

    Untitled

    restapi_restapi.svg

    What is a REST API?

    간단명료하게 API와 REST를 다룬 글

⚡ 토론해보아요 !

  1. Node.js 에서는 API를 어떻게 활용할까요?

    기본적으로 REST API를 놓고 보면 HTTP를 이용하기 때문에, Node.js 내에서 나의 프로그램(ex. 개인과제에서의 index.js)이 다른 API를 사용하기 위해선 Node.js가 HTTP Request를 보낼 수 있게 해주는 무언가가 필요하다.

    5 Ways to Make HTTP Requests in Node.js

    Node.js에는 http 모듈이 기본적으로 있기 때문에 이 모듈을 이용해도 되지만, 이보단 axios같은 라이브러리를 많이 사용한다.

    Nodejs 를 이용한 Open API 활용 - axios

  2. 서버 개발 시 Node.js 를 사용하는 이유가 무엇일까요?

    🙋‍♂️태경

    강의에도 나와있듯, JS를 이용하기 때문에 프론트엔드와 백엔드를 하나의 언어로 구성할 수 있는 것은 큰 장점으로 꼽힌다!

    이외에도

    🙋‍♂️지혜:

    Node.js에서는 모바일 어플리케이션이나 데스크탑용 어플리케이션의 개발이 가능하다.

    자바스크립트를 동일하게 사용해서 서버단 로직을 처리할 수 있다는게 가장 큰 장점! 새로운 언어를 습득하지 않고도 자바스크립트를 활용해 서버기술을 빨리 개발/응용할 수 있습니다. 개발이 빠르고 쉽다. 서버 설치부터 화면 띄우는 것까지 금방 처리 됨.

    KakaoTalk_Image_2023-06-04-22-12-52.jpeg

    🙋‍♂️강록:

    npm(node package manager)를 통해 다양한 모듈(패키지)을 제공하여 필요한 라이브러리를 설치하여 사용할 수 있기에 효율성이 좋다.

█ 여덟번째 스터디 끗ㅡ