inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

'병렬스트림 사용시 주의점1' 중 I/O 바운드 작업은 '소요시간이 긴 작업'으로 이해해도 될까요?

해결됨

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? - 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? - 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? - 예 [질문 내용] 안녕하세요, 강의 즐겁게 듣고 있습니다. 강의: 섹션 13. 병렬 스트림 - 병렬스트림 사용시 주의점1 질문: 강의 내용 중 'Fork/Join 프레임워크를 I/O 바운드 작업에는 사용하지 않는다'는 내용에서 I/O 바운드 작업을 '소요시간이 긴 작업'으로 이해해도 될까요? 세부 I/O 바운드 작업을 공용 풀에서 처리할 경우 발생하는 문제들이 I/O 작업 자체보다는 긴 시간이 소요되는 작업으로 풀의 한정된 수의 스레드를 점유하는 것이 원인이라 이해했는데 강의내용이 I/O 바운드 작업에 초점을 맞추어 제 이해에 오해가 있는가 싶습니다. 병렬 스트림 등의 기능을 통해 공용 풀에서 I/O 바운드 작업이 처리되면 스레드 블로킹에 의한 CPU 낭비, 스레드 수를 증가시킨다면 컨텍스트 스위칭 오버헤드 증가, 작업 훔치기 기법 무력화 등의 부작용이 있는데 이는 긴 시간이 소요되는 작업으로 풀의 한정된 수의 스레드가 오래 점유되면서 발생하는 문제로 이해했습니다. CPU 바운드 작업이라도 소요시간이 길다면 CPU 낭비를 제외하고 위와 같은 문제가 발생되리라 생각합니다. (I/O 바운드 작업이 긴 시간 CPU를 사용하지 않으면서 스레드를 점유한다면 무거운 CPU 바운드 작업은 긴 시간 CPU를 사용하면서 스레드를 점유, 이로 인해 공용풀의 스레드를 늘린다면 컨텍스트 스위칭 오버헤드 증가, CPU 바운드 작업이더라도 작업이 빨리 끝나지 않아 훔치기 기법 무력화 등) 일반적으로 I/O 바운드 작업은 CPU 바운드 작업보다 긴 시간이 소요되는 것이 경험적/현실적 가정으로 알고 있습니다. 이런 일반적인 현상을 전제로 I/O 바운드 작업을 '소요시간이 긴 작업'을 대표하는 의미로 사용하신 것인지, 아니면 제가 놓친 다른 의미, I/O 바운드 작업만이 가지는 특징을 염두에 두신 것인지 궁금합니다. 좋은 5월 보내시길 바랍니다. 감사합니다.

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
송진우 댓글 2 좋아요 0 조회수 96

오버라이딩 단축키

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 맥북 이용중인데 알려주신 오버라이딩 단축키 입력하면 라인 변경이 되더라고요. 왜 안되는지 모르겠는데 어떻게 해결하나요?

  • java
  • 객체지향
minongy (minongy) 댓글 1 좋아요 0 조회수 106

"java"hashCode 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] "java" 해시코드가 강의에는 3254849 로 나와있는데 제가 출력했을때는 3254818 이 나옵니다. 나머지 값들도 다 다른데 같은 Object에서 해시코드메서드를 출력해서 값을 구한건데 다르게 나올수 없지 않나요?

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

연관관계 편의 메서드 위치

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요~! 궁금한 부분이 있습니다 양방향일 경우에는 연관관계 편의메서드를 작성하는게 좋다고 말씀주셨는데 그렇다면 연관관계 메서드를 주인엔티티 선언하는 이유가 있을까요? 아니면 상황에 따라 바뀌는걸까요? 기준이 있는지 궁금합니다~!

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

ImprovedOrder의 구조에 대한 질문입니다.

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

