본문 바로가기
사이드 프로젝트/개발몰입과정[2021_SUMMER]

생활코딩 node.js 개념 정리 (1)

by 의정부핵꿀밤 2021. 8. 12.
728x90


사진에서 Template Literal 을 통해 위의 letter 변수의 값을 아래 letter 변수 내용처럼 바꿀수 있다

 

 

Template Literal

템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴이다.

여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있다.

이전 버전의 ES2015사양 명세에서는 "template strings" (템플릿 문자열) 라고 불렸다.

 

 

 

파일 읽기

fs로 sample.txt의 내용을 콘솔창에 출력한다

 

위의 이상한 문자들은 utf8을 추가하지 않아서 그런거다

추가하면 밑에처럼 텍스트 내용이 잘 출력된다

 

 

콘솔 입력

process.argv를 통해 콘솔로 입력값을 받을 수 있다

args[0]은 node, args[1]은 파일명이고 그 뒤부터 사용자가 입력한 값이 되는 것이다

 

 

동기/비동기

동기(sync)

readFileSync -> 파일 읽기를 동기적으로 실행하는 함수

이를 실행하면 동기적으로 실행하기 때문에 아래와 같은 결과가 나타난ㄷ

 

sync 결과

 

readFile -> 비동기

그냥 readFile함수를 실행하면 비동기적으로 실행되어 우선 실행 가능한 것부터 실행하여 다음과 같은 결과가 나온다

즉, readFile이 실행되는 동안 다음 명령어가 먼저 실행되는 것이다

이게 바로 비동기!

 

ansync 결과

 

 

[ 콜백함수 ] 

익명함수를 만들어서 변수 a에 저장, slowfunc함수에 callback이라는 매개변수 함수를 넣고 실행한다

그럼 이 코드에서는 slowfunc의 함수 동작이 모두 끝난 후, 매개변수로 넣은 함수인 a 함수가 실행된다

이게 바로 콜백이다

나중에 전화해~

 

 

[ 패키지 매니저 ]

타인의 모듈을 이용해서 소프트웨어를 만들게 됩니다. 이 때 사용하는 모듈이 많아지면 여러가지 복잡한 문제가 생겨납니다. 이를 관리하는 도구가 패키지 매니저입니다. 이 수업에서는 대표적인 패키지 매니저인 NPM을 사용하는 법을 살펴봅니다. 

pm2 start

$pm2 start main.js -> pm2로 main.js 실행시키기

 

pm2 monit

$pm2 monit

실행하면 현재 상태를 모니터할 수 있다

q를 누르면 exit 가능

 

 

pm2 list

$pm2 list -> 현재 실행중인 목록들 보여주기

 

pm2 stop

$pm2 stop main

전에 list로 실행중인 목록보고 거기서 끄고 싶은 파일 끄면 됨

 

pm2 start --watch

$pm2 start main.js --watch

이러면 재실행 안해도 코드가 실시간 반영된다

 

여기서 갑자기 process 0 not found라는 pm2 error가 발생했는데 이는 $pm2 kill을 한 후 재실행했더니 해결했당ㅎㅎ

 

pm2 log

$pm2 log

로그기록을 확인할 수 있다

728x90

댓글