inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Module '"@prisma/client"' has no exported member 'cart'. 에러

해결됨

커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)

안녕하세요. 프리즈마에서 정의한 모델타입을 import 할 때 강의랑 동일하게 아래처럼 입력하면 Module '"@prisma/client"' has no exported member 'cart'. 에러가 발생합니다. schema.ts 파일에는 model cart 로 정의되어있고 npx prisma generate 명령어를 통해 클라이언트 생성도 잘 되었습니다. 서칭해보니 Prisma는 모델 이름을 PascalCase 로 자동 변환한다는데 그래서 그런건가요? 강의와는 버전차이인걸까요? import { cart } from '@prisma/client';

  • docker
  • kafka
  • redis
  • nestjs
  • prisma
hcode 댓글 3 좋아요 0 조회수 244

return@logFor을 사용한 이유가 궁금합니다.

해결됨

은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스

return@logFor ResponseProvider.success("SUCCESS") return @logFor ResponseProvider.success("SUCCESS") BankService.kt 의 메서드에서 return @logFor을 사용하는 이유를 잘 모르겠습니다 ㅠㅠ Logging.logFor이란 람다가 끝났다는 걸 바깥함수에 알려주고 이후 로직이 있다면 해당 로직들도 실행하기 위해서일까요? 코알못이라 흙흙

  • kotlin
  • mysql
  • mongodb
  • kafka
  • redis
soap 댓글 1 좋아요 0 조회수 180

@Transactional.kt에 대한 효용성 질문

해결됨

은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스

강사님 안녕하세요. 코틀린을 자바처럼 쓴 제 자신을 혼내면서(?) 열심히 청강 중입니다. 강의에서 작성하신 Transactional.kt 코드를 보면 스프링의 TransactionTemplate을 활용한 명시적 트랜잭션 제어 방식과 큰 차이점이 없어 보입니다. 코틀린 래핑방식으로 사용했을때 어떤 장점이 있는걸까요? 제가 생각한 래핑 방식의 장점은 다음과 같습니다. 코드 스타일, 네이밍, optional 옵션 추가 등에서 약간 더 자유로움 예를 들어 여러 종류의 트랜잭션 처리 규칙(특정 로그, 메트릭, 롤백 조건 등)을 한곳 에 구현해서 공용유틸로 쓰기 좋고, 내부 구현을 추후 TransactionTemplate, PlatformTransactionManager 등 다양한 방식으로 손쉽게 변경 가능 트랜잭션 코드에 특별히 넣어야 할 커스텀 공통로직"이 없다면, 웬만하면 @Transactional / TransactionTemplate만으로 충분하다는 생각입니다. 정답은 없고 팀의 규칙마다 다를것 같아요. 강사님 팀에서는 어떤 방식으로 사용중이신가요? 강의 찍어주셔서 감사합니다앗~! (개인적인 사견인데 말씀하시는 중에 '죄송합니다'는 안하셔도 될것 같아요~!)

  • kotlin
  • mysql
  • mongodb
  • kafka
  • redis
soap 댓글 1 좋아요 0 조회수 170

@Transactional.kt에 대한 효용성 질문

해결됨

은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스

강사님 안녕하세요. 코틀린을 자바처럼 쓴 제 자신을 혼내면서(?) 열심히 청강 중입니다. 강의에서 작성하신 Transactional.kt 코드를 보면 스프링의 TransactionTemplate을 활용한 명시적 트랜잭션 제어 방식과 큰 차이점이 없어 보입니다. 코틀린 래핑방식으로 사용했을때 어떤 장점이 있는걸까요? 제가 생각한 래핑 방식의 장점은 다음과 같습니다. 코드 스타일, 네이밍, optional 옵션 추가 등에서 약간 더 자유로움 예를 들어 여러 종류의 트랜잭션 처리 규칙(특정 로그, 메트릭, 롤백 조건 등)을 한곳 에 구현해서 공용유틸로 쓰기 좋고, 내부 구현을 추후 TransactionTemplate, PlatformTransactionManager 등 다양한 방식으로 손쉽게 변경 가능 트랜잭션 코드에 특별히 넣어야 할 커스텀 공통로직"이 없다면, 웬만하면 @Transactional / TransactionTemplate만으로 충분하다는 생각입니다. 정답은 없고 팀의 규칙마다 다를것 같아요. 강사님 팀에서는 어떤 방식으로 사용중이신가요? 강의 찍어주셔서 감사합니다앗~! (개인적인 사견인데 말씀하시는 중에 '죄송합니다'는 안하셔도 될것 같아요~!)

  • kotlin
  • mysql
  • mongodb
  • kafka
  • redis
