소켓을 통해 프로세스들은 IP 주소와 포트를 통해 통신할 수 있다. 소켓을 이용한 프로세스 간 통신(IPC)은 동일한 서버에 존재하는 프로세스 간 통신뿐만 아니라 다른 서버에 존재하는 프로세스 간 통신에도 사용할 수 있다. Node.js는 net 모듈을 제공해 소켓 서버와 클라이언트 생성을 지원한다. 네트워크 소켓 이해 네트워크 소켓은 컴퓨터 네트워크를 통한 통신의 종단에 위치한다. 소켓은 HTTP 계층 아래에 존재하고, 서버 간의 지점 대 지점 point to point 통신을 제공한다. 인터넷 통신은 인터넷 소켓에 바탕을 두고 있다. 소켓은 IP 주소와 포트의 조합으로 구성된 소켓 주소를 사용해 동작한다. 소켓 연결은 두 가지 형태(서버, 클라이언트)로 존재하며 서버는 연결을 수신하고, 클라이언트는 ..
ajax, 부트스트랩, 제이쿼리 GET방식 - 클라이언트로부터 데이터를 이름과 값이 결합된 스트링 형태로 전달, 데이터 베이스에 대한 질의 데이터와 같은 요청 자체를 위한 정보를 전송할 때 사용 POST방식 - 클라이언트와 서버간에 인코딩하여 서버로 전송, 헤더를 통해 전송되는 방식, 데이터베이스에 대한 갱신 작업과 같은 서버측에서 정보 갱신 작업을 원할 때 사용 리다이렉트는 현재페이지를 다른페이지로 보내는 것을 말한다. 포워드와는 다르게 리다이렉트는 클라이언트단에서(브라우저) 발생하게 되고 결과적으로 보면 새로운 URL로 요청이 다시 일어나도록 하는 것이다 AJAX - Asynchronous JavaScript And XML 대화식 웹 애플리케이션의 제작을 위한 웹 개발 기법 HTML, CSS, DOM..
Node.js의 가장 중요한 용도 중 하나는 빠르게 HTTP나 HTTPS 서버를 구현하는 데 있다. URL 처리 URL(Uniform Resource Locator) 단일 자원 위치지정자는 HTTP 서버가 클라이언트의 요청을 처리하는데 사용하는 주소와 같은 역할을 한다. Node.js에서는 URL 정보를 효율적으로 사용하기 위해 url 모듈을 사용한다. 이는 URL 문자열을 URL 객체로 변환하는 기능을 한다. //아래는 URL 문자열을 파싱해 객체로 만든 후 다시 문자열로 변환하는 예이다. var url = require('url'); var urlStr = 'http://user:pass@host.com:80/resource/path?query=string#hash'; var urlObj = url...
스캐폴딩(건물을 처음 시공할 때 그 주위에 강관과 발판을 연결해 작업자들이 이동할 수 있는 엉성한 구조물) - express에서는 프로젝트를 시작할 때 스캐폴딩을 생성하는 유틸리티를 제공한다. 쉽게 템플릿이라고 생각하면 된다. npm은 프로젝트 의존성과 메타데이터를 package.json 파일에 보관해서 관리한다. npm init - 명령어 사용 express를 쓰지 않았을 때와 썼을 때의 차이(현재까지) path를 정규화하여 직접 쿼리스트링과 마지막 슬래쉬를 없애고 많은 곳에 신경을 써야 했다면 express를 통해서 편리하게 서버동작을 수행시킬 수 있다. 뷰와 레이아웃 뷰 - 사용자에게 전송되는 것(HTML, PNG 등) express는 여러 가지 뷰 엔진을 지원하며 이들이 제공하는 추상화를 할 수 ..
Node.js는 fs모듈을 통해서 파일 시스템과 상호 작용을 위한 좋은 인터페이스를 제공한다. fs모듈 - 파일 생성, 읽기, 쓰기, 상호 작용을 위한 표준 파일 접근 API를 포함한다. var fs = require('fs'); require() To require modules. See the Modules section. require isn't actually a global but rather local to each module. 모듈을 요구하기 위해 사용되며 전역적이 아니라 지역적으로 사용된다. module A reference to the current module. In particular module.exports is used for defining what a module expor..
Node.js 웹 애플리케이션과 서비스를 구현하는데 일반적으로 많이 사용하는 데이터 형식은 JSON(JavaScript Object Notation, 자바스크립트 객체 표기 방식)이다. JSON은 자바스크립트 객체를 문자열로 변환하거나 또한 반대로 변환하는 작업을 진행하는데 매우 경량화된 방법이다. 그리고 데이터 객체를 직렬화해 클라이언트에서 서버로 전달하거나 프로세스에서 프로세스 전달, 스트림에서 스트림으로 전달, 데이터베이스에 저장 시에도 잘 동작한다. 이에 대한 장점이다. 1. JSON이 XML보다 훨씬 효율적이고 필요한 문자 수도 더 작다. 2. JSON을 직렬화하거나 역직렬화하는 편이 XML을 직렬화/역직렬화를 하는 편보다 빠르다. 3. JSON은 자바스크립트의 문법과 유사하기 때문에 개발자의 ..