[모던 자바스크립트 Deep Dive] 서론(공부 방법), 01장-02장
서론, 공부 방법
모던 자바스크립트 Deep Dive(저자: 이웅모)를 통해 JavaScript를 배우려고 합니다.
포스팅은 배운 것을 요약정리 위주로 할 예정입니다.
1. 이 책과 함께
2. 저자의 '프런트엔드 개발에 필요한 기술' 유튜브 영상,
3. 아래 책의 내용을 그대로 담아둔 '웹 프로그래밍 튜토리얼' 사이트를 참고하여
4. 블로그를 보시는 분들도 공부해 보면 좋을 것 같습니다!
5. 책은 알라딘에서 41800원에 구매했습니다 :)
- 프런트엔드 개발에 필요한 기술 유튜브 영상 링크
https://www.youtube.com/watch?v=02RCNUF-2Vw&list=LL&index=3
- 모던 자바스크립트 Deep Dive 저자의 웹 프로그래밍 튜토리얼 사이트 (책과 동일)
https://poiemaweb.com/
웹 프로그래밍 튜토리얼 | PoiemaWeb
Front-end Development Tutorial
poiemaweb.com
01장 프로그래밍
1.1 프로그래밍이란?
- 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션.
- 정확하고 상세하게 요구사항을 설명하는 작업.
- Computational thinking(컴퓨팅 사고)가 필요하다.
1.2 프로그래밍 언어
- 컴퓨터와의 대화(명령)에 사용되는 일종의 표현 수단
- 사람과 컴퓨터(컴파일러 or 인터프리터) 모두가 이해할 수 있는 약속된 형태의 인공어.
1.3 구문과 의미
- 프로그래밍 언어는 구문(sysntax)과 의미(semantics)의 조합으로 표현된다.
- 프로그래밍은 요구사항의 집합을 분석해 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.
02장 자바스크립트란?
2.1 자바스크립트의 탄생
- 1995년, 넷스케이프 커뮤니케이션즈는 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입.
- 브렌던 아이크가 개발.
2.2 자바스크립트의 표준화
- 초반에는 넷스케이프 커뮤니케이션즈와 마이크로소프트가 각자의 자사 브라우저의 시장 점유율을 높이기 위해 자사 브라우저에서만 동작하는 기능을 경쟁적으로 추가. -> 크로스 브라우징 이슈 발생
- 1996년, 넷스케이프 커뮤니케이션즈는 ECMA 인터내셔널에 자바스크립트의 표준화를 요청 -> 1997년 ECMAScript완성
2.3 자바스크립트 성장의 역사
- 초창기, js는 웹페이지의 보조적 기능을 수행하기 위해 한정적 용도로 사용. 대부분의 로직은 주로 웹서버에서 실행되고, 브라우저는 서버로부터 전달받은 HTML과 CSS를 단순히 렌더링.
- Ajax, 웹페이지에서 변경할 필요가 없는 부분은 다시 렌더링 하지 않고, 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링 하는 방식. ->빠른 성능과 부드러운 화면 전환 가능
- JQuery, HTML의 클라이언트 사이드 조작을 단순화하도록 설계된 크로스 플랫폼의 js라이브러리. js보다 배우기 쉽고 직관적.
- V8 자바스크립트 엔진, 빠른 성능, 엔진으로 촉발된 js의 발전으로 과거 웹서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동.
- Node.js, 구글V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경(runtime environment). 브라우저의 자바스크립트 엔진에서만 동작하던 js를 브라우저 이외의 환경에서도 동작할 수 있도록 엔진을 브라우저에서 독립시킨 자바스크립트 실행 환경. Node.js의 등장으로 js는 브라우저를 벗어나 서버 사이드 애플리케이션 개발에서도 사용할 수 있는 범용 프로그래밍 언어가 되었다.
- SPA 프레임워크, Single Page Applicaiton, Angular, React, Vue.js, Svelte 등이 있다.
2.4 자바스크립트와 ECMAScript
- 자바스크립트는 프로그래밍 언어로서 기본 뼈대를 이루는 ECMAScipt와 브라우저가 별도 지원하는 클라이언트 사이드 Web API 등을 아우르는 개념.
2.5 자바스크립트의 특징
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어.
- 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(Interoreter language)
- 자바스크립트는 클래스 기반 객체지향 언어보다 효율적인 프로토타입 기반의 객체지향 언어.
2.6 ES6 브라우저 지원 현황
- 인터넷 익스플로러를 제외한 대부분의 모던 브라우저는 ES6 지원하지만 100%는 아니다. Node.js는 v4부터 ES6을 지원하기 시작.
'공부 > JavaScrtipt' 카테고리의 다른 글
[JavaScript] prototype에 관해서 글공유 (0) | 2021.12.11 |
---|---|
[Three.js] 키보드 입력 구현 in OrbitControls.js (0) | 2021.11.03 |
[모던 자바스크립트 Deep Dive] 3장 (0) | 2021.09.24 |
댓글