티스토리 뷰
프로그래밍
프로그래밍이란?
컴퓨터에게 실행을 요구하는 인간 - 컴퓨터 일종의 커뮤니케이션
컴퓨터는 0과 1밖에 모르는 기계다. 이 기계에게 원한는것을 실행 할 수있도록 정확하고 상세하게 요구사항을 설명하는 작업 === 코드
문제해결방안은 고려할때 컴퓨터의 입장에서 문제를 바라봐야한다. 인간의 생각으로는 x
걷는다는 행위를 로봇에게 입력시키기위해서는 아래처럼 프로세스가 필요하다.
프로그래밍 언어
인간이 사용하는 자연어가 아닌 컴퓨터가 사용하는 기계어로 명령을 전달해야한다.
하지만.
직접 기계어로 전달하기엔 너무 힘들고 복잡하기에 -> 인간이 이해할 수 있는 약속된 구문(Syntax, 문법)으로 구성된 “프로그래밍 언어(Programming Language)”를 사용하여 프로그램을 작성한 후 -> 기계어로 변환 번역기를 사용한다 , 즉 컴파일러!!
아래는 “Hello world”를 출력하는 자바스크립트 코드다. 기계어 코드보다 인간이 이해하기 쉬운 인간들의 약속된 프로그래밍 언어.
console.log('hello world');
프로그래밍 언어는 Syntax(구문)와 Semantics(의미)의 조합으로 표현된다.
💡의미가 중요하므로, 시멘틱 태그도 모든곳에서 중요시하게 보는것같다.
Syntax & Semantics
문법을 잘한다고 외국어를 잘하냐? 놉..
문법에 맞는 문장을 구성하는 것은 물론 의미(Semantics)를 가지고 있어야 언어의 역할을 충실히 수행할 수 있다.
대부분의 프로그래밍 언어는 아래와 같은 문법을 제공한다.
- 변수와 값
- 키워드
- 연산자
- 표현식과 문
- 조건문 과 반복문에 의한 흐름제어(Control flow)
- 함수 그리고 객체, 배열 등의 자료구조
프로그래밍이란 요구사항의 집합을 분석하고, 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것
자바스크립트 JAVASCRIPT
자바스크립트의 탄생
1996년 넷스케이프 커뮤니케이션즈의 웹브라우저인 Netscape Navigator 2 에 탑재
"Mocha" -> "Livescript" -> "Javascript" 로 변경
자바스크립트의 파편화와 표준화
마이크로소프트에서 Javascript 파생버전인 "JScript"를 탑재하여 사용하는데..역시나 문제점은 생기기마련이다
JScript와 자바스크립트가 표준화되지 못하고 적당히 호환되었다.
시장점유율을 점유하려고 자사 브라우저에서만 동작되는 것들을 추가하고 추가하고 이러다보니 브라우저에 따라서 작동이 안되는
치명적인 문제가 생기고 이런 문제점을 크로스브라우징이슈라고 한다. => 모든 브라우저에서 동작하지 않는 문제
크로스브라우징이슈 대두되고 ➡️ 안되겠다! 😂 표준화하자 ➡️ 넷스케이프가 컴퓨터 시스템의 표준을 관리하는 비영리 표준화 기구인ECMA 인터네셔널에 자바스크립트의 표준화를 요청
1997년 finally 자바스크립트는 ECMAScript로 명명
💡 ES6 이후에 추가된 속성들은 면접 질문으로도 단골이니 공부해 둬야한다.
자바스크립트 성장의 역사
1999년 자바스크립트를 이용해서 비동기적으로 통신하는 Ajax요청이 등장한다.
이전에는 서버로부터 완전한 HTML를 전송받아 전체를 렌더링하는 SSR 방식으로 동작했다.
단점 : 불필요한 데이터통신, 서버에 부담, 렌더링할때마다 깜빡이는 효과

Ajax등장으로 신세계가 탄생한다.
필요없는 부분은 렌더링을 안하고 서버로부터 필요한 데이터만 전달받아 필요한 부분만을 한정적으로 렌더링하는 방식이 가능해진것이다.(CSR)
장점: 부드러운 화면전환이 가능해짐
2008년 등장한 구글의 V8 자바스크립트 엔진
V8 자바스크립트 엔진의 등장으로 자바스크립트는 데스크탑 애플리케이션과 유사한 사용자 경험(user experience)을 제공할 수 있는 웹 애플리케이션 개발 프로그래밍 언어로 정착
과거 웹 서버에서 수행되던 역할들이 클라이언트(브라우저)로 이동하였고, 이로써 웹 애플리케이션에서 프런트엔드 영역이 주목받는 계기가된다.
2009년 node.js의 등장으로 프런트엔드 영역은 물론 백엔드 영역까지 아우르는 웹 프로그래밍 언어의 표준으로 자리잡고 있다.
자바스크립트의 특징
자바스크립트는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
자바스크립트는 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향 프로그래밍을 지원하는
자바스크립트는 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어이다.
'Javascript' 카테고리의 다른 글
[javascript]연산자 (0) | 2022.05.27 |
---|---|
promise 의 리턴값과 then (1) | 2022.05.20 |
섹션2 HA2 까다로웠던 부분 (0) | 2021.12.13 |
재귀함수 (0) | 2021.11.09 |
반복문 (0) | 2021.10.18 |