나만의 작은 도서관

[TIL] 240514 캠프 30일차: 개운한 결과물, 어지러운 머리 본문

Today I Learn

[TIL] 240514 캠프 30일차: 개운한 결과물, 어지러운 머리

pledge24 2024. 5. 14. 22:28
오늘의 한 마디: 내일은 빨간 날! 그런데 왜 폭우가 예정되어 있는걸까... 

오늘 배운 내용                                     

DNS(Domain Name Service)

인터넷을 편리하게 사용하기 위해서 만들어진 서비스로, "google.com"과 같은 도메인 이름으로 매핑된 IP주소를 찾아갈 수 있게하는 서비스이다. 예를 들어, "google.com"을 주소창에 입력하면 DNS 서버에 해당 도메인 이름과 매핑된 IP주소 8.8.8.8 response로 받고, 8.8.8.8 IP 주소로 이동하여 웹페이지를 response로 받는다. 

DNS 서버는 세계 여러 곳에 분산되어 존재하는데, 해당 도메인 이름이 어느 서버에 저장되어 있느냐에 따라 response를 받는 속도가 달라진다. 

HTTP, TCP 둘 다 프로토콜인데 동시에 사용될 수 있는 이유

HTTP는 HyperText Transfer Protocol의 약자, TCP는 Transmission Control Protocol의 약자로 둘 다 프로토콜이라는 것을 알 수 있다. 그런데 HTTP와 TCP는 동시에 사용될 수 있다. 하나의 통신에서 두 개 이상의 프로토콜을 사용한다는 점이 의아했는데, 그럴 수 있는 이유는 HTTP는 응용 계층에서, TCP는 전송 계층에서 사용하는 프로토콜이기 때문이다. 왜냐하면 서로 다른 계층에 존재하는 프로토콜은 서로 다른 위치, 다른 과정에서 실행되기 때문에 input, output형식만 맞다면 충돌이 발생하지 않는다.

 

각 프로그램 또는 파일의 역할 정리

  • Node.js :  Javascript를 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경이다.
  • express.js: Node.js로 서버를 빠르고 간편하게 만들 수 있게 도와주는 가장 대표적인 웹 프레임워크
  • package.json: yarn에서 설치한 패키지들의 정보가 담겨있는 JSON

오늘의 Trouble Shooting                  

Problem 1. 컬렉션 유일성 오류

const ItemsSchema = new mongoose.Schema({
    item_code:{
        type: Number,
        require: true,
        unique: true,
    },
    item_name: {
        type: String,
        require: true,
        unique: false,			// false로 바꿨지만 true와 똑같이 작동한다.
    },
    item_stat: {
        health:{
            type: Number,
            require: true,
        },
        power:{
            type: Number,
            require: true,
        },
    }
    

})

Solve. 컬렉션 삭제 후 재생성

studio 3T에서 기존 컬렉션을 지우고 다시 코드를 실행했더니 정상적으로 작동했다! 아마 처음 items 컬렉션이 생성되었을 때 잘못 작성한 unique: true가 후에  unique: false로 변경했어도 계속 남아있어 발생한 문제인 것 같다. 


오늘 하루는?                                       

  • 개인과제의 필수 사항을 90%이상 끝냈다. 시간이 부족할 줄 알았는데 오늘 집중이 잘돼서였을까. 하다보니 그냥 된 경우가 많아서 예정보다 빠른 속도로 과제를 끝내가고 있다. 내일 약속을 나가도 충분히 제시간에 제출할 수 있을 것 같다!
  • 너무 많은 것들이 내 머리 속을 어지럽히고 있다. AWS세팅, 가비아를 통한 도메인 결제, Node.js 재설치 및 버전 통일, 4시간 분량의 남은 Node.js 강의 완강 등등... 하루만에 처리한 양이 어마어마하다보니 생긴 부작용인 듯 싶다. 그래도 괜찮다. 정신만 멀쩡(?)하면 된 것 아니겠는가. 할 수 있으면 그냥 하는 거다.