TiL#21-1. 프로젝트 완료

깡통·2024년 1월 23일
0
  • 리눅스 환경에서 MongoDB랑 내가 설계한 Node.js 모듈을 연결해서 EC2로 베포해 봤다. 엄청난 에러들이 나를 반겼다.

  • 특히 나를 괴롭혔던 건 MongoDB의 Whitelist 에러였다. 내 ip를 통과시켜주지 않아서 MongoDB가 실행이 되지 않는 에러였는데, 이는 MongoDB Database의 Network Access에 ip를 추가해주면 된다. 참고로 ec2 퍼블릭 ip를 넣어야 하고, 퍼블릭 ip는 킬때마다 바뀌니 그때마다 whitelist를 갱신해주면 된다.

  • 리눅스 환경에서 몽고db를 설치하고 db를 만들어서 내가 설계한 Node.js 모듈과 연결시켜 보려 했는데, 11시간에 걸친 사투 끝에 실패했다. 홈페이지를 참고해서 MongoDB를 리눅스에 설치하고 DB를 구축하는데 까지는 성공했는데, 결국 웹페이지랑 연동시키지를 못했다. 이거 TiL에 올리고 싶었는데, 오늘 켜볼려니까 에러떠서 안켜지더라...

  • 내일 다시 한번 시도해 봐야겠다. 시스템 재부팅 하면 될지도 모르겠네

  • 나는 EC2에 배포할 때, vsc를 이용해서 윈도우 환경에서 웹페이지 코드를 수정한 후 깃 허브를 통해 리눅스 환경에서 pull만 하는 방식으로 '좀 쉽게' 일을 진행했다. 그런데 이렇게 하니까 리눅스 환경에서 프로젝트와 깃 허브를 연결 시키지 않아도 되는 건 좋았지만, 리눅스 환경에서 코드를 조금이라도 건드리면 push가 안되니까 conflict와 엄청나게 싸워야 했다.
    다음에는 처음부터 리눅스 환경에서도 깃허브랑 프로젝트랑 연결시켜 놓고 해야지.

  • 리눅스 상에서는 비밀번호가 화면에 출력되지 않는다. 그렇지만 작성은 되고 있는 것이니 그냥 치면 된다.

  • CLI는 Command Line Interface의 약자로, 이는 마우스를 지원하지 않는 인터페이스이다.

-리눅스에서 li는 숨김파일을 빼고 보여주고, ll은 숨김파일도 포함해서 보여 준다.

  • DNS 캐시를 비워야 하는 경우가 가끔 생긴다.
    <bash>
    ipconfig /flushdns
    <Linux-ubuntu>
    sudo systemctl restart systemd-resolved
- mongoose 문법을 몇개 알 수 있었다.
https://mongoosejs.com/docs/timestamps.html

status: {
type: String,
required: false,
enum: ['FOR_SALE', 'SOLD_OUT'],
default: 'FOR_SALE',
},
enum은 열거형이라고 함(typescript 문법인듯)
default로 기본 값을 줄 수 있었네...

timestamps: true는 createdAt과 updatedAt을 준다고 함

profile
코딩하러 온 사람입니다.

0개의 댓글