나만의 무기?!

이후띵·2022년 1월 26일
0

Node.js

목록 보기
1/10

Happy Marriage (Hospital-resident) 알고리즘을 통해 팀원과 조원이 매칭되었다.

희망하는 포지션은 백엔드다. java기반의 프레임워크인 Spring을 사용해보고 싶었지만, 짧은 기간안에 성공적으로 프로젝트를 진행하기 위해 Node js가 더 나을 것 같다.

Node.js

Node.js는 프레임 워크인가?

  • Node.js는 프레임 워크가 아니고, 자바스크립트라는 언어의 실행환경이다. 일정한 틀이 주어지지 않고, 프로그램의 전반적인 구조를 설계하고 결정하는 것은 모두 개발자 몫이다.

Node.js 설치

https://nodejs.org
왼쪽 LTS(Long Term Support) 버전을 설치한다.

Long Term Support

  • Node.js 커뮤니티에 의해 장기간 지원받을 수 있는 버전. 30개월동한 해당 버전에서 발견되는 각종 버그 등에 대한 패치(수정)을 Node.js 커뮤니티로부터 보장받을 수 있다. LTS버전은 프로그램의 안정성 등에 집중해서 실제 서비스용으로 배포하기 위한 용도로 관리되는 버전이다. 실 서비스에서 Node.js를 사용하려는 사람들을 이 LTS 버전을 사용해야 한다.

VS Code 설정

  • Preference : Font Size - 17, Tab Size - 2 (걍 내 마음대로, 탭사이즈는 2로 많이 권장한다고함)

node.js 실행해보기

  1. 디렉토리 안에서 test.js 파일 만들기

  2. 터미널에서 실행

    • 디렉토리로 들어와서 node file이름
    • node test.js 실행
    • node test 만 쳐도됨.(js빼도됨)

결과

REPL 모드

Read & Eval & Print & Loop
사용자가 입력한 내용을 읽고 그 결과값을 계산한 다음, 출력하는 동작을 반복하는 모드

터미널에서 node 실행하면 REPL 모드가 된다.
undefined가 출력되는 이유는 결과값을 출력하지 않기 때문이다.(단순 프린트만함)
->함수를 만들어서 결과값을 출력하도록 하면 undefined가 출력안댐.

.exit 를 입력하면 REPL 모드가 나가진다.
REPL모드는 긴코드를 쓰기에는 적합하지 않은 모드이다.
짧은 코드를 테스트할 때 유용할 수 있다.

Node.js 상식

  • 라이언 달(Ryan Dahl)이 기존 서버용 프로그램들의 단점을 극복하기 위해 만들었다.
    - 2008년 구글이 크롬 웹브라우저에서 동작하는 자바스크립트 성능을 개선하기 위해서 V8엔진을 개발, 오픈소스로 공개한다.
    - 라이언 달은 v8기반의 node.js를 만든다.
    - 태초의 자바스크립트가 웹브라우저를 제어하는 것이었다면, node.js는 자바스크립트를 이용해서 웹브라우저가 아닌 컴퓨터 자체를 제어한다.
    - 웹브라우저라는 울타리에 갇혀 있던 자바스크립트는 빠른 속도로 웹브라우저 밖으로 팽창하게 된다.
  • 자바스크립트를 실행할 수 있는 환경이다.
  • 자바스크립트 이외의 언어를 몰라도 하나의 전체 웹 서비스를 만들 수 있다는 장점이 있다.
  • Node.js는 자바스크립트의 실행환경일 뿐, 프로그램의 구조가 미리 고정되어 있어서 특정 부분만 채워넣어주면 되는 Django 같은 프레임워크와는 차이가 있다. Django로 개발을 하면 MVT라는 패턴 내에서 개발을 해야하지만, Node.js는 프로그램 내부의 전체 구조를 개발자 본인이 직접 설계해야 한다.

Node.js와 같은 기술을 사용하면, 단 하나의 파일안에 html코드가 있고, 그 코드만 바꾸면 지금까지 우리가만든 수 많은 웹페이지의 내용을 한번에 바꿀 수 있다.

Node.js 공부방법

  • 목표 : Node.js 어플리케이션 만들기
  1. 필요한 javascript 문법 공부.
  2. 이를 바탕으로 Node.js 런타임에서 실행해보기.
  3. Node.js 어플리케이션에 적용.
  4. 반복.
profile
이후띵's 개발일지

0개의 댓글