RedPlug's Tory

 

01장 프로그래밍

1.1 프로그래밍이란?

  • 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
  • Computational thinking(컴퓨팅 사고)가 필요하다.

1.2 프로그래밍 언어

  • 프로그래밍이란 프로그래밍 언어를 사용해 컴퓨터에서 실행을 요구하는 일종의 커뮤니케이션, 구문(Syntax), 의미(semantics)의 조합.
  • 사람이 프로그래밍 언어를 작성하여 컴파일러혹은 인터프린터를 통해서 컴퓨터가 이해할 수 있도록 기계어로 전달함.

1.3 구문과 의미

  • 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것.

 

02장 자바스크립트란?

2.1 자바스크립트의 탄생

  • 넷스케이프 커뮤니케이션즈에서 웹페이지 보조적인 기능을 수행하기 위해 브랜던 아이크가 개발한 경량 프로그래밍 언어
  • 모카 -> 라이브크립트 -> 자바스크립트로 최정 명명

2.2 자바스크립트의 표준화

  • KJscript와의 문제로 크로스 브라우징 이슈가 발생하기 시작
  • ECMA 인터내셔널에 자바스크립트 표준화 요청
  • 1997년 7월 ECMA-262라는 표준화된 자바스크립트 사양이 완성
  • 상표권 문제로 ECMAScript로 명명
  • 이후 ES11까지 계속 발전되어 옴.

2.3 자바스크립트의 성장의 역사

  • Ajax : 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신기술, 필요한 부분만 렌더링이 가능
  • jQuery : DOM을 더욱 쉽게 제어할 수 있게 만듬.
  • V8 자바스크립트 엔진 : 구글의 엔진, 데크스톱 애플리케이션과 유사한 UX를 제공할 있는 언어로 정착
  • Node.js : 구글 V8자바스크립트 엔진으로, 브라우저 이외의 환경에서 작동할 수 있게 만든 런타임 환경
  • SPA 프레임워크 : Single Page Application, CBD(Component based development) 방법론에 기반, Angular, React, Vue.js, Svelet 등이 있음.

2.4 자바스크립트와 ECMAScript

  • 자바스크립트의 표준사양인 ECMA-262, 자바스크립트의 뼈대
  • ECMAScript + 브라우저가 지원하는 클라이언트 사이드 Web API -> 자바스크립트

2.5 자바스크립트의 특장

  • 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
  • 인터프린터 언어(컴파일 X)
  • 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어

2.6 ES6 브라우저 지원 현황

  • IE나 구형 브라우져를 제외하고는 대부분 지원하고 있음.
  • 구형을 위해서는 바벨과 같은 트랜스파일러를 사용해 ES6 -> ES5 이하로 다운그레이드 하여야 함.

 

03장 자바스크립틑 개발 환경과 실행 방법

3.1 자바스크립트 실행환경

  • 브라우저와 Node.js 환경으로 구분됨.
  • 브라우저 : ECMAScript + Client-side APIs
  • Node.js : ECMAScript + Node.js Host APIs

3.2 웹 브라우저

  • 책에선 크롬 브라우저를 사용함(점유율 높고 표준 사양 준수)
  • F12를 통해 개발자 도구 사용가능
  • Console창 자주 사용하니 열어둘것.
  • 웹브라우저에서 실행 및 디버깅 방법 설명

3.3 Node.js

  • Node.js 설치 -> http://nodejs.org
  • REPL(Read Eval Print Loop) 지원 -> ..vs Code 쓸꺼라 안씀.

3.4 비주얼 스튜디오 코드

  • VS CODE 설치 -> https://code.visualstudio.com
  • Code Runner 확장 플러그인 : Node.js 환경을 사용해 자바스크립트를 실행 해줌, Ctrl + Alt + N 키를 사용하여 실행
  • Live Server 확장 플러그인 : 소스코드를 수정할 떄 마다 수정사항을 브라우저에 자동으로 반영, 우측 하단에 Go Live를 사용해서 실행