JavaScript/node.js

2020.07.15. 수업내용 - node.js(3)

dev_sr 2020. 7. 15. 18:22

querystring

searchparams랑 비슷한데 얘는 split으로 안나눠도 쿼리스트링만 가져올 수 있다.

 

 

crypto

암호화 모듈

암호화 방식 제공 , 비밀번호를 문자열 형식으로 바꿔준다

 

단방향 : 비밀번호 입력을 받고 암호화 한 문자열을 계속 암호화함

복호화(원래 비밀번호)로 돌아갈 수 없음

 

 

양방향: 다시 복호화 할 수 있음

 

 

★파일 시스템 접근하기

파일 읽기

읽은 파일이 data로 바껴서 메모리에 올라가 있고(buffer) 그걸 문자열로 바꿔서 보여준다(buffer.toString())

비동기적으로 실행됨 ( 텍스트 파일을 다 읽을 때까지 기다리지 않고 밑의 문장이 있으면 그걸 실행함)

 

파일 쓰기

writeme가 생김

 

 

★모듈

대부분 비동기 방식으로 처리한다

비동기

실행되는 순서가 항상 달라진다

 

동기와 비동기 : 함수가 바로 return 되는 지 여부

블로킹과 논블로킹 : 백그라운드 작업 완료 여부

 

 

동기

1번->2번->3번 -> 끝 순서로 실행되고 파일 읽어오는 작업이 끝날때까지

다음 작업이 기다려야한다(블로킹)

 

비동기와 달리 try, catch로 에러처리를 해준다.

 

 

asyncOrder

비동기로 처리하되 순서대로 처리하고 싶을 때

콜백을 계속하기 때문에 가독성이 떨어짐

 

buffer

문자열을 buffer로 바꾸기(직렬화하기)

buffer는 메모리상의 데이터 (0,1로 이뤄짐)

 

stream

매번 전체 용량을 버퍼로 한번에 만들어 보내야하는 문제 때문에

버퍼의 크기를 작게 여러번 보내는 방식을 만든 것.

이때 작게 나눠진 조각들을 chunk라고 함

chunk들을 배열에 저장해놨다가 Buffer.concat으로 다시 문자열로 합치면

온전한 문장이 뿅 나온다.

 

 

stream을 사용해서 파일에 쓰기

이 파일이 새로 생김

writeStream.on => 대리자처럼 이벤트를 붙여준다 (다되면 실행된다)

 

 

폴더 만들기

accessSync로 쓰지말자 ^^ 엔터 함부로 치지 말자 ^^

폴더가 생기고 새로운 자바스크립트 파일이 생긴다.

 

 

이벤트 이해하기

 

 

 

예외 처리하기

 

node에서 지원하는 모듈로 예외 처리하는 것

 

서버 만들기

이렇게 써서 이벤트를 붙일 수도 있다.

 

 

 

크롬에서 localhost:8080을 입력하면 서버에 접속한다.

실제 url은

http://localhost:8080/

 

 

서버 두개 만들기

파일을 두개 만들고 cmd를 하나 더만들어서 각각 서버를 실행시켜준다.

HTML을 읽어왔을 때

서버
html

 

html과 분리가 되면 (front와 back) html만 변경하면 서버를 멈추지 않고 front를 변경할 수 있다.