프로그래밍 언어/Node.js

    [node.js] global

    브라우저의 window와 같은 전역 객체 window.open 메서드를 그냥 open으로 호출할 수 있는 것처럼 global도 생략 가능 require 절에서도 global.require 이다. console창도 global.console 노드에서는 DOM 이나 BOM이 없어 window와 document객체를 사용할 수 없다. 노드에서 window와 document 사용하면 오류남 global 객체의 남용 global 객체의 속성에 값을 대입해 파일 간에 데이터를 공유할 수 있지만 남용은 금물 프로그램의 규모가 커질수록 어떤 파일에서 global 객체에 값을 대입했는지 찾기 힘들어서 유지보수에 어려움을 겪게 된다. 다른 파일의 값을 사용하고 싶다면 모듈 형식으로 만들어서 명시적으로 값을 불러와서 사용하..

    [node.js] LTS , Current 버전 차이

    LTS : 기업을 위해 3년간 지원하는 버전 짝수 버전만 LTS버전이 될 수 있다 서버를 안정적으로 운영을 해야 할 경우에만 선택하기 최신기능은 사용하지 못 할 수 있음 Current : 최신 기능을 담고 있는 버전 다소 실험적인 기능이 들어있음 서버에 신기능이 필요하거나 학습용으로 사용할 때 적합 짝수 버전은 LTS가 되기 때문에 Current 일 때부터 사용하는 것을 고려

    [node] 기본 개념

    노드 서버는 I/O가 많은 작업에 적합하다. 노드 외의 서버를 개발하다 보면 Apache, nginx , IIS 처럼 별도의 웹 서버를 설치해야 하는 경우도 있다. 나중에 서버의 규모가 커지면 결국 ngnix 등의 웹 서버를 노드 서버와 연결해야 한다. 노드는 생산성은 좋지만, 비동기에 장점을 보이는 Go나 ngnix처럼 정적 파일 제공, 로드 밸런싱에 특화된 서버에 비해서는 속도가 느리다. 노드는 개수는 많지만 크기가 작은 데이터를 실시간으로 주고 받는 데 적합하다. 네트워크나 데이터베이스, 디스크 작업 같은 I/O에 특화되어 있기 때문이다. 실시간 채팅 어플리케이션이나 주식 차트, JSON 데이터를 제공하는 API서버가 노드를 많이 사용한다. CPU를 많이 사용하는 작업(이미지, 비디오 처리, 대규모..