Programming/Java Script

[K-MOOC x Coursera ] JavaScript Basics -Module 1

감귤밭호지차 2022. 10. 24. 23:12

https://www.awwwards.com/

 

Awwwards - Website Awards - Best Web Design Trends

Awwwards are the Website Awards that recognize and promote the talent and effort of the best developers, designers and web agencies in the world.

www.awwwards.com

교수님이 신기한 웹디자인들이 있는 사이트들을 소개해주었다. 

 

SPA(Single Page Application)Angular, React, Vue, Svelte등의 다양한 프레임워크/라이브러리가 있다. 

특히 React를 이용해서 JavaScript로 ios와 안드로이드의 앱 애플리케이션도 제작할 수 있다고 하니 신기할 따름이다. 

 

#여기서 잠깐! SPA란?
Single Page Application의 약자로 현재 웹 개발의 트랜드라고 한다. 이전의 웹 서비스는 요청할 때마다 서버로부터 리소스들과 데이터를 해석하고 화면에 렌더링하는 방식이었다면 SPA 형태는 브라우저에 최초에 한번 페이지를 전체 로드하고 이후부터는 특정 부분만 Ajax를 통해 데이터를 바인딩하는 방식이다. 
[ ES6, Node.js, npm, webpack, Bable 같은 번들러 등의 개념을 공부하면 좋다. ] 

 

구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경인 Node.js는 javascript를 이용해서 프론트엔드 뿐만이 아니라 백엔드 까지 다룰 수 있다고 한다. 게다가 브라우저의 JS 엔진에서만 동작하던 JS를 브라우저 이외의 환경에서도 동작할 수 있도록 JS 엔진을 브라우저에서 독립시킨 JS 실행 환경이다. 주로 서버 사이드 애플리케이션 개발에 사용 된다. 

필요한 모듈, 파일 시스템, HTTP등 built-in 내장 API를 제공한다. 

#여기서 잠깐! API란?
Application Programing Interface 의 약자로 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미한다. 어떠한 사이트에서 특정 데이트를 공유할 경우 어떠한 방식으로 정보를 요청해야 하는지, 그리고 어떠한 데이터를 제공 받을 수 있을지에 대한 규격들을 의미한다. 
API는 사용 방법과 용도에 따라모두가 접근 가능한  오픈 API와 권한이 있는 일부만 접근 간으한 비공개 API 정보가 있다. 

[ 가끔 API를 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스라고 하는데 여기서의 인터페이스는 컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 의미한다. ] 

Node.js는 비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작함으로써 요청 처리 성능이 좋고 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합하다. 

 

npm(node package managet) 은 JS 패키지 매니저이다. Node.js에서 사용할 수 있는 모듈들을 패키지화해서 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI(Command Line interface)를 제공한다. 자신이 작성한 패키지를 공개할 수도 있고 필요한 패키지를 검색해 재사용할 수도 있다. 

 


교수님께서 언어생성과 발전의 역사에 대해 아는 것은 매우 중요하다고 하신다. 

1997년 Javascript의 첫 스탠다드 버전 (ECMA) 

1999년 세번째 버전 - 몇 가지의 문제점 고친 후 

네 번째 버전은 사람들이 이미 익숙한 프로그래밍 언어들이 있어서 자바스크립트를 살짝 거부? 이해하기 어렵다고 했다고 함. 

 

2009년 ECMAScript5 버전에서는 모두가 자바스크립트 언어가 scripting language가 될 것이라고 동의했다고 함. 

 * scripting language는 소스코드를 컴파일 하지 않고 실행할 수 있는 언어라고함. 

그래서 2009년부터 웹의 최강자가 되기 시작했다. 

 

이후 10년동안 많은 발전들이 일어났다. 

 

2015년 ES6 출시되었고 많은 것이 바뀌고 추가되었고 이는 자바스크립트를 굉장히 크게 성장시켰다. 

교수님이 자바스크립트를 공부할 때 필요한 스킬 중 하나가 persistence : 고집 이시란다.. ㅋㅋㅋ 인내도 아니고.. 고집이라 호우호우호우..

그리고 HTML/CSS에 대한 지식이 꼭 필요하다고 하시면서 추천 사이트를 공유해주심 

https://www.internetingishard.com/

 

Interneting Is Hard

Friendly web development tutorials for complete beginners

www.internetingishard.com

이 HTML/CSS에서는 ATOM 소프트웨어를 이용해서 코딩을 할 거라 해서 또 이 빈약한 내 노트북에 또 하나의 프로그램이 다운되고 있다. 이제 노트북에서 엥간히 으에에에ㅔ엥 소리가 나도 놀라지가 않는다... 

 

<변수 / 배열 요약 예정 >


참고 블로그들입니다. 감사합니다. 많은 공부가 되고 있습니다. 

https://linked2ev.github.io/devlog/2018/08/01/WEB-What-is-SPA/

 

[WEB] SPA 란?

SPA 중심에는 대표적인 라이브러리/프론트프레임워크 React, Vue/Angular가 있다.

linked2ev.github.io