>  기사  >  웹 프론트엔드  >  Nodejs를 배우는 목적은 무엇인가요?

Nodejs를 배우는 목적은 무엇인가요?

藏色散人
藏色散人앞으로
2022-08-08 10:50:092174검색
프론트엔드 지식은 매우 빠르게 업데이트됩니다. 많은 사람들이 개발 중에 노드를 전혀 사용하지 않는 것 같은데 왜 계속 배워야 할까요?

사실 노드를 꼭 배워야 한다는 뜻은 아니지만, 직장에서 더 나은 발전을 위해, 특히 좀 더 고급 프로그래밍 사고를 배우려면 노드를 배우는 것이 필요합니다.

다음은 node 학습의 필요성에 대한 자세한 설명입니다[추천: node.js 동영상 튜토리얼]

1 node.js의 가장 기본적인 기능은 브라우저 없이도 js를 실행할 수 있도록 하는 것입니다. 노드를 잘 배우면 더 이상 "순수한 프론트엔드"가 아닙니다.
2. nodejs를 배우는 것은 프론트엔드 엔지니어링(NodeJS Stream)의 기초입니다.
3. 노드를 잘 배우면 서버사이드 API를 작성할 수 있습니다.
4. 중간 계층(확장 질문): 중간 계층이란 무엇인가요? )

중간 계층(BFF)은 애플리케이션 계층(Java)과 중간 계층이라고도 합니다. 아키텍처의 주요 역할은 다음과 같습니다.

  • 클라이언트 요청 수신
  • HTML 페이지 렌더링
  • Bigpipe, Comet, Socket
  • 병합 인터페이스 요청
  • 경로 사용자 정의
  • 데이터 캐싱

이제 왜 말해야 할까요? 프런트 엔드도 자체 API를 작성해야 하는 경우가 많습니까?

1. 클래식 2층 구조: 프런트엔드 + 서버
2. 3층 구조: 프런트엔드 + 백엔드 + 서버(현재 중대형 프로젝트에서 사용되는 구조)
3개의 서버 -티어 구조는 운영만 담당합니다. 데이터베이스는 데이터를 관리하고 데이터를 백엔드로 반환합니다. 이는 기본적으로 데이터 서비스를 포함하지 않습니다. -end가 개발되면 프론트 엔드에 대한 학습 비용이 가장 낮기 때문에 nodejs가 선호됩니다.

평생 순수 프런트엔드가 되는 직업이라면 nodejs를 배울 필요가 없습니다. 하지만 사실 평생 순수 프런트엔드가 되기는 어렵습니다. 35세가 되면 당신이 가진 능력은 '벽돌 옮기기'뿐이므로 직장에서의 가치는 점점 낮아지게 된다.

CTO는 서버 측 엔지니어가 맡는 경우가 많습니다


이유:

1. 회사 전체의 기술 아키텍처를 설계해야 합니다.

2. 회사 전체의 관점에서 문제를 고려해야 합니다.3. 가장 중요한 자산: 데이터(데이터를 제어하는 ​​사람, 말할 권리가 있는 사람)


노드를 잘 배운다고 해서 CTO가 될 수 있다는 의미는 아니지만, 적어도 프론트 엔드 작업 공간의 지위를 크게 향상시킬 수 있습니다.
기술적으로 말하면, 자신의 능력을 사용하여 독립적으로 프로젝트나 제품을 완성하는 것은 매우 성취감 있는 일입니다.

이전의 이유가 모두 제거되더라도 순수한 프런트엔드로서 학습 노드는 프로그래밍 사고를 키우고 문제에 대한 사고에 대한 관점을 확장할 수 있습니다.

NodeJ의 장점, 단점 및 적용 가능한 시나리오

NodeJ의 두 가지 주요 기능: 이벤트 기반, 비차단 I/O그래서 NodeJs의 두 가지 가장 큰 장점

1은 다른 제품에 비해 높은 동시성을 처리합니다. -end 언어를 사용하면 각 연결에 대해 새 OS 스레드를 생성하고 이에 대한 지원 메모리를 할당하는 대신 각 연결은 NodeJS 엔진 프로세스에서 실행되는 이벤트(이벤트)를 내보내고 이를 이벤트 큐에 넣습니다.

2 .I/ O 집약적 애플리케이션

JavaScript의 단일 스레드 특성으로 인해 NodeJ는 CPU 집약적 애플리케이션에 적합하지 않습니다. CPU 집약적 애플리케이션이 Node에 가져오는 주요 과제는 다음과 같습니다. 장기 실행 컴퓨팅(예: 대규모 루프)으로 인해 CPU 타임 슬라이스가 해제되지 않아 후속 I/O가 시작될 수 없게 됩니다.
해결책: 대규모 컴퓨팅 작업을 여러 개의 작은 작업으로 분할하여 컴퓨팅이 I/O 호출을 차단하지 않고 적시에 해제할 수 있습니다.


NodeJs에 적용 가능한 시나리오

:

RESTful API
    이것은 NodeJS에 대한 가장 이상적인 애플리케이션 시나리오입니다. 수만 개의 연결을 처리할 수 있습니다. 로직 자체는 많지 않고 API를 요청하고 데이터를 정리하기만 하면 됩니다. 본질적으로 일부 데이터베이스에서 일부 값을 찾아 응답으로 구성합니다. 응답은 소량의 텍스트이고 인바운드 요청은 소량의 텍스트이므로 트래픽이 높지 않으며 단일 시스템으로 가장 바쁜 회사의 API 요구 사항도 처리할 수 있습니다.

  • 웹 애플리케이션의 UI 레이어 통합
  • 현재 MVC 아키텍처에는 어떤 의미에서 웹 개발에는 두 개의 UI 레이어가 있습니다. 하나는 브라우저에서 최종적으로 볼 수 있는 레이어이고, 다른 하나는 생성을 담당하는 서버 측에 있습니다. 그리고 스티치 페이지.

  • Ajax 요청 수가 많은 애플리케이션
  • 예를 들어, 각 사용자가 다른 페이지를 보고 캐시가 유효하지 않으며 NodeJS가 응답할 수 있을 때 Ajax 요청이 시작되어야 하는 개인화된 애플리케이션입니다. 다수의 동시 요청
    요컨대 NodeJS는 동시성이 높고 I/O 집약적이며 비즈니스 로직이 적은 시나리오에 사용하기에 적합합니다



위 내용은 Nodejs를 배우는 목적은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jianshu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제