soap 댓글 1 좋아요 0 조회수 245

설정이 헷갈립니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

영상에서 가정하는게 앱이 여러개이고 DB가 1개인 경우가 맞나요? 만약 앱이 2개이고 DB가 2개인 경우는 어떻게 작동하나요??

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
이동연 댓글 1 좋아요 0 조회수 207

두 쿼리문의 차이

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요, 쿠케님 강의 만족스럽게 수강하고 있는 수강생입니다. 아래 2개의 쿼리문에 대해 첫번째 쿼리문에 where article_id = 1 이라는 조건문이 있고(비록 index를 생성한 컬럼이지만), 두번째 쿼리문에서는 where article_id가 빠진 상태인데도 첫번째 쿼리문의 속도가 더 빨랐습니다. explain 해보니, 두번째 쿼리문에 Using filesort가 존재하는데, order by path로 인해 저희가 지정한 index의 컬럼인데도 불구하고 왜 Using filesort가 되고, 속도가 첫번째 쿼리문에 비해 조건이 없는데도 더 느린지 잘 이해가 안됩니다. mysql> explain select path from comment_v2 where article_id = 1 order by path desc limit 10; +----+-------------+------------+------------+------+---------------------+---------------------+---------+-------+---------+----------+----------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------+------------+------+---------------------+---------------------+---------+-------+---------+----------+----------------------------------+ | 1 | SIMPLE | comment_v2 | NULL | ref | idx_article_id_path | idx_article_id_path | 8 | const | 4990965 | 100.00 | Backward index scan; Using index | +----+-------------+------------+------------+------+---------------------+---------------------+---------+-------+---------+----------+----------------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> explain select path from comment_v2 order by path desc limit 10; +----+-------------+------------+------------+-------+---------------+---------------------+---------+------+---------+----------+-----------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------+------------+-------+---------------+---------------------+---------+------+---------+----------+-----------------------------+ | 1 | SIMPLE | comment_v2 | NULL | index | NULL | idx_article_id_path | 110 | NULL | 9981930 | 100.00 | Using index; Using filesort | +----+-------------+------------+------------+-------+---------------+---------------------+---------+------+---------+----------+-----------------------------+ 1 row in set, 1 warning (0.00 sec)

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
parkhs 댓글 2 좋아요 0 조회수 242

트랜잭션 레벨에 대해 궁금합니다!

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요. 쿠케님 강의가 너무 유익해서 잘듣고있습니다! 강의를 진행하면서 문득 생각이 든건데 실무에서 트랜잭션 레벨을 조절을 하기도 하나요??? 기본 트랜잭션은 REPEATABLE_READ인데 갭락이 걸릴것을 우려해서 COMMITED_READ로 바꾼다거나 이런식으로 트랜잭션 레벨을 조절하는 경우가 있나요???

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
이동연 댓글 2 좋아요 0 조회수 181

Spring Boot 프로젝트에 Redis 셋팅 추가하기에서 13분 질문있습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

Spring Boot 프로젝트에 Redis 셋팅 추가하기에서 13분에서요. 스프링부트 종료하고 다시 사작한 화면에서 cmd에서 cash * 누르면 캐시가 없던데 캐시는 휘발성인가요?

  • redis
  • nosql
  • query-tuning
  • performance-tuning
zzzzz 댓글 2 좋아요 0 조회수 232

레디스 환경 셋팅 질문있습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

선생님 코드 복붙했는데 어느 부분이 틀린지 잘 모르겠습니다. class RedisCacheConfig 부분에서 RedisConnectionFactory redisConnectionFactory 이 부분이 에러가 나고 class BoardService애서 cacheManager = "boardCacheManager" 여기서도 에러가 납니다. 파일 첨부합니다.

  • redis
  • nosql
  • query-tuning
  • performance-tuning
zzzzz 댓글 2 좋아요 0 조회수 136

무한 depth 구현 설계에서 질문이 있습니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 00a0z의 prefix(parentPath)를 가지고 모든 자손 댓글에서, 가장 큰 path(descendantsTopPath)를 찾는 과정인데요. 현재 childrenTopPath가 00a0z 00002 이지만 해당 댓글에 대댓글이 없고 00a0z 00001의 대댓글만 있는 상황에서는 00a0z 00002 자기 자신이 childrenTopPath 이자 descendantsTopPath가 되는걸까요? 00a0z 00002 와 00a0z 00001 00000 을 비교했을때 앞의 것이 더 큰 path라고 판단하면 되는걸까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
fb1014 댓글 2 좋아요 0 조회수 254

