inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

리프레쉬로 리프레쉬 토큰 재발급 상황

해결됨

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

안녕하세요 간단한 질문 하나 하겠습니다. 단순하게 궁금증이 생겨서요 엑세스토큰이 만료되었을때 서버에서 401을 반환하고 클라이언트에서는 코드가 401일때 리프레쉬토큰으로 엑세스토큰을 재발급 받고 다시 요청을 보낸다 까지는 이해가 가는데, 리프레쉬로 리프레쉬토큰을 발급받는 것은 어떤상황에 사용하는지 감이 안잡혀서 질문드립니다.

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
성수 댓글 2 좋아요 0 조회수 286

pydantic 2.8.2를 사용하고 있습니다

미해결

처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]

강사님 설명 열심히 듣고 있는 수강생입니다. 예제를 따라 하다 보니 제 환경에서는 안되는 부분이 있어서 확인해보았습니다. 저는 pydantic 2.8.2를 사용하고 있더군요 pydantic 2.8.2에서는 dict() 메소드가 더 이상 사용되지 않으며 대신 model_dump()를 사용 한다고 합니다 from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): # Pydantic 모델 정의 name: str price: float is_offer: bool = None @app.post("/items/") def create_item(item: Item): #return {"item": item.dict()} # Pydantic v2.x부터 dict()->model_dump()로 변경 return {"item": item.model_dump()} # Pydantic 모델을 API에 사용 사용 버전에 따라 다른 것 같아서 혹시나 올려봅니다

  • python
  • mvc
  • sqlalchemy
  • FastAPI
  • backend
아즈라엘 댓글 1 좋아요 0 조회수 206

nest new nestjs_server 에러

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

nest new nestjs_server 를 cmd 또는 파워쉘에서 실행하면 아래와같이 나옵니다.. yarn 을 잘 선택했구요! 애초에 똑같이 하는데 에러가 너무 많이 나와서 nodejs 를 지금 영상에서 나오는 버전으로 검색해서 다운받고 진행했는데 여기서만 딱 에러가 나옵니다.. 구글링도 다 해봐도 안되네요 ㅠㅠ Failed to execute command: yarn install --silent × Installation in progress... ☕ 🙀 Packages installation failed! In case you don't see any errors above, consider manually running the failed command yarn install to see more details on why it errored out. Failed to execute command: git init Git repository has not been initialized

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
박찬민 댓글 2 좋아요 0 조회수 306

'더 견고해지기 위해 남은 작업' 수업자료

미해결

견고한 결제 시스템 구축

안녕하세요. 다운로드한 수업자료에 '더 견고해지기 위해 남은 작업' 과 관련된 pdf 파일이 존재하지 않습니다 ㅠㅠ 다른 질문글을 봤을땐 notion URL 를 제공했다고 하는데, 혹시 notion URL를 안내해주는 챕터가 어디일까요? 더이상 Notion URL을 제공하지 않는다면 강의자료에 첨부해주실 수 있을까요? 강의 잘 들었습니다. 감사합니다!

  • spring
  • spring-boot
  • dbms/rdbms
  • backend
  • payments
jblee 댓글 1 좋아요 0 조회수 325

guard에서 요청객체 불러오기

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

bearerTokenGuadr와 basicTokenGuard를 작성했는데, 토큰 추출을 못합니다. 에서 req 요청객체를 제대로 불러온 것인걸까요? 포스트맨에서 auth/token/refresh에서 authroization을 체크하거나 체크하지 않건 둘다 토큰이 없다고 나오는데.. 추출에 문제가 있어 보입니다. BasicTokenGuard는 잘 추출되서 로그인까지는 잘 되는데, BearerTokenGuard는 추출이 안되는지 에러메세지 '토큰이 없습니다.'가 나옵니다.

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
댓글 1 좋아요 0 조회수 198

전체 count(*) 내용에 대해서 문의 드립니다.

해결됨

Real MySQL 시즌 1 - Part 1

