JavaScript/node.js

2020.07.14. 수업내용 - node.js (2)

dev_sr 2020. 7. 14. 12:31

자바스크립트에는 데이터 타입이 7가지가 있다

int, float 대신 Number가 있음

 

자바스크립트의 자료형

모든 프로그래밍 언어는 내장 자료형이 있지만, 종종 이러한 내장 자료형은 언어마다 다르다. 이 문서에서는 자바스크립트의 내장 자료형과, 내장 자료형에서 사용할 수 있는 속성들에 대해 알�

developer.mozilla.org

 

 

 

 

REPL

콘솔창에서 node라고 쳐서 직접 코드를 작성할 수 있다.

 

 

if문을 쓸 수 있다

 

 

Beutify를 쓰고 저장하면 자동으로 줄을 맞춰준다

file -> preference -> setting -> save 검색 -> format on save에 체크해줘야 실행됨

 

*비교할 땐 ===를 쓰자

타입과 값을 같이 비교해줌

 

 

for문으로 줄넘기 가능

 

 

배열로 값(객체)를 저장할 수 있다.

 

 

속성으로 접근할 수 있음

*store[item]으로 각 요소에 접근할 수 있다!

 

모듈을 만들어 사용할 수 있다.

여기 변수들을 다른 파일에 쓰기 위해서 module.exports에 값을 넣는다.

어디서든 사용할 수 있게 파일 자체가 모듈이 됨.

 

사용할 때는 require라는 키워드를 통해서 var에서 객체들(odd, even)을 가져온다

checkOddOrEven 함수를 다른 파일에서 사용하고 싶어서 모듈에 넣어준다

 

모듈들을 가져와서 사용하겠다.

 

window

브라우저에서 about:blank로 빈 창에서 f12를 누름

거기서 this를 치면 window가 찍힌다

window.open(네이버 주소)를 적으면 네이버가 열린다.

 

global

브라우저의 window 와 같이 전역객체라서 모든 파일에 접근할 수 있다

console, require도 global에 포함된 함수이다.

node.js에서 console.log(global)을 하면 이런게 나온다

(글로벌에서 지원하는 함수들이라는 내용)

잘 사용은 안한다고 함

 

 

 

console

쉼표로 구분해서 여러가지 값을 찍을 수 있다

 

자바스크립트의 object는 항상 key 와 value의 쌍으로 이뤄져야 한다.

dir로 객체의 깊이를 출력할 수 있다(몇단계까지 보여줄 것인지 설정 가능, 기본값은 2)

color를 true로 하면 색이 추가됨 ㅇㅇ

 

시간을 측정할 수 있다 (time 과 timeEnd 사이의 시간을 측정한다)

 

에러 메세지를 출력한다

 

에러가 난 곳을 추적한다.

 

타이머 (global 객체에 있다)

clearTimeout(아이디) : setTimeout을 취소

clearInterval(아이디) : setInterval을 취소 

clearImmediate(아이디): setImmediate를 취소 

 

setTimeout(콜백, 0)은 사용하지 않는것을 권장

 

 

 

REPL 에서 process.env 입력 하면 많은 정보가 나옴

이 정보들은 시스템의 환경변수다 

process.env 는 서비스의 중요한 키를 저장하는 공간으로 사용된다 

서버나 데이터 베이스의 비밀번호와 각종 aPI키를 코드에 직접 입력 하는것은 위험하다 

따라서 중요한 비밀번호는 다음과 같이 process.env속성으로 대체 한다

 

 

 

 

promise 객체

callback hell을 극복한 내장 라이브러리

 

process.nextTick

이벤트 루프가 다른 콜백 함수들보다 먼저 우선 처리 하도록 만든다.

 

위에서부터 실행된 순서

setTimer,0 이 immediate보다 먼저 실행되는데 보장된 건 아님

microtask :  promise.nextTick, Promise를 따로 구분지은 말

 

process.exit

실행중인 노드 프로세스를 중지하는데 잘 안씀

 

노드 내장 모듈

노드는 웹 브라우저에서 사용되는 자바스크립트보다 더 많은 기능을 제공한다

운영체제 정보에도 접근 할수 있고 클라이언트가 요청한 주소에 대한 정보도 가져올수 있다

 

os

운영체제의 정보를 가져올때 사용한다.

 

 

path

폴더와 파일의 경로를 조작하는 모듈

path 문자열 결합

path.join

 

 

 

url 

인터넷 주소를 쉽게 조작하게 하는 모듈

클라이언트가 주소를 보내면 서버에서 분해해서 정보를 파악하고 다시 응답함

그럼 브라우저가 렌더링 해서 화면을 유저에게 보여줌

 

http://item.gmarket.co.kr/Item?goodsCode=701008425 

http:// : 프로토콜

item.gmarket.co.kr : 호스트

? 전까지 path name 

? 뒤는 쿼리 스트링임 (이걸 서버로 보내줌 -> DB 조회 -> 클라이언트에게 응답 -> 그 페이지가 보임)

 

 

 

goodscode 부분을 object 로 만들어서 사용할 수 있다.

split으로 자를 수 있다.

 

 

 

넘겨지는 값(파라미터)를 찾을 수 있다.