Node.js는 브라우저가 아닌 (서버사이드 또는 데스크탑 어플리케이션) 자바스크립트 프로그램이 실제로 실행되는 동안의 환경 (“런타임”). 프로그램이 동작하는 데 필요한 모든 것들— 라이브러리, 환경 설정, 메모리 관리 등이 포함되어 있다.
크롬의 V8 자바스크립트 엔진을 기반으로 하여 파일 시스템 접근 (Node.js의 큰 장점이 비동기 I/O를 지원한다는 점), 네트워크 요청 등의 추가적인 API를 제공하여, 서버 사이드 프로그래밍에 필요한 다양한 기능을 자바스크립트로 수행할 수 있게 해준다.
Server-side (application server) 와 client-side (browser) 모두에서 같은 자바스크립트를 실행할 수 있는 앱을 "Universal" 또는 "Isomorphic" 애플리케이션으로 부르는데 slack이 그 예시이다. 이런 앱들이 누리는 주요 이점으로는:
2-tier architecture (2계층 구조)는 주로 클라이언트와 어플리케이션 서버 두 개의 계층으로 구성됩니다.
3-tier architecture가 2-tier architecture보다 나은 점은 다음과 같습니다:
3-tier 구조는 이러한 이점들로 인해 대규모 애플리케이션, 특히 엔터프라이즈급 소프트웨어 개발에 널리 사용됩니다. 각 계층의 분리는 개발과 관리를 효율적으로 만들어 주며, 시스템의 안정성과 성능을 높이는 데 기여합니다.
잘 정리 된 글이 있어 공유한다.
위 글에서는 미들웨어를 아래와 같이 설명하고 있다. 한마디로 요청-->???-->요청처리 에서 ??? 작업들을 미들웨어가 실행한다고 보면 된다.
- 간단하게 말하면 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들이라고 보면된다.
- 미들웨어 함수는 req(요청)객체, res(응답)객체, 그리고 어플리케이션 요청-응답 사이클 도중 그 다음의 미들웨어 함수에 대한 엑세스 권한을 갖는 함수이다.
- 다음 미들웨어 함수에 대한 엑세스는 next함수를 이용해서 다음 미들웨어로 현재 요청을 넘길 수 있다.
next를 통해 미들웨어는 순차적으로 처리된다.- 요청을 처리하기 전에 중간에 무언갈 해주는 애
리덕스를 배웠으니 리덕스 미들웨어만 놓고 설명해보면 "액션을 디스패치 했을 때 리듀서에서 이를 처리하기에 앞서 사전에 지정된 작업들을 실행한다. 미들웨어는 액션과 리듀서 사이의 중간자. 리듀서가 액션을 처리하기 전에 미들웨어가 할 수 있는 작업은 여러 가지가 있다. 전달받은 액선을 단순히 콘솔에 기록하거나, 전달받은 액션 정보를 기반으로 액션을 아예 취소하거나, 다른 종류의 액션을 추가로 디스패치 할 수도 있다.
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.
#한컴AI아카데미 #AI개발자 #AI개발자교육 #한글과컴퓨터 #한국생산성본부 #스나이퍼팩토리 #부트캠프 #AI전문가양성 #개발자교육 #개발자취업