inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

블로그 정리 질문입니다.

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 쿠케님 안녕하세요. 학습하면서 정리하는 내용(키워드 등)을 블로그에 업로드해도 괜찮은지 궁금해서 질문드려요~!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
배배꼬 댓글 1 좋아요 0 조회수 165

클래스명, 인스턴스 질문 있습니다.

해결됨

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

안녕하세요. 자바 기본 (static 변수 3, 9분 30초~) 수업 내용과 관련하여 관련 질문이 있습니다. Data3 data4 = new Data3("D"); System.out.println("D count = " + data4.count); System.out.println(Data3.count); 정적 변수에 접근하는 두 가지 방법을 알려주셨는데, 용어 정리가 잘 안되어서요. 인스턴스를 통한 접근 data4.count 에서 data4를 "인스턴스명"이라고 불러도 되는 것인가요?

  • java
  • 객체지향
땅콩 댓글 1 좋아요 0 조회수 170

signal을 받은 스레드의 대기큐에서 우선순위

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요 영한님. 스레드의 대기 강의에서 질문이 있습니다. BoundedQueueV5를 사용하여 [소비자 먼저 실행] 때 질문입니다. 제가 이해한 것을 쭉 요약해볼테니 어디에서 틀렸는지, 왜 아닌지 답변을 부탁드립니다. ReentrantLock을 사용하게 되면 대기 큐와 producerCond, consumerCond가 있습니다. 소비자1,2,3은 현재 consumerCond에 있는 상황이고 이제 [생산자 시작]으로 넘어가게 됩니다. 생산자1이 락을 획득하였다고 가정하겠습니다. 그럼 생산자1이 락을 획득하여 생산을 시작하겠고, 생산자2와 3은 대기 큐에 등록되어 WAITING 상태로 락을 기다리고 있다고 생각했습니다. 생산자1이 생산을 하고 consumerCond.signal();을 호출하여 consumerCond에 있는 소비자1,2,3 중 하나를 깨웁니다. (소비자 1을 깨웠다고 가정) 소비자1은 consumerCond에서 대기 큐로 이동하여 락을 받을 준비를 합니다. 생산자1이 종료되면서 락을 넘겨줍니다. 이때 락을 받기 위해 대기중인 스레드가 소비자1, 생산자2, 생산자3이 있는데 왜 항상 소비자1이 우선적으로 락을 획득할까요? signal()을 통해 깨어난 스레드는 락을 우선적으로 획득할 수 있는 무언가가 주어지는건가요?? 답변을 기다리겠습니다. 감사합니다

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
윤성원 댓글 2 좋아요 0 조회수 118

생산자 소비자 대기 공간 분리 예제5 분석 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예. 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예. [질문 내용] 안녕하세요 영한님. 자바 고급편1 생산자 소비자 대기 공간 분리 - 예제5 분석 강의를 듣고 질문이 있어서 질문 올립니다. 소비자 먼저 시작 상황에서 질문이 있습니다. 소비자 1,2,3이 대기상태에 들어가면서 consumerCond.await() 에서 대기를 하고 있습니다. 그 다음으로 생산자1이 락을 받고 실행이 되지요? 생산자가 생산을 하고 consumerCond에 signal을 주게 됩니다. consumerCond.await()에서 대기하고 있던 소비자를 깨우게 되겠죠. 그럼 대기하고 있던 소비자 중 하나가(소비자1)이 와서 락을 받고 소비를 한 뒤에 producerCond에 signal을 보냅니다. 여기서 제가 궁금한게 나옵니다. 대기상태에 있던 소비자1이 깨어나서 소비를 하고 producerCond에 signal을 줄때 producerCond에 대기중인 생산자가 하나도 없지 않습니까? 그럼 이때 생산자가 락을 받는다는 100%의 보장이 어떻게 이루어지는지 그게 궁금합니다. 질문을 요약해서 적겠습니다. 대기상태에서 깨어난 소비자가 producerCond에 signal을 보낼때 producerCond에 대기하고 있던 생산자가 하나도 없는데 어떻게 생산자가 그 락을 받는다는 100%의 보장을 할 수 있는지? 대기상태에서 깨어난 소비자가 producerCond에 signal을 보낼때 producerCond에 대기하고 있던 생산자가 하나도 없는데 이럴때 소비자가 보낸 producerCond.signal(); 은 어떻게 처리가 되는지? 감사합니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
윤성원 댓글 4 좋아요 0 조회수 222

