야호! EC2 서버를 열고 Node를 설치하고 그 외 패키지들도 싹 설치하고 .env도 만들고,
가비아에서 구매한 도메인과 연결도 하고 pm2로 터미널을 꺼도 서버가 돌아가도록 해두었다.
이제 AWS IP로도, 가비아의 도메인으로도 멀쩡하게 돌아간다.
약 1년 반만에 내 서버가 다시 열렸다!😆
나는 윈도우라서 git bash를 써야한다!
ssh -i (만든 키페어 드래그) ubuntu@(AWS 퍼블릭IP)
이렇게 입력해주면 내 서버에 접속된다.
-> 아까 Ubuntu라고 쳤다가 Permission denied 당했다.
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir [폴더 이름]: 내 위치 아래에 새 폴더를 만든다.
cd [폴더 이름]: 나를 해당 폴더로 이동시킨다.
cd .. : 나를 현재 위치의 상위 폴더로 이동시킨다.
cp -r [복사할 파일/폴더][붙여넣기 할 위치]: 복사 붙여넣기
rm -rf [지울 파일/폴더]: 지우기 (이 명령어는 매우 위험!!)
- 명령어 사용 당시에만 관리자 권한이 부여
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.- 명령어 사용 이후 모든 명령이 관리자 권한으로 실행
sudo su: 관리자 권한이 있는 계정으로 접속한다. (exit 입력하면 관리자 계정에서 로그아웃)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
이 명령어를 git bash에 그대로 입력하면 Node가 설치된다.
설치가 다 되고 나면 아래 명령어로 정상설치 여부 및 버전확인을 해보자
node -v
npm -v
그 후에는 깃헙 리포지토리 주소를 HTTPS 형식으로 복사하면 OK
깃배쉬도 일종의 터미널이기 때문에 VS Code 터미널처럼 git clone (리포주소) 하면 파일 전부 복사해온다.
깃배쉬에서 내 서버에 로그인해서 git pull 해오면 된다!
참고 블로그
vim .env
라고 입력하면 파일이 없으면 만들어주고 있으면 오픈해준다.
처음 들어가면 아마 입력모드인 것 같은데 로컬에 있는 .env 파일 복붙해주면 된다.
16진수인 Timestamp를 10진수로 바꾸면 밀리초 값이 나오는데, 이건 Unix Timestamp라서 1970년 1월 1일 기준이다. 유닉스 타임으로부터 얼마나 지났는지 보는 것.
-> 이런 경우는 서버는 같은데 다른 프로그램이 이 작업을 수행했다는 것이다.
이를테면 크롬 탭을 연다고 할때, 각각의 탭은 각각의 쓰레드가 작업을 하게 된다.
그래서 Ctrl + Shift + Esc 했을때 나오는 작업 끝내기는 실제로는 프로세스 끝내기이다!
Increment Counter는 같은 초에 여러 데이터가 들어왔을 때를 나누기 위해 있는 것이다. dec2ec5
서버 트래픽이 많아져서 서버가 증설되었다고 하자. 내 세션정보는 서버1에 저장되어 있는데, L7 로드밸런서가 내 요청을 서버3으로 보내버리면 서버는 내게 401 Unauthorized를 반환한다. 이럴 때 필요한게 JWT이다.
validateAsync는 일종의 텍스트 밸리데이션 패키지인 joi의 검증용 메서드이다. 자릿수는 맞는지, 영어 대소문자는 요구에 맞게 쓰는지, 필수항목인데 입력 안 하는건 아닌지... 이걸 실행해주는 녀석.
다만 이걸 사용하려면 주석이 필요한거 같다.
정섭 튜터님의 말씀 중 'express는 async/await의 에러를 검출하는 기능이 없어서 프로그램이 뻗어버릴 수 있다' 는 내용이 있었다. 이걸 위해서 봉준님은 asyncHandler를 쓰셨다.
DB ERD를 좀더 가시적이고 예쁘게 그릴 수 있는 사이트.
몰랐던 사실인데 정섭 튜터님이 키워드를 던져주시고 동기분이 알려주셨다.
실제로 이렇게 itemCount 컬럼을 Int로만 세팅하고 @map 하지 않았는데도 불구하고 문제없이 DB가 세팅되었다.
commit hook이라는 것도 있다. 결합해서 사용해보면 좋다.
테스트 코드 통과 못하면 커밋 금지 당하는 것도 설정할 수 있다고.
재밌었어요! 또 만나요!