44장 REST API REST란? REpresentational State Transfer의 약자 HTTP/1.0과 1.1의 스펙 작성에 참여했고 아파치 HTTP 서버 프로젝트의 공동 설립자인 로이 펄딩의 2000년 논문에서 처음 소개되었음 발표 당시의 웹이 HTTP를 제대로 사용하지 못하고 있는 상황을 보고 HTTP의 장점을 최대한 활용할 수 있는 아키텍처로서 소개되었다. RESTful REST의 기본 원칙을 성실히 지킨 "서비스 디자인"을 RESTful하다고 표현한다. REST 아키텍처 스타일을 따르고 있는 것을 나타내는 형용사. 차이점 REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처 REST API는 REST를 기반으로 서비스 API를 구현한 것. 설계된..
14장 전역 변수의 문제점 변수의 생명 주기 변수는 생물처럼 생성되고 소멸되는 생명 주기(Life Cycle) 을 가진다. 변수에 생명 주기가 없다면 한번 선언된 변수는 프로그램을 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다. 변수는 자신이 선언된 위치에서 생성되고 소멸한다. 전역 변수의 생명 주기는 애플리케이션의 생명 주기와 같다. function foo() { var x = 'local'; console.log(x); // local return ; } foo(); console.log(x); // ReferenceError: x is not defined 지역 변수는 foo 함수 내의 변수 선언문이 호출되기 이전까지는 생성되지 않는다. 4.4절에서 보았듯이, 변수 선언은 선언문이 어디에 있..
문자열 관련 메서드 str.includes(substring) 주어진 문자열에 특정 문자열이 포함되어 있는지 여부를 판단한다. true 또는 false를 반환한다. str.indexOf(substring) 주어진 문자열에서 특정 문자열이 처음 등장하는 인덱스를 반환한다. 찾지 못할 경우 -1을 반환한다. str.repeat(count) 문자열을 주어진 횟수만큼 반복하여 새로운 문자열을 생성한다. Array(3).join(str) 주어진 문자열을 주어진 횟수만큼 반복하여 합쳐 새로운 문자열을 생성한다. .repeat() 메서드와 유사한 기능을 수행행다. 배열 관련 메서드 num_list.reduce(callback, initialValue) 배열 요소들을 순차적으로 처리하여 하나의 결과값을 반환한다. ca..
10. 객체 리터럴 객체란? 객체란? JavaScript에서 원시(Primitive) 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체(Object)이다. 원시 타입의 값은 변경 불가능한 값(immutable value)이지만, 객체는 변경 가능한 값(mutable value)이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)으로 구성된다. JS에서 사용할 수 있는 모든 값은 프로퍼티 값(value)이 될 수 있다. JS의 함수는 일급 객체이르모 값으로 취급할 수 있다. 프로퍼티 값이 함수일 경우, 메서드(method)라 부른다. var person = { name: 'Lee', age: 20, increase: function() { thi..