제가 작성한 코드에서 간단한 질문이 있습니다.

해결됨

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

public List<String> solution(int n, String[] str) { List<String> answer = new ArrayList<>(); for (String s : str) { char[] c = s.toCharArray(); int lt = 0; int rt = c.length - 1; while(lt < rt) { char temp = c[lt]; c[lt] = c[rt]; c[rt] = temp; lt += 1; rt -= 1; } answer.add(new String(c)); } return answer; } 제가 작성한 코드입니다. 1) 강사님은 String temp = String.valueOf(c); answer.add(temp); 이런 식으로 String.valueOf()를 통해 char 배열을 String으로 변환하셨지만, 저는 그냥 answer.add(new String(c)); 그냥 이렇게 String 생성자를 사용했습니다. 정답 처리는 됐는데, 혹시 이런 식의 코드가 지금 문제 혹은 나중에 문제를 풀 때 안 좋은 점이 있을까요? 2) 저는 습관적으로 List<String> list = new ArrayList<>(); 이런 식으로 부모 타입으로 주로 선언하는데, 혹시 ArrayList<String> list = new ArrayList<>(); 이런 식으로 구체적인 타입으로 선언해야만 문제를 푸는 경우도 나중에 나올까요? 코딩 테스트에선 부모 타입보단 구체적인 타입으로 쓰는 습관을 가져야 하는지 궁금합니다. 강의 잘 듣고 있습니다.

  • java
  • 코딩-테스트
11 1 댓글 2 좋아요 0 조회수 89

스프링 데이터 JPA save()할때 OneToMany 엔티티의 필드가 null값이 저장되요

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 특정 리포지토리에서 save()할때만 연관관계에 있는 엔티티의 필드가 null로 저장됩니다. 대체 어디가 문제일까요? cascade도 persist로 맞췄고 save 바로 직전에 로그를 띄웠을때도 정상적으로 값이 들어가있었는데 save()할때만 값이 null값으로 insert되네요

  • java
  • spring
  • spring-boot
  • jpa
kcjsend5 댓글 2 좋아요 0 조회수 254

(재질문)토이프로젝트에서 spring data jpa 기반으로 페이징 처리 중 궁금한 점 있습니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 저번에도 같은 질문을 올렸다가 질문이 두서가 없다보니 여쭤보려고 한 것을 잘못 물어본거같아서 다시 질문드립니다. Spring Data JPA를 바탕으로 토이프로젝트를 개발하고있고 Pageable 인터페이스를 활용하고 있습니다. 프로젝트에서 Item(품목)의 하위 개념으로 Product(제품)을 가지고 있습니다.(1:N - 품목 하나에 대해 여러개의 제품을 등록 할 수 있음) 예를 들어 핸드폰이라는 Item(품목) 정보를 등록하고, 그 품목에 대한 Product(제품) ( 이를테면 아이폰10, 갤럭시S25, 샤오미)의 정보들을 등록합니다. 이때 특정 품목(itemId)을 클릭하면 해당 품목에 대한 정보와 내가 등록한 product 리스트가 띄어지도록 하는 api 기능을 구현하려 했습니다. 처음에는 요청이 item컨트롤러로 디스패치하고, product와 itemId를 기준으로 패치조인하여 데이터를 받아오는 식으로 구현을 했는데.. product리스트를 불러오는 과정에서 페이징을 하고자 기존의 로직을 수정하니, 메인i 테이블인 item을 기준으로 페이징이 되는 문제가 발생했습니다. // page처리 시 문제가 발생하는 respository method @Query(value = "SELECT DISTINCT i FROM Item i LEFT JOIN FETCH i.productList WHERE i.id = :itemId", countQuery = "SELECT COUNT(p) FROM Product p WHERE p.item.id = :itemId") Page<Item> findWithProductsByItemId(@Param("itemId") long itemId, Pageable pageable); 그래서 제가 생각한 두가지 안이 있는데 이중에 어떤 것으로 개발해야할지 판단이 잘 서지않아 질문드립니다. 1) 응용계층에서 item에 대한 정보를 불러오는 item서비스 호출 + 위 item에 해당되는 product 리스트 정보들을 paging 하여 불러오는 페이징하여 불러오는 product서비스 호출 2) product를 메인으로 item과 n:1 패치조인하는 메소드를 productRepository에서 생성. 1번 방법이 맞는 것 같지만,, paging으로 데이터를 불러올 때마다 item쿼리를 한번씩 날려야하는게 비효율적인거 같기도하고,, 2번으로 하자니... 구현하고자 하는 기능은 item을 메인으로 product 목록을 불러오는 것인데,, 실제 동작은 Product가 메인으로(Product컨트롤러로 디스패치) 처리가 되다보니 이렇게 해도 될까 하는 의문이 들었습니다. 이런 상황에서는 어떤 식으로 구현을 하는게 좋을지요. 고견을 여쭙니다 ㅠㅠ

  • java
  • spring
  • spring-boot
  • jpa
