사실 노드를 꼭 배워야 한다는 뜻은 아니지만, 직장에서 더 나은 발전을 위해, 특히 좀 더 고급 프로그래밍 사고를 배우기 위해서는 노드를 배우는 것이 필요합니다.
다음은 노드 학습의 필요성에 대한 자세한 설명입니다. [추천: node.js 동영상 튜토리얼]
1. node.js의 가장 기본적인 기능은 브라우저 없이도 js를 실행할 수 있도록 하는 것입니다. 노드를 잘 학습하면 더 이상 노드를 사용할 수 없게 됩니다. "순수한 프런트엔드" "
2. nodejs를 배우는 것은 프론트엔드 엔지니어링(NodeJS Stream)의 기초입니다.
3. 노드를 잘 배우고 서버 측 API를 작성하고 독립적인 개발 프로젝트를 구현할 수 있습니다.
4. 중간 계층(확장 질문: 중간 계층이란 무엇입니까?)
중간 계층(BFF)은 애플리케이션 계층이라고도 하며 아키텍처에서 서비스 계층(Java)과 클라이언트 사이에 있습니다.
렌더링을 위한 클라이언트 요청을 수신합니다
왜 프런트엔드에서 자체 API를 작성해야 한다고 말씀하시나요?
1. 클래식 2계층 구조: 프론트엔드 + 서버
2. 3티어 구조 : 프론트엔드 + 백엔드 + 서버 (현재 중대형 프로젝트에서 사용하는 구조)
3계층 구조의 서버측은 데이터베이스 운영, 데이터 관리, 백엔드로의 데이터 반환만 담당합니다. 백엔드는 기본적으로 데이터 서비스를 포함하지 않으며 소위 중간 계층입니다. 프론트엔드가 개발되면, 학습비용이 프론트엔드가 가장 낮기 때문에 nodejs를 선호합니다.
평생 순수 프론트엔드가 되는 직업이라면 굳이 nodejs를 배울 필요는 없습니다. 그러나 사실 평생 순수 프론트엔드가 되기는 어렵습니다. 35 중 당신의 능력은 "벽돌을 옮기는 것" 뿐이므로 직장에서 그 가치는 점점 낮아질 것입니다.
다음과 같은 이유로
서버 측 엔지니어의 도움을 받는 경우가 많습니다
.1. 회사 전체의 기술 아키텍처를 설계해야 합니다.
2. 글로벌 관점에서 문제를 고려해야 합니다.
3. 회사의 가장 중요한 자산인 데이터를 제어해야 합니다. (데이터를 제어하는 사람은 누구나 말할 권리가 있습니다.)
노드를 잘 학습한다고 해서 CTO가 될 수 있다는 의미는 아니지만 적어도 프런트 엔드 작업 공간 상태를 크게 향상시킬 수 있습니다. .
기술적으로 말하면, 자신의 능력을 사용하여 프로젝트나 제품을 독립적으로 완성하는 것은 매우 성취감 있는 일입니다.
이전의 모든 이유가 제거되더라도 순수한 프런트 엔드로서 학습 노드는 프로그래밍 사고를 키우고 문제에 대한 사고에 대한 관점을 확장할 수 있습니다.
NodeJ의 장점, 단점 및 적용 가능한 시나리오
NodeJ의 두 가지 주요 기능: 이벤트 기반, 비차단 I/O
NodeJ의 가장 큰 장점 두 가지는
1. 높은 동시성을 처리합니다. 다른 백엔드 언어와 비교하여 각 연결은 각 연결에 대해 새 이벤트를 생성하는 대신 NodeJS 엔진 프로세스에서 실행되는 이벤트(이벤트)를 생성하고 이벤트 큐에 넣습니다. 일부 동반 메모리를 할당합니다.)
2. I/O 집약적 애플리케이션
JavaScript의 단일 스레드 특성으로 인해 NodeJ는 CPU 집약적 애플리케이션에 적합하지 않습니다. CPU 집약적 애플리케이션이 Node에 가져오는 주요 과제는 다음과 같습니다. JavaScript의 단일 스레드 특성으로 인해. , 장기간 실행되는 계산(예: 대규모 루프)이 있는 경우 CPU 타임 슬라이스를 해제할 수 없게 되어 후속 I/O를 시작할 수 없게 됩니다.
솔루션: 대규모 컴퓨팅 작업을 여러 개의 작은 작업으로 분해하여 I/O 호출 시작을 차단하지 않고 적시에 컴퓨팅을 해제할 수 있습니다.
NodeJ에 적용 가능한 시나리오 :
RESTful API
이는 수만 개의 연결을 처리할 수 있는 가장 이상적인 애플리케이션 시나리오입니다. API를 요청하고 반환할 데이터를 구성하기만 하면 됩니다. 본질적으로 일부 데이터베이스에서 일부 값을 찾아 응답으로 구성합니다. 응답은 소량의 텍스트이고 인바운드 요청은 소량의 텍스트이므로 트래픽이 높지 않으며 단일 시스템으로 가장 바쁜 회사의 API 요구 사항도 처리할 수 있습니다.
웹 애플리케이션의 UI 레이어 통합 어떤 의미에서 현재 MVC 아키텍처에는 웹 개발에 두 개의 UI 레이어가 있습니다. 하나는 브라우저에서 최종적으로 볼 수 있는 레이어이고, 다른 하나는 페이지 생성 및 연결을 담당하는 서버 측에 있습니다.
개인화된 애플리케이션과 같이 Ajax 요청 수가 많은 애플리케이션에서는 각 사용자에게 다른 페이지가 표시되고 캐시가 유효하지 않으며 NodeJS가 많은 수의 동시 요청에 응답할 수 있을 때 페이지가 로드될 때 Ajax 요청을 시작해야 합니다.
NodeJS
는 동시성이 높은 애플리케이션, 집약적인 I/O 및 소량의 비즈니스 로직이 있는 애플리케이션에 적합합니다.
더 자세한 사항은 PHP 중국어 홈페이지의 다른 관련 글을 참고해주세요!