목록Node.js/Node.js(Lv.1) (5)
차근차근

0. API Application Programming Interface 이전까지 만들었던 것은 Node.js가 가지고있는 기능들을 호출함으로써 동작하게 된다. 예를 들어, fs.readFile을 보자. 이 함수는 node.js를 만든 개발자들이 만든 것이다. 우리는 이 함수가 어떤 원리로 동작하는지 모른다. node.js를 만든 개발자들은 node.js를 이용하는 개발자들에게 사용설명서를 이용해 사용하라고 한다. 두 개발자 사이의 약속이 interface이다. 이렇게 application을 만들기 위해 제공되는 interface를 Application Programming Interface 즉, api 라고 한다. 1. CreateServer API : http.createServer([requestL..

0. 입력정보에 대한 보안 만약 id, password를 이용해서 접속을 하려고 한다. 그럴때 id, password가 페이지 소스에서 보여지면 안된다. 그것을 막기 위해 다음과 같이 처리한다. 1. 출력에 대한 보안 만일 alert나 와 같은 것을 description에 넣으면 경고창이 뜨거나 튕긴다. 그것을 보안하기 위해서 이런식으로 수동으로 바꿔 줄 수 있다. 그러나 수동으로만 해결할 수는 없는 일이다. 그래서 다음 명령어로 sanitize-html을 설치한다. 와 같은 것을 걸러준다. 또한 허용되는 태그를 가지고 싶다면 allowedTags 옵션을 주어서 제외시키면 된다. 다음과 같이 사용한다.

0. 객체의 형식 배열과 객체 모두 정리정돈 하는 도구이다. 배열은 각각의 원소들은 순서가 있고 키값이 숫자이다. 객체는 각각의 원소들이 순서가 없고 키값이 숫자가 아니어도 된다. 1. Refactoring 앞에서 짠 코드를 객체를 이용해서 Refactoring해보면 다음과 같다. 다른 부분의 코드도 이 객체에 따라 수정해야한다. 2. Module 객체가 많아지면 모듈로 정리한다. exports와 require를 이용한다. 3. 모듈 활용 모듈을 활용하여 코드를 고치면 다음과 같다. 또한 template.js 에서 보듯 변수를 사용하지 않고 module.exports를 바로 이용할 수 있다.

0. 동기 & 비동기 동기(Synchronous) : 일이 처리되면서 그 일이 오랫동안 처리되야 되는 경우에도 기다렸다가 그 다음 일을 처리하는 것이 동기적으로 일을 처리하는 것이다. 비동기(Asynchronous) : 병렬적으로 동시에 여러가지 일을 처리하는 것이 비동기적으로 일을 처리하는 것이다. nodejs는 비동기적 처리를 위한 많은 기능을 가지고 있다. 효율적이지만 복잡하다. 동기적인 방식은 다음과 같다. sample.txt에는 'B'가 적혀있다. 실행결과 ABC가 출력된다. 다음은 비동기적인 방식이다. 실행결과 ACB가 출력된다. 1. callback함수 이름이 없는 함수를 익명함수라고 한다. 2. Package Manager PM2 와 같은 프로그램이 있다. 우리가 node를 실행했을 때 파..

0. URL http://opentutorials.org:3000/main?id=HTML&page=12 http -> protocol opentutorials.org -> host(domain)(인터넷에 접속되어 있는 각각의 컴퓨터를 host라고 한다.) 3000 -> port(한 대의 컴퓨터에 여러 대의 서버가 있을 수 있다. 그러면 클라이언트가 접속했을 때 어떤 서버와 연결할지 애매하다. 그래서 port를 설정해준다. main -> path id=HTML&page=12 -> query string(웹서버에 데이터를 전달할 수 있다. 시작은 ?로 함. 값과 값은 &로 구분한다. 1. 동적인 웹페이지 만들기 http://localhost/?id=HTML 에서 id=HTML을 query string이라고 ..