인생은회전목마 댓글 3 좋아요 0 조회수 300

java11 ClipboardAssistance 를 찾지 못합니다.

미해결

자바(javafx) 실전 데스크탑앱 프로젝트 - 유튜브관리앱

다른 질문에서 eclipse 설정은 있는데 혹시 intellij 에서 설정하는 법을 알 수 있을까요?

  • java
  • 웹앱
  • JavaFX
... 댓글 2 좋아요 0 조회수 130

src가 안떠요

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서는 src가 뜨는데 제 화면에는 src가 안떠요

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

에러가 나옵니다

미해결

맛집 지도앱 만들기 (React Native & NestJS)

말씀하신대로 ruby의 버전을 2.7.6 버전을 맞췄음에도 불구하고 위와 같이 에러가 나와서 에러 해결시에 필요하다고 안내받은 sudo gem install cocoapods를 설치했는데 설치시에도 버전이 안맞다고 에러가 나와서 그에 맞는 버전으로 설치했지만 결국 위 와같은 에러가 나옵니다 많은 시간을 투자했지만 되고 있지않습니다. ㅠㅠㅠ

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
강동우 댓글 2 좋아요 0 조회수 226

SocketException: Connection reset 에러가 뜨지 않습니다

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] java.net.SocketException: Connection reset 네트워크 예외4- 강제종료 강의 중 위 에러가 뜨질 않습니다. 혹시나 서버에서 close() 호출 후 FIN packet을 보내는 것이 오래걸리나 싶어 Thread.sleep()도 3초에서 5초 가량으로 늘려보기도 했는데, "read = -1" 이라고 콘솔에 뜹니다. 반면, "java.net.SocketException: Broken pipe" 에러는 잘 뜹니다. 무슨 문제인지 잘 모르겠습니다.

  • java
  • 네트워크
  • 객체지향
  • socketexception
  • exception
고원준 댓글 3 좋아요 0 조회수 885

try-with-resources질문

미해결

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

마지막 강의의 2: 10에서 close()메서드에서 예외가 안터진다 한들, 굳이 throws Exception을 "꼭" 제거해야하는 이유가 있나요? 어차피 안 없애도 문제는 없지 않나요? 메서드 옆에 throws Exception이거 적어주는 것은 단지 Exception예외가 일어났을때, 이 메서드에서 처리하지 않고 , 호출한 곳으로 예외를 던진다는 뜻인데.. 왜 꼭 제거하라고 한 건지 이해가 안갑니다.

  • java
  • 객체지향
진우 댓글 1 좋아요 0 조회수 128

npx react-native@0.72.6 init MatzipApp --version 0.72.6 오류

미해결

맛집 지도앱 만들기 (React Native & NestJS)

npx react-native@0.72.6 init MatzipApp --version 0.72.6 ruby 2.7.6 -> ruby 3.1.0 시작이 안되고 있어요. 도와주세요.

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
Seungil Jang 댓글 1 좋아요 0 조회수 341

nestjs 기본 구조 설명에서 궁금한게 있습니다.

미해결

따라하며 배우는 NestJS

