분류 Nodejs

프로가 되기 위해 알아야 할 10 가지 NodeJS

컨텐츠 정보

  • 조회 68 (작성일 )

본문

NodeJS는 Javascript 측면을 고려하지 않고 그 자체로 야수입니다. 백엔드에서 작업하기 위한 패턴, 모범 사례 및 전략에서 프로그래밍 및 서버 측 개념에 뛰어 들기 전에 실제로 집중해야 할 10 가지가 있다고 생각합니다.


자바 스크립트 및 NodeJs! == 자바 스크립트 


예, NodeJS는 Javascript가 아니며 Javascript는 NodeJS에 들어가기 전에 배워야 할 첫 번째 항목이며 다른 기사에서 Javascript를 배울 때 집중해야 할 10 가지 목록을 공유했습니다.


NodeJs는 프로그래밍 언어가 아닌 Javascript를 실행하는 환경인 Javascript 용 런타임 환경입니다. NodeJs는 서버의 Javascript에 대한 것이며 Browser는 Client의 Javascript에 대한 것입니다.


환경이나 언어의 일부가 언제인지 아는 것도 중요합니다. 예를 들어, "setTimeout"이 Javascript의 일부라고 생각하는 개발자를 찾는 것이 일반적이지만 환경 (Window 또는 NodeJs Global)의 일부일 뿐입니다.


Streams & Buffer 


ArrayBuffer는 Javascript의 일부이며 NodeJS에서는 스트림이 어디에나 있습니다. 거의 대부분의 NodeJS는 "스트림에 구축"되어 있습니다. 재미있게도 스트림은 가장 오해를 받는 것 중 하나이며 NodeJS에 들어오는 사람들이 이해하기 어려운 것으로 간주되는 경우가 많습니다.


Node에서 매우 중요한 것이므로 배우는 것이 우선 순위가 높아야 하며 버퍼, ArrayBuffer, 파이프, 배압 등을 언급하지 않고 스트림에 대해 이야기 할 수 없습니다. 쓰기 가능하고 읽기 쉬운 모든 스트림 유형을 마스터하는 것도 중요합니다. , 변환 및 이중.


스트림은 NodeJS의 단일 스레드 서버 측 특성을 고려하여 확실히 활용하고자 하는 시간 및 메모리 효율적인 데이터 전송을 허용합니다.


Events & Event Emitters 


스트림 작업을 시작할 때 스트림 이벤트를 듣고 있다는 사실을 알아 차릴 수 없습니다. 이는 이벤트 이미터 (이벤트 모듈)를 사용하여 "오류", "종료"및 "데이터"와 같은 다양한 유형의 이벤트를 전송하기 때문입니다. ”.


Node의 거의 모든 것이 이벤트를 방출하므로 자체 이벤트를 생성하고 이벤트 이미터를 활용하여 애플리케이션에 이벤트를 통합하는 방법을 배워야 합니다. NodeJS는 이미터가 쇼를 실행하는 관용적인 비동기 이벤트 중심 아키텍처를 기반으로 구축되었습니다.


File System 


서버 측에서는 파일을 읽거나 쓰거나 정보를 수집하여 파일을 처리해야 합니다. 따라서 fs (파일 시스템) 모듈을 마스터하고 그 주위를 이해하는 데 중요한 모듈이 됩니다.


파일 및 디렉터리를 읽고, CRUD 작업을 수행하고, 권한, 이름 및 크기와 같은 세부 정보를 수집하는 방법을 알아야 합니다. 파일 시스템과 상호 작용할 때 스트림 및 이벤트와도 자동으로 상호 작용하므로 이러한 개념을 심도 있게 학습 할 필요성이 더욱 강조됩니다.


HTTP(S|2) 


당신은 서버에 있습니다! 이는 HTTP, HTTP2 및 HTTPS 모듈을 배우려는 충분한 이유입니다. ExpressJS와 같이 이 모듈에 많은 모듈이 빌드 되었지만 Node HTTP 모듈에 대해 배우면 이러한 모듈을 훨씬 더 잘 이해할 수 있습니다.


HTTP는 모듈 자체를 배우는 것 뿐만 아니라 서버 측 사물의 작동 방식을 배우는 것입니다. 서버에 도달하는 방법 (요청), 연결 (에이전트), 형식 (헤더, 본문), 포함 된 정보, 응답 (응답) 방법, 포함 할 수 있는 세부 사항은 모두 중요한 개념입니다. 깊이 들어가 보세요.


Module & Architecture 


모듈식 아키텍처 및 모듈에 대해 이야기하지 않고는 노드에 대해 이야기 할 수 없습니다. 모든 파일이 자체 범위를 가진 모듈 (모듈 패턴 구현)이며 노출 할 항목을 선택할 수 있고 NodeJs 애플리케이션을 정의하지 않을 것이라는 생각이 있습니다.


NodeJs 모듈은 require, exports, __dirname 등과 같은 전역 항목을 파일에 삽입하는 함수로 파일의 코드를 래핑하여 작동합니다. 이를 이해하면 커뮤니케이션이 수행되는 방법, 제한 사항에 대해 많이 설명하고 이벤트의 필요성을 강조하고 작업자 및 스레드 구축을 용이하게 합니다.


