-
[드림코딩 by 엘리] 자바스크립트 기초 강의(1)스터디플래너/복습하기 2021. 10. 10. 23:11
학원 다닐 때, 강사님 설명으로 부족했던 부분을 보완하기 위해 유투브를 많이 이용했다. 그중 자바스크립트는 엘리의 드림코딩을 추천받았다 (내가 봤던 개발 관련 유투버 중 가장 목소리가 잔잔하지 않은 분이다. 그리고 내가 살고싶은 삶을 살고 계신 분이다). 아무튼 수학의 정석 첫 장을 넘기기 힘든 것처럼 드림코딩의 자바스크립트도 첫번째 영상 이후로 넘어가는게 힘들었다. '어서오시게' 이 말만 열번 넘게 본 것 같다. 학원에서 배운걸로 어느정도 할 수 있었기 때문에 완강하지 못했는데, 요새 node js 강의를 듣다보니 부족한 부분이 느껴졌다. 그래서 자바스크립트 강의에 다시 도전하기로 했다. node 강의는 유료이다보니 주의사항에 블로그와 같은 외부 사이트에 정리하지 말라고 적혀있었다. 하지만 유투브는 그런 것 같지 않고, 또 정리해두는 사람들이 많길래 나도 복습 겸 블로그에 정리해보기로 했다.
https://www.youtube.com/channel/UC_4u-bXaba7yrRz_6x6kb_w
드림코딩 by 엘리
모든 드림코더분들이 개발자로 성장해 나가고 꿈을 이루는 여정에 함께 할 채널입니다. ❝Don't forget to code your dream 여러분들의 멋진 꿈을 코딩하세요 ⭐️ ...................................................
www.youtube.com
자바스크립트 배우기전 꼭 봐야할 영상 | 자바스크립트의 역사와 현재 그리고 미래 (JavaScript, ECMAScript, JQuery, Babel, Node.js) https://youtu.be/wcsVjmHrUQg
Netscape사의 Marc Andreessen가 만든 Netscape Navigator는 HTML과 CSS로 이루어진 브라우저로 출시 후 80%의 시장점유율을 달성했다. 이후 Marc Andreessen은 동적 요소를 추가하기 위해 고민했다. 기존 Java는 브라우저에 넣기에 너무 무거웠고, Scheme을 만든 Brendan Eich에게 새로운 스크립트 언어를 만들어 볼 것을 제안했다. Brendan은 열흘만에 LiveScript라는 언어를 만들었고, LiveScript와 LiveScript Interpreter 엔진을 포함한 Netscape Navigator가 출시되었다. DOM 조작이 용이했던 LiveScript는 Java의 인기에 편승하기 위해 이름을 JavaScript로 바꿨다. 이것이 지금 우리가 사용하는 JavaScript의 탄생이다.
이를 본 Microsoft는 Reverse Engineering으로 Jscript를 출시했다. 그래서 Microsoft는 Internet Explorer의 Jscript로, Netscape는 Netscape Navigator의 Javascript로 각자 자신의 브라우저에 최적화된 스크립트언어를 사용할 것을 권장했다. 결국 Netscape는 ECMA International이라는 단체에게 Javascript로 표준안을 만들 것을 제안했다. 이후 ECMA Script 1부터 ECMA Script4까지 출시되었다. 2000년이 되자 시장점유율 95%에 달했던 Microsoft의 Internet Explorer는 ECMA Script에 불참하겠다고 선언했다.
ECMA Script4 표준안을 두고 Microsoft의 Internet Explorer와 Netscape Netscape Navigator 사이에서 개발자들은 고통받았다. 이후 mozilla가 ActionScript3 Tamarin으로 새로운 ECMA Script 표준안을 만들 것을 제안했지만 기존 ECMA Script와 달라 거절당했다. 결국 Microsoft의 Internet Explorer와 Netscape의 Netscape Navigator, mozilla의 Firefox사이에서 개발자들은 더 고통받게 되었다.
2004년 Jesse James가 비동기적으로 서버에서 데이터를 받아오고 처리할 수 있는 AJAX를 개발했다. 그럼에도 불구하고 세 회사의 신경전은 계속되었고, 그 사이에서 다양한 브라우저가 등장했다. 다양한 브라우저 사이에서 고통받던 개발자들 사이의 커뮤니티가 형성되고 그 커뮤니티에서 jQuery, dojo, mootools와 같은 라이브러리가 탄생했다. 이런 라이브러리의 목표는 다양한 브라우저에 구애받지 않고 개발할 수 있는 환경을 만드는 것이었다.
2008년, 그들만의 신경전을 멈추지 않던 3사와 개발 환경 개선을 위해 애쓰던 개발자들 사이에서 Google의 Chrome이 등장했다. JIT(Just in-time Compilation) 엔진을 포함한 chrome browser에서 Javascript 실행속도가 매우 빨라졌다. Chrome의 등장에 위기감을 느낀 세 회사는 다시 모이게 되었고 이후 2009년 ECMAScript 5, 2016 ECMAScript 6를 발표한다. 이제 jQuery, dojo, mootools와 같은 라이브러리의 도움 없이 Javascript만으로 브라우저와 관계 없이 개발할 수 있게 되었다.
요즘 Javascript는 SPA(Single Page Application), 웹 사이트가 아니라 하나의 페이지에서 데이터를 주고 받으며 처리하는 것을 추구하고 있다. 또한 WA(Web Assembly)가 등장하여 웹에서도 스크립트 언어 뿐만 아니라 컴파일러가 필요한 언어도 사용할 수 있도록 진화하고 있다.
'스터디플래너 > 복습하기' 카테고리의 다른 글
[자바로 구현하고 배우는 자료구조] 2.선형 자료구조(연결 리스트&배열)(1) (0) 2021.10.11 [드림코딩 by 엘리] 자바스크립트 기초 강의(2) (0) 2021.10.11 [자바로 구현하고 배우는 자료구조] 1.자바 특성 및 알고리즘 기본(2) (0) 2021.10.10 [자바로 구현하고 배우는 자료구조] 1.자바 특성 및 알고리즘 기본(1) (0) 2021.10.09 모두를 위한 컴퓨터 과학(CS50 2019) 완강 (0) 2021.10.04