Home 동기vs비동기, MVC, REST
Post
Cancel

동기vs비동기, MVC, REST

최근에 면접준비를 하면서 기본 CS지식이 많이 부족하고 공부가 필요하다고 느꼈다. 학교를 다니면서 분명히 시험도 보고 외웠던 부분이지만 거의 기억이 안나고 애매하게 기억하고 있었다. 알고리즘도 공부하면서 CS지식도 다시 복습할겸 확실하게 정리하고 넘어가려고 한다.

동기 vs 비동기

차이점은 동기는 ‘직렬’이고 비동기는 ‘병렬’이다.

동기비동기

출처 :https://adrianmejia.com/asynchronous-vs-synchronous-handling-concurrency-in-javascript/

왼쪽이 비동기 방식, 오른쪽이 동기 방식이다.

비동기는 한번에 여러 테스크가 동시에 병렬적으로 실행하는 것이고 동기는 한 테스크가 끝나야 다른 테스크가 실행되는 방식이다. 총 실행시간은 동기가 더 오래걸린다.

MVC

MVC는 Model + View + Controller로 사용자가 컨트롤러를 조작하면 컨트롤러는 모델을 통해 데이터를 가져와 데이터를 View에 넣어 그것을 보여주는 것이다.

MVC

출처 : https://velog.io/@khy226/MVC-%ED%8C%A8%ED%84%B4%EC%9D%B4%EB%9E%80

Rest

Representational State Transfer의 약자로 네트워크 상에서 Client와 Server사이의 통신 방법 중 하나이다. 정확히는 URI(Uniform Resource Identifier)을 통해 자원을 명시하고 HTTP 메소드(GET, POST, PUT, DELETE)를 통해 CRUD를 적용하는 것이라곤 하는데 무슨 말인지 쉽게 이해되질 않는다;;

먼저, 용어들부터 정리해보자.

URL vs URI

URL : Location 즉 위치를 가르키는 것으로 흔히 웹 주소라고 한다.

URI : Identifier 자원을 식별하는 식별자를 의미한다.

HTTP 메소드

  1. GET : 서버로부터 데이터를 취득하는 것으로 조회하거나 데이터를 가져올때만 사용한다. (READ)

  2. POST : 서버에 데어터를 추가, 작성하는 것이다. (CREATE)

  3. PUT : 서버에 데이터를 수정할 때 사용한다. (UPDATE)

  4. DELETE : 서버에 데이터를 삭제할 때 사용한다. (DELETE)

CRUD

C : CREATE

R : READ

U : UPDATE

D : DELETE

이제 쉽게 해석해보자면 URI(식별자)를 통해 자원을 명시하고 HTTP 메소드를 통해 데이터를 생성/조회/갱신/삭제를 적용하는 것이다.



🔍 그러면 REST는 왜 필요할까?

최근에 서버 프로그램은 다양한 브라우저와 안드로이드, ios같은 디바이스와 통신이 가능해야하고, 어플리케이션을 분리 및 통합하는 과정에서 REST가 적합하다고 한다.

This post is licensed under CC BY 4.0 by the author.