모던 자바스크립트 Deep Dive -day1(01,02)

Junho Yun·2022년 10월 31일
0
post-thumbnail

1장 프로그래밍

1.1 프로그래밍이란?

  • 컴퓨터를 활용한 문제 해결
  • 문제 해결을 위해 문제해결 능력이 필요
  • 컴퓨팅사고 필요 = 컴퓨터 입장에서 문제 바라보기
  1. 문제를 정확히 이해한다.

  2. 컴퓨터가 이해할 수 있도록 "정확하고 상세하게 요구사항을 설명해준다"

    1.2 프로그래밍 언어

  • 컴퓨터에게 명령하려면 기계어로 말해줘야한다.

  • 하지만 기계어는 인간이 사용하기에 너무 복잡하다

  • 이런 기계어를 대신하기 위한 언어 => "프로그래밍 언어"

  • 프로그래밍 언어를 기계어로 번역해주는 역할 = 컴파일러 or 인터프리터 (일종의 번역기)

    1.3 구문과 의미

const number = 'string';
console.log(number*number); //NaN

위의 코드는 문법적으로 문제 없지만, 의미적으로 옳지 않다.
(변수 number에 문자열이 할당 되었기 때문에)

프로그래밍은 요구사항에 맞게 적절한 자료구조와 함수를 때에 맞게 제어하는 것

2장 자바스크립트

탄생

넷스케이프에서 만들었다. -> 이름 여러번 바꿈 -> 크로스 브라우징 이슈 발생 -> 표준화 작업 실시 -> ECMAScript로 명명

초창기에는 웹페이지의 보조적인 기능을 수행하기 위해 사용  -> 현재는 어디서든 사용 가능 

https://youtu.be/wcsVjmHrUQg 참고 영상 (설명이 쉽고 친절)

어떻게 어디서든 사용가능 할까?

  1. Ajax (Asynchronous JavaScript and XML)

    • 페이지 이동없이 고속으로 화면을 전환할 수 있다.
    • 서버 처리를 기다리지 않고, 비동기 요청이 가능하다.
    • 수신하는 데이터 양을 줄일 수 있고, 클라이언트에게 처리를 위임할 수도 있다.
    • 플러그인 없이도 인터렉티브한 웹페이지 구현할 수 있다.
  2. jQuery

    • 배우기 쉽고 직관적으로 사용 가능하게 만들어줌
  3. V8 자바스크립트 엔진

    • 빠른 선능으로 데스크탑 애플리케이션과 유사한 사용자 경험을 제공
  4. Node.js

    • V8자바스크립트 엔진으로 빌드된 런타임 환경
    • 브라우저 이외에 환경에서도 동작할 수 있도록 만들어줌
    • 주로 서버 개발에 사용된다.

    장점 : 자바스크립트 1개의 언어로 프론트,백 둘다 사용 가능
    특징 : 단일스레드 이벤트 루프 -> 요청처리 성능 좋음 but cpu 사용률 높을 때는 권장하지 않음
    (I/O가 빈번한 SPA에 적합)

  5. SPA 프레임워크
    - 점차 개발 규모가 커지고 복잡도가 상승했다.
    - Angular, React, Vue.js 등의 출현으로 아키텍처 구축을 편리하게 만들어줌

    ## 자바스크립트의 특징 
    - 웹 브라우저에서 동작하는 유일한 프로그래밍 언어 
    - 인터프리터 언어
    - 타입이 강하지 않음 -> 쉽게 배운다는 장점과 규모가 커지면 오류 잡기가 어렵다는 단점

profile
의미 없는 코드는 없다.

0개의 댓글