Javascript

JS 는 브라우저에 내장되어 있다. 

JS를 이용해서 서버를 만들 수 있고 

웹 스크랩터를 이용해서 웹 크롤링도 가능하게 한다.

브라우저 밖으로 꺼내서 사용한다.

JS를 이용해서 브라우저와 별도로 작동하는것을 만든다 Node.js다.

 

node.js는 철저하게 es6기반 JS 가 비동기로 동작하기 때문에 실시간처리가 가능하다.

 

내 경우 MAC이라 

1.3 installing nodejs

Brew update node 실행 했다. 

Node -v 로 하면 버전 표시가 나온다. 

 

서버를 만들어보자.

서버란 컴퓨터다. 

소프트웨어적 서버 = 인터넷에 연결된 덩어리 코드 

물리적인 컴퓨터 = 공개적인 컴퓨터

접속 요청에 응답하는 컴퓨터이다. 

서버란 접속을 받아주는 무언가다. 

접속을 Listen 하고 있습니다 ^.^! 이걸로 대기 하고 있는것을 볼 수 있다. 

Express 서버를 만들것이다. 

 

Express

express 의미는 아주 많은 코드로 

우리가 사용할 수 있는 원하는걸 빠르게 

목표가 노드로 서버를 만드는 것이라면

수작업 해야한다. 

But, 익스프레스 이용한다 

몇줄의 코드로 서버를 만든다. 그게 프레임 워크이고

프레임워크는 유저들의 개발을 도와준다. 

커넥션 리슨 파일 처리하고 html 전송하고 

어플리케이션은 동일한 일을 한다. 

 

프로젝트 생성 

Npm = node package manager 

Express 공유 하는게 

npm init 은 패키지 이름을 알려달라고 한다. 

=>package.json이 만들어진다. 

script는 지운다. 

npm을 실행할때는 package.json 이 있는곳에서 실행해야 한다. 

npm install express 를 한다. 

node_modules 가 다운받는다. 

 

require은 node module을 어딘가에서 가져오는거다. 

express를 폴더에서 찾는다. 못찾으면 node_module에서 찾을려고 한다. 

모든것이 작은 블락 단위

설치한다음 리콰이어, 임폴트하면 된다. 

 

"scripts": {

    "start" : "node index.js"

  }

 

명령어를 기억해주면 된다. 

대문자로 표시된것이 있으면 

GET

브라우저가 GET메소드를 들고온다. 

http 작동방식 get, post 

GET request로는 정보를 전달할 없다. Post 정보 전달 가능하다. 

Post request 만들것이다. 서버로 

http method 만들어 내겠다. 

request 응답이 있어야 한다. 

응답을 하게 만들어야 한다. 

서버로 응답하거나 

에러를 응답하거나 ok 

아니면 http 메세지 

Hello 라든가 응답을 해야한다.

 

/profile 경로가 바뀐다. 

 

서버처럼 작동하길 바란다면 send 하는 대신에 완전한 html,css send 해야 한다. 

서버를 생성하고 라우터를 생성하고 그리고 그것을 응답하는 방식이다. 

Express node 간단하게 있다. 

많은 라우터들이 있다. 영상올리고 세부정보 올린다. 프로파일 등등 

Html, css 파일 보내주는것까지 데이터베이스도 넣어줄 것이다. 

 

babel

바벨(*babel = webpack 과 같은 빌드시스템)

바벨은 많은 loader 있다. 

바벨 노드를 쓸것이다.

Npm install @babel/node 라고 검색한다. 

바벨은 많은 stage 있다. 

preset 있다. 

https://babeljs.io/docs/en/babel-preset-env 에서

Install 부분을 터미널에 복사한다.

Babel-env 사용할 것이다. 

문법 변환을 위해 세부 조정이 필요없다.

.babelrc 만들어준다. 

(*babelrc = babel plugin 을 모아놓고 사용할 설정파일)

Preset-stage0 

우리가 원하는 모든 설정을 node,  JS 관련된것

Preset 을 가지게 될 것이다. 

(*Preset = plugin들을 모아놓은 파일들이 포함된곳이다.) 

바벨이 실행되기전에 바벨엘씨를 읽고 설정해둔 프리셋을 읽는다. 

Babel 코드를 바꿀 것이다. 그런 다음 node.js 실행 해준다. 

 

nodemon

nodemon 이라는 package 설치할것이다. 

(*nodemon = 소수 수정시 자동으로 서버 재시작)

 

Npm install nodemon -D 

반영하려면 -D 쳐준다.