[TIL]200925 Mini Node Server

Chaegyeom·2020년 10월 4일
0

TIL

목록 보기
43/77
post-thumbnail

rotatedArraySearch
정렬되어 있는 배열 중 일부를 왼쪽 혹은 오른쪽으로 회전시킨 배열이 주어졌을때,
어떻게 특정 element를 효율적으로 찾을 수 있을까요?

작성한 함수는 target의 index값을 return하고, 없으면 null을 return해야 합니다.

예시 :

rotatedArraySearch([4, 5, 6, 0, 1, 2, 3], 2) === 5;
rotatedArraySearch([4, 5, 6, 0, 1, 2, 3], 100) === null;

node.js

Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.
내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.
출처: 위키백과

Node.js는 Chrome V8 javascript엔진으로 빌드된 Javascript 런타임이다

V8는 자바스크립트를 컴파일 해주는 역할을 하는 엔진이다
런타임이란? 프로그래밍 언어가 구동되고 있는 환경이다

Node.js는 자바스크립트를 기계어로 컴파일해주는 엔진으로 빌드되어 있는 자바스크립트가 구동중인 환경이라고 할 수 있다

Node.js 는 이벤트 기반의 논블로킹 io모델이다
이벤트란? 유저의 버튼 클릭이나 네트워크에 리소스를 요청하는 것이라고 할 수 있다

  • node.js는 무엇인가?
    Node.js는 Chrome V8 javascript엔진으로 빌드된 Javascript 런타임이다

V8는 자바스크립트를 컴파일 해주는 역할을 하는 엔진이다

런타임이란? 프로그래밍 언어가 구동되고 있는 환경이다

Node.js는 자바스크립트를 기계어로 컴파일해주는 엔진으로 빌드되어 있는 자바스크립트가 구동중인 환경이라고 할 수 있다

Node.js 는 이벤트 기반의 논블로킹 I/O모델이다

이벤트란? 유저의 버튼 클릭이나 네트워크에 리소스를 요청하는 것 등

블로킹(blocking) - 다음 함수의 실행이 현재함수의 종료 이후에 이루어 지는 것
논블로킹(non-blocking) - 다음 함수의 실행이 현재 함수의 종료를 기다리지 않는다

I/O model - input을 주면 output을 반환하는 모델

정리해보자면 node.js는 이벤트 기반 및 논블로킹(non-blocking) I/O모델로 유저의 클릭이나 네트워크에 리소스를 요청하는 이벤트가 논블로킹으로 이루어지는 input output model이다.

코어모듈?

노드를 설치하면 별도의 설치를 하지 않아도 node상에서 쓸 수 있는 모듈이 있는데 이 모듈을 코어모듈이라고 한다. Node와 함께 번들링 되어 있는 모듈로 require('')방식으로 사용 할 수 있다 fs,http,url,path등이 있다

예시

    const fs = require('fs')
    const http = require('http')

    fs.readFile('./something.json',(err,data)=>{
        console.log(data);
    })

    http.get('http://localhost:5000/api',(res)=>{
        console.log(res)
    })

오늘 스프린트는 node.js를 통해서 서버를 구축해보는 시간이었다.

처음 화면을 보고 굉장히 당황스러웠다.
지금에서야 알게됐지만 if(조건)문을 통해서 method마다의 반환값을 지정해서 요청에 대한 반환을 정해줄 수 있었다.

profile
주니어 개발자가 되고싶은

0개의 댓글