9주차 (4)
authmiddleware를 각 라우터에 다 추가해 주고
잘 적용되도록 코드를 수정하였습니다.
프로필이 생성되지 않는 오류 발생
토큰을 제대로 받아오지 못해서
확인해 보니 토큰을 받아오는 방식에 대해서 완전히 이해를 못 한 것 같았습니다.
Bearer로 받아오기 때문에 토큰 앞에 Bearer를 추가하는 과정에 있어서
원래는 authorization으로 토큰을 이렇게 넣어줬어야 했는데
더 쉬운 방법이 있었습니다.
Bearer를 추가하고싶으면 Bearer Token을 추가하고
이런 식으로 auth 부분에 토큰을 넣어주면 자동으로 토큰이 받아지도록 할 수 있습니다.
스키마를 작성해봤는데 처음 제대로 해보는 거라 여기저기 오타가 많았던 것 같아서 아쉬웠고 ㅜㅜ Int와 Bigint의 차이도 알게 되었습니다.
테이블에 42억 개의 데이터가 들어갈 일이 절대 없다면 BIGINT를 쓸 필요가 없습니다.
INT 대신 BIGINT를 썼을 때의 차이점
1. 범위
INT:
저장 용량: 4바이트 (32비트)
범위: -2,147,483,648부터 2,147,483,647까지의 정수
용도: 일반적으로 사용자 ID, 카운터 등 상대적으로 작은 숫자를 저장할 때 사용합니다.
BIGINT:
저장 용량: 8바이트 (64비트)
범위: -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 정수
용도: 매우 큰 숫자, 예를 들어 대량의 데이터나 고유 식별자 등이 필요할 때 사용합니다.
2. 메모리 사용량
INT는 4바이트만 사용하므로 메모리 효율성이 높습니다.
BIGINT는 8바이트를 사용하므로 더 많은 메모리를 차지합니다.
3. 성능
INT는 메모리 사용량이 적고, 데이터베이스에서 처리 속도가 상대적으로 빠릅니다.
BIGINT는 더 많은 메모리를 사용하므로, 숫자가 많아질수록 성능에 영향을 줄 수 있습니다. 그러나 대부분의 경우 이 차이는 미미합니다.
4. 사용 사례
INT: 일반적인 사용자 ID, 주문 번호, 작은 카운터 등.
BIGINT: 대규모 애플리케이션에서의 고유 식별자, 대량의 로그 데이터, 통계 자료 등.
따라서 데이터의 범위와 용도에 다라서 적절하게 선택하는 것이 중요한 것 같습니다.