안녕 하세요.. 실제로 count(*) 때문에 고민이 많습니다. 게시판 형태의 화면이 있는데요.. 데이터가 약 250만건 정도 입니다. 조인된 테이블은 6개 이고요.. 테이블 6개를 조인 해서 보여주다 보니 검색 조건은 매우 많습니다. 페이징을 20개씩 10페이지씩 보여주고 있는데요.. 강의 내용 대로 전체 count(*) 때문에 속도가 느립니다. 전체 갯수를 소스 상에 써 놓고 테스트를 해보면 속도가 느리지 않거든여.. 강의를 보기 전에도 테스트 해본 결과 속도는 전체 갯수의 count(*) 문제 라고 판단 하고 있었는데요.. 시스템의 로우 갯수를 사용 하는 방법이나 리눅스의 cron 으로 각 테이블의 갯수를 10분 단위로 입력 하는 것 등.. 여러가지 생각을 해보았으나..검색 때문에 포기 했습니다. 검색을 하면 검색 결과에 대한 전체건수가 나와야 하는데.. 이건 실시간 아니면 파악할 수가 없으니까요.. 강의를 보면서 힌트를 얻고자 했으나.. 대략적인 건수.. 임의의 페이지 표기 통계 이용 대략 이해는 됩니다만.. 만일 검색을 하게 되면..모두 사용 할 수 없는 것 아닌가요? 강의 에서 얘기한 것들은 모두 아무런 조건이 없을 경우 이고.. 예를 들어 검색 조건이 10가지 정도 될 경우 어떤 조건으로 검색할 지 모르는 상황인데 대략적인 건수를 표시할 수도 없고 임의의 페이지를 표시할 수도 없습니다. 예를 들어 검색 조건 시 1개도 없는 경우도 있을 수 있는데.. 어떻게 대략적인 건수를 표시를 할 것이며.. 임의의 페이지를 표시 할 수 있을까요.. 검색결과가 1건도 나오지 않았는데 페이지를 1~10 까지 대략적으로 표시할 수는 없는 것 아닌가요? 통계이용은 검색 시 더더욱 사용할 수 없고요.. 제시하신 방법으로는 문제가 해결 될 것 같지 않은데.. 제가 잘못 생각 하고 있는 걸까요? 제 생각이 틀렸으면 좋겠습니다만.. 방법이 있을까요?

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
민경언 댓글 1 좋아요 1 조회수 294

Paginate에서 overrideFindOptions 문제

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

overrideFindOptions에서 where절을 작성하면 dto에 있는 where 조건들이 제대로 동작하지 않는 거 같아요 paginateComments(dto: PaginateCommentsDto, articleId: number) { return this.commonService.paginate( dto, this.commentsRepository, { relations: { author: true, }, select: { author: { id: true, devName: true }, }, where: { article: { id: articleId }, }, }, `articles/${articleId}/comments`, ); } paginate에서 where조건이 있으면 병합하는 방법으로 해결해보려고 했는데 원하는대로 동작하지 않는거 같습니다. 어떻게 해결하면 좋을까요??

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
hodoldol 댓글 2 좋아요 0 조회수 166

임시 폴더로부터 이미지 파일 이동시키기

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

임시폴더로 부터 이미지 파일 이동시키는 강의를 들었는데요. 지금은 아직 S3 를 사용하지 않지만 만약 S3 를 사용할때도 임시폴더를 만들어두시고, 최종적으로 저장을하게 되면 이미지 파일을 S3에 이동을 시키시나요 ?

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
SJ 댓글 1 좋아요 0 조회수 213

file upload common module 관리

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

강의에서 image 업로드 시에 common module 를 만들어서 업로드 진행하는것을 봤는데요. controller 단에서 타고와서 메서드에서 필터링 처리하는게 아니라, 이미 module 에서 검증된것을 파일 올리기만 하니까 간편해보였습니다. 만약 이미지 파일뿐만 아니라 , 엑셀파일로 업로드 받는다고 하면 어떻게하면될까요 ?? 그때도 common.modules.ts 파일안에 register 메서드에 조건문으로 처리하시나요 ?? ex) if (ext === '.xlsx') { } elif (ext === '.jpg' && ext === '.jpeg' && ext === '.png') { }

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
SJ 댓글 1 좋아요 0 조회수 184

이미지 업로드

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

안녕하세요 ㅎ 이미지 업로드 방식에 대해서 말씀해주셨는데요. 말씀하신것처럼 사용자가 이미지를 올렸다가 마음이 바껴서 다른 이미지를 올리고싶을때 다시 이미지를 여러번 교체할수있잖아요 하지만 데이터베이스 상에서는 마지막으로 올린 S3 경로가 저장되어있을텐데요. 이럴경우 데이터베이스상에는 저장이 되어있지않지만 S3 에 올라간 이미지들은 어떻게 하시나요 ? 주기적으로 삭제 해주신다고 하셨는데 어떤방식을 하시나요 ?

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
SJ 댓글 1 좋아요 0 조회수 177

이미지 저장 경로 Public

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

안녕하세요 ! 우선 지금은 공부 단계이기때문에 이미지저장 경로를 S3 로 하지않고 Public 으로 하시나요 ? 아니면 원래 Public 에다가 이미지를 저장하시나요 ??

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
SJ 댓글 1 좋아요 0 조회수 169