systemctl restart redis-server 실행시 오류 문의

미해결

레디스의 모든 것 (feat. Node.js)

강의 영상 대로 작성 후 systemctl restart redis-server실행시 아래와 같은 오류가 나옵니다...(sutdy를 server로했습니다.) Job for redis-server.service failed because a timeout was exceeded. See "systemctl status redis-server.service" and "journalctl -xeu redis-server.service" for details. journalctl를 실행해봤더니 아래에 대한 내용이 나오네요, 강의에 나온 service 내용을 그대로 쳤는데도 이런 오류가나오네요.... 4월 16 23:03:30 localhost .localdomain systemd[1]: Starting My resdis study... ░░ Subject: A start job for unit redis-server.service has begun execution ░░ Defined-By: systemd ░░ Support: https://wiki.rockylinux.org/rocky/support ░░ ░░ A start job for unit redis-server.service has begun execution. ░░ ░░ The job identifier is 4223. 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:C 16 Apr 2025 23:03:30.725 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cau> 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:C 16 Apr 2025 23:03:30.726 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:C 16 Apr 2025 23:03:30.726 * Redis version=7.4.2, bits=64, commit=00000000, modified=0, pid=31478, just started 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:C 16 Apr 2025 23:03:30.726 * Configuration loaded 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.726 * Increased maximum number of open files to 10032 (it was originally set to 1024). 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.726 * monotonic clock: POSIX clock_gettime 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.727 * Running mode=standalone, port=6379. 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * Server initialized 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * Loading RDB produced by version 7.4.2 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * RDB age 11 seconds 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * RDB memory usage when created 0.93 Mb 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * Done loading RDB, keys loaded: 0, keys expired: 0. 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * DB loaded from disk: 0.000 seconds 4월 16 23:03:30 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:03:30.728 * Ready to accept connections tcp 4월 16 23:05:00 localhost .localdomain systemd[1]: redis-server.service: start operation timed out. Terminating. 4월 16 23:05:00 localhost .localdomain redis-server[31478]: 31478:signal-handler (1744812300) Received SIGTERM scheduling shutdown... 4월 16 23:05:00 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:05:00.778 * User requested shutdown... 4월 16 23:05:00 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:05:00.778 * Saving the final RDB snapshot before exiting. 4월 16 23:05:00 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:05:00.781 * DB saved on disk 4월 16 23:05:00 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:05:00.781 * Removing the pid file. 4월 16 23:05:00 localhost .localdomain redis-server[31478]: 31478:M 16 Apr 2025 23:05:00.781 # Redis is now ready to exit, bye bye... 4월 16 23:05:00 localhost .localdomain systemd[1]: redis-server.service: Failed with result 'timeout'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://wiki.rockylinux.org/rocky/support ░░ ░░ The unit redis-server.service has entered the 'failed' state with result 'timeout'.

  • node.js
  • redis
황현준 댓글 1 좋아요 0 조회수 312

class 가 아닌 파일로 생성하시는이유

해결됨

은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스

강의를 보니 코틀린 클래스 생성 대신 파일을 생성하시는데 이유를 알수있을까요?

  • kotlin
  • mysql
  • mongodb
  • kafka
  • redis
파이리리아코 댓글 2 좋아요 0 조회수 232

락 처리

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 선생님 동시성 처리 방법에는 redisson을 활용한 방법도 있는데요 혹시 이 방법은 언제 써야할까요? 감사합니다

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
wnsqud70 댓글 2 좋아요 0 조회수 197

rowLock

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 강의 잘 보고 있습니다. rowLock 단점에 대해서 질문드리고 싶습니다. 강의에 나온내용 말고 rowLock이 걸려도 격리레벨때문에(mysql기준) 이미 조회시 같은 값을 조회 했기때문에 동시서 이슈가 해결되지 않는다고 봐도 괜찮을까요?? 감사합니다

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
wnsqud70 댓글 2 좋아요 0 조회수 167

timezone 관련 질문

해결됨

커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)

안녕하세요. prisma에서 utc 시간이 아닌 다른 시간대를 사용하고 싶은데, 현재 prisma에서는 timezone 관련 지원이 부재한 것으로 보입니다. 강사님께서는 위와 같은 상황일 경우, 이 부분을 어떤 식으로 해결하셨는지 궁금합니다.

  • docker
  • kafka
  • redis
  • nestjs
  • prisma
노력왕 댓글 2 좋아요 0 조회수 351

엘라스틱 서치와 레디스의 차이점을 알고 싶습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

