javaScript/jsDeepDive
시작하면서/ 자바스크립트 소개
부엉이사장
2023. 2. 16. 07:20
렌더링 : 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같은 모듈가져와서 파싱함.