우선 orderResponse에서는 totalItems만 사용해서 수량만 요구하는 DTO OrderDetailResponse에서는 List<OrderItemResponse> items; 물품 정보를 요구하는 DTO 용으로 나뉘어 있고 Improved 역시 마찬가지였습니다. 그런데 toOrderDetailResponse에서 orderItems가 매핑이 안되어 있고, toOrderResponse와 코드가 동일한 상태였습니다. 제 생각에는 totalItems에 집중하신 나머지 빠뜨리신 거라고 생각되어 글을 남기게 되었고, 현재 ImprovedOrder에 orderItem이 매핑되어 있지 않은 상태 즉 반정규화 상태에서 어떻게 OrderItem을 매핑하는게 좋을지 생각해봤습니다. 1. orderNumber로 findByOrderNumber 단순히 ImprovedOrder에 저장된 orderNumber로 따로 orderItem들을 찾고 매핑해주는 것입니다. 현재 반정규화 의도가 totalCount만을 요구하는 도메인이 중요하기 때문에 ImprovedOrderDetailResponse를 반환할 때만 따로 매핑하는 것이죠. 다만 이는 ImprovedOrder와 OrderItem이 분명한 관계가 있음에도 매핑이 되어 있지 않는 것이라 좋은 방법인지는 의문입니다. 2. ImprovedOrder에 orderItem 필드 추가 totalItems와 orderItems를 모두 가지게 하고 totalItems만 필요한 상황이라면 굳이 orderItems를 get하지 않으면 Lazy 상태이기 때문에 fetch가 발생하지 않아 유연하게 사용할 수 있지 않을까 생각했습니다. 포트폴리오를 위해 분석하던 과정에서 의문이 생겨 질문드렸습니다. 만약 제가 잘못 생각하고 있다면 말씀해주세요.

  • java
  • spring
  • mysql
  • redis
  • 이력서
gogoDevelop 댓글 2 좋아요 0 조회수 87

AWS에서 SSL 붙이기

해결됨

