inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

JS 파일이 IDE(Cursor)에서 출력되지 않아요...

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

사진과 같구요. Node.js, Code Runner 설치했습니다. 오류 코드도 구글링해 봤는데 해결 방법을 못 찾겠어서 올려 봅니당...

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
수뼈 댓글 1 좋아요 0 조회수 145

백엔드 실습용 서버 질문있습니다.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 실습용 백엔드 서버에 대해 궁금한점이 있습니다. 강의에서 한입북스라는 서버를 가지고 실습을 하는데 이 서버는 날씨api, 영화api와 같이 그냥 도서 데이터가 들어있는걸 가져온다는건가요? 아니면 서버사이드렌더링으로 만들어 놓은 페이지 같은걸 가져오기 위함인가요?

  • react
  • typescript
  • next.js
부드러운 족제비 댓글 1 좋아요 0 조회수 166

NamedLock 테스트 실패

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요 상용님 좋은 강의 너무 잘 듣고 있습니다. namedlock부분에서 테스트 코드를 돌리는데 connectiontimeout 이후 테스트가 실패하여 질문 드리려 합니다. 문제상황 maximum-pool-size를 40으로 설정 후 테스트를 돌리면 다음과 같은 에러가 터지면서 테스트가 실패합니다. 사진에서와 같이 40개 스레드가 락획득을 시도한 후, 30초 후 락획득 시도조차 하지못한 60개의 스레드에서 타임아웃이 납니다. 이후 락 획득을 기다리던 스레드하나가 타임아웃이 나고 나머지 스레드들이 39번의 재고 감소 로직을 실행합니다. 추측 제가 추측한 것은 다음과 같습니다. 1. 현재 transactional propagation requiresnew로 되어있기에 하나의 재고 감소 로직 당 2개의 connection을 필요로한다. 2. 처음 40개의 스레드가 순차적으로 lock획득을 시도하며 40개의 스레드를 점유한다. 3. requires new로 새로운 트랜잭션을 시작하기 위해 새 connection이 필요하지만, 여유분이 없어 기다린다.(이때 데드락 상황) 4. 30초 대기후 timeout이 나서 커넥션들이 순차적으로 반환된다. 5. 이때 락을 획득 시도한 스레드(커넥션 점유중)가 반환되면 6. 나머지 39개의 락획득 시도하던 스레드들이 실행된다. 그래서 실제로 maximum pool size를 101개로 올리니 잘 실행되었습니다. 그런데 선생님은 40개로도 실행이 되어서.. 의문이 남습니다. 질문 저의 추측이 맞을까요..? 틀리다면 어디가 틀린걸까요. 왜 선생님은 40으로만으로도 된것인가요? 이런 이유에서 강의 중에 datasource를 분리하라 하신걸까요? 혹시 몰라 코드 첨부합니다.!

  • java
  • spring
  • 동시성
jaeyun0507 댓글 2 좋아요 0 조회수 208

add 문의 드립니다

미해결

김영한의 실전 자바 - 중급 2편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] LinkedList<Integer> bucket = buckets[hashIndex]; 으로 하셨는데 bukets[hashIndex].add(value); 로 하지 않은 이유가 있을까요? 참조값은 똑같은데 변수 선언을 한 이유가 궁금합니다

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
딩띵 댓글 1 좋아요 0 조회수 113

화면이 안보입니다. 검은화면만 보여요

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • java
  • 코딩-테스트
집돌이-JPA,코/접,AWS,우 댓글 1 좋아요 0 조회수 92

