01장 프로그래밍
1.1 프로그래밍이란?
- 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
- 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 결과물이 코드
1.2 프로그래밍 언어
- 기계어로 명령을 전달
- 프로그래밍 언어를 컴파일러(혹은 인터프리터)를 사용해 기계어로 변환
- 프로그래밍 언어는 구문(syntax)과 의미(semantics)의 조합으로 표현
1.3 구문과 의미
- 언어의 의미는 문맥에 있는 것이지 문법에 있는 것이 아니다
결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.
02장 자바스크립트란?
2.1 자바스크립트의 탄생
- 1995년 - 넷스케이프 커뮤니케이션즈는 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어 도입(브렌던 아이크가 개발)
- 1996년 3월 - 넷스케이프 네비게이터2에 탑재, 모카(Mocha)로 명명
- 1996년 9월 - 라이브스크립트(LiveScript)로 변경
- 1996년 12월 - 자바스크립트(JavaScript)로 최종 명명
2.2 자바스크립트의 표준화
- 1996년 8월 - 마이크로소프트는 JScript(자바스크립트의 파생 버전)를 인터넷 익스플로러 3.0에 탑재
- 크로싱 브라우징 이슈 발생(브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 이슈)
- 1996년 11월 - 이를 해결하기 위해 넷스케이프 커뮤니케이션즈는 ECMA 인터내셔널에 자바스크립트의 표준화 요청
- 1997년 7월 - 표준화된 자바스크립트 초판 ECMAScript 1 사양이 완성(ECMA-262)
- 상표권 문제로 자바스크립트는 ECMAScript로 명명
- 1999년 - ECMAScript 3(ES3)이 공개
- 2009년 - ECMAScript 5(ES5) 출시, HTML5와 함께 출현한 표준 사양
- 2015년 - ECMAScript 6(ES6) 공개, 범용 프로그래밍 언어로서 갖춰야 할 기능들을 대거 도입
- ES6 이후의 버전업은 비교적 작은 기능을 추가하는 수준으로 매년 공개할 것으로 예고
2.3 자바스크립트 성장의 역사
- 2.3.1 Ajax(Asynchoronous JavaScript and XML)
- 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
- 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식이 가능해짐
- 2.3.2 jQuery
- 2006년 - DOM을 더욱 쉽게 제어할 수 있게 되었고 크로스 브라우징 이슈도 어느정도 해결
- 2.3.3 V8 자바스크립트 엔진
- 더욱 빠르게 동작하는 자바스크립트 엔진의 필요성 대두
- 2008년 - 구글의 V8 자바스크립트 엔진 등장
- 자바스크립트는 데스크톱 어플리케이션과 유사한 사용자 경험(UX)을 제공할 수 있는 웹 어플리케이션 프로그래밍 언어로 정착하게 됨
- 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동, 이는 웹 애플리케이션 개발에서 프론트엔드 영역이 주목받는 계기로 작용
- 2.3.4 Node.js
- 2009년 - 라이언 달이 Node.js 발표
- Node.js는 구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다
- 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시킨 자바스크립트 실행 환경
- 서버 사이드 애플리케이션 개발에 주로 사용
- 2.3.5 SPA 프레임워크
- CBD 방법론을 기반으로 하는 SPA가 대중화되면서 다양한 SPA 프레임워크/라이브러리 또한 많은 사용층을 확보
2.4 자바스크립트와 ECMAScript
- 자바스크립트는 기본 뼈대를 이루는 ECMAScript와 브라우저가 별도 지원하는 클라이언트 사이드 Web API를 아우르는 개념이다
2.5 자바스크립트의 특징
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어
- 인터프리터와 컴파일러의 장점을 결합해 비교적 처리 속도가 느린 인터프리터의 단점을 해결
- 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어
03장 자바스크립트 개발 환경과 실행 방법 - 생략
'Frontend > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
모던 자바스크립트 Deep Dive | 06장 (0) | 2025.01.30 |
---|---|
모던 자바스크립트 Deep Dive | 04 - 05장 (0) | 2025.01.30 |