정보실

웹학교

정보실

Nodejs 내가 가장 좋아하는 10 개의 Node.js 프로젝트

본문

숙련 된 전문가와 마찬가지로 숙련 된 개발자는 작업을 효과적이고 효율적으로 수행하는 데 도움이 되는 일련의 도구를 사용합니다. 그러나 특히 선택할 수 있는 옵션이 많을 때 올바른 도구를 선택하는 것은 위협적 일 수 있습니다.


https://opensource.com/article/20/6/nodejs-projects 



Node.js는 다른 사람들이 사용할 수있는 코드와 도구를 제공하여 새로운 세대의 앱에 상당한 가치를 부여하는 활발한 커뮤니티로 유명합니다. 그러나 옵션이 너무 많기 때문에 개발 요구에 맞는 가장 신뢰할 수 있는 프로젝트를 찾기가 쉽지 않습니다.


도움을 주기 위해 개발 프로젝트에서 사용할 10 가지 가장 유용한 오픈 소스 Node.js 프로젝트를 공유하겠습니다.


Node.js은 (는) 무엇 이죠? 


Node.js는 서버 측 JavaScript 애플리케이션 작성에 널리 사용되는 오픈 소스 JavaScript 런타임 환경입니다. 이벤트 중심이며 비 차단 I / O 모델에서 작동하므로 웹 응용 프로그램을 작성하는 데 가볍고 효율적입니다. 2009 년에 도입 된 Node.js는 아키텍처, 유스 케이스 및 장점이 이전 모델보다 우위를 점했기 때문에 릴리스 후 빠르게 인기를 얻었습니다. Netflix, Amazon 및 eBay와 같은 대기업은 Node.js를 사용하는 주된 이유는 현대적인 기능과 시작 시간을 단축하는 능력 때문이라고 말합니다.


Node.js는 오픈 소스 런타임 환경이므로 누구나 사용할 수 있습니다. 또한 무료로 사용할 수 있는 오픈 소스 기여 및 프로젝트에 의존합니다. 다행히 Node.js에는 많은 프로젝트가 있습니다.


상위 10 개의 Node.js 프로젝트 


사용할 수 있는 가장 주목할만한 유용한 10 가지 오픈 소스 Node.js 프로젝트는 다음과 같습니다.


1. Express 


Express는 가장 인기 있는 Node.js 프레임 워크 중 하나입니다. 그것은 오랫동안 주변에 있었고 단순함과 미니멀리즘으로 유명합니다. Express는 브라우저 외부 및 서버 측 언어인 JavaScript로 작업 할 때도 HTTP 요청을 효율적으로 수행하므로 엄청난 가치를 제공합니다.


가장 널리 사용되는 Express 기능에는 다양한 URL 경로로 HTTP 요청을 관리하는 핸들러, 템플릿 데이터 삽입을 위한 렌더링 엔진 통합 및 미들웨어 요청 처리가 포함됩니다. Express는 또한 분류되지 않은 프레임 워크입니다. 즉, 문제를 해결하기 위해 이를 사용하는 "올바른 방법"에 국한되어 있지 않으므로 실행에 문제가 없습니다.


많은 새로운 개발자들이 오픈 소스 프레임 워크를 채택하고 있으며, 적극적으로 업데이트 되지 않았다는 것을 알고 있습니다. 이는 오픈 소스 프레임 워크에서 중요한 문제 일 수 있으며 이를 채택한 개발자에게 큰 위험을 초래합니다. 그러나 Express는 빈번한 업데이트를 제공하는 강력한 커뮤니티가 있기 때문에 맑은 바닷물에서 항해 할 것입니다. Feathers, ItemsAPI, KeystoneJS, Poet 및 Kraken을 포함한 17 개 이상의 미들웨어 및 복잡한 프레임 워크와 Uber, IBM 및 Accenture와 같은 대기업에서는 Express를 사용합니다.


2. Hapi 


한동안 Node.js를 사용해 본 경험이 있다면 Hapi가 프레임 워크 생태계에서 이상이 될 수 있습니다. Express만큼 인기가 없지만 Express가 오래되어 Hapi가 지난 몇 년 동안 빠르게 따라 잡고 있기 때문입니다.