댓글 테스트 작성 시 에러 발생

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의를 따라가던 도중 테스트 코드에서 에러가 발생해 질문 드립니다. 섹션 3. 댓글 최대 2depth - CUD API 구현 강의를 들으며 void deleteShouldMarkDeletedIfHashChildren() 테스트에서 에러가 발생했습니다. 에러 내용은 PotentialStubbingProblem 에 관련된 내용으로 org.mockito.exceptions.misusing.PotentialStubbingProblem: Strict stubbing argument mismatch. Please check: - this invocation of 'countBy' method: commentRepository.countBy(1L, 0L, 2L); -> at shoon.board.comment.service.CommentService.hasChildren(CommentService.java:70) - has following stubbing(s) with different arguments: 1. commentRepository.countBy(1L, 2L, 2L); 위와 같이 에러가 발생했습니다. 이 내용을 토대로 살펴보았을 때, 강의에서 제공된 코드가 아래와 같은데 @Test @DisplayName("삭제할 댓글이 자식 있으면, 삭제 표시만 한다.") void deleteShouldMarkDeletedIfHasChildren() { // given Long articleId = 1L; Long commentId = 2L; Comment comment = createComment(articleId, commentId); given(commentRepository.findById(commentId)) .willReturn(Optional.of(comment)); given(commentRepository.countBy(articleId, commentId, 2L)).willReturn(2L); // //when commentService.delete(commentId); // // //then verify(comment).delete(); } 이때 comment는 mock 객체로 articleId와 commentId만 가지고 있는 상황이며 getArticleId와 getCommentId만 mocking이 되어있는데, 실제 countBy 메서드가 서비스 객체에서 private boolean hasChildren(Comment comment) { return commentRepository.countBy(comment.getArticleId(), comment.getParentCommentId(), 2L) == 2; } 위와 같이 호출이 되는데, 이때 getParentCommentId()의 값이 존재하지 않는데 테스트가 정상적으로 작동할 수 있나요? 테스트 코드에서는 countyBy(articleId(1), commentId(2), 2)로 고정해두었는데, 실제 호출은 이와 달라지기 때문에 에러가 발생한다고 생각이 들었는데 맞을까요? 강사님 코드에서는 정상 작동하고 제 코드는 작동이 에러가 나서 이유를 정확히 모르겠네요 ㅜㅜ 혹시 제 코드가 필요하실 수도 있을까봐 구글 드라이브 링크로 제 코드 파일도 남기도록 하겠습니다. https://drive.google.com/file/d/1tqV1PkvwpnaRqI9msxEj4X_t7iqg_CFr/view?usp=drive_link

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
박상훈 댓글 2 좋아요 0 조회수 203

static 상속

해결됨

김영한의 실전 자바 - 기본편

[질문 내용] 강의 17:01, 메서드 오버라이딩은 인스턴스 메서드에 해당하는 내용으로 static 메서드는 해당하지 않는다고 하셨습니다. 별도로 예제를 작성해서 테스트해보았는데, 자식 클래스에서 부모 클래스의 클래스 메서드를 호출할 수 있었습니다. static 메서드 역시 상속은 되지만 오버라이딩 대상이 되지 않는다고 이해하면될까요? 감사합니다.

  • java
  • 객체지향
티티티 댓글 1 좋아요 0 조회수 139

게시글 CRUD API 구현 부분에서 gradle 관련 에러가 발생합니다.

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j' implementation project(':common:snowflake') } 이렇게 설정 하고 gradle 싱크를 맞췄을때 A problem occurred evaluating project ':service:article'. > Project with path ':common:snowflake' could not be found in project ':service:article'. 이렇게 에러가 발생합니다.

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

질문이 있습니다.

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 내용] 여기에 질문 내용을 남겨주세요. int 형과 String 형을 더하면 int 형이 자동으로 문자형으로 변하고 합쳐진다고 하셨는데 int 형이 영구적으로 문자형으로 변하는건가요? 아니면 그냥 임시로 바뀌는건가요? int num = 20; String str = "a + b = "; System.out.println(str + num); //num이 문자형으로 변환 System.out.println(num); // 변환된 후에 num은 계속 문자형인가요? 아니면 위에 초기화된 int 형인가요?

  • java
  • 객체지향
dg845704 댓글 1 좋아요 0 조회수 81

module.css 에 대해 문의드립니다.

해결됨

한 입 크기로 잘라먹는 Next.js

module.css 에서 :global 에 대한 궁증즘이 생겨 문의드립니다. 1번 방법 .header { height: 60px; font-weight: bold; font-size: 18px; line-height: 60px; :global(a) { color: black; text-decoration: none; } } 2번 방법 .header { height: 60px; font-weight: bold; font-size: 18px; line-height: 60px; :global { a { color: black; text-decoration: none; } } } 3번 방법 :global(a) { color: black; text-decoration: none; } 4번 방법 :global .header a { color: black; text-decoration: none; } 위 방법 모두 아래와 같은 에러가 뜨고 있습니다. Selector ":global" is not pure (pure selectors must contain at least one local class or id) 제가 숙지하기로는 css nested 문법은 최신문법으로 sass,postcss 등이 없어도 지원이 되고있는 걸로 알고 있어서 처음에는 sass,postcss 등 설치없이 진행했다가 안되서 모두 설치해 보고 위를 모두 실행해 봤는데도 같은 에러가 나고 있습니다. 어떻게 하면 에러가 나지 않을까요? 참고로 저는 퍼블리셔로 일하고 있는데 현재 일하고 있는 프로젝트에서는 :global 을 아래와 같이 사용하고 있는 중입니다. .header { height: 60px; font-weight: bold; font-size: 18px; line-height: 60px; :global { a { color: black; text-decoration: none; } } } 여기 프로젝트 소스가 복잡하기도 하고 얕은 지식으로 분석을 해보긴 했으나 해결이 안되고 있습니다. 한입 넥스트를 진행하면서 :global 를 적용하려고 테스트해봤지만 잘 안되어 문의드리오니 소중한 답변 부탁드립니다.

  • react
  • typescript
  • next.js
