내배캠 98일차

·2023년 2월 20일
0

내일배움캠프

목록 보기
107/142
post-thumbnail

복습

동기 vs 비동기

JavaScript는 동기식 언어이다.
자바스크립트는 한 번에 하나의 작업을 수행한다.

한 작업이 실행되는 동안 다른 작업은 멈춘 상태를 유지하고 자신의 차례를 기다리는 것을 말한다.

마치 음식점에 여러 사람들과 갔을 때, 키오스크를 이용하여 한 사람씩 결제하는 것과 유사하다.

이러한 동작을 단일 스레드(싱글 스레드), 동기(Synchronous)라고 부른다.

비동기(asynchronous)란?

이전에 말했지만, 자바스크립트는 단일 스레드, 동기식으로 동작한다.

하지만 비동기는 어떠한 요청을 보내면 그 요청이 끝날 때까지 기다리는 것이 아니라, 응답에 관계없이 바로 다음 동작이 실행되는 방식을 말한다.

왜 필요한가?

예를, 웹 페이지가 로딩되거나, 어떠한 동작(Event) 하나가 30초 이상이 걸린다고 상상해보자.

그렇게 되면, 웹 페이지는 이 동작이 끝날 때까지 화면에 나타나지 않거나 다음 동작을 수행하는데 지장을 주게 된다.

또, 요즘 사용자들은 느리고 응답이 없는 웹 사이트를 원하지 않는다.

그렇기 때문에 자바스크립트가 웹 사이트에서 동작할 때, 비동기적으로 동작할 수 있어야 한다.

싱글 스레드 vs 멀티 스레드

  • 스레드
    • 프로세스가 할당받은 자원을 이용하는 실행의 단위
    • 한 프로세스 내에서 동작하는 여러 실행 흐름의 단위
    • 하나의 프로세스를 다수의 실행 단위인 스레드로 구분
  • 싱글 스레드
    • 하나의 프로세스에서 오직 하나의 스레드 실행
    • 하나의 레지스터와 스택으로 표현이 가능
    • 프로그래밍 난이도가 쉽고 비용이 적게듬
    • 에러 처리를 못하는 경우 작업이 멈춤
  • 멀티 스레드
    • 둘 이상의 스레드를 동시에 실행하는 기술
    • 프로세스 내에서 자원을 공유하여 자원 생성과 중복을 최소화
    • Context Switching 이 아주 빠르게 일어나면서, 사용자의 시선에서는 동시에 실행되는 것 처럼 보임

AWS 보안그룹

인바운드 규칙(외부 -> 인스턴스)과 아웃바운드 규칙(인스턴스 -> 외부)을 설정하여 여러 가지 트래픽을 제어 할 수 있다.
(ex: 80번 포트는 모든 트래픽을 허용하지 않고 내 IP주소로 들어오는 것만 허용한다. )

REST API

REST API란 REST를 기반으로 만들어진 API를 의미

REST란

  1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
  2. HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해
    해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.

REST의 특징

Server-Client(서버-클라이언트 구조)
Stateless(무상태)
Cacheable(캐시 처리 가능)
Layered System(계층화)
Uniform Interface(인터페이스 일관성)

REST API 설계

  1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
  2. 마지막에 슬래시 (/)를 포함하지 않는다.
  3. 언더바 대신 하이폰을 사용한다.
  4. 파일확장자는 URI에 포함하지 않는다.
  5. 행위를 포함하지 않는다.
profile
개발자 꿈나무

0개의 댓글