비기닝2까지 기본 내장 모듈인 http를 이용해서 정적 웹서버의 초 기본 기능을 구현해 보았는데,
이 모든 기능 + 알파를 가진 express 모듈을 이용하면 소스는 더욱 더 간단해 진당.
자바의 스프링에 비유하면 mvc 프레임워크라 할 만하당.
이것은 기본 모듈이 아니라서 설치해야 한당
설치하는 김에 서버의 디렉토리 내용을 눈에 보이게 해주는 serve-index 모듈도 괜히 설치하장
아래 명령어로 설치하고서, package.json 파일에 어떤 변화가 있는지 눈으로 꼬옥 확인하장!
npm i express serve-index
자바에 maven repository가 있다면, node에는 npmjs 사이트가 있당!
나중에 자주 방문해서 모듈을 검색하게 될 것이당. 모듈이 기본 사용법이 적혀 있어 아주 훌륭하당!
아래 코드를 node server.js 로 실행한 뒤에 브라우져에서 localhost:272로 내용을 확인하장
import express from 'express';
import serveIndex from 'serve-index';
const serverPort = 272;
const app = express();
app.use('/',express.static("./public"),serveIndex('./public',{icons:true}));
app.listen(serverPort,()=>{
console.log(`server is running on ${serverPort}`);
});
아래처럼 쪼메만 고치고 다시 실행시키고, 브라우져에서 localhost:272/e7e 의 결과를 확인해보장!
import express from 'express';
import serveIndex from 'serve-index';
const serverPort = 272;
const app = express();
// 요기가 쪼메 고친 부분
app.use('/e7e',express.static("./public"),serveIndex('./public',{icons:true}));
app.listen(serverPort,()=>{
console.log(`server is running on ${serverPort}`);
});
느낌이 왔어야 하는뎅!!!~~~ 왔을 것이당!
serveIndex 부분을 지우면 파일리스트가 감춰지고,
일일이 정확하게 주소줄에 경로에 맞게 파일명을 적어줘야 한당!
이것으로 자바스크립트를 배운지 얼마 안 되신 분들은 혼란스럽겠지만(괜찮당!~~)
브라우져에서 자바스크립트를 공부할 수 있는 초 간단 정적 웹서버가 완성되었당!
서버(Server)란 무엇일까?
=> 말 그대로 서비스 하는 사람을 의미한당. 현실에 비유하면 사장님이 되시겠당!
=> 물건을 팔 수도(쇼핑몰), 정보 서비스를(오픈 API) 할 수도 있당!
=> 컴퓨터 세계에서 서버프로그램의 서비스는 눈에 보이진 않지만 백그라운드에서
실행되고 있다해서 데몬(DAEMON - 악마)이라고도 부른당
=> 악마는 눈에 보이진 않지만, 우리 맘속에 항상 같이 살고 있당!~~
고객(Client)이란 무엇일까?
=> 서비스를 요청하고 소비하는 사람이당
=> 웹 프로그램에선 브라우져가 서버에 요청을 보내고, 서버응답을 받아서 소비하니
브라우져가 클라이언트라 하겠당!
그럼 정적 웹서버란 무엇일까?
=> 편의점에서 파는 포장된 김밥에 햄을 더 넣어주세요! 란 요구는 미친짓이당
그냥 이미 가공된 대로 사야 한당!, 편의점은 정적 서버당!
=> 중국집에서 짜짱면을 시키면서(서비스요청), 양파는 빼줘용(커스터마이징 요청) 하면
주방장님께서 요리(응답 작성)시에 양파를 뺀 짜장면을 완성한당(응답 완성)
요따구로 서버에서 사용자요청에 맞추어 응답을 커스터마이징(서버 프로그램언어 사용)
할 수 있다면 그거슨 동적 서버당!
톰캣은 자바를 주방장처럼 사용하는 동적서버라 하겠당!
Node로 만든 서버는 자바스크립트로 커스터마이징 가능하니, 역시 동적서버다앙!
곧 정적서버에 서버쪽 프로그램을 할 수 있는 언어(주방장)를 붙이면 동적서버가 된당
=> 편의점 사장님(서버)이 중국집에 가서 턍슉을 시킨당
요따위 상황은 편의점 사장님을 중국집 클라이언트로 맹근당!
곧 서버는 다른 서버의 클라이언트가 될 수도 있당!
구멍 숭숭 난 부분은 점차 메워 나가도록 하장!, (메꿔 질깡?)
내 경우엔 김밥 보단 떡뽁이나 라뽁이가 더 땡긴당!
(주변의 오해와 강압으로 난 김밥을 더 자주 먹는당!, 가끔 킹받을 땐 냉면을 먹고 해장하장!)
https://www.youtube.com/watch?v=0zGDQ9r36p4
시베리안 허숙희의 자바스크립트 비기닝 5 (조건 & 자동 형변환) (0) | 2023.06.02 |
---|---|
시베리안 허숙희의 자바스크립트 비기닝 4 (변수동작: 복사와 참조) (0) | 2023.06.01 |
시베리안 허숙희의 자바스크립트 비기닝 2 (3) | 2023.05.29 |
시베리안 허숙희의 자바스크립트 비기닝 1 (0) | 2023.05.28 |
html2canvas와 jspdf를 이용 pdf 맹글깅 (0) | 2023.05.24 |