[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 코팩님! 개인 프로젝트를 하다가 약간의 오점을 발견해서 질문드립니다. 위 사진과 같이 paginate함수의 overrideOptions 파라미터에 where필터를 새로 작성하는 순간, 기존에 composeOptions에서 작성한 where필터를 아예 무시해버리게 되는 것 같습니다. 그래서 첫 번째 페이지는 정상적으로 응답이 오는데, next에 담긴 링크를 눌러보면 똑같이 첫번째 페이지가 응답으로 오게되는 것 같아요. 위와같은 증상이 뒷부분의 paginateComments에서도 똑같이 발생합니다. 첫번째 페이지는 작동이 잘 되기때문에 영상에서는 넘어가신 듯 한데, 여러 방법을 써봤지만 해결책이 보이지 않아서 질문드립니다ㅠ
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
cursor 기반 페이지네이션과 page 기반 페이지네이션에서 어떤 상황에서 cursor 를 사용하고 어떤 상황에서는 page 기반 사용해도 될까요 ?? insert , delete 에 대한 요청이 잦은 서비스 라면 cursor 를 사용하고 주로 get 에 대한 요청밖에 거의 없을것 같은 서비스라면 page 기반 페이지네이션을 사용하면 될까요 ?
안녕 하세요.. 이런 질문을 드려도 될까 모르겠습니다만.. 현재 운영 되는 사이트는 ms-sql 로 bak 파일 기준 약 50기가 정도 됩니다. 사이트를 개편 하려고 하고 있는데요..mysql 로 바꾸는 것을 논의 중 입니다. 처음 부터 데이터가 50기가 가 입력 되는 것은 아니고..운영 하면서 데이터가 늘어날텐데.. 경험 상 50기가 정도 될 것으로 예상 됩니다. 특정 테이블은 몇천만건의 데이터가 입력 될 수도 있는데요.. mysql 이나 mariadb 로 이 정도의 데이터베이스를 운영 할 수 있을지.. 사이트 속도 에는 큰 문제가 없을지.. 조언 부탁 드립니다. 감사 합니다.
안녕하세요. 이제 2회차로 다시 잘 보고 있는 수강생입니다 🙂 Ep15를 보던 중 복합 인덱스의 컬럼들 중 선행컬럼을 조건에서 누락할 경우 풀 스캔이 될 수 있다고해서 직접 쿼리를 실행해봤습니다. 환경: MySQL 8.2.0 쿼리 explain select * from users where joined_at > '2022-07-24 00:00:00'; 결과 8.0.21버전부터는 인덱스 스킵 스캔을 통해 선행 컬럼이 조건에 포함되지 않아도 후속 컬럼을 이용해 인덱스 일부 활용이 가능하다고 하는데 이 때문에 위와 같은 실행 계획나 나온걸까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
현재 PickType 활용하기를 듣고있습니다. 위에서 PickType 은 값을 반환을 하고 Pick 은 타입을 반환한다고 말씀을 주셨는데요. PickType 이 값을 반환 한다는 말씀이 실제로 어떤 값을 반환하는것이 아니라 request dto 역할로 데이터가 key : value 로 들어오니까 단순 타입이 아니라 값을 받기때문에 값을 반환한다 라고 이해를 해야할까요 ??
안녕하세요, 강의 잘 듣고 있습니다. 강의와 책을 동시에 보면서, 학습을 하고 있습니다. 근데 강의와 도서에서 설명하는 내용에 다른점이 있는 것 같아서 질문드립니다. REAL MySQL 8.0 (2권) 중 11.4.6 COUNT() 절에서는 아래와 같이 설명되어 있습니다. MyISAM 스토리지 엔진을 사용하는 테이블은 항상 테이블의 메타 정보에 전체 레코드 건수를 관리한 다. 그래서 "SELECT COUNT(*) FROM tb_table"과 같이 WHERE 조건이 없는 COUNT(*) 쿼리는 MySQL 서버가 실제 레코드 건수를 세어 보지 않아도 바로 결과를 반환할 수 있기 때문에 빠르게 처리된다. 하지만, 강의 Ep.03 COUNT(*) vs COUNT(DISTINCT) 튜닝 에서는 WHERE 절 없는 COUNT(*) 는 제거 대상이라고 설명을 해주셨습니다. 책의 내용처럼 메타 정보에서 가져온다고 한다면 굳이 제거 대상이 될 것 같지는 않은데, 혹시 제가 놓친 배경이 있었을까요? 아니면 이게 뭔가 이분법적인 차원에서 접근하기에는 어려운 내용일까요?
안녕하세요! 14분 쯤 나오는 단일 인덱스 크기와 전체 인덱스 크기가 얼마인지 나오는데, 각각 구하는 계산식을 알 수 있을까요..? 어떻게 8바이트가 1억건의 테이블이 있을때 6GB가 되는지 잘 모르겠습니다.. 8바이트 x 1억 레코드 = 800MB 800MB / 1000 = 0.8GB 인줄알았는데 따로 계산법이 있는걸가요? 추가적으로 필요인스턴스 관련해서 aws에서 계산해보고싶은데 aws요금 계산기에서 Aurora MySQL 서비스 로 검색하면되는게 맞을까요? 서비스 찾기에 Aurora MySQL 검색해도 결과없음으로 나와서요..ㅠㅠ
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
timezone: 'Asia/Seoul', // 한국 시간대 설정 로 변경하거나 timezone: '+09:00', // 한국 시간대 설정 로 변경을 해도 시간대가 UTC 시간으로 저장이 되는것 같아요 ! 한번 데이터베이스로 가서 select now() 로 찍어보니까 application 단에 작성한 timezone 과 다르게 utc 시간대로 설정되어있어서 그런것 같더라구요 디비의 시간대를 변경하면 되긴한데 , 그러면 취지와 맞지 않는것 같아서 어떻게 하면 될까요 ?
안녕하세요! 좋은 강의 감사합니다! 이력 테이블의 대용량 데이터를 저장하기 위해 pk값 설정 시 정수형은 제한이 있다고 생각해서 시간+uuid로 복합키를 설정하려고 하는데요! 레인지 파티션도 사용하려구 하구요! 이렇게 할 경우 결국엔 String타입으로 저장되서 클러스터링 인덱스가 제대로 저장이 될까? 고민이 있었는데요! 이런 고민을 갖고 강의를 보게 되었는데, 강의 내용을 참고해보면 uuid값이 정수형보다 길어서 pk로 사용할 경우 메모리를 많이 차지해서 메모리크기가 큰 인스턴스를 사용해야 하므로 비용처리가 드는걸로 이해했습니다. uuid대신 snowflake나 sonyflake 라이브러리로 대체하는게 더 좋다고 말씀해주셨는데, 해당 라이브러리가 망하거나(?) 제대로 작동을 안할경우의 위험성도 고려해봐야할것 같다는 생각이 들어서요! 제가 요 라이브러리는 잘 몰라서 여쭤보고자합니다! 그래서 질문은 아래 3가지 입니다! Q1. 시간+uuid로 복합키로 pk를 설정하거나, 애플리케이션단에서 시간+uuid만든 String 타입을 pk를 설정하는것보다, snowflake 라이브러리 하나만 사용하는게 더 메모리가 효율적인게 맞을까요? Q2. snowflake가 실제로 현업에서도 많이 쓰이는지 해당 라이브러리가 추후에 제대로 작동을 안할 경우에는 어떻게 대처를 해야 하는지 궁금합니다! Q3. 추가적으로 uuid관련 내용이 Real Mysql 2권 중 어디에 있는지도 궁금합니다! 목차에서는 찾을 수가 없어서요 ㅠㅠ
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
custom 파이프 챕터를 듣고있습니다. 위의 강의에서 8 자 보다 긴 비밀번호는 throw new 반환을 적용한다고 했을때 파이프 라인으로 적용해도 될것같고 , request dto 로 적용할수있을것 같단 생각을 했습니다. 이럴때 어디서 적용할지에 대한 기준치는 어떻게 판별하시나요 ??
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 ㅎ 강의 잘 보고 있습니다. 강의에서 access token 과 refresh token 을 사용하게 될때 postman 에서 Headers 탭을 이용하셨는데 이유가 있을까요 ? 옆에 Authorization 을 사용하지않고 Headers 를 사용하신 이유가 궁금합니다. !
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
post Controller > postPosts에 @UseGuard(AccessTokenGuard) 할 경우 디펜던시 오류가 납니다. 앞에 강의 중에 대처법을 보고 따라 해봐도 잘 안되는데, 어디어디에 무엇을 작성해야할지 모르겠습니다ㅠ /////////////////////////// 앞에 강의 차분하게 다시 보면서 해결했습니다,
Select for update 시 lock 을 걸어 원 데이터를 버장힌다는 것은 이해 하였습니다그렇다면 a|b 가 동시 접근 하여 서로 다른 값으로 변경하려는 부분은 없고 동일 프로세스가 두번 진입 할 수 있다고 가정한다면어차피 update 시 xlock이 row에 대하여 획득하니select for update 는 필요없는게 맞다라고 이해를 했습니다이 부분이 맞을까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션 8의 윈도우에서 도커 설치하는 부분을 보면서 따라하고 있는데 잘 되지 않습니다. 이런 오류가 계속 떠서 이것저것 해보다가 "Windows 기능 켜기/끄기" 검색 : 검색 창에 "Windows 기능 켜기/끄기"를 입력하고 선택합니다. Hyper-V 및 Virtual Machine Platform 활성화 : 아래 항목들이 체크되어 있는지 확인하고, 체크되어 있지 않다면 체크합니다. 이런게 있어서 체크해보니 이젠 관리자 권한으로 실행하는 것 외에는 실행 자체가 되지 않습니다.