Node.js 란???

자바스크립트가 서버로 사용하기 어려웠는데 구글에서 서버개발해서 웹서버로 사용해도 되겠다. 


Node.js 특징

프로세스와 쓰레드

쓰레드 : 한번에 여려개 실행할수 있도록하는 것 (멀티태스킹)


멀티프로세스 : 메모리 위에 프로그램을 여러개 올린다. 

멀티쓰레드: 프로그램 하나 안에서 메모리 공유를 하고있는 것이다. 

쓰레드: 함수 실행단위 하나하나

쓰레드 풀:


Node.js는 싱글 쓰레드 기반이다. 

- 그럼 한명밖에 웹서버를 사용하는 것 아닌가?? 

non blocking I/O 모델을 사용했기 때문에 


Blocking은 우리가 경험해보았던 것이다. 


함수호출 순서 (콜링이 포함되어있을때)

함수호출이 일어났을때 멈춰있는 상태가 블로킹

non blocking 은 호출 끝나는거 기다리는 것없이 바로 진행한다. 


예제는 파일 입출력으로 주로한다. 


문서보는 법 


동기화는 블로킹

논블로킹은 동기화가 아니다. 


인자가 다르다는 것을 볼 수 있다. 


fs쓸때 노드 이름이랑 같이 쓴다. 


const => 상수가 된다. 어디에 들어갔나 알수있다. 모듈을 넣을때 var대신 const로 넣는다. 



코드짜서 해보기 실습하고


nonblocking해본다. 


자바스크립트 코드에서 '작은따음표'



왜이렇게 찍혔나


node

|

|    A Point

|

writefile ------> 이벤트 루프 전임

|

|    B Point

|

끝 <---------------- 이벤트 루프 마침


함수 호출은 해버려 해버리고 이벤트루프--> 쓰래드를 여러개 가지고있는데 얘한테 writefile을 시켜버린다.

이벤트루프는 실행루프에따라서 전달받은것을 실행한다. 

그리고 일을 처리하고 끝났다라고 한것을 알려줘야지만




callback함수 -- 호출을 어떤함수에서 하는 것이 아니라 호출을 당하는 함수이다. 

Sync붙어있는 거는 블로킹방식이다. 

Node.js는 싱글쓰레드다. 그래서 Sync를 쓰고있는 동안에 다른 사용자가 서버쓰는 중에 다른 사용자가 할 수 없다. 


기술적으로 해결을 가능한데 동기화 방식을 통해서 해결할 수 있긴하다. 


차이점 정도만 알고있자....



OS보는거


운영체제 왜보는지


자바스크립트위에서 돌아가기때문에 상관없는데 조금씩 다르게 쓸때 필요하다.



이벤트

생성자를 호출해서 객체를 만들어주어서 사용한다. 




HTTP모듈을알아보자

그전에 요청하고 응답에 대해서 알아봐야한다. 


NETWORK 부분설명


HTML 보내고 받는거


찍어보기

req. url 

url.parse(req.url)


app.js를 통해서 내용볼수있는데

query를 통해서 내용을 검색할 수 있다. 



매핑과정

: if 로그인폼 출력


헤더에따라 달라진다.

 


createserver :

listen(8080):

매핑하는 법 


express 사용하고



JSON이라는 객체를 통해서 전달한다. 

JAVA Script

obvece

notation



웹1.0    웹2.0

     AJAX 통해서 새로고침을 안해도 자동완성을 받아올수있다. 페이지 전체를 새로고침하는 것이 아니고

     XML 를 JSON이 대체했다. 






상식:


X86


LTS : 


람다식: 불필요한거 티나지 않게 


=== : 타입까지 검사한다. 


문자를 따로 구분하지않고 문자열이라고한다. 


NULL = 아무것도 안가르키는것

undefined = 값을 아직안넣은것 (초기화가 안되어있는 상태)



자바스크립트 comparison table 을 통해서 1 === '1' 타입까지 확인할 수 있다.  !==를 통해 if문에서 참으로 동작하는 것과 아닌것들 확인가능


REST API Semantic


CRUD GET, POST, PUT, DELETE






'WEB (Feat.FOO) > 강의노트' 카테고리의 다른 글

6. FOO의 똥꼬쇼  (0) 2017.01.23
5. FOO의 똥꼬쇼 정리  (0) 2017.01.16
4. Foo의 똥꼬쇼 4번째  (0) 2017.01.11
3. FOO의 3번째 똥꼬쇼  (0) 2017.01.09
1. FOO의 똥꼬쇼 강의노트  (0) 2017.01.02

+ Recent posts