dukDukz
21.04.19 Node JS 본문
Node JS
서버 개발하기 쉬움
Server - Client
server
국밥집
점원에게 요청
국밥 줌
하는 역할 : 요청
요청 받은 값을 주는 기계가 서버
상황 : naver 홈페이지 접속
(브라우저)
클라이언트 Naver 서버
reQuest --> responce
[reQ] [res]
(요청) <--
HTML css javascript 를 준다.
Node js 서버의 특이점
일반적인 서버 | 일을 하나씩 처리함 혹은 요리사의 수를 늘려서 일을 처리함 1 요청 -> 1초 4 요청 -> 4초 |
NodeJS 서버 논블로킹, 이벤트 처리 |
주문을 하나씩 받아서 끝나는 순서대로 준다.
|
서버를 이제부터 만들거야
누가 url 접속하면 .page/index.html 페이지를 보내줘
누가 url/interview 에 접속하면 .page/interview.html 페이지를 보내줘
+
누가 url 접속하면 DB 서버에 접속해서 특정 데이터 보여줘
<라이브러리 다운 받는 방법>
핵심 - 터미널에 입력하는 값들
npm init
npm install express
끝까지 엔터침 (entry point 에서만 server.js 쳐준다.)
1. npm을 사용할 수 있게 한다 (npm init)
2. npm을 통해 experess를 설치한다
코드 실행 위해서, 라이브러리 필요함
npm 으로 express를 다운받은 것이다.
<서버 실행시키는 방법>
node server.js // 서버 on
ctrl + c // 서버 off
package.json 에 있는
"start": "node server.js" --> start 하려면 이렇게 치라는 뜻
이대로 터미널에 치면
server is listening at localhost:3000 가 나오면 성공
--> 이게 console.log(`server is listening at localhost:${port}`); // 이 부분임
<터미널 열린거 확인하는 법>
인터넷 주소창에
localhost::3000
① localhost::3000
터미널 실행 시키고
크롬 켜서 주소창에
localhost::3000
치면 아까 입력했던 hello world가 뜸
app.get('/',(req,res)=>{
res.send('hello world');
});
② localhost::3000/hello
주소창에 뒷부분에 추가로 hello 작성,
이렇게 하면 hello world2 가 나온다
app.get('/hello',(req,res)=>{
res.send('hello world2');
});
안되면 서버를 껐다가 켜야 함.
ctrl + c 하고 다시 node server.js 치면 껐다 킨게 됨
코드를 수정하면 서버를 무조건 껐다가 켜야 적용이 된다.
(코드 수정은 server. js에서 함)
코드설명
server.js
const express = require('express'); // express를 생성함
const app = express(); // app에 express 객체를 담는다. --> 이 두 줄은 외워야 함
const port = 3000;
app.get('/',(req,res)=>{
res.send('hello world');
});
app.get('/hello',(req,res)=>{
res.send('hello world2');
});
app.listen(port,()=>{
console.log(`server is listening at localhost:${port}`); // 이 부분은 터미널 콘솔에 뜬다.
});
설명
const express = require('express'); // express를 생성함
const app = express();
const port = 3000;
1) express 생성
2) app에 express 객체를 담는다.
--> 이 두 줄은 외워야 함
1. 서버를 만들거라는 뜻
app.listen(port,()=>{
console.log(`server is listening at localhost:${port}`);
});
app 객체에서 listen() 매서드를 호출함
listen 매서드에는 2가지 매개변수 or 인자값이 들어간다.
.listen(port, ( )=>{ })
① port
컴퓨터는 5만개의 구멍이 있다. 즉 5만번까지 포트가 존재한다는 것이다.
만약 zoom 을 사용한다고 할때, zoom 이 인터넷에서 port 3000 을 사용한다고 가정하자
내가 입력한 server.js도 3000을 사용한다.
그러면 실행 불가함 - 이미 내가 3000 port를 사용하고 있기 때문
② 코드가 실행되었을 때 콜백함수가 들어간다.
2. 처리부분 처음 내 서버에 오면 hello world를 내보낼거야
app.get('/',(req,res)=>{
res.send('hello world');
});
app.get('/hello',(req,res)=>{
res.send('hello world2');
});
app = express 에 대한 객체
app.get() 는 url 변동에 대한 이벤트임
app.get() 어떻게 실행되는가?
2가지 매개변수가 있다.
app.get('/', (요청,응답)=>{})
1. 경로 '/' => localhost:3000
2. 콜백함수 ()=>{
두가지의 인자값이 존재함->요청과 응답
응답 : 서버는 요청 받은 내용을 토대로 응답해주는 기계
응답.보냄('뚝배기');
res.send('hello world');
}
추가 내용
*** 중요한거 get, post
get : 읽기
url 주소에 직관적으로 보임
눈에 보이는 data
post : 쓰기
로그인 혹은 회원가입 할 때 사용한다.
눈에 안보이는 data
put : 수정
delete : 삭제
PIP -> Python
NPM -> NodeJS
노드 패키지 매니저
어떤 특정 url에 들어가서 다운로드 버튼 누른것과 같다
그래서 install 파일을 다운받아서 설치까지 한거랑 같다
설치 다해주는게
NodeJS 설치하면 자동적으로
npm 패키지 매니저가 설치된다.
npm install []
브라우저에서 작동하는 javascript
'웹 개발 > Node JS' 카테고리의 다른 글
21.04.27 Router로 파일 쪼개기 2 (0) | 2021.04.27 |
---|---|
21.04.27 Router 로 파일 쪼개기 (0) | 2021.04.27 |
21.04.26 게시판 번호 처리 (0) | 2021.04.27 |
21.04.20 login - Add user 페이지 (0) | 2021.04.20 |
21.04.20 get , post - html 파일 열기 (0) | 2021.04.20 |