자바스크립트에서 호이스팅은 변수 및 함수 선언이 스코프의 최상단으로 끌어올려지는 현상을 말합니다.
var x; console.log(x); // undefined 값이 핟당 되기 전이라 x = 5; console.log(x) // 5출력, 변수 선언을 끌어 올리지만 값까지 함께 끌어올리지는 않는다.
sayHello(); // "Hello, world!"
function sayHello() {
console.log("Hello, world!");
}
API(Application Programming Interface)는 프로그램 간 상호작용을 돕는 매개체로
서로의 음성을 전달하는 전화기 같은 역할을한다.
본인(프로그램)이 전화기(API)에 목소리를 전달(요청)하면 전화기가 알아듣고 상대방에게 전달(요청)하고
상대방은 그걸 알아듣고 다시 응답(데이터)을 전화기(API)에게 전하면 전화기가(API) 본인(프로그램에게)에게 응답(데이터)을 전해준다.
자원(Resource)을 이름으로 구분하여 해당 자원의 상태를 주고받는 아키텍처 스타일을 나타냅니다
REST의 원리를 따르는 API를 의미합니다.
REST는 자원을 표현하고 해당 자원에 대한 행위를 HTTP Method를 통해 수행하는 아키텍처 스타일을 말합니다
REST API를 올바르게 설계하기 위해서는 몇 가지 규칙을 준수해야 합니다
RESTful은 REST 원리를 따르는 시스템을 의미합니다.
REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTFUL하다 말할 수 있으며
모든 CRUD 기능을 POST 처리하는 API 혹은 URI 규칙을 올바르게 지키 못한 시스템은
REST API를 사용하였지만 RESTFUL 하지 못한 시스템이라 할 수 있습니다.
RESTFUL 시스템은 모든 CRUD(Create, Read, Update, Delete) 기능을 각각의 HTTP 메서드에 맞게 지원해야 합니다. 예를 들어, GET은 조회, POST는 생성, PUT 또는 PATCH는 수정, DELETE는 삭제를 담당합니다.
RESTFUL 시스템은 URI를 명확하고 직관적으로 사용해야 합니다. 동사보다는 명사를 사용하고, 대문자 대신 소문자를 선호하며, 언더바 대신 하이픈을 사용하는 등의 URI 설계 규칙을 지켜야 합니다.
RESTFUL 시스템은 자원 간의 상태 전이를 명확하게 정의하고, 표현의 일관성을 유지해야 합니다. 자원의 상태는 HTTP 메서드를 통해 변화하며, 데이터 표현은 일관된 형식을 취해야 합니다.
RESTFUL 시스템은 무상태성을 유지해야 합니다. 각 요청은 서버에 대한 이전 요청의 상태에 의존하지 않아야 합니다.
RESTFUL 시스템은 HATEOAS 원칙을 따라야 합니다. 이는 서버로부터의 응답에 클라이언트가 필요한 정보와 다음에 취할 수 있는 액션을 담은 링크가 포함되어 있어야 한다는 원칙입니다.
동기는 업무를 웹에서 수행하다 서버에 바통(요청)을 넘긴다. 기다렸다가 서버에서 바통(응답)을 다시 넘겨주면 다시 웹에서 업무를 수행합니다.
비동기는 바통이 두 개다! 서버에 요청을 줘도 웹에서 업무를 이어서 수행할 수 있습니다.
끊김(지연) 없이 작업을 하고 싶을 때 비동기 방식을 선택합니다.
동기는 주로 간단하고 순차적인 작업을 처리할 때 선택합니다. 하나의 작업이 완료될 때까지 다음 작업을 기다리는 특성이 있습니다.
null: 명시적으로 값이 없음을 나타내는 원시 데이터 타입입니다. 변수에 null을 할당하면 해당 변수는 값이 없음을 나타냅니다.
undefined: 객체의 프로퍼티에 접근했는데 값이 없을 때, 변수를 선언하고 값을 할당하지 않았을 때, undefined가 반환됩니다.
뷰(View): 데이터의 템플릿이며 사용자에게 표시되는 부분을 담당합니다. 뷰는 화면의 구조, 레이아웃 등을 정의하고 화면에 어떻게 나타낼지를 결정합니다.
메소드(Method): 객체 내에서 특정 작업이나 동작을 수행하는 함수를 의미합니다. 메소드는 객체에 속하며 해당 객체의 특정 동작을 담당합니다.
컴퓨티드(Computed): 특정 데이터의 계산을 담당하는 속성으로, 데이터의 변화에 따라 동적으로 값을 갱신합니다. 컴퓨티드 속성은 종종 특정 조건에 기반하여 다른 데이터를 계산하거나 필터링하는 데 사용됩니다.
Ajax(Asynchronous JavaScript and XML): 비동기적으로 서버와 브라우저가 데이터를 교환하는 기술입니다.
지연이 없는, 자연스럽게 움직이는 웹을 서비스하고자 한다면 Ajax를 사용해야 합니다.
웹 페이지가 다시 로딩되지 않아도 원하는 부분을 갱신할 수 있어 사용자 경험을 향상시킵니다.
Ajax를 통해 JSON 또는 XML 형태로 필요한 데이터만 비동기적으로 받아와 갱신할 수 있습니다.
Ajax를 사용하면 전체 페이지를 새로 고치지 않고도 필요한 데이터만 업데이트하여 서버와 브라우저 간의 통신을 효율적으로 처리할 수 있습니다.