본문 바로가기

수업 복습하기/JavaScript + JQuery

Day 01 - udemy js 완벽 가이드

728x90
728x90

개요


1 - 2 자바스크립트란?

- JavaScript는 동적이며 약한 형식의 프로그래밍 언어로 다음에서 컴파일됩니다.
실행 시간. 브라우저에서 웹페이지의 일부로 실행하거나 모든 웹사이트에서 직접 실행할 수 있습니다.
머신("호스트 환경").

 

- JavaScript는 웹페이지를 보다 동적으로 만들기 위해 만들어졌습니다(예:브라우저 내부에서 직접 페이지).
원래는 LiveScript라고 불렸지만 자바의 대중화로 자바스크립트로 이름이 바뀌었다.

 

- JavaScript는 Java와 완전히 독립적이며 Java와 공통점이 없습니다!


1 - 5 자바스크립트는 어떻게 실행되는가

내가 유저라면 > 브라우저가 설치된 컴퓨터를 사용해서, 구글 검색 결과로 사이트를 방문합니다.

우선 웹페이지를 처음 방문할 때  요청이 서버로 전달됩니다.

 

1. html파일이 호스팅된 웹페이지가 있는 인터넷의 컴퓨터로 전송이 되면 (request)

2. 서버가 그 웹페이지를 로드한다. 

3. 응답이라고 불리는 (response) 나의 브라우저로 전송한다.

 

이게 기본적으로  브라우저가 동작하는 기본 구조이다.

 

로드된 페이지가 온라인 쇼핑몰이라면,

사용자는 버튼을 클릭하여 제품을 주문하는 등의 양식을 제출합니다.

제출해서 서버로 보내기 위해서 브라우저에서 서버로의 새로운 트리거가 요청된다.

서버는 들어온 요청을 처리하는데, 데이터베이스에 주문 데이터를 저장하는 등의 처리가 진행된다.

처리가 완료되면 주문확인 페이지 등의 새로운 웹페이지나 html문서로 클라이언트에게 새로운 response를 요청합니다.

 

내가알고있는 것으로는, 이 response를 생략해서 진행할 수 있게 해주는 것이 jquery로 알고있다.


1 - 7 자바스크립트 간략 정리

1. 동적 약형 프로그래밍 언어

2. 해석형 언어이므로 전송 중에 컴파일이 된다. (defer를 적용하는게 제일 좋은 방법인 이유)

3. 호스팅된 언어이므로 여러 환경에서 실행이 가능하다는 장점을 가지고있다.

4. 웹페이지의 브라우저에서 코드를 실행하여 보다 동적으로 만들기 쉽다는 점!


추가 설명

2번에서 말하는 해석형, 즉석(on the fly) 컴파일링이란?

크롬같은 경우에는 자바스크립트가 v8 엔진이라고 저장되어있고 firefox에는 spider monkey라고 등록이 되어있다.

 

여기서 엔진의 역할이라고 말하면 코드 구문을 분석하는 것 -> parsing이라고 말하는 부분. = js를 분석, 읽고 이해하기

그리고 머신 코드가 더 빨리 실행되기 때문에, 머신코드로 즉석 컴파일링을 한다.

코드를 읽기는 하지만, 반드시 실행하는 것이아니라 이 코드를 실행이 더욱 빠른 코드로 컴파일 한 다음에 

머신 코드를 실행한다.

 

=> 이런 과정이 js엔진을 통해 브라우저 내에서 일어나게 됩니다.

 

단일 스레드에서 작성 및 실행이 된다는 것 까먹지 말기. 


+)

동적 해석형 언어 : 미리 컴파일이 되지 않았다. 

자바스크립트에서 동적이라고 말하는 것은 런타임에 분석 및 해석이 되어서, 컴파일이 되기 때문에 

특정 작업의 수행이 가능하다는 것이다.

 

ex) 변수의 데이터를 변경할 수 있는데, 다른 프로그래밍 언어로는 이런 업무가 적용이 되지 않는다.

 

약형이란?

기본적으로, 변수가 가지고 있을 데이터 유형을 미리 정의해놔야 하지만, 

자바스크립트는 변수에 저장된게 숫자이면, 그대로 이 변수의 유형이 숫자라고 받아들이는데 차이가 있다.

 

동적 언어이기 때문에, 관대하고 유형을 정의하지 않아도 되는 것이, js의 가장 큰 장점이다.

 

+) 강형과 약형은 데이터 형식을 명확하게 설명해야하는 강력한 형식 (strongly typed)언어와

비고정 유형(weakly typed) = 약한 형식으로 구분된다.

 

 


node. js 코드는 사용자가 직접 실행해야지, 웹페이지에 들어간다고 실행되는 식이 아니기 때문에, 

머신 내의 파일 시스템에만 접근이 가능하고, 또 사용자가 실행하고있는 서버가 접근이 가능하다.  

또 운영체제와 상호작용이 가능하다.

 

그와 반대로 js같은 경우에는 보안상의 이유로 로컬 파일 시스템에 액세스 할 수 없으며, 운영체제 등과 상호작용을 할 수 없습니다. 

 

이렇게 크게 본다면, 접근 할 수 있는 기능이 서로 반대되는 셈이다. 

 


앞으로 배워나갈 순서인데, 나는 사실 1번에서 변수나 코드짜는 기본적인 것들을 알지만, 

기본적인 코드를 복습한다고 생각하고 빠르게 연습문제만 풀고 넘어갈까 생각중이다.


1 - 11, 12 

java와 js 는 공통점이 없다.

js는 브라우저와 다른 모든 환경에서 실행되지 않지만, java는 브라우저에서 실행되지 않는다. 

 

이것이 제일 중요하다.

java 는 브라우저에서 실행되지 않지만, javascript는 실행이 된다는 것!


+) 주석

강의에서 추천하는 vscode 확장프로그램 : material icon / prettier


728x90