jaiyah 댓글 2 좋아요 0 조회수 234

선생님 갑자기 데이터베이스가 작동이 안됩니다.

해결됨

한 입 크기로 잘라먹는 Next.js

선생님 데이터 베이스관련 질문드립니다. superbase에서 핑 확인해봐도 값이 안오고 데이터베이스가 죽어버린거 같은데 이럴경우 금액을 늘려야 하나요? 무료가 리소스 얼마나 제공하는지를 모르겠네요 오류코드 같이 첨부합니다. [Nest] 11338 - 02/10/2025, 3:19:23 PM ERROR [ExceptionsHandler] Invalid `this.prisma.book.findMany()` invocation in /Users/wi/WebstormProjects/onebite-books-server-main/src/book/book.service.ts:27:35 24 } 25 26 async findAllBooks() { → 27 return await this.prisma.book.findMany( Can't reach database server at `aws-0-ap-northeast-2.pooler.supabase.com`:`5432` Please make sure your database server is running at `aws-0-ap-northeast-2.pooler.supabase.com`:`5432`. PrismaClientInitializationError: Invalid `this.prisma.book.findMany()` invocation in /Users/wi/WebstormProjects/onebite-books-server-main/src/book/book.service.ts:27:35 24 } 25 26 async findAllBooks() { → 27 return await this.prisma.book.findMany( Can't reach database server at `aws-0-ap-northeast-2.pooler.supabase.com`:`5432` Please make sure your database server is running at `aws-0-ap-northeast-2.pooler.supabase.com`:`5432`. at In.handleRequestError (/Users/wi/WebstormProjects/onebite-books-server-main/node_modules/@prisma/client/runtime/library.js:122:7154) at In.handleAndLogRequestError (/Users/wi/WebstormProjects/onebite-books-server-main/node_modules/@prisma/client/runtime/library.js:122:6188) at In.request (/Users/wi/WebstormProjects/onebite-books-server-main/node_modules/@prisma/client/runtime/library.js:122:5896) at l (/Users/wi/WebstormProjects/onebite-books-server-main/node_modules/@prisma/client/runtime/library.js:127:11167) at BookService.findAllBooks (/Users/wi/WebstormProjects/onebite-books-server-main/src/book/book.service.ts:27:12) at /Users/wi/WebstormProjects/onebite-books-server-main/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/wi/WebstormProjects/onebite-books-server-main/node_modules/@nestjs/core/router/router-proxy.js:9:17

  • react
  • typescript
  • next.js
uphoon 댓글 2 좋아요 0 조회수 189

안녕하세요. 강의록 오타 제보입니다.

미해결

김영한의 실전 자바 - 중급 2편

파일: 9. 컬렉션 프레임워크 - Map, Stack, Queue.pdf 위치: 22페이지 최상단 그림 양쪽에 poll이 아닌 pool로 나와있습니다

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
맥스 댓글 2 좋아요 0 조회수 102

개인적인 궁금증입니다

해결됨

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

강사님께서는 실무에서 JPA를 잘 사용하지 않으신다고 하신 걸 댓글에서 봤습니다. 그러면 MyBatis나 JDBC를 주로 사용하시는 건가요? 아니면 JPA는 사용하시는데 쿼리 메소드 기능 대신 @Query로 직접 native query를 작성하시는 건가요?

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

무한 스크롤 쿼리와 페이지 번호 쿼리 질문 있습니다.

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 페이지 넘버 쿼리 무한 스크롤 쿼리 안녕하세요 위 두 쿼리 모두 (board_id, article_id)를 인덱스로 설정해놔서 secondary index만 접근해도 될 것 같은데 페이지 넘버 쿼리에서 clustered index도 접근하는 것은 offset의 특성(?) 때문일까요? 무한 스크롤 쿼리에서는 secondary index의 정보(board_id, article_id)만으로 기준점을 찾아내고, limit 개수만큼 clustered index에 접근하는 것 같아서 페이지 넘버 쿼리에서도 secondary index의 정보(board_id, article_id)만으로도 offset의 위치를 찾을 수 있을 것 같은데 왜 clustered index까지 접근하는 걸까요??

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

tsconfig.json 파일에 대해 질문있습니다.

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요 타입스크립트 강의를 보고 있는 중인데 영상대로 tsconfig.json 파일에 { "$schema": " https://json.schemastore.org/tsconfig ", "_version": "2.0.0", "compilerOptions": { "lib": ["dom", "dom.iterable", "esnext"], "module": "esnext", "moduleResolution": "bundler", "target": "es2015", "allowJs": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, "isolatedModules": true, "jsx": "react-jsx", "noEmit": true, "noFallthroughCasesInSwitch": true, "resolveJsonModule": true, "skipLibCheck": true, "strict": true } } 이렇게 넣으니 아래 이미지처럼 오류가 뜨는데 찾아봐도 왜 오류가 뜨는지 잘 모르겠습니다.

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
부드러운 족제비 댓글 2 좋아요 0 조회수 162

현관문 출입순서

미해결

자바 코딩테스트 - it 대기업 유제

안녕하세요 강사님 현관문 출입순서를 풀어보고 강사님 코드를 보면서 한 if문 조건이 불필요하다고 생각해서 질문드립니다. for(int t = 0, i = 0, cnt = 0; ; t++){ //아래 조건은 아직 현관문을 다 사용하지 않았다는 조건이다. if(enter.isEmpty() && exit.isEmpty() && i < n) { if(t < arrival[i]){ 이 부분에서 if(t < arrival[i]) 는 필요 없는 것 같아서요 혹시 이게 없다면 어떤 테스트 케이스에서 막히는지 알 수 있을까요? 코드 자체가 바로 아래에서 이미 시간을 건너뛰는 메커니즘 t = arrival[i] 을 갖추고 있어서 굳이 필요 없다고 느껴서요 알려주시면 감사하겠습니다 강의 잘 듣고 있습니다

  • java
  • 코딩-테스트
youngyou1324 댓글 1 좋아요 0 조회수 115

로그인과 인증 관련 질문드립니다!

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요. 강의를 마치고 혼자 구현을 해보고 있는데, 로그인과 인증 관련해서 궁금한 부분이 있습니다. 프론트에 로그인한 유저인지의 판단을 미들웨어에서 auth함수로 next 서버를 통해 하고있는데,로그인 후에 접속 가능한 페이지를 이동할때마다 무조건 서버에 체크를 해주어야 하나요? 데이터 페칭은 리액트 쿼리를 설명하며 말씀해주신것 처럼 컨텐츠에 따라 판단해서 캐싱하고 새로 받아오고의 개념이 이해가 되었는데, 세션체크라고 해야 할까요? 로그인 후에 이 유저가 로그인이 되어있는지에 대한 체크를 서버에 얼마나 자주 해주어야 하는지 모르겠습니다. 현재는 미들웨어에서 로그인이 필요한 페이지에 auth함수를 호출하여 프론트 서버에서 체크를 하고, api를 호출할때는 쿠키에 next-auth의 세션 토큰과 서버에서 발급한 세션 아이디를 담아서 서버에서 로그인과 인증 확인을 하고있는것으로 이해를 했습니다. 현재는 혼자서 nestjs를 통해 jwt 토큰 2개 (access,refresh)을 발급해서 구현을 해보고있는데, 로그인이 필요한 페이지로 이동한다면 무조건 미들웨어에서 토큰 확인을 서버를 통해 해주어야 하는건가 잘 모르겠어서 질문 드립니다.. 강의 정말 잘 듣고 도움이 많이 됐습니다. 감사합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
JunWoo Kim 댓글 1 좋아요 0 조회수 96

localhost/hello 404에러

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

View 환경설정 부분에서 localhost:8080/hello 부분이 접속이 안됩니다. 작성코드 결과화면

  • java
  • spring
  • mvc
  • spring-boot
댓글 4 좋아요 0 조회수 330

soft Delete 시 index 설정

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 먼저 강의 들으면서 정말 많은 것을 배우고 있습니다. 감사합니다. 아직 index나 쿼리에 대해 이해도가 많이 부족하다 보니 궁금한 점이 있는데요. 실제 게시글이나 댓글 삭제 시 물리적 삭제가 아닌 논리적 삭제(soft delete)를 구현하게 되는 경우가 많았는데요. 이때 isDeleted같은 필드를 두고 true, false 의 boolean 값으로 관리했습니다. 이후 데이터를 조회할 때는 isDeleted가 false인 것들만 조회하는 방식이었는데, 이때도 isDeleted를 복합 index의 키값으로 넣어서 관리를 하는 경우가 많을까요? 성능 향상에 많은 도움이 될 지가 궁금하네요.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
박상훈 댓글 2 좋아요 0 조회수 345

인기 태그

인프런 TOP Writers

주간 인기글