[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법

선생님!! 혹시 강의에 SSL 붙이는것도 추가 강으로 만들어주실 수 있나요?

  • HTML/CSS
  • java
  • mysql
  • php
마루마루 댓글 2 좋아요 0 조회수 100

그누보드 세팅 오류

해결됨

[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법

선생님~! 9강 강의 듣다가 잘 안되어서 질문드립니다. localhost 로 접속을 하니 http://localhost/dashboard/ 해당 url로 리다이렉트 되면서 들어가집니다. 근데 강의에서는 localhost로 접속하면 http://localhost/eyoom/install/setup.php 해당 주소로 리다이렉트 되던데 저는 저 경로로 리다이렉트가 안되더라구요. 그래서 직접 저 url로 주소를 입력하니 다음과 같이 Not Found 에러가 뜨더군요. 무엇이 잘못되었을까요?

  • HTML/CSS
  • java
  • mysql
  • php
마루마루 댓글 3 좋아요 0 조회수 169

클라우드스터딩 사이트 자체가 아예 안들어가지는데

미해결

그림으로 배우는 자바, 파트1: 입문!

혹시 저만 그런가요? 클라우드스터딩 사이트 자체가 아예 안들어가집니다. 크롬에서 '클라우드스터딩' 검색해서 들어갔는데 무한 뺑글 돌고 똑같네요. 쿠키나 캐시 삭제도 해봤는데... 안들어가집니다.. 영상만 봐야하고 실습은 못해서 제대로 배울 수 있을지 걱정이네요 ㅜㅜ

  • java
박종욱 댓글 2 좋아요 0 조회수 169

XAMPP에서 Mysql shell에서 로그인 오류

해결됨

[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법

선생님~!. XAMPP에서 shell로 들어가 mysql 로그인 하려고 하면 자꾸 이렇게 떠요ㅠ

  • HTML/CSS
  • java
  • mysql
  • php
댓글 3 좋아요 1 조회수 136

음.. lectures/45 사이트가 안나옵니다.

미해결

그림으로 배우는 자바, 파트1: 입문!

그냥 뺑글 뺑글 돌기만하고 안나오네요;;

  • java
박종욱 댓글 1 좋아요 0 조회수 75

자동설정 만들기 1부의 Holoman 관련 문의 드립니다.

미해결

스프링 부트 개념과 활용

HolomanRunner 클래스를 만들때 제가 사용하는 인텔리J 커뮤니티 버전에서는 아래 import 를 하지 않으면 오류가 발생해서 import를 했는데요 강사님은 import 없이 사용하셨는데 저는 왜 import를 해야만 되는걸까요? import org.example.Holoman;

  • java
  • spring
  • spring-boot
강현구 댓글 1 좋아요 0 조회수 118

인텔리제이 로그 출력 관련

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 로그가 너무 안이쁘게 출력되는데 이거 어떻게 할 수 있을까요?.

  • java
  • 네트워크
  • 객체지향
kimoon Hong 댓글 3 좋아요 0 조회수 291

포트폴리오 질문이 있습니다.

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

포트폴리오에 해당 강의들의 내용을 담으면 정말 좋은 무기가 될 거 같다는 생각이 드는데, 백엔드 포트폴리오에서 웹 디자인 없이 이러한 비지니스 로직들에 대해 고민하고 해결하는 걸 프로젝트라고 해도 괜찮을까요? 우선 챕터 2~4 내용을 합쳐서 2,3 내용으로 인터넷 배송 도메인을 동일하게 만든 다음 4내용으로 물건 수량이 50개 남은 경우 100명의 사용자가 몰린 경우 어떻게 처리할 지 확장할 생각입니다. 기업 입장에서 실제 웹사이트가 없이 API만을 이용한 대규모 처리, 각종 문제들에 대한 고민과 해결을 인정해주는지, 그것을 프로젝트라고 칭하고 포트폴리오에 담아도 되는지 잘 모르겠습니다 ㅠ

  • java
  • spring
  • mysql
  • redis
  • 이력서
gogoDevelop 댓글 2 좋아요 0 조회수 263

후보정 로직에 대해 궁금한 것이 있습니다.

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

4-12강 스케쥴러를 활용해서 5분마다 누락된 예약번호를 보정하는 방식인데요. 만약 이럴 경우 예약 직후 예약정보를 조회하는 사용자 입장에서는 예약번호가 없어서 해당 정보창에 문제가 발생할 거 같은데, 이러면 후보정 방식은 위험한 게 아닐까 하는 의문이 들었습니다.이런 건 지금 따지지 말고 수업용으로 유연하게 넘어가는 게 맞는걸까요?

  • java
  • spring
  • mysql
  • redis
  • 이력서
gogoDevelop 댓글 2 좋아요 0 조회수 108

강의 10:25 질문

미해결

실전! 스프링 데이터 JPA

안녕하세요, 강의 10:25에서 다루신 내용에 대해 질문드립니다. 영속성 컨텍스트에 1차 캐싱된 멤버 객체들이 남아있는 상태에서 벌크 업데이트를 하면 DB를 바로 통하므로 영속성 컨텍스트와 디비의 상태가 달라 예상치 못한 에러를 겪을 수 있다는 내용입니다. 궁금한점은, Spring Data JPA에서 메소드로 정의한 벌크 연산이 결국은 @Query 어노테이션에 JPQL로 작성했으니, JPQL 실행 전 flush 처리가 되는게 아닌건가요? 그렇다면 말씀하신 에러가 없을 거 같은데...궁금합니다!

  • java
  • spring
  • spring-boot
  • jpa
티티티 댓글 1 좋아요 0 조회수 86

함수와 재귀함수 v2

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

28:48 초 swap 으로 함수 선언으로 하고 temp 에 a 주소의 값 203 대입 / a 주소에 b주소의 값 1004 대입 /다시 temp 를 b 주소 값을 대입 후 return 값을 다시 주지 않았는데 어떻게 두번 째 print 에서 바뀌어서 나올 수 가 있는거죠 ? return 값을 주지 않으면 void swap 내 블록에서 변경된 값은 그대로 종료되고 두번째 print는 첫번째 출력값 교환전: x=203, y=1004 랑 동일 하지 않나요?

  • python
  • java
  • c
  • 정보처리기사
김성태 댓글 2 좋아요 0 조회수 61

6. 장난꾸러기

미해결

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

선생님, 선생님이 짜주신 코드로 풀었는데, 오답이 나왔는데, 만약에 같은 키가 많은 친구들중에 하나가 철수고, 바꿔준 짝꿍도 동일한 키의 사람들이 있다면 누가 철수인지, 짝꿍인지 어떻게 구분하나요?? import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; class problem06 { // 06. 장난꾸러기 //선생님은 반 학생들에게 반 번호를 정해 주기 위해 운동장에 반 학생들을 키가 가장 작은 학생부터 일렬로 키순으로 세웠습니다. //제일 앞에 가장 작은 학생부터 반 번호를 1번부터 N번까지 부여합니다. 철수는 짝꿍보다 키가 큽니다. //그런데 철수가 앞 번호를 받고 싶어 짝꿍과 자리를 바꿨습니다. //9 //120 125 152 130 135 135 143 127 160 public ArrayList<Integer> solution(int n, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); int[] tmp = arr.clone(); // 깊은 복사해야 기존의 arr이 변하지 않음. Arrays.sort(tmp); // 오름차순 정렬 //다른애들만 그 순서를 ArrayList에 넣어준다. for(int i=0; i<n-1;i++){ if(arr[i] != tmp[i]) answer.add(i+1); } return answer; } public static void main(String[] args){ problem06 T = new problem06(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); // 캐시의 크기 int[] arr = new int[n]; for(int i=0; i<n;i++){ arr[i] = kb.nextInt(); } for(int x : T.solution(n, arr)){ System.out.print(x+" "); } } }

  • java
  • 코딩-테스트
정원 댓글 2 좋아요 0 조회수 85

yield() 호출

미해결

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

안녕하세요 좋은 강의 감사합니다. package thread.control.printer; import java.util.Queue; import java.util.Scanner; import java.util.concurrent.ConcurrentLinkedQueue; import static util.MyLogger.log; public class MyPrinterV4 { public static void main(String[] args) { Printer printer = new Printer(); Thread printerThread = new Thread(printer, "printer"); printerThread.start(); Scanner userInput = new Scanner(System.in); while (true) { log("프린트할 문서를 입력하세요. 종료 (q): "); String input = userInput.nextLine(); if (input.equals("q")) { printerThread.interrupt(); break; } printer.addJob(input); } } static class Printer implements Runnable { Queue<String> jobQueue = new ConcurrentLinkedQueue<>(); @Override public void run() { while (!Thread.interrupted()) { if (jobQueue.isEmpty()) { Thread.yield(); // 추가 continue; } try { String job = jobQueue.poll(); log("출력 시작 : " + job + ", 대기 문서: " + jobQueue); Thread.sleep(3000); log("출력 완료"); } catch (InterruptedException e) { log("인터럽트!"); break; } } log("프린트 종료"); } public void addJob(String input) { jobQueue.offer(input); } } } 위의 코드에서요 yield() 의 의미와 취지는 알겠으나, 수업에서 말씀주셨던 위의 코드에서는 결국 printerThread 쓰레드 1개잖아요? (다른 쓰레드는 main) 그래서 yield() 를 넣더라도 다른 쓰레드에 양보할 쓰레드가 없는 것 아닌가요? (코어 갯수랑 별개로요) 감사합니다.

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

OpenFeign/QueryDSL 관련 정보 공유

미해결

실전! Querydsl

Spring Data 조직에서도 OpenFeign/QueryDSL를 공식적으로 지원(Support)한다고 합니다. 현재 공식QueryDSL 최신 버전인 5.1.0에서 아래와 같은 문제가 있습니다. CVE-2024–49203 이슈(CVSS 3.1기준 9.8 높은 심각도) Kotlin KSP 지원관련 기타 문제(Issues) 등등 공식 QueryDSL에서는 유지보수가 전혀 안되고 있기 때문에 혹시나 궁금하신 분들을 위해 정보 공유 드립니다. 1번, 2번관련 내용은 OpenFeign/QueryDSL 에서 모두 패치완료된 내용입니다. KSP - 6.9버전 이상, CVE-2024–49203 6.10.1버전 이상 Spring 공식 홈페이지 OpenFeign/QueryDSL 관련 내용 https://docs.spring.io/spring-data/jpa/reference/repositories/core-extensions.html Spring Git OpenFeign/QueryDSL 관련 내용 https://github.com/spring-projects/spring-data-jpa/pull/3859 OpenFeign/QueryDSL https://github.com/OpenFeign/querydsl

  • java
  • jpa
  • openfeign
모코코 댓글 1 좋아요 2 조회수 822

이 질문이 왜 없는지 이해가 안 되지만 문제 인식 및 해결 방법 남깁니다.

미해결

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

getStats() 안에 쿼리 작성할 때, book에서 id와 name은 불러와지는데, type이 불러지지 않습니다. QBook 클래스에서 확인해보니 final type만 없더군요. 찾아보니 이유는 이러합니다. "Kotlin에서 type은 리플렉션/메타프로그래밍에서 자주 사용되는 예약 필드명이고, QueryDSL이 Q 클래스 생성 시 내부적으로 getType()을 쓰기 때문에 필드명 충돌이 발생했을 가능성이 높아 생성되지 않을 수 있습니다. 이러한 경우 ./gradlew clean kaptKotlin 명령어로 재빌드 한 후 Q 클래스를 다시 생성하거나 type 명칭을 bookType으로 수정하여 해결할 수 있습니다." 저는 ./gradlew clean kaptKotlin로 재빌드하니 해결됐습니다.

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩토링
lsj59285 댓글 2 좋아요 1 조회수 209

인기 태그

인프런 TOP Writers

주간 인기글