본문 바로가기
카테고리 없음

node js

by 소라소라잉 2019. 12. 5.

브라우저내에 액티비티를 하고싶어서 넣은 스크립트 랭귀지.

 

브라우저 내부 엔진에서는 js엔진 =

 

 

 

 

Node 이벤트 베이스 - > 비동기

플랫폼

 

 

 

 

 

 

 

 

 

on / emit

on -> 받을때 

emit -> 발생할때 

 

nodejs는 기본적으로 루프를 돌림(기본적으로 비동기. 비동기처리)

 

Java->기본적으로 동기. (but Spring 5v react(함수형방식)지원)

readFile이란 메서드가 있다면

String str = f.readFile(파일명) 

이런식. 

 

but 비동기는 언제 끝날지 모름

f.readFile(파일이름, callback(읽는거 다됐니? 다 됐으면  { 이거해줘 }) 

 

ajax의 가장 큰 단점이 뭐냐? - ajax가 브라우저에서 서버를 비동기로 호출. 그러나 서버에서 브라우저를 호출 할 수 없다.

ex. 네이버 실시간 검색어

> 내가 5분에 한번씩 네이버의 실시간 검색어를 호출해서 뿌려줄수 있다.

> but 서버에서 실시간검색어 1위가 튀어나왔을때 이걸 브라우저한테 알려줄 방법이 없음.

해결법

1) -> 최신상태를 반영할 수 있게 1분에 한번씩 계속 호출 -> but 서버가 못견딤

2) -> 

(웹서버는 기본적으로 stateless. 브라우저에서 리퀘스트를 보내고 서버에서 리스판스를 보내면 연결을 끝냄. so 다른사람들을 얼마든지 받아들일 수 있음. 

그러나 게임서버같은 경우 a와의 연결상태를 유지한 상태에서 b유저와의 연결상태또한 유지해야함 -> 게임회사는 서버를 여러대 운영한다.) 

ajax의 보안으로 나온 기술 -> 롱플링 : 오랫동안 연결을 맺자. 그리고 잠깐 끊고 다시 연결을 맺자.

 

[ 웹소켓 -> HTTP5의 표준기술 그러나 socket.io는 표준기술이 아님. 그러나 잘되어있으니까 많이 쓰임 ] 

 

 

io- > all 

socket -> 개인 

 

보낼땐 emit

받을떈 ON 

 

 

정적코딩 : compile에 모든것이 결정됨  동적코딩을 할 시  reflection이용해서해줘야함

 

express -> MVC구조로 만들어주는애임 (install한애) 

 

 

nodejs로 callback함수 쓸때의 룰 

callback함수의 맨 앞은 error!!! (callback시 첫번째 파라미터는 error - First Error) 

 

nodejs 단점 

코드가 복잡해지면 타입이 없다보니까 헷갈림  => 

코딩할때는 타입을 주고 컴파일할땐 타입코드가 지워지게 하는 기술이 있다~!!

 

---

jquery의 장점

1. 위임(이것도 그닥..)

2. 기존의 순수한 javascript보다 ajax호출이 편함(근데 js도 최근에 패치어쩌고가 나와서..)  

3. 

.

.

.

 

 

 

---------------------------- module

 

 

node.js에서 외부랑 연결(외부 api호출)하거나 내부 api ajax에서의 호출(like Spring의 resttemplate) 

=> NODE REQUEST MODULE!  =>(npm install request하고 package.json 확인 ) 

=> (클라이언트 사이가 아닌) 서버사이드에서 다른애들을 호출할떄 이용 

 

ex. 채팅창에서 날씨 라고 치면

웹페이지를 크롤링해서 날씨정보를 내 db에 입력시키고

그 db의 데이터를 가져옴. 

 

https://devnauts.tistory.com/96

 

[Node.js] HTTP 요청하기 (request 모듈 사용)

request 모듈 사용시, 추가적인 request 모듈 설치를 필요로 한다. npm install request HTTP 요청하기 var request = require('request'); request({ url: 'http://httpbin.org/ip', }, function(err, res, html)..

devnauts.tistory.com

https://medium.com/harrythegreat/node-js%EC%97%90%EC%84%9C-request-js-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-28744c52f68d

 

Node.js에서 Request.js 사용하기

네트워크 더 간결하게 작성하자!

medium.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이 있음(자바스크립트 인터프린터)

댓글