[Node.js_6기 사전캠프] JavaScript 톺아보기
2024. 6. 24. 17:40ㆍ[Node.js_6기 사전캠프]
1. JavaScript란 무엇인가?
자바스크립트(JavaScript)는 브라우저 환경에 최적화 된 언어로, 오늘날 가장 널리 사용되는 언어로 자리매김하였다.
자바(Java)와 혼동하기 쉬우나, 자바스크립트(JavaScript)가 처음 만들어졌을 당시에 자바(Java)의 인기가 높은 만큼 홍보 수단으로 이름을 차용했을 뿐 두 언어는 아무런 연관이 없다.
자바스크립트(JavaScript)만의 강점은 다음과 같다.
- HTML/CSS와 완전히 통합할 수 있음
- 간단한 일은 간단하게 처리할 수 있게 해줌
- 모든 주요 브라우저에서 지원하고, 기본 언어로 사용됨
자바스크립트(JavaScript)만으로는 모든 요구사항을 충족시킬 수 없기 때문에, 브라우저에서 실행 되기 전에 자바스크립트로 변환(transpile) 할 수 있는 새로운 언어들이 많이 등장했다. CoffeeScript, TypeScript, Flow, Dart와 같은 언어를 예로 들 수 있다. 각 언어는 고유한 기능을 제공하는 만큼, 용도에 따라 추가적으로 사용한다.
2. Javascript 프레임워크 알아보기
- Express.js
- Express.js의 특징은 무엇인가요?
> Express.js는 Node.js 를 사용하여 쉽게 서버를 구성할 수 있게 만든 클래스와 라이브러리의 집합체라고 할 수 있다. 개발자들에게 높은 자유도와 낮은 진입장벽을 주는 특징이 있다. - 장점을 기술해주세요.
> 웹 애플리케이션 프레임워크인 만큼 각종 라이브러리와 미들웨어 등이 내장되어 있어 개발하기 편하고, 개발 규칙을 강제하여 코드 및 구조의 통일성을 향상할 수 있다. 이는 곧 구글링을 통해 다양한 래퍼런스를 확보할 수 있다는 말이 된다. 또한 미니멀한 인터페이스를 활용하는 만큼 가볍고 효율적으로 작동하는 이점을 가지고 있다. - 단점을 기술해주세요.
> "unopinioned" 프레임 워크(엄격한 지침이 정해져 있지 않음)이기 때문에, 대규모 프로젝트에서는 구조의 일관성에 문제가 생길 수 있다. 복잡한 애플리케이션에서 작업할 경우 수동으로 처리해야 하는 등 미니멀한 인터페이스가 단점으로 작용하기도 한다. 또한 비동기적인 Node.js의 특징으로 인해 무한 콜백에 빠질 수 있다.
- Express.js의 특징은 무엇인가요?
- Nest.js
- Nest.js의 특징은 무엇인가요?
>Express.js 위에서 구축된 프레임워크로, Express.js의 기능을 확장하여 보다 체계적이고 모듈화된 구조를 제공하는 특징을 가지고 있다. 또한 HTTP 요청 및 응답을 처리하고, 미들웨어를 사용하여 요청 및 응답 주기를 조작할 수 있도록 하는 역할을 수행한다. - 장점을 기술해주세요.
>TypeScript 언어 기반으로 작성되어 있기 때문에 강력한 정적 타입 검사, 객체지향 프로그램 기능 등 최신 주류 언어들이 사용하는 기능을 제공한다. 이는 곧 개발 단계에서 버그를 사전에 방지하고, 코드 재사용 및 유지 보수성을 높여주는 효과가 있다. 또한 정의된 아키텍처에 따라 개발해야 하는 만큼 여러 개발자 간 협업 및 유지보수가 수월하다는 장점이 있다. - 단점을 기술해주세요.
> Express.js에 비해 상대적으로 진입장벽이 높은 편이다. 정의된 아키텍처에 대한 사전 지식 없이 개발을 진행할 수 없기 때문이다. 계층 간 호출 및 데이터 처리 과정이 추가적으로 발생하는 만큼, 오버헤드가 발생할 수 있다.
- Nest.js의 특징은 무엇인가요?
'[Node.js_6기 사전캠프]' 카테고리의 다른 글
[Node.js_6기 사전캠프] Today I Learn_0701 (0) | 2024.07.01 |
---|---|
[Node.js_6기 사전캠프] 개발 용어 정리 (0) | 2024.06.26 |
[Node.js_6기 사전캠프] 게임 서버 트랙에서 자바스크립트를 학습하는 이유 (0) | 2024.06.25 |
[Node.js_6기 사전캠프] 개발 아티클 스터디 -웹개발 편 (0) | 2024.06.21 |
[Node.js_6기 사전캠프] 게임 서버의 역사 알아보기 (0) | 2024.06.20 |