프로그래밍 언어/HTML,CSS,JS

Node.js를 언제 사용할지 결정하는 방법

Rateye 2021. 11. 11. 10:50
728x90
반응형
질문 : Node.js를 언제 사용할지 결정하는 방법은 무엇입니까?

나는 이런 종류의 것에 익숙하지 않지만 최근 Node.js 가 얼마나 좋은지에 대해 많이 들었습니다. 일반적으로 jQuery와 JavaScript로 작업하는 것을 얼마나 좋아하는지 고려할 때 Node.js를 언제 사용할지 결정하는 방법이 궁금합니다. 제가 염두에두고있는 웹 애플리케이션은 Bitly 와 같은 것입니다. 일부 콘텐츠를 가져 와서 보관합니다.

지난 며칠 동안했던 모든 숙제에서 다음과 같은 정보를 얻었습니다. Node.js

  • 일반 웹 서버로 실행할 수있는 명령 줄 도구이며 JavaScript 프로그램을 실행할 수 있습니다.
  • 훌륭한 V8 JavaScript 엔진을 활용합니다.
  • 동시에 여러 작업을해야 할 때 매우 좋습니다.
  • 이벤트 기반이므로 Ajax 와 유사한 모든 멋진 작업을 서버 측에서 수행 할 수 있습니다.
  • 브라우저와 백엔드간에 코드를 공유 할 수 있습니다.
  • MySQL과 대화 할 수 있습니다.

내가 만난 몇 가지 출처는 다음과 같습니다.

Node.js가 Amazon의 EC2 인스턴스에서 거의 즉시 실행될 수 있다는 점을 고려할 때 PHP , PythonRuby 와 같은 강력한 왕과 달리 Node.js가 필요한 문제 유형을 이해하려고합니다. . 나는 그것이 실제로 언어에 대한 전문 지식에 달려 있다는 것을 이해하지만 내 질문은 다음과 같은 일반적인 범주에 더 가깝습니다. 특정 프레임 워크를 사용할 때와 특히 어떤 유형의 문제에 특히 적합합니까?

답변

Node.js의 멋진 점을 요약 해 주셨습니다. 내 느낌은 Node.js가 브라우저에서 서버로의 지속적인 연결을 유지하려는 애플리케이션에 특히 적합하다는 것입니다. "long-polling" 으로 알려진 기술을 사용하여 실시간으로 사용자에게 업데이트를 보내는 애플리케이션을 작성할 수 있습니다. Ruby on Rails 또는 Django 와 같은 많은 웹 거물에서 긴 폴링을 수행하면 각 활성 클라이언트가 하나의 서버 프로세스를 차지하기 때문에 서버에 엄청난 부하가 발생합니다. 이 상황은 타핏 공격에 해당합니다. Node.js와 같은 것을 사용할 때 서버는 열린 연결마다 별도의 스레드를 유지할 필요가 없습니다.

즉, 많은 클라이언트에게 서비스를 제공하기 위해 시스템 리소스를 거의 사용하지 않는 Node.js에서 브라우저 기반 채팅 애플리케이션 을 만들 수 있습니다. 이런 종류의 긴 폴링을 원할 때마다 Node.js는 훌륭한 옵션입니다.

Ruby와 Python 모두 이러한 작업을 수행 할 수있는 도구 ( 각각 eventmachinetwisted )가 있지만 Node.js가 처음부터 예외적으로 잘 수행한다는 점을 언급 할 가치가 있습니다. JavaScript는 콜백 기반 동시성 모델에 매우 적합하며 여기에서 탁월합니다. 또한 클라이언트와 서버 모두에 네이티브 JSON을 사용하여 직렬화 및 역 직렬화 할 수 있다는 것은 매우 멋집니다.

나는 여기에서 다른 답변을 읽기를 기대합니다. 이것은 환상적인 질문입니다.

Node.js는 클라이언트 / 서버 간극에서 많은 코드를 재사용 할 상황에도 적합하다는 점을 지적 할 가치가 있습니다. Meteor 프레임 워크 는 이것을 정말 쉽게 만들어 주며, 많은 사람들이 이것이 웹 개발의 미래가 될 것이라고 제안하고 있습니다. 경험상 Meteor에서 코드를 작성하는 것은 정말 재미 있다고 말할 수 있습니다. 그리고 이것의 큰 부분은 데이터를 재구성하는 방법에 대해 생각하는 시간을 줄여 브라우저에서 실행되는 코드를 쉽게 할 수 있다는 것입니다. 그것을 조작하고 다시 전달하십시오.

다음은 Pyramid 및 long-polling에 대한 기사입니다. gevent의 약간의 도움으로 매우 쉽게 설정할 수 있습니다. TicTacToe 및 Long Polling with Pyramid .

출처 : https://stackoverflow.com/questions/5062614/how-to-decide-when-to-use-node-js
728x90
반응형