성능이 핵심 메트릭 인 경우 Express over Hapi를 선호 할 수 있습니다. 내 경험상 성능 차이는 거의 눈에 띄지 않지만 여전히 존재합니다. 기능에 관심이 있다면 Hapi의 많은 기능이 최고의 선택이 될 수 있습니다.


Hapi는 외부 코드에 의존하지 않기 때문에 Express보다 비교적 안전합니다. 가장 중요한 기능은 미들웨어가 전혀 필요 없다는 것입니다. Express는 미들웨어에 의존하여 실행의 효과와 단순성을 달성합니다. Hapi는 이에 창의적으로 접근했습니다. 기존의 미들웨어 경로를 사용하는 대신 기능 포트폴리오를 경쟁력 있게 유지하는 플러그인을 제공합니다. 라우팅에서 로그인에 이르기까지 Hapi에는 모든 것을 위한 플러그인이 있습니다.


Hapi와 함께 작업하면 플러그인과 자주 업데이트 되는 보안 코드를 사용하여 프레임 워크가 수행 할 수 있는 작업이 표시됩니다.


3. Electron 


웹 응용 프로그램 개발자인 경우 데스크톱 제품 개발이 악몽처럼 보일 수 있습니다. JavaScript를 사용하면 여러 플랫폼을 지원하는 앱에서 더 쉽게 작업 할 수 있지만 제품이 회사로 확장되면 각 플랫폼으로 이동하여 기능을 추가해야 합니다. GitHub가 설계 한 Electron은 통합 시스템을 통합하여 이러한 번거로움을 없애줍니다.


클라이언트 측 또는 웹 기반 응용 프로그램을 만드는 경우 Electron은 개발 프로세스를 크게 단순화합니다. 어떤 사람들은 Electron이 기존 프레임 워크보다 더 많은 메모리를 차지한다고 주장합니다. 실제로 효율적인 프로그래밍을 사용하면 피하기 쉽습니다.


앱이나 제품에 그래픽 사용자 인터페이스 (GUI)가 반드시 필요한 경우 Electron이 가장 적합합니다. 웹 기술을 배포하기 때문에 복잡한 UI / UX 모듈에서도 매우 잘 작동합니다. Electron-made 앱의 개발, 배포, 업데이트 및 유지 관리는 모든 플랫폼에서 앱을 관리 할 수 있는 단일 코드베이스를 제공하므로 간단합니다.


Electron은 JavaScript 및 Node.js와 HTML 및 CSS를 사용합니다. Chrome 엔진 (Chromium)의 강력한 기능을 활용하므로 Electron을 시작하기 전에 Chromium의 기능에 대해 배우십시오.


4. Visual Studio Code 


VSCode는 언어에 구애 받지 않는 소스 코드 편집기로 JavaScript 및 Node.js와 매우 잘 작동합니다. Microsoft에서 컴파일 한대로 Microsoft Sofware 라이센스에 따라 라이센스가 부여되지만 VSCodium.com에서 오픈 소스 라이센스로 동일한 애플리케이션을 다운로드 할 수 있습니다. VSCode는 언어에 구애받지 않고 여러 언어와 수많은 확장을 지원합니다. 프로젝트 트리에서 불필요한 파일을 쉽게 제외하고 Git과 잘 통합됩니다.


Visual Studio Code의 흥미로운 부분은 Blink 브라우저 엔진과 함께 Electron 프레임 워크를 사용한다는 것입니다. 소스 코드 편집기로서 디버깅, 구문 강조 및 코드 완성 프로세스를 증폭하는 데 탁월한 성능을 제공하므로 2019 년 Stack Overflow의 연례 개발자 설문 조사에서 가장 인기 있는 개발 환경 도구로 선정되었습니다.


5. JavaScript Standard Style 


필요가 발명의 어머니라면 단순성은 효율성의 어머니입니다. 결국 단순성과 표준화는 지속적인 개발 프로세스를 수행 할 때 기분이 좋지 않은지 확인하는 데 도움이 됩니다.


표준 JS에는 간단한 제안이 있습니다. 코드 형식이 일관되고 표준화 되어야 합니다. 커뮤니티 지침에 따라 코드를 자동으로 포맷하여 무언가를 업데이트 할 때마다 코드베이스에 적절한 기여를 제공합니다.


