렌더링 : HTML, CSS, Jave Script로 작성된 문서를 해석해서 브라우저에 시각적으로 출력하는것.
서버사이드렌더링 : 서버에서 데이터를 HTML로 변환해서 브라우저에 전달하는 과정 SSR (server side rendering)
Node js : 자바스크립트 런타임 환경
비동기 I/O(입출력)
단일스레드 이벤트루프 기반 동작
SPA에 적합(single page Application)
*CPU사용량이 높은 어플리케이션에는 권장하지 않음.
ECMA Script 이크마스크립트 : ECMA-262, 자바스크립트의 표준사양
클라이언트 사이드 Web API
# 자바스크립트는 개발자가 별도의 컴파일작업을 수행하지 않는 인터프리터언어.
컴파일러 언어 :
- 코드가 실행되기전단계(컴파일) 타임에 소스코드 전체를 한번에 머신코드(기계어)로 변환후 실행
인터프리터 언어 :
- 코드가 실행되는 단계인 런타임에 문단위로 한줄씩 중간코드인 바이트코드로 변환후 실행
대부분의 브라우저는 명시적인 컴파일은 거치진 않지만, 복잡한과정을 거치고 일부 소스코드는 컴파일하고 실행함.
때문에 실행속도는 느리다는 단점을 극복함
Node js 는 DOM api를 제공하지 않는다
뭐 당연히 브라우저에서 쓰는게 아니니까 ..
예를들어 크롤링할때 HTML파일통째로 가져와서 데이터를 가져오는데
nodejs에서는 html을 해석할수있는 기능이 없으니 cheerio같은 모듈가져와서 파싱함.
'javaScript > jsDeepDive' 카테고리의 다른 글
데이터 타입에 따른 메모리 접근 (0) | 2023.05.02 |
---|---|
값(value), 리터럴(literal), 표현식(expression), 문(statement) (2) | 2023.03.23 |
변수 호이스팅, 그리고 초기화 initialize, Temporal Dead Zone (1) | 2023.03.23 |
변수와 메모리의 관계 (0) | 2023.03.21 |
메모리에 저장되는 기본 구조. (0) | 2023.03.21 |