ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹 개발자에게 많은 관 ??
    카테고리 없음 2020. 2. 1. 03:34

    인터넷 서비스는, 유저의 요구에 재빠르게 반응하는 것이 중요하다. 생산성이 높은 Node.js는 인터넷 서비스 개발에 사용할 수 있는 좋은 도구이며, 기존의 코드를 고려하지 않아도 되는 새로운 서비스를 개발한다면 Node.js를 사용하는 것을 추천한다.웹 개발자들로부터도 많은 관심을 받고 있는 Node.js에 대해 알아보자.


    >


    Node.js란?웹 개발은 크게 두 가지로 나뉜다. 프론트엔드(Front-dend)와 백엔드(Back-end) 기술이다.프론트엔드는 웹페이지 디자인이 본인의 버튼 기능처럼 사용자가 바로 볼 수 있는 부분으로 백엔드는 사용자가 눈으로 볼 수 없는 후단 기술이다. 백엔드는 서버단기술로 불리기도 할 것입니다. HTML, CSS 등이 대표적인 프론트엔드 기술이며 DB 본인의 서버를 다루는 부분이 백엔드 기술이다.자바스크립트는 프론트엔드 분야에서 주로 활용되어 왔다. 그런데 노드JS가 등장하면서 그 용도가 완전히 바뀌었다.


    >


    노드JS라는 플레입니다. 워크 덕분에 자바스크립트로 서버단 기술까지 제어할 수 있게 된 웹 개발자들로부터 많은 관심을 받고 있으며, 최근에는 재단까지 설립되어 기술개발이 활발하게 이루어지고 있다.노드JS는 확장성이 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이었던 확장성이 있는 네트워크 어린이 애플리케이션을 개발하고 사용되는 소프트웨어 플랫폼으로, 자바스크립트를 활용하여 Non-blockin I/o와 단일 스레드 이벤트 루프에 의한 높은 처리 성능을 가진 특징이 있다.내장 HTTP 서버 라이브러리를 포함하여 웹 서버에서 아파치 등 별도의 소프트웨어 없이 동작할 수 있으며, 이를 웹 서버 동작에서 ᄆ 많은 통제를 친국어 나쁘지 않고 다양한 기능을 공급한다.


    >


    바꿔 말하면, 노드 JS는 자바스크립트 엔진 "V8"위에서 동작하는 이벤트 처리 I/O프레임워크였다. 서버 환경에서 자바스크립트로 애플리케이션을 작성할 수 있도록 지원한다.


    [노드JS와 일반 기존 서버와의 차이] 우선, 일반 서버와 Node.JS의 차이로 간단하게 비교해 보자.


    >


    기존의 서버 통신 방법은 각 클라이언트의 서버를 매개로 통신하기 위해 계속적인 메시지를 보내는 작업이 필요합니다.서버는 클라이언트의 메시지 요청을 확인하고 그 메시지를 다시 전달하는 방식이었다. 이런 방법을 스레드 기반의 동기 상실이라고 하는데 처리량이 많고 지상 스레드를 넘어뜨려서 동시에 처리합니다.하지만 복수로 처리하면 메모리 사용량이 많아져 서버 다운 현상이 나쁘지 않아 일어날 수 있다는 단점이 있다.


    >


    그러나, 노드 JS는 이벤트 베이스의 비동식 방식이기 때문에, 서버 측에 계속적인 메세지가 왔는지를 확인하는 클라이언트의 작업이 축소되어 서버에 부하가 적어진다. 쓰레드를 하과인만 사용해도 이벤트를 사용해 빠르게 처리하게 된다.자바스크립트는 스크립트를 하는데 이것은 클라이언트에서 해석되는 언어였다 그러면, 서버에서 해석되는 언어는 서버 사이드 스크립트라고 하는데, JSP, ASP, PHP와 노드 JS가 이에 해당한다.


    >


    [노드 JS의 특징] 하나. 노드JS의 장점은 비동기 프로그래밍이었던 동기 프로그래밍은 어떤 것인지 요청하면 결과를 바로 받는다는 것을 의미한다. 비동기는 이벤트를 요청하고 바로 결과를 받지 않아도 된다. 따라서 결과값을 기다리지 않고 보다 다양한 요청을 처리할 수 있다. 웹 분야에서는 비동기 프로그래밍을 쓰는 경우는 드물었지만 노드JS에서 비동기 프로그래밍을 비교적 쉽게 할 수 있게 됐다.


    >


    2. 프론트 엔드와 백엔드를 자바 스크립트와 같은 언어에 모두 다 함께 관리할 수 있는 것도 노드 JS의 큰 장점입니다.덕분에 웹 개발자들은 새로운 언어를 배우지 않고 기존 언어를 활용해 서버 기술을 빠르게 응용할 수 있게 됐다. 확장성도 노드JS의 장점입니다. 링크드인(Linked-in)이 본인의 페이팔(PayPal)도 노드JS를 도입하고 있으며 최근에는 중소기업용 노드JS 기술도 별도로 본인이 오고 있다. 다만 기술의 역사가 짧기 때문에 관련 예제본인 모듈의 완성도 등이 다른 언어에 비해 약간 부족하다는 점이 단점으로 지적되고 있다."노드 JS"가 유행을 리드하자"노드 JS"에서 기술 개발을 실시하는 중소 기업도, 가와모토인 두 사람이 등장했다. 대표적으로 2대 BDFL였던 어린 아이작 슐레부터는 npm라는 자바 스크립트 관련 패키지를 공유·관리하고 주는 서비스를 오픈 소스 프로젝트로 시작했다. 2014년에는 npm전문 스타트 업을 새로 비고 패키지를 보다 체계적으로 관리하고 있다. 아내 sound에는 노드JS 중심의 기술이 많았으나 최근에는 프론트엔드와 관련된 패키지가 모두 모여 있다. 현재 등록된 패키지의 수는 20만개인 사용자 수는 15만명을 넘어섰다.


    >


    [노드JS 적용된 대기업 사례] 해외에서 많이 사용되는 그 중 하본이나 전투기도 판다는 eBay가 대표적으로 기위 node.js가 적용되고 있으며 클라우드에서도 적용되고 있지만 그 예로 마이크로소프트의 윈도 Azure 서비스에서도 사용하고 있으며 node.js SDK를 배포하고 있다는 점만 보아도 노드JS가 많은 대기업이 적용하고 있음을 알 수 있다.노드JS를 대기업용 서비스로 확장하려는 움직임도 많다. 노드 소스라는 스타트 업 2014년 설립된 뒤'엔 솔리도우','엥시프' 같은 큰 기업용 노드 JS서비스를 제공하고 있다. 2015년에는 300만달러 한국 돈으로 약 35억원의 투자를 받기도 했다. 고객은 넷플릭스, 페이팔, 우버, 야후 등이 있다.


    >


    스트롱 루프 또 노드 JS업계에서 주목되는 스타트 업했지만 IBM이 20일 5년 인수했습니다. 노드JS와 합병한 io.js 프로젝트를 개발한 핵심 코미터(프로젝트 개발 공헌자)들도 스트론그룹에 소속돼 있었다. IBM은 최근 주력하고 있는 플랫폼 서비스(PaaS: Platform as a Service)인 '블루믹스'에 노드JS 기술을 확대하고 있다.이 밖에도 MS 인텔 레드햇 같은 기업들이 노드JS재단을 지원해 노드JS에 대한 투자를 늘 그랬던 것처럼 하고 있다.앞서 sound에 예기한 것처럼 인터넷 서비스는 사용자의 요구에 신속하게 반응하는 것이 중요하다. 생산성이 높은 node.js는 인터넷 서비스 개발에 사용할 수 있는 좋은 툴이며, 기존의 코드를 고려하지 않아도 되는 new 서비스를 개발한다면 node.js를 사용하는 것을 고려해도 좋을 것 같다.


    댓글

Designed by Tistory.