일반적으로 여러 사람이 참여하는 프로젝트 나 오랜 시간 동안 기여할 프로젝트를 수행하는 경우 표준 JS를 사용하는 것이 좋습니다. 그렇지 않은 경우 모든 프로젝트에서 모든 모델에 대한 스타일 구성 파일을 작성하고 유지 보수해야 합니다. 코딩 할 때 지루하고 지칠 수 있습니다. 아무도 몇 시간 동안 코딩하고 스타일 오류로 인해 원하는 결과를 얻길 원하지 않습니다.


표준 JS는 GitHub, Zendesk, GoDaddy 및 영국 정부를 포함한 많은 조직에서 사용되므로 안전하고 표준화 된 환경과 기능을 기대할 수 있습니다.


6. ESLint 


JavaScript를 좋아하는 대부분의 프로그래머는 느슨하게 입력 된 특성 때문에 프로그래밍 언어를 좋아합니다. 수행 중인 작업을 알고 있으면 결과가 나타납니다. 이 자유는 아직 개발자의 실수를 피할 수 있는 직관적 인 프로세스가 없기 때문에 언어에 익숙해지는 프로그래머에게는 문제가 됩니다. ESLint가 등장하는 곳입니다.


ESLint는 코딩을 위한 보푸라기 도구로, 코드에 대한 정적 분석을 수행하고 기존 스타일 지침에 맞지 않는 오류, 패턴 및 선을 찾습니다. 이를 통해 코드를 실행하기 전에 코드가 작동하는지 확인할 수 있습니다. 일부 컴파일러에는 기본 lint 기능이 있지만 ESLint는 한 단계 높은 성능을 제공합니다.


언어의 기존 스타일 지침에 따라 오류를 찾는 것이 ESLint의 주요 제품이지만 가장 중요한 것은 아닙니다. ESLint의 가장 큰 특징은 사용자 정의 기능입니다. 코드베이스에 특유의 스타일 또는 프로젝트 별 규칙을 통합해야 할 수도 있습니다. ESLint에는 기본 규칙 세트가 제공되지만 원하는 경우 언제든지 변경할 수 있습니다. 채택 측면에서 Facebook, Netflix, Atlassian, Zendesk, Box 및 PayPal은 모두 ESLint를 사용합니다.


7. Sinon.JS 


프로그래밍 과정을 수강하면 테스트는 항상 가장 적은 관심을 받습니다. 결국 프로그래머로서의 주된 책임은 코드를 작성하는 것입니다. 정확히. 기본 책임은 작동하는 코드를 작성하는 것입니다. 그리고 이를 달성하기 위해서는 테스트가 매우 중요합니다.


모듈 또는 코드 단위를 테스트 할 때 가장 큰 문제는 항상 그렇게 할 수는 없다는 것입니다. 과학자들은 인과 관계를 연구하기 위해 모든 변수를 통제해야 합니다. 마찬가지로, 프로그래머는 코드가 작동하도록 많은 루프를 거쳐야 합니다. 그러나 코드가 작동하지 않으면 어떻게 해야 합니까?


예를 들어 코드가 시간에 민감하지만 두 번째 느리게 실행되고 코드가 제대로 작동하는지 확인하려면 서버 액세스가 필요하다고 가정하십시오. 이것은 코드의 가장 중요한 부분이라도 테스트하기에 비효율적 인 방법입니다.


Sinon은 복잡한 코드를 "테스트 더블"역할을 하는 간단한 자리 표시 자 변수로 대체 할 수 있도록 도와줍니다. 이를 통해 테스트 대상의 많은 복잡성을 건너 뛰면서 테스트를 수행 할 수 있습니다. Sinon.JS는 기능을 손상 시키지 않고 한 요소를 다른 요소로 대체하는 JavaScript의 기능을 합성합니다. Sinon은 스파이를 사용하여 속성을 왜곡하지 않고 함수 호출에 필요한 정보를 찾는 데 도움을 줍니다. 스텁을 사용하면 특정 기능을 수행하도록 요청하고 해당 기능이 어떻게 작동하는지 확인할 수 있도록 기능을 교체 할 수 있습니다.


8. Mocha and 9. Chai 


