client와 server
client는 프론트엔드, serer는 백엔드 개발자가 개발
client와 server는 서로가 필요할 때 통신한다.
clinet가 보낸 요청 server가 요청에 맞게 데이터 가져와서 가공해서 client에게 보냄


server는 두 가지 파트로 구성됨
데이터를 저장할 저장 공간이 필요하기 때문에 database 사용
server는 코드 작성하는 부분, 서버가 코드를 작성해서 데이터베이스에서 데이터를 가져오거나 유저의 요청에 맞게 데이터베이스에 새로운 데이터 생성
Javascript는 스크립트 언어, 혼자 실행 불가능. 웹이 자바스크립트 코드를 가동시킴
혼자 동작할 수 없기 때문에 서버로 활용될 수 없음(서버는 언어 돌릴 수 있는 엔진이 있어야 실행될 수 있기 때문)
-> Node.js 등장.
NVM(Node Version Manager) - Node.js 버전 관리 도구
미리 설치해 둘 것 - Homebrew, 텍스트 에디터 (나는 전공 수업 들으면서 미리 설치해 두었으므로 스킵)
// nvm 설치
$ brew install nvm
// .zshrc 파일 수정
$ vi ~/.zshrc
# _i_로 텍스트 편집모드 진입해서 작성하고 _esc_로 편집모드에서 벗어나 _:wq_ 입력하고 _Enter_키
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \."/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homeberw/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
# 변경사항 저장
$ source ~/.zshrc
// node 설치(버전 16)
$ nvm install v16