기본 구조 설명을 듣던 중에 eslintrc.js라는 폴더가 있다고 하시는데 nest가 11.0.2인 버전에서는 없는 것 같아서요. 분명 이 기능을 하는 파일은 있을 텐데.. 혹시 eslint.config.mjs가 아닐까 궁금합니다.

  • postgresql
  • jwt
  • nestjs
  • typeorm
안민선 댓글 0 좋아요 0 조회수 187

NotEnoughStockException 커스텀 Exception을 만든 이유가 궁금합니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의에서 NotEnoughStockException 을 새로 만드셨는데, IllegalArgumentException을 사용하는 것은 어색한가요? 처음엔 도메인에서 exception 처리 때문에 별도로 생성한 것이겠지하고, 넘어갔는데 주문 취소의 배송완료된 상태에서는 IllegalStateException 을 사용하셔서, 어떻게 구분하여 사용하는 것이 좋을지 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
CommitAndRun 댓글 1 좋아요 0 조회수 121

값 타입 컬렉션에서 변경 감지는 어떻게 일어나나요?

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

em.flush(); em.clear(); System.out.println("============= START ============="); Member findMember = em.find(Member.class, member.getId()); // 1 // findMember.getHomeAddress().setCity("newCity"); // 2 Address oldAddress = findMember.getHomeAddress(); findMember.setHomeAddress(new Address("newCity", oldAddress.getStreet(), oldAddress.getZipcode())); // 3 findMember.getFavoriteFoods().remove("치킨"); findMember.getFavoriteFoods().add("한식"); 강의 코드와 동일하게, Member 엔티티는 임베디드 타입인 homeAddress와 값 타입 컬렉션인 favoriteFoods를 포함하며, 상술한 코드도 값 타입 컬렉션 강의에서 23:30 까지 설명해주신 것과 동일합니다. 1번 주석에서, 임베디드 타입인 homeAddress의 city 필드를 수정하기 위해 city의 setter를 이용하면, Member에서 참조하는 homeAddress의 참조값은 바뀌지 않기 때문에 변경 감지가 일어나지 않는다고 이해했습니다. 따라서 2번 주석에서 볼 수 있듯이, 새로운 객체를 만들어 참조값을 바꿔주어야 변경 감지가 일어나 올바른 update가 될 수 있다고 이해했습니다. 그러나 3번 주석에서의 값 타입 컬렉션 수정을 보면, 결국 Member 엔티티가 가리키는 참조값은 원본 favoriteFoods의 참조값과 다르지 않은데 DB에서는 update가 일어난 것을 확인했습니다. 어떠한 이유로 이런 결과가 나오게 되는지 궁금합니다. 추가) 1번 주석의 코드를 실행할 경우, "newCity"로 변경이 되는 것을 확인했습니다. 참조값이 바뀌지 않는 데도 변경 감지가 일어나는 건가요? 아니면 제가 이해를 잘못하고 있는 부분이 있는 건가요..?

  • java
  • jpa
ash 댓글 1 좋아요 0 조회수 130

자바 병렬 처리

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요 영한님 ^^ 1기 인프콘때 뵈고, 오랜만에 강의를 보게되어서 반갑습니다 ㅎㅎ 다름이 아니라, 주문 체결 시스템을 개발하여서 병렬 처리 관련해서 공부 및 개발중인데 혹시 아래 링크책을 예전에 공부하신적 있으신가요? https://product.kyobobook.co.kr/detail/S000007668255 아니면 다른 책 추천해주실만한게 있으실까요 ? ㅎㅎ 아니면 이 강의 다보면 제가원하는 주문 체결 시스템을 만들기위한 기본 베이스는 이해가 될 수 있을까요? 설날 잘보내시고 새해 복 많이받으세요 !

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
석재현 댓글 2 좋아요 0 조회수 263

회원가입 테스트 오류메세지

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 회원가입 테스트 진행하는데 테스트 자체는 강의와 똑같이 잘 진행됩니다. 오류메세지가 계속 뜨는데 해결을 어떻게 해야되는지는 모르겠네요. --------------오류메세지------------ Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3 WARNING: A Java agent has been loaded dynamically (C:\Users\hyozz\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar) WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended --------------오류메세지------------

  • java
  • spring
  • mvc
  • spring-boot
ᄒᄉ 댓글 1 좋아요 0 조회수 234

인기 태그

인프런 TOP Writers

주간 인기글