MochaChai는 일반적으로 Sinon.JS와 함께 사용되어 테스트가 정확하고 기능적이며 다른 단위 테스트와 독립적으로 실행되도록 합니다.


테스트가 중요하고 까다로운 두 가지 이유가 있습니다. 첫째, 작동하지 않는 장치와 작동하지 않는 장치를 분리해야 합니다. 둘째, 올바른 이유로 분리해야 합니다. 장치가 작동하지 않으면 기능을 고려할 여유가 없습니다. 랩 테스트와 마찬가지로 프로그래밍에서 오 탐지 나 오 탐지를 감당할 수 없습니다.


Mocha 


모카는 이 두 가지 제약에 적응합니다. 단위 동작을 방해하지 않고 코드 단위를 테스트하는 데 도움이 되는 테스트 프레임 워크입니다. 태그가 설명하고 Mocha로 작성한 테스트 코드에서 태그를 볼 수 있습니다. describe는 하나의 기능을 테스트하는 데 중점을 둔 테스트 스위트를 강조하고 장치가 테스트를 통과했는지 여부를 강조합니다.


Chai 


Chai 프레임 워크는 간단한 방법으로 테스트 프로세스를 강화합니다. 단위의 예상 가치를 제공합니다. Chai의 Assertion 라이브러리에는 유닛 테스트에 도움이 되는 모든 주요 기능과 메소드가 포함되어 있습니다. Chai를 통해 장치를 실행하면 장치의 결과를 반환하고 예상 결과와 실제 결과를 비교합니다.


Chai가 작동하도록 하는 응용 프로그램과 원칙은 매우 간단하지만 (장치가 설계 한 작업을 수행해야 함) 각 장치에서 기대하는 기능을 계획하는 데 도움이 될 수 있습니다. 나중에 제품을 확장 할 때 각 장치가 코드베이스에 통합되기 전에 각 장치가 예상대로 작동하는지 확인하는 것이 얼마나 중요한지 알게 됩니다.


10. Hygen 


Hygen은 더 많은 작업을 할 시간이 없을 때 도움이 되는 코드 생성기입니다. 개발자들은 수년간 코드 생성기라는 아이디어를 가지고 놀았습니다. 그들의 본질적인 목적은 분명합니다 : 그들은 당신을 위해 코드를 생성하므로 당신은 당신의 시간에 더 효율적일 수 있습니다. 그러나 Hygen까지는 코드 생성기가 프로그래밍 생산성을 크게 향상 시키지 못했습니다.


Hygen은 코드를 호출 할 때까지 조용히 앉아 있습니다. 코드 생성기는 상황에 맞는 이해, 확장 성 및 언어 불가지론을 가지고 있습니다. 올바른 통합을 통해 Hygen은 중복 코드를 입력하는 데 드는 프로그래밍 시간을 크게 절약 할 수 있습니다.


Hygen은 Redux, Express.js 및 React Native 프로젝트와 잘 작동합니다. Hygen에는 고유 한 패키지 세트가 포함되어있어 이러한 프로젝트에 사용되는 공통 코드를 생성하여 React Native 및 Express.js 프로젝트의 개발 속도를 높일 수 있습니다. 프로젝트의 세부 사항에 익숙해지면 코드 생성을 로컬로 유지할 수 있습니다. 복잡한 프로젝트를 진행 중이거나 새로운 팀 또는 대규모 팀이 있는 경우 큰 도움이 될 수 있습니다. Hygen은 설정 한 패키지 및 생성 규칙을 사용하여 일상적인 코드를 관리합니다.


결론 


이러한 프로젝트를 살펴보면 처리해야 할 정보의 양이나 사용 방법에 대해 머리 속에 튀어 나오는 모든 새로운 아이디어에서 압도적 일 수 있습니다. 그러나 이러한 프로젝트를 통해 세계는 샌드 박스입니다.


좋은 프로그래밍은 프로젝트를 원하는 대로 정확하게 구축하는 데 도움이 됩니다. 문제가 발생하면 이러한 오픈 소스 프로젝트를 통해 탁월한 응용 프로그램을 개발할 수 있습니다.



페이지 정보

조회 20회 ]  작성일20-06-30 17:16

웹학교