...

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

..

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
슈퍼아스라다 댓글 1 좋아요 0 조회수 117

없는데이터에 select ... for update 쿼리시에 Lock

해결됨

Real MySQL 시즌 1 - Part 1

안녕하세요. 예시를 위해 테이블명을 변경했습니다. 도메인상 이해안되도 이해부탁드립니다..! 바로 질문으로 들어가면 아래에 쿼리를 발생시키면 supremum pseudo-record 락이 생기게 됩니다. 하지만 여기서 다른 세션에서 아래 쿼리를 똑같이 실행하면 select for update에서 락대기가 걸릴거라고 예상했는데 START TRANSACTION; #1 #reader_id+name 조합으로 유니크인덱스 사용중 SELECT * FROM book b WHERE reader_id = 21 AND name = 'ABC' FOR UPDATE; #2 INSERT INTO book VALUES (null, 'ABC', 21); #3 아래 처럼 같은 락이 추가됩니다. 그래서 두 세션중 어느세션에서 insert 쿼리를 입력하든 Lock 대기가 걸리게됩니다. select에서 락대기가 걸리길 바랬는데 insert를 해야 락대기가 걸리는 이유가 무엇인가요? 답변 미리 감사합니다.

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
YOGURT 댓글 2 좋아요 0 조회수 500

수업 외적질문...

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

이건 수업 외적인 질문인데요. 목소리가 달라서 다른 강사님이시지만.. 똑같은 코드팩토리 Flutter 수업듣고있는데요 TypeScript 와 Nest js 를 사용하시면 React Native 를 학습하시고사용하시는게 나을수도 있을텐데 , Flutter 를 선택하신 이유가 있나요 ?? React Native 가 성능이 비교적 Flutter 보단 안좋다고 하지만 큰 기업들에선 React Native 도 많이 사용하고 있던데 그럼 쓰는사람에 따라 다른게 아닐까?? 생각도 했거든요

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
SJ 댓글 1 좋아요 0 조회수 291

파티셔닝의 자원 사용 효율 증가 관련 질문

해결됨

Real MySQL 시즌 1 - Part 2

"테이블 파티셔닝이 필요한 이유"중에 "자원 사용 효율 증가 및 쿼리 성능 향상"을 언급주셨습니다. 예를들어 최근에 저장된 데이터들 위주로 조회하는 경우 파티션 프루닝을 통해 최근 데이터만 접근하니까 효율적이라는 내용인데요, 효율적인 부분이 제가 생각했을 때 아래 2가지 정도인 것 같습니다. 테이블의 모든 row를 접근 안해도 되고 더 적은 데이터만 읽어도 됨 버퍼풀에 자주 사용되는 일부 데이터만 로드해도 됨 여기서 질문이 있습니다. 파티셔닝키를 대상으로 인덱스를 걸면, 마찬가지로 최근 데이터만 접근가능하고, 버퍼풀에 최근 데이터만 올라가지 않나요? 인덱스를 거는 방식이 파티셔닝을 사용하는 것에 비해 어떤 점에서 부족한가요?

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
hoon 댓글 2 좋아요 1 조회수 703

INSERT에서 shared lock을 거는 이유 질문

해결됨

Real MySQL 시즌 1 - Part 2

"DeadLock 예시(2)"에서 INSERT구문이 UNIQUE를 보장하기위해 shared lock을 걸고 확인한다고하였는데요, 그냥 처음부터 exclusive lock을 걸고 값을 확인하게 구현할 수도 있을 것 같은데, 그렇게 안되어있는 특별한 이유가 있을까요? exclusive lock을 건 상태에서는 값이 있는지 확인이 불가능하다 (shared lock을 걸었을때만 가능하다) 그냥 어쩌다보니 MySQL이 그렇게 구현되어있다. lock경합을 줄이기위한 의도로 이렇게 구현했다? 제가 생각나는 이유는 위 2개 정도인데, 어떤 이유인지 아실까요?

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
hoon 댓글 3 좋아요 1 조회수 511

안녕하세요. 인덱스 관련 질문 있습니다.

해결됨

Real MySQL 시즌 1 - Part 2

에피소드 15에서 복합 인덱스의 경우 순서가 중요하다고 하셨는데요. 그럼 인덱스 생성 시 (account_type, joined_at) 와 같은 순서일때 조건에 joined_at account_type 순서로 주어지면 인덱스를 활용하지 못하는게 맞을까요??

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
ned.choi 댓글 2 좋아요 0 조회수 420

