본문 바로가기

개발 관련

(68)
LTS와 Current LTS란 Long Term Supported의 축약어로 이 LTS 버전은 서버 환경에서 안정적으로 동작하도록 지원하는 버전이다. 때문에 실제로 서버를 운영할 때에는 안정성과 보안이 중요하므로 LTS 버전을 사용하는 것이 좋다. Current 버전은 말 그대로 최신 기능을 포함한다. LTS 버전에 비해 최신 기능을 포함한다는 것이다. 새로운 기능을 추가하거나 기존 버그들을 우선적으로 수정하여 적용하므로 최신 기능을 사용하고자할 때는 Current 버전을 사용하는 것이 좋다.
JSON-RPC 서버 일단 JSON 부터 알아보자. JSON이란, JavaScript Object Notation의 축약어이다. 이름에서 알 수 있듯이 javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. 또한 어떤 형식으로 데이터를 주고받을지 정해 놓은 표준 데이터 포맷이다. 이 데이터는 Remote Procedure Call, 즉 RPC 방식으로 데이터를 주고 받는다. RPC는 서보 쪽에 함수를 만들어두고 클라이언트에서 함수를 호출하듯이 데이터를 요청할 수 있도록 만들어주는 표준이다. JSON과 RPC를 함께 사용하면 서버 쪽에 구축해야 하는 기능을 함수별로 명확하게 구분하여 만들 수 있다. 이 때문에 서버의 유지 관리가 쉬워진다. 즉, JSON-RPC 서버란, 서버 쪽에 함수를 만들어 두고 클라이언트에서 ..
함수 1. 함수 리터럴 자바스크립트에서는 함수도 일반 객체처럼 값으로 취급된다. 다음과 같이 test라는 이름의 함수를 정의해 보자. function test(){ // 함수 내용 } 함수는 function이라는 키워드로 생성한다. 함수명은 일단 test라고 임의로 지었으나, 적절한 이름으로 지어주면 된다 매개변수는 함수명 test 뒤 소괄호()에 적어준다. 2. 함수 선언문 방식으로 함수 생성하기 함수 선언문 방식은 1번에서 설명한 함수 리터럴 형태와 같다. 단, 함수 선언문 방식으로 정의된 함수의 경우 반드시 함수명이 정의되어 있어야 한다. 다음과 같이 함수를 정의하고, 호출해보자. function add(x, y){ return x + y; } console.log(add(3,4)); // 7 3. 함수..
연산자 1. + 연산자 + 연산자는 다음과 같은 기능을 수행한다. 더하기 연산 문자열 연결 연산 var addNum = 1 + 2; console.log(addNum); // 출력값: 3 var addString = 'test' + 'string'; console.log(addString); // 출력값 : teststring var stringNum = 'test' + 2; console.log(stringNum); // 출력값 : test2 var numString = 2 + 'test'; console.log(numString); // 출력값: 2test 위와 같이 두 연산자가 모두 숫자일 경우에만 더하기 연산이 수행되고, 나머지는 문자열 연결이 이루어진다. 2. typeof 연산자 앞서 배열에서 살펴봤듯..
배열 1. 자바스크립트에서 배열이란 자바스크립트에서 배열은 C나 자바의 배열과 같은 기능을 하지만, 이들과는 다르게 굳이 크기를 지정하지 않아도 되며, 어떤 위치에 어느 타입의 데이터를 저장하더라도 에러가 발생하지 않는다. 2. 배열 생성하기 배열 리터럴은 자바스크립트에서 새로운 배열을 만드는 데 사용하는 표기법이다. 객체 리터럴이 중괄호({})로 생성했다면, 배열은 대괄호([])를 사용한다. 다음과 같이 말이다. var newArray = ['java', 'c', 'python', 'ruby', 'go']; console.log(newArray[0]); // java 출력 console.log(newArray[2]); // python 출력 console.log(newArray[3]); // ruby 출력 ..
call by value와 call by reference 1. call by value 기본 타입의 경우, 값에 의한 호출, 즉 call by value 방식은 함수 호출 시 인자로 기본 타입의 값을 넘겨, 호출된 함수의 매개변수로 복사된 값이 전달된다. 복사된 값이 전달되기 때문에 함수 내부에서 매개변수를 이용해 값을 변경해도, 실제로 호출된 변수의 값이 변경되지는 않는다. 2. call by reference 앞서 말한 값에 의한 호출과는 달리, 객체와 같은 참조 타입의 경우, 참조에 의한 호출 방식으로 동작한다. 즉, 함수를 호출할 때 인자로 참조타입인 객체를 전달할 경우, 객체의 프로퍼티값이 함수의 매개변수로 복사되지 않는다. 전달되는 값은 인자로 넘긴 객체의 참조값이다. 때문에 함수 내부에서 참조값을 이용해서 인자로 넘긴 실제 객체의 값을 변경할 수 ..
자바스크립트 핵심 개념 1. 객체 자바스크립트의 거의 모든 것은 객체이다. 기본 데이터 타입인 boolean, number, string, 그리고 특별한 값인 null, undefined을 제외한 나머지는 모두 객체이다. 하지만, boolean, number, string의 세 가지 기본 데이터 타입은 모두 객체처럼 다룰 수도 있다. 때문에, 자바스크립트는 null과 undefined를 제외한 모든 것을 객체로 다룰 수 있다. 2. 함수 자바스크립트에서는 함수도 객체로 취급된다. 3. 프로토타입(Prototype) 모든 객체는 숨겨진 링크인 프로토타입을 가진다. 이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다. 4. 실행 컨텍스트와 클로저 자바스크립트는 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이..
미디어 타입 HTTP는 웹에서 전송되는 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙여, 인터넷에서 다루는 수천가지 데이터 타입을 관리한다. 즉, 웹 서버는 모든 HTTP 객체 데이터에 MIME 타입을 붙인다. 이 때 MIME는 Multipurpose Internet Mail Extensions로 다목적 인터넷 메일 확장이라 불린다. MIME 타입은 사선(/)으로 구분되며, 주 타입/부 타입 으로 이루어진다. ex) text/html, image/jpeg