[JS] DeepDive - 1,2장

Baoro·2022년 5월 2일
0

DeepDive

목록 보기
1/9

1장

프로그래밍이란?

컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션!

컴퓨터는 0과 1밖에 알지 못하는 기계이다. 그래서 컴퓨터한테 우리의 요구사항을 설명할 때 컴퓨터가 실행할 수 있을 정도로 정확하고 상세하게 설명을 해야한다. 이러한 설명을 하는데 필요한 언어가 프로그래밍언어다. 나는 그중에 JavaScript를 이용해 컴퓨터에게 요구사항을 전달하려고 한다.


2장

JavaScript 역사

이전에 웹페이지의 경우 화면이 전환되면 서버로부터 새로운 HTML을 전송받아서 웹페이지 전체를 처음부터 다시 렌더링했었다.
이렇게 되면 성능이 좋지 못할뿐만 아니라 화면이 전활될 때마다 깜빡임이 발생하게 되는 문제가 발생했다. 이러한 문제를 해결하고자 Ajax라는 통신기능이 나타났다.

1. Ajax (Asynchronous JavaScript and XML)

자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환하는 통신기능

서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식이다. 덕분에 빠른 성능과 부드러운 화면전환이 가능해졌다.

2. jQuery

JavaScrip보다 배우기 쉽고 직관적이여서 DOM을 더욱더 쉽게 제어할 수 있게 하고, 크로스 브라우징 이슈도 해결

3. V8 JavaScript Engine

웹 브라우저를 만드는데 기반을 제공하는 오픈소스 자바스크렙트 엔진

구글맵을 통해 JavaScript가 웹 애플리케이션 프로그래밍 언어로서 가능성이 확인되서 더욱더 빠르게 동작하는 JavaScript Engine의 필요성이 대두되었다. V8 Engine이 나타나고 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동하게 되었다.

4. Node.js

구글 V8 JavaScript Engine으로 빌드된 자바스크립트 런타임 환경

브라우저뿐만 아니라 브라우저 이외의 환경에서도 동작할 수 있게 자바스크립트 엔진을 부라우저에서 독립시킨 실행환경이다. 따라서 프론트엔드뿐만 아니라 백엔드 영역까지 자리잡게 되었다. 비동기 I/O 지원하고 단일스레드 이벤트 루프기반으로 동작해서 요청 처리 성능이 좋다.

5.SPA 프레임워크

SPA : Single Page Application

웹의 성능이 올라가면서 개발방식의 난이도가 높아졌다. 그에 따라 많은 패턴과 라이브러리가 출현하였지만 변경에 유연하면서 확장하기 쉬운 애플리케이션 아키텍처의 구축을 어렵게 했다. 따라서 필연적으로 프레임워크가 등장하게 됬다.


자바스크립트 특징

  • 웹 브라우저에서 동작하는 유일한 언어
  • 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어
profile
꾸준히.... 깔끔하게.... 끝까지....

0개의 댓글