로그인/소셜로그인 테이블 설계 관련 궁금증 관련 질문입니다.

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

강좌를 들은 후, 소셜로그인을 구현하다가 의문점이 생긴 부분이 있어 어떠한 방식으로 접근하는 것이 궁금하여 질문을 남깁니다. 상황 일반 회원가입시에는, 이메일 비밀번호 + 해당 서비스에 필요한 필수 정보들을 받고, 해당 내용을 클라이언트로 부터 받아 user테이블에 저장하는 상황입니다. 소셜 로그인 같은 경우에는, 정보를 받을 수 있는 것이 제한이 되어있어, 추가적으로 필요한 정보들을, 소셜 로그인 성공 이후, 클라이언트 측에서 회원가입시 필요한 정보들을 받을 수 있는 화면으로 이동시켜, 해당 정보를 받아서, 부족한 정보들을 채워넣는 것으로 알고 있습니다. 궁금점. 소셜로그인 로그인 후, 신규 유저이기에 서비스 이용에 필요한 필수 부가정보 입력을 받기위해, 회원가입 창으로 이동시켜, 부가 정보를 입력받는다면 크게 문제가 없습니다.하지만, 앱을 사용하다보면은 데이터가 끊긴다거나, 배터리가 방전된다거나, 알수없는 이유로, 로그인은 되었으나, 필수 부가정보를 입력하지 못하고, 꺼지는 경우가 있습니다. 필수 부가정보를 꼭 받아야 하는 경우라면 이 부분에 대해서 어떻게 처리해야하나요?필수 정보를 채웠는지 여부를 확인하는 column을 boolean으로 User 테이블에 추가하여, 클라이언트에서 해당 Column으로 부가정보를 입력받지 않았으면 메인화면으로 가지않고, 회원가입 스크린으로 리다이렉 시키는 이런 로직을 작성해야하나요?필수 정보를 채웠는지 여부를 확인하는 column 없이 이런 경우에 처리할 수 있는 방안이 있는지 궁금하고, 현업에서는 어떤식으로 테이블을 설계하는지 궁금합니다!

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
김용민 댓글 2 좋아요 0 조회수 340

테이블이 1:N 구조에서 N쪽 테이블에 유니크 제약조건에 의한 오류발생 회피 방법이 뭘까요?

해결됨

Real MySQL 시즌 1 - Part 2

안녕하세요. 질문 드립니다. 1:N 구조의 웹 어플리케이션입니다. 종종 동일한 insert 요청이 짧은 시간에 발생 합니다. insert는 N(child) 테이블에 되어야 합니다. 해당 테이블에는 유니크 제약조건 이 걸려있어서 중복 데이터는 절대로 insert 되지 않지만 동일 요청에 의해서 DeadLock이 발생 하고 있습니다. (물론 빈도는 많지 않습니다.) 실행 순서는 이렇게 됩니다. Parent테이블의 id를 이용해서 join 쿼리로 select 합니다. (child 테이블 존재 여부 확인) child 테이블에 데이터가 존재한다면 수량 증가, 없다면 insert를 합니다. 이 때 데이터가 없는 상황에서 select-insert 요청이 서로다른 tx에서 발생할 때 데드락이 발생합니다. 이 경우 어떤 전략으로 회피할 수 있을까요? 유니크 제약 조건에 의해서 중복 데이터가 생기는건 방지되고 있고, 데드락 자체가 하루 한 건 정도 발생하고 있어서 시스템 운영상에서는 문제가 없으나 어떤 해결책이 있을지 궁금합니다.

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
챕스틱 댓글 1 좋아요 0 조회수 302

LATEAL 사용 관련 질문

해결됨

Real MySQL 시즌 1 - Part 1

안녕하세요. 현재 강의를 수강중인 학생입니다. RATERAL 사용 관련되어 질문이 있어 글 남겨드립니다. 잘못된 지식일 수 있지만, 서브쿼리를 사용하면 DBMS에서 지원하는 최적화를 지원받지 못해 서브쿼리를 사용하는 것보다는 최대한 조인을 사용하거나 차라리 쿼리를 나눠서 사용하는 것을 권장한다고 알고 있었습니다. 그런데 해당 강의를 수강하고 LATERAL의 사용을 적극 권장하셔서 제가 알고 있는 지식과 충돌하는 것 같습니다 혹시 어떤 경우에 LATERAL을 사용 하는 것이 좋을 지 여쭤보고자 글을 작성합니다. 감사합니다.

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
데자르 댓글 2 좋아요 0 조회수 525

인기 태그

인프런 TOP Writers

주간 인기글