엘라스틱 서치와 레디스의 차이점을 알고 싶습니다. 그리고 강의 중에 엘라스틱 서치도 redis-cli로 접속하여 값을 볼수있는데. 이것은 왜 redis-cli 를 사용하는지도 알고 싶습니다.

  • redis
  • nosql
  • query-tuning
  • performance-tuning
네오스카이 댓글 2 좋아요 0 조회수 351

카프카에 담긴 이벤트 순서가 올바르지 않을 가능성 관련 질문

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 쿠케님, 강의를 복습하다 새로운 궁금증이 생겨 질문 남깁니다. 본론부터 말씀드리자면, 카프카는 큐에 이벤트가 담기고, 동일 토픽 및 동일 파티션의 경우 동일한 offset을 쓰기 때문에 순서가 지켜져서 소모가 된다고 이해했습니다. 즉, 컨슈머가 몇개든 동일 토픽, 파티션인 경우 큐에 담겨진 순서대로 명확하게 소비된다고 이해했습니다. 그런데 만약 큐에 담겨진 순서가 올바른 순서가 아니라면 어떻게 되는 것일까요? 예를 들어, 2명의 클라이언트가 거의 같은 시간에 게시글 A에 대해 댓글을 생성했고 각 클라이언트는 서로 다른 댓글 서버에서 요청이 처리됐다고 가정하겠습니다. 이때 유저 A가 게시글 A에 대한 댓글을 먼저 생성했고, 유저 B가 간발의 차로 같은 게시글에 대한 댓글을 생성했을 때, 유저 A가 생성했을 때의 게시글 댓글 수는 4였고 B가 뒤 이어서 생성했다면 5가 될 것입니다. 백엔드 서버가 전송한 유저 A의 이벤트가 알 수 없는 문제로 카프카로 늦게 도착했고, 그 사이에 유저 B의 이벤트가 먼저 큐에 담겨졌습니다. 그렇다면 제가 첨부한 그림과 같이 됩니다. ( 이벤트는 지연 전송 방식이 아닌 트랜잭션 After Commit 이후에 즉시 전송됐다고 가정. ) 이때 컨슈머인 article-read 서비스에서 이벤트를 순서대로 소비하며 레디스에 저장된 게시글 A의 ArticleQueryModel 댓글 수를 최신화하는데 먼저 최신 값인 5로 최신화하고 다시 과거 값인 4로 최신화 할 것입니다. 이렇게 되면 게시글 A의 댓글 수 데이터의 일관성이 깨진다고 볼 수 있을 것 같습니다. 그래서 이에 대한 해결책으로 이벤트 payload에 댓글의 스노우플레이크 id가 담겨 있고, 스노우 플레이크는 시간 순으로 생성되기 때문에 레디스에 게시글 A에 대해 가장 마지막으로 처리된 이벤트의 스노우플레이크 id를 저장하고 다음으로 소비될 이벤트가 가장 마지막으로 처리된 이벤트 id보다 과거에 생성된 이벤트면 이 이벤트를 무시하면 되지 않을까? 생각했지만, 게시글에 대한 이벤트 타입이 여러가지이기 때문에 다른 타입의 이벤트가 무시될 수도 있겠다는 생각이 듭니다. 쓰고 나니까 너무 길게 질문 드린 것 같은데, 쿠케님의 강의가 정말 도움이 많이 돼서 이렇게 염치 불구하고 길게 질문드립니다. 이에 대한 의견 주시면 너무 감사하겠습니다. 강의 항상 잘 듣고있습니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
알알이 댓글 2 좋아요 1 조회수 355

질문 하나 있습니다!

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

저번에 다음 강의 관련 글을 본 적이 있었는데요. 다음 강의는 Redis Cache Hit 관련 강의가 맞을까요? 맞다면 한 언제쯤 출시가 될까요! 다음 강의도 무척 기대되어서 그렇습니다!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
리나 댓글 1 좋아요 0 조회수 98

-parameters

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

http://localhost:8080/boards 로 접근시 해당 에러가 발생합니다

  • redis
  • nosql
  • query-tuning
  • performance-tuning
Cola 댓글 2 좋아요 0 조회수 180

sql_app.db 연동 관련

미해결

FastAPI 실전편: JWT와 Redis로 완성하는 인증 시스템

../src 경로에서 sqlite3 sql_app.db 실행 및 접속 이후 SQLite version 3.43.2 2023-10-10 13:08:14 Enter ".help" for usage hints. sqlite> .tables sqlite> .tables sqlite> post 확인이 안됩니다

  • jwt
  • redis
  • FastAPI
  • python3
창범 댓글 1 좋아요 0 조회수 174

인기 태그

인프런 TOP Writers

주간 인기글