Global 


전역 개체는 필수적이며 피할 수 없습니다. 여기에는 require, exports 및 __dirname과 같은 모든 모듈에서 사용할 수 있는 항목이 포함되어 있습니다. 또한 setTimeout 및 setInterval과 같은 타이머 기능과 좋아하는 콘솔이 포함되어 있습니다.


브라우저에서 모든 곳 (전역 범위)에서 사용할 수 있는 전역 변수 (var 포함)를 만듭니다. NodeJS를 사용하면 상황이 다르며 최상위 수준은 모듈 자체이므로 생성 한 모든 "전역"변수는 모듈에 국한되며 모듈이 나머지 응용 프로그램으로 내보낼 항목을 선택하여 각 모듈에 필요한 사항을 정확히 알 수 있습니다. 그리고 그들이 모두 어디에서 왔는지.


Cluster & Process 


프로세스 개체는 전역 적으로 (전역 개체를 통해) 사용할 수 있으며 NodeJ가 현재 실행 중인 프로세스에 대한 세부 정보를 제공합니다. 일반적으로 NodeJ가 실행 된 인수를 가져오고, 콘솔에서 읽고, 쓰는 데 사용됩니다. 예를 들어 콘솔 객체는 이러한 능력에 대한 프로세스를 둘러싸고 있지만 작업 할 때 프로세스에 대해 더 자세히 살펴 봐야 합니다. 클러스터와 함께.


클러스터를 사용하면 모니터링하고 제어 할 수 있는 자식 프로세스 클러스터를 만들 수 있습니다. 자식 프로세스를 사용하면 NodeJ가 단일 스레드 (Javascript)이기 때문에 다중 코어 시스템을 활용할 수 있습니다. 즉, 다중 코어 시스템에서 NodeJ는 충분하지 않을 수 있는 자체를 제한합니다.


클러스터는 더 큰 부하를 처리 할 수 있는 기능을 제공하여 응용 프로그램을 향상 시키고 프로세스 주변의 방식을 이해하면 보다 강력한 응용 프로그램 클러스터 프로세스를 만들 수 있습니다.


Child Process & Worker Threads 


하위 프로세스는 하위 프로세스를 실행할 수 있는 다른 모듈입니다. 클러스터는 자식 프로세스 포크 방법을 사용하여 전후 통신을 허용하는 다른 프로세스를 생성합니다. 자식 프로세스는 종종 셸과 상호 작용하고 파이썬과 같은 다른 언어로 코드를 실행하는 데 사용됩니다. 셸 스크립트와 명령을 실행하는 가장 좋은 방법입니다.


작업자 스레드는 프로세스가 아닙니다. 즉, 클러스터 및 하위 프로세스와 다릅니다. 작업자 스레드 모듈을 사용하면 자바 스크립트 코드 스레드를 병렬로 실행할 수 있으며 주 스레드에서 실행하고 싶지 않은 CPU 집약적 작업에 적합합니다.


작업자 스레드는 메모리를 공유하고 복잡한 데이터 계산, 주 응용 프로그램의 모니터링 및 처리 데이터, 집중적이고 긴 데이터베이스 작업 수행 등에 적합합니다. 브라우저에서 이에 해당하는 것은 Web Worker입니다.


Path, URL, Util & More 


다른 모든 작업에 도움이 되는 기본 제공 모듈을 잊을 수 없습니다. 경로를 사용하면 파일 시스템의 상대 경로를 처리 할 수 ​​있습니다. URL은 URL과 관련된 모든 것을 돕고 유틸리티 모듈은 마법의 상자에 불과합니다.


유틸리티 모듈에는 유형 검사 기능, 텍스트 인코더 및 디코더, 깊은 평등을 확인하는 유틸리티, 콜백 약속, 다양한 항목 검사 및 형식 지정 등이 포함되어 있습니다. 이러한 멋진 모듈로 무언가를 설치할 필요성을 거의 느끼지 않으며 익숙해야 합니다. 그들과 함께.


결론 


Pro NodeJS가 되는 것은 NodeJ가 훨씬 더 많기 때문에 이 10 가지를 넘어 섭니다. 나는 이것이 당신이 그 방향으로 향하고 있다면 시작해야 할 10 가지라고 믿습니다. 이를 통해 NodeJ와 사랑에 빠지고 더 많은 것을 찾을 수 있을 만큼 유용한 것들을 만들 수 있습니다.


연습과 경험이 큰 역할을 하며 가능한 한 많은 것에 자신을 노출시켜야 한다는 것은 말할 필요도 없습니다. 프로가 되는 것은 여행이지 목적지가 아니므로 시간을 내어 소화하세요.


프로젝트 예를 보려면 Before Semicolon 웹 사이트YouTube 페이지를 방문하십시오.


https://beforesemicolon.medium.com/10-nodejs-things-you-should-know-master-to-be-a-pro-bdfdb5620c0b