Javascript
Learn JavaScript Quickly D1

챕터1: What is programming?

프로그래밍 언어 처리 과정

  1. 컴파일러

    1. 소스 코드 파일 전체를 한 번에 기계어로 번역하고 실행 가능한 파일 생성 (.exe)

    2. 대표적으로 C언어

  2. 인터프리터

    1. 소스 코드 1줄씩 기계어로 번역하여 바로 결과 출력

    2. 실행 가능한 파일을 생성하지 않음

    3. 자바스크립트, 파이썬이 이에 해당

    4. 위 언어들을 스크립팅 언어라고도 부름

챕터 2: What is JavaScript?

  1. 웹페이지를 통한 상호작용 구현

    1. 초기 웹 페이지는 웹페이지에 보여지는 텍스트, 이미지, 멀티미디어 등의 데이터를 일방적으로 보는 용도였음

    2. 초기 웹브라우저 회사인 넷스케이프는 이런 일방통행이 아닌 유저가 웹페이지에서 버튼 클릭등의 이벤트를 발생시키면 특정 프로그램이 실행되도록 하는 기능을 구현하기로 함

    3. 자바 언어 개발사인 선 마이크로 시스템즈와 함께 Applets 프로그램을 개발

    4. 유저가 웹페이지를 방문하면 웹서버는 HTML 파일과 Applets 프로그램을 전송

    5. 유저가 웹페이지에서 버튼을 클릭하면 다운로드된 Applets 프로그램이 실행되어 기능을 수행

    6. Applets 프로그램은 유저의 컴퓨터에서 실행되었고 유저의 컴퓨터에 저장된 파일에 접근이 가능했었음

    7. 보안 위험을 줄이기 위해 이를 막는 작업은 어려웠음

    8. 결국 넷스케이프는 Applets 를 사용하지 않고 다른 해결책을 찾기로 강구함

    9. 넷스케이프에서 직접 브라우저에서 실행되는 스크립팅 언어를 구현하기로 결정

    10. 이 스크립팅 언어는 자바스크립트라는 이름이 붙었고 HTML 파일 내부에 코드가 존재

    11. 유저는 이제 HTML 파일 하나만 받으면 프로그램 코드도 같이 받는게 되었음

  2. 자바스크립트

    1. 1993년 넷스케이프 사에서 자사 웹브라우저인 네비게이터로 자바스크립트를 처음 통합

    2. 이후 유럽 컴퓨터 제조업체 협회 ECMA 에 표준으로 채택되기 위해 제출됨

    3. 표준으로 채택되기 위한 노력의 결과 ECMA-262 표준이 등록됨

    4. ECMA-262 는 ECMAScript 라고도 함

    5. 자바스크립트 언어는 ECMA-262 표준의 구현임

    6. 표준은 버전업을 해왔으며 2009년에는 ES5 ECMAScript 5가 나왔는데 이 표준이 국제 표준화 기구 ISO에 의해 표준으로 승인됨

    7. 그 이후에는 연간 개정을 통한 버전업을 진행중 (예를 들어, ES-2016 -> ES-2017)

    8. 모든 버전업중 대격변급 버전업은 ES6 (ECMAScript 2015)

  3. 클라이언트 사이드 프로그래밍 / 서버 사이드 프로그래밍

    1. 클라이언트 사이드 프로그래밍

      1. 유저가 웹페이지에 접속하면 자바스크립트 코드를 내려받아 유저의 컴퓨터에서 자바스크립트 프로그램을 실행

      2. 이게 기존의 전통적인 방식이었음

    2. 서버 사이드 프로그래밍

      1. 유저가 웹페이지에 접속하면 JS 파일을 제외한 파일들을 다운 받고 JS 프로그램은 서버에서 실행

      2. 예를 들어, Node.JS 같은 경우에 서버에서 자바스크립트 프로그램을 돌리는게 가능

  4. 완전 범용 프로그래밍 언어

    1. Node.JS 같은 런타임 환경의 개발로 인해 자바스크립트 코드는 이제 웹브라우저 외부에서 실행될 수 있고 더이상 웹프로그래밍에만 국한된 언어가 아닌 완전 범용 프로그래밍 언어로 거듭나게 되었음