Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
[Javascript]: Intro
language
javascript

[Javascript]: Intro

Jay Kim
Jay Kim 14 Jan 2024
시작 [Javascript]: 변수

Table of Contents

  • 프로그래밍
    • 프로그래밍이란?
    • 프로그래밍 언어
  • 자바스크립트
    • 자바스크립트의 역사
    • 자바스크립트의 특징
    • 자바스크립트 성장의 촉매제

프로그래밍

프로그래밍이란?

  • 프로그래밍은 컴퓨터를 이용해 프로그램, 서비스, 플랫폼, 소프트웨어와 같은 것들을 만드는 것을 의미한다
  • 프로그래밍을 하면 항상 특정 기능을 사용자에게 제공하기 위해 요구사항이 생기고, 그러한 요구사항을 해결하기 위한 문제 해결 능력이 필요하다
  • 프로그래밍에서 문제 해결 능력을 갖기 위해서는 컴퓨팅 사고, 즉 컴퓨터 입장에서 문제를 바라볼 수 있어야 한다

프로그래밍 언어

  • 우리가 고안해낸 해결 방안을 수행하는 주체는 컴퓨터이다. 그러기 위해서는 컴퓨터가 이해할 수 있는 언어로 명령을 전달해야 한다. 컴퓨터가 이해할 수 있는 언어를 기계어라고 한다. 기계어는 이진수로 이루어져 있기 때문에, 사람이 이해하는데 어려움이 있다
  • 그래서 먼저 인간에게 친숙한 언어로 코드를 작성하고, 일정 단계를 거쳐 기계가 이해할 수 있는 언어로 변환해 컴퓨터에게 넘겨주는 것이 좋다. 이런 변환을 위해 보통 컴파일러 또는 인터프리터를 사용한다
  • 정리하면 프로그래밍 언어는 인간 친화적이며 컴퓨터에게 명령을 전달할 수 있는 언어를 의미한다. 프로그래밍 언어에는 C언어, Java, Python, Javascript 등이 있다

자바스크립트

자바스크립트의 역사

  • 1995년, 넷스케이프 커뮤니케이션즈(이하 넷스케이프)가 웹 브라우저 시장을 장악하고 있었다
  • 넷스케이프 웹페이지의 보조적인 기능을 제공하기 위해, 브라우저에서 동작하는 프로그래밍 언어를 개발했고, 그게 바로 자바스크립트이다
  • 이 후 자바스크립트와 비슷한 여러 언어들이 등장했고, 브라우저마다 조금씩 다른 프로그래밍 언어를 사용하게 되어 크로스 브라우징 이슈가 심각한 문제가 되었다
  • 넷스케이프는 컴퓨터 시스템의 표준을 관리하는 ECMA 인터네셔널에 자바스크립트의 표준화를 요청했고, 1997년 ECMA-262라 불리는 자바스크립트 표준의 초판 사양이 완성되었다
  • 상표권 문제 때문에 자바스크립트의 정식 명칭은 ECMAScript가 되었고, 2015년 ECMAScript6 (ES6) 부터 범용 프로그래밍 언어로서 갖춰야 할 다양한 기능을 갖추게 되었다

자바스크립트의 특징

  • 자바스크립트는 웹 브라우저에서 유일하게 동작하는 프로그래밍 언어이다
  • 자바스크립트는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어이다. 그래서 별도의 실행 파일이 생기지 않는다
  • 인터프리터 언어이지만, 런타임에 일부 코드는 컴파일러가 빠르게 동작되는 머신 코드로 변환하고, 인터프리터는 소스 코드를 런타임에 한 줄씩 즉시 바이트 코드로 변환한 후 실행함으로써 인터프리터 언어의 느린 처리 속도 문제를 많이 개선했다
  • 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다

자바스크립트 성장의 촉매제

  • Ajax: 비동기 방식으로 브라우저와 서버간의 데이터 교환을 가능하도록 한 기능으로, Ajax의 등장으로 브라우저는 필요한 부분의 데이터만 요청하고, 변경된 부분만 재렌더링할 수 있게 되었다.
  • V8 엔진: 구글에서 개발한 자바스크립트를 해석하고 실행하는 엔진이다
  • Node.js: V8 엔진으로 빌드된 자바스크립트 런타임 환경으로, Node.js의 등장으로 자바스크립트를 브라우저 밖에서도 실행할 수 있게 되었다
시작 [Javascript]: 변수

You may also like

See all javascript
11 Feb 2024 [Javascript]: 자바스크립트 이벤트 루프와 콜 스택
language
javascript

[Javascript]: 자바스크립트 이벤트 루프와 콜 스택

10 Feb 2024 [Javascript]: 비동기 프로그래밍
language
javascript

[Javascript]: 비동기 프로그래밍

이웅모님의 모던 자바스크립트 Deep Dive 책을 읽고 정리한 내용이다

05 Feb 2024 [Javascript]: 타이머 함수
language
javascript

[Javascript]: 타이머 함수

이웅모님의 모던 자바스크립트 Deep Dive 책을 읽고 정리한 내용이다

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.