SW
[Node.js] 노드 & 자바스크립트 본문
0. 노드란?
- 노드를 만든 이유는 그 당시 웹 서버에 파일을 업로드 할 때, 업로드가 완료되기 전까지 웹 서버에서 데이터를 조회한다던가 하는 등의 다른 작업을 할 수 없었다. 이 문제를 해결하기 위해 만든 새로운 서버 개발 도구가 노드이다.
- 웹 브라우저를 통해 내 PC에 있는 문서 파일 하나를 업로드 하고 싶다면 먼저 웹 서버에 업로드를 요청해야 한다.
- 이때 웹 서버에는 파일 업로드 기능을 담당하는 핸들러(Handler)하나를 만들어 둔다.
- 비동기 입출력 방식을 적용하였다.
- 프로그램에서 해당 파일의 내용을 처리할 수 있는 시점이 되면 콜백 함수가 호출된다.
- 자바스크립트에서는 변수에 함수를 할당할 수 있다. 따라서 변수에 할당된 함수를 다른 함수의 파라미터로 전달할 수 있다. 이렇게 파라미터로 전달된 함수를 다른 함수의 내부에서 호출하는 것이 콜백 함수이다.
- 노드는 기본적으로 자바스크립트를 프로그램밍 언어로 사용하며 비동기 입출력, 이벤트 기반 입출려가 모듈과 패키지 라는 세 가지 중요한 특징이 있다.
1. 노드의 특징
- console 객체는 전역 객체(Global Object)라고 부르며 필요할 때 코드의 어느 부분에서나 사용할 수 있다.
- js함수는 항상 값을 반환하도록 되어 있는데, 함수를 만들 때 값을 반환하는 코드를 만들지 않으면 undefined가 반환된다.
- 각각의 기능을 분리시킨 후 분리되어 있는 모듈 파일을 불러와서 사용할 수 있도록 exports전역 객체를 사용한다.
- 모듈을 불러올 때는 require()메소드를 사용하며, 모듈로 만들어 둔 파일의 이름을 이 메소드의 파라미터로 전달한다.
- require()메소드를 호출하면 모듈 객체가 반환되는데, 모듈에서 exports 객체에 설정한 속성들은 이 모듈 객체를 통해 접근할 수 있다.
- exports외에 module.exports도 사용 가능하다. exports에는 여러 개의 변수나 함수를 각각의 속성으로 추가할 수 있다.
- module.exports는 하나의 변수나 함수 또는 객체를 직접 할당한다.
- npm은 Node Package Manager의 약자로 노드의 패키지를 사용할 수 있도록 설치 및 삭제 등을 지원하는 프로그램이다.
2. 자바스크립트의 특징
- 자바스크립트는 자료형을 명시하지 않는다. 이 때문에 자바스크립트는 모든 변수를 var 키워드로 선언하고 사용한다.
- var키워드만 사용하므로 코드만 보아서는 변수를 명확히 알 수 없다. typeof사용하면 알 수 있다. 또한 문자열을 숫자로 변환할 수 있도록 parseInt(), parseFloat() 함수도 제공한다.
- 자바스크립트의 변수에는 함수도 할당할 수 있다.
- forEach() 메소드를 호출할 때 전달하는 함수에는 두 개의 파라미터가 들어가는데, 첫 번째는 배열의 각 요소이며 두 번째는 각 요소의 인덱스 값이다.
- splice : 여러 개의 객체를 요소로 추가하거나 삭제한다.
- slice : 여러 개의 요소를 잘라내어 새로운 배열 객체로 만든다.
'대학교 > BE' 카테고리의 다른 글
[Node.js] 간단한 웹 서버 만들기 (0) | 2020.02.14 |
---|---|
[Node.js] 노드의 기본 기능 (0) | 2020.02.12 |
[Node.js] 노드로 만들 수 있는 서버와 용도 (0) | 2020.02.12 |
[Flask] 기본 애플리케이션 구조 (0) | 2020.02.11 |
[Flask] CGI (0) | 2020.02.10 |
Comments