티스토리 뷰

개발일지

Node.js 기초

송채채 2024. 6. 24. 13:51

유튜브에서 간단히 개념과 예제를 제공하는 강의가 있어서 공유

코딩애플의 '2시간만에 웹서버 쉽게 개발하기 (Node.js+MongoDB)'

일부 강의만 유튜브이고, 나머지는 강의수강을 해야 볼 수 있음

https://codingapple.com/

https://youtu.be/pTm5E3jcOeY?si=PDDn7leIFBWiGMWy

Javascript는 HTML을 조작하기 위한 것이고, 크롬에서 만든 자바스크립트 해석 엔진이 독자적으로 발전해서 Node.js가 됨

Event-drive, Non-blocking이란?

영화관 웹서버가 있다고 할 때, 티켓을 제공하는 일반적인 서버가 있음

일반 언어로 개발하면, 웹 서버는 순차적으로 해결함. 오래걸리는 요청(200석 예매)을 하면, 다 처리할 때까지 다른 요청을 못받음

반면, node.js로 만든 서버는?

요청을 전부 한번에 받고, 일단 알겠음. 빨리 처리가 되는 순서대로 해결함 ==> Non-blocking 특성

최근 sns, 채팅 서비스는 요청같이 오래걸리는 요청이 있어도 멈추지 않음

코드가 매우 짧고 쉬워서 빠른 개발 가능

웹 서비스 만들 때, 많이쓰는 서버로 Node.js임. 통계나 분석, 이미지 처리같은 기능이라면 다른 C, python 같은 걸 쓰는게 나음

node.js 버전 확인

node -v

터미널 환경에서 node.js 실행

node

이후 VScode를 활용한 코드예제는 Github에서 작업함

express라는 라이브러리 설치가 필요함 python의 pip 처럼 node.js는 npm을 사용함

package.json을 만들기 위해서 'npm init'

entry point를 잘 입력하기

npm install express

  • 서버 만들기
const express = require('express');
const app = express();

app.listen(8080, function(){}); 

8080포트로 열고, 뒤의 function을 실행해줘

  • 서버 실행방법
    node server.js

  • 경로에 맞게 서버 요청하기

get 요청으로 하면 url으로 요청

app.get("/pet", function (req, res) {
  res.send("pet 용품을 쇼핑할 수 있는 페이지 입니다.");
});

문자열 대신, html을 send하면 페이지를 할 수 있음

나머지는 유료라서 필요에 따라 찾아서 봐도 될듯

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함