inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

interrupt() 호출 후 출력 결과 질문있습니다. 확인 부탁드립니다!!!!

미해결

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

처음 예제 작성했을 때 출력 결과가 이렇게 나왔었는데, (강의 5분 10초, 10분 50초 참고) work] 작업 중 work] 작업 중 main] 작업 중단 지시 thread.interrupt() work] work 스레드 인터럽트 상태2 = false main] work 스레드 인터럽트 상태1 = true work] interrupt message=sleep interrupted work] state=RUNNABLE work] 자원 정리 work] 작업 종료 이 상황에서는 main스레드에서 interrupt() 후 바로 work 스레드가 예외 처리해서 work 스레드의 인터럽트 플래그가 false 로 됐다는 걸 확인할 수 있습니다. 하지만 그 이후 main스레드에서 work 스레드의 인터럽트 플래그가 true가 출력되었는데 어떻게 false가 아닌 true가 출력될 수 있는지 궁금합니다.

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

다운로드 소스코드 삭제 방법

미해결

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

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

  • java
  • 객체지향
김민정 댓글 1 좋아요 0 조회수 169

강의 중 헷갈리는 개념

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 9:12초 정도에 블록 내부에서 외부는 접근 가능하다고 했는데 블록 외부에서 생성된 변수가 블록 내부에 접근 가능한 게 아닌가요?

  • java
  • 객체지향
창진 이 댓글 2 좋아요 0 조회수 143

예외클래스 파일 선언 질문..

해결됨

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

NetworkClientException 클래스의 하위 클래스인 Send,Connect 예외클래스들을 별도 파일로 각각 만들지 않고, NetworkClientException 클래스 내부에 정적 중첩 클래스로 선언하는건 안좋나요? 상황에따라 다양한 종류의 예외들을 만들텐데, 그런것들 마다 별로의 파일로 만드는게 저는 디렉토리가 복잡해 보이기도 하고, 논리적으로 어떤게 부모클래스이고 어떤게 자식클래스인지 한눈에 들어오지 않을거같다는 생각이 문득 들어 질문드립니다!

  • java
  • 객체지향
정신차려 댓글 1 좋아요 0 조회수 113

에노테이션 정리에서 - 에노테이션 서블릿 질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 질문을 드립니다. 정리에서 에노테이션으로 서블릿을 만들라고 해서 만들었습니다. 근데 복사 붙여 넣기 한 코드들이라서 이렇게 해도 되는지 알고 싶어서 올립니다. 이용한 코드는 영한님의 심플맵핑, 리플렉션 서블릿을 복사 붙여놓기 한다음 수정해서 하였습니다. 이렇게 해도 되나요? 답변 부탁 드립니다.

  • java
  • 네트워크
  • 객체지향
생각하는자 댓글 1 좋아요 0 조회수 130

2024년 1회 기출문제 중 자바 코드 실행순서문제 (23:51) 질문입니다.

해결됨

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

해당 내용 중 Parent parent = new Child(3); // 6 이 실행되면 이후 3 -> 1 순서로 진행된다고 설명해주셨는데, 만일 아래코드와 같이 super를 명시적으로 호출하지 않고, 파라미터도 동일하다면 순서가 1 -> 3의 순서로 진행되는 것일까요?? class Parent { int x; Parent(int x) { // 1 this.x = x; } ... } class Child extends Parent { int x; Child(int x) { // 3 this.x = x; } ... } ... 만일 위 내용이 맞다면, 아래와 같이, 같은 파라미터의 생성자이면서 super를 명시적으로 작성했을 경우에는 순서가 어떻게 되는지도 궁금합니다. (child의 생성자 내부 코드라인에 super가 존재해서 child의 생성자 호출이 우선인 것인지, 혹은 super가 명시적으로 없어도 child의 생성자 호출이 우선인것인지가 헷깔립니다ㅜ) class Parent { int x; Parent(int x) { // 1 this.x = x; } ... } class Child extends Parent { int x; Child(int x) { // 3 super(x + 1); this.x = x; } ... } ...

  • python
  • java
  • c
  • 정보처리기사
Sungyeop Choo 댓글 2 좋아요 0 조회수 172

혹시 강의 기간은 무제한으로 해주실수 있나요?

미해결

어쩌다보니 스프링부트

가끔 기본이 기억안날때 보러오고 싶은 강의인데 기간이 제한되어있어서 아쉬운거 같아요. 기간을 무제한으로 그게 무리라면 기간을 좀 길게 만들어 주실수 있을까여?

  • java
  • spring
  • spring-boot
  • 객체지향
  • servlet
서준호 댓글 1 좋아요 0 조회수 146

파이썬 예외처리

해결됨

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

예외처리 문서에 예외 처리 블록의 역할 부분에서 출력값이 5.0인데 왜 5가아니고 5.0인가요?

  • python
  • java
  • c
  • 정보처리기사
살려주세요 댓글 2 좋아요 0 조회수 105

node 설치 방법이 전혀다르게 바뀐것 같습니다.

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://inf.run/Qs2vt 0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다. 1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다. 2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다. 3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요. 4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요. 5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다. 6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 이번에 컴퓨터를 밀고 처음부터 설치를 하려고 보니 노드 설치 방법이 책과는 너무 달라져서요 혹시 이미 반영이되지 않았다면 어떤식으로 해야하는지좀 알려주실수 있을까요?

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
pro 댓글 2 좋아요 0 조회수 169

24년 1회 코드해석 문제 - 20:25

해결됨

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

"It is 8"; 여기서 8도 결국 문자인데 아스키코드로 변환하면 몇 번인지 알아야 하지 않나요 ??? 계산식에서 isdigit 매서드로 숫자로 변경이 되어도 (p[i] - '0' + 3)%10 + '0' 이렇게 문자가 섞여서 계산을 해야 답을 구할 수 있지 않나요 ?

  • python
  • java
  • c
  • 정보처리기사
sr1094 댓글 2 좋아요 0 조회수 137

기출 23년 2회 첫번째 문제 (5:55) 질문있습니다.

해결됨

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

해당 문제의 해설을 보기 전에 i==4 ? n[0] : n[i+1] 과 같은 형태로 답을 작성했는데, 실제 시험에서 이렇게 작성한 경우 답으로 인정될까요?? 혹시 알려주신 답처럼 n[(i+1)%5] 과 같은, 시험에서 답으로 인정되는 형태가 있는지 아니면 출력값만 맞으면 답으로 인정되는지 궁금합니다!

  • python
  • java
  • c
  • 정보처리기사
Sungyeop Choo 댓글 2 좋아요 0 조회수 96

15분대 평균을 구해보는 함수 예시에 대한 질문

해결됨

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

sum += arr[i] 가 누적이 아니기 때문에 1부터 5까지 더하는 것의 평균을 구하게 된다는 것은 이해했습니다! 다들 헷갈리게 되는 부분이 누적이 되는가 안 되는가 때문인 거 같은데, 그럼 만약 누적으로 만들려면 어떻게 함수를 적어야 하는지 궁금합니다!

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

8:38 업캐스팅 질문

해결됨

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

헷갈려서 여쭈어보려고 합니다 ㅠㅠ 즉, 업캐스팅 형식에서 자식에 기본생성자가 없으면 부모의 기본생성자를 먼저 호출하는 것이고 5:28 문제처럼 자식의 기본생성자가 있을 경우에는 부모의 기본생성자를 호출하지 않는건가요?

  • python
  • java
  • c
  • 정보처리기사
hgn1719 댓글 2 좋아요 0 조회수 83

스프링 sql오류

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

insert부분이랑 select부분에 저렇게 네모로 표시가 되고 오류가 떠서 웹에 사용자를 등록하면 서버 오류라고 뜨네용 ㅠㅠ

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
성장하자 댓글 4 좋아요 1 조회수 176

기출문제 vs 이론공부 질문드립니다!

해결됨

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

선생님 강의 잘 보고있습니다. 감사합니다. 기출문제 강의는 2022년 3회~2024 3회 까지 있던데 , 2022년 3회 이전에는 기출 유형이 바뀌었다던가하는.. 특별한 이유가 있을까요? 기출문제를 다 풀고난뒤 이론공부를 할까 2022년 3회 이전의 기출문제 더 풀어볼까 고민입니다..

  • python
  • java
  • c
  • 정보처리기사
lunis94 댓글 2 좋아요 0 조회수 184

H2 사용 시 ddl-auto update 설정하고 age 컬럼 alter 쿼리 발생 안 할 때

미해결

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

평소 같으면 그냥 업무할 때의 개발 환경과 동일하게 설정해서 할텐데... 무슨 바람인지.. 이번엔 그냥 영한쌤 강의 보면서 그대로 따라해야지 하고 별생각 없이 강의를 듣던 중... ddl-auto create, create-drop까지 무난했음.. ddl update로 하고 id , name 컬럼 생성 create문 정상 여기까지도 무난...ㅎ 그러나 대망의 age 컬럼 추가하려고 하니 ?? alter문 왜 안 날라감? 했습니다... 이것 저것하다가 해결되서 공유합니다..ㅎ 영한 쌤이 실제 사용중인 H2 버전이랑 의존성 추가할 때 버전 맞추라고 하셨는데 Hibernate 버전은 말씀이 없으셨습니다.. 그래서 H2 버전이 2.3.232 사용중이기 때문에 pom.xml 설정 중 hibernate 버전 6.4.4.Final 로 변경하고 모든 import jakarta로 변경하니 잘되네요 (JDK21 사용) ``` <!-- pom.xml --> <!-- hibernate --> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version> 6.4.4.Final </version> </dependency> <!-- Jakarta Persistence API --> <dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.1.0</version> </dependency> ``` 이후 모든 import문 jakarta로 변경 Maven Refresh

  • java
  • jpa
fado 댓글 1 좋아요 0 조회수 179

챕터9 문제와 풀이2 이렇게 메서드 사용해서 이렇게 풀어도 괜찮은건가요..?

미해결

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

package method.ex; import java.util.Scanner; public class MethodEx4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int balance = 0; while (true) { printMenu(); int option = getMenuOption(scanner); balance = processOption(option, balance, scanner); if (option == 4) { break; } } } public static int getMenuOption(Scanner scanner) { System.out.print("선택: "); return scanner.nextInt(); } public static int processOption(int option, int balance, Scanner scanner) { if (option == 1) { return deposit(balance, scanner); } else if (option == 2) { return withdraw(balance, scanner); } else if (option == 3) { showBalance(balance); } else if (option == 4) { printFinish(); } else { printError(); } return balance; } public static void printMenu() { System.out.println("---------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("---------------------------------"); } public static void printFinish() { System.out.println("시스템을 종료합니다."); } public static void printError() { System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요."); } public static int deposit(int balance, Scanner scanner) { System.out.print("입금액을 입력하세요: "); int deposit = scanner.nextInt(); balance += deposit; System.out.println(deposit + "원을 입금하였습니다. 현재 잔액: " + balance); return balance; } public static int withdraw(int balance, Scanner scanner) { System.out.print("출금액을 입력하세요: "); int withdraw = scanner.nextInt(); if (balance >= withdraw) { balance -= withdraw; System.out.println(withdraw + "원을 출금하였습니다. 현재 잔액: " + balance); } else { System.out.println(withdraw + "원을 출금하려 했으나 잔액이 부족합니다."); } return balance; } public static void showBalance(int balance) { System.out.println("현재 잔액: " + balance + "원"); } }

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

2:58 질문 있습니다.

해결됨

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

안녕하세요. 궁금한 게 있어서 질문 남깁니다. 구조체를 선언하는 방식에서 변수명을 함께 선언할 때는 구조체 명이 필요가 없는건가요? 강의 설명에는 struct 구조체명 { 내용 } 변수명; 이라고 나와있지만 예시에서는 sturct 만 작성했습니다. 구조체명을 써도 상관이 없는 선택사항인건지, 아니면 아예 필요가 없는건지가 궁금합니다. 만약에 사용해도 된다면, person1.age에 접근할 때 어떤식으로 접근해야 하는지가 궁금합니다. 답변 기다리겠습니다. 감사합니다.

  • python
  • java
  • c
  • 정보처리기사
문수민 댓글 2 좋아요 0 조회수 96

ExecutorService close() 메소드 동작 설명 오류

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] ExecutorService 우아한 종료 - 구현 01:07 close() 메소드 설명 부분에 " shutdown() 을 호출하고, 하루를 기다려도 작업이 완료되지 않으면 shutdownNow() 를 호출한다." 에 오류가 있어 보입니다. [내용 정정] " shutdown() 을 호출하고, 작업이 완료될 때까지 무한정 반복대기 한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다." 로 변경해야 하지 않나요? [근거] Eclipse Temurin-21.0.4+7 (JDK 21) 버전 코드 원문 public interface ExecutorService implements Executor, AutoClosable { // .. @Override default void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; // 작업 미완료시 재시도 while (!terminated) { try { // 하루간 작업 종료 대기, 작업 미완료시 `false` 반환 terminated = awaitTermination(1L, TimeUnit.DAYS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } 1일이 지났다고 해서 interrupt() 를 호출하지 않고 재시도 하는 것으로 보입니다. [증명 코드] MyExecutor 로 close() 메소드 대기 시간을 1일 -> 1초로 조정하여 오버라이드합니다. 10초간 대기하는 Task 를 실행시킵니다. class ShutdownTest { record CallableSleepTask( String name, long sleepMs ) implements Callable<Long> { @Override public Long call() throws Exception { sleep(this.sleepMs); return this.sleepMs; } } static class MyExecutor extends ThreadPoolExecutor { public MyExecutor() { super(1, 1, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } @Override public void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; while (!terminated) { try { // 종료 대기 시간 1초로 조정 terminated = awaitTermination(1L, TimeUnit.SECONDS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } @DisplayName("Should wait infinitely when .close()") @Test void executorServiceCloseTest() { // given try (ExecutorService myExecutor = new MyExecutor()) { log("작업 시작"); CallableSleepTask sleepTask = new CallableSleepTask("test", 10_000L); myExecutor.submit(sleepTask); // 10 초간 테스크 실행 log("작업 진행중.. close 대기"); // 기다리지 않고 .close() 자동 호출 } } } 실행 결과 18:38:39.524 [ main] 작업 시작 18:38:39.527 [ main] 작업 진행중.. close 대기 (약 10초 대기 후 종료) Process finished with exit code 0 테스크 종료를 위해 10초 대기가 이뤄졌습니다. close 가 조정된 대기시간인 1초 뒤에 인터럽트를 발생시켰다면 인터럽트 로그가 남았을 것이고, shutdownNow()가 호출됐다면 10초 대기없이 즉시 종료되었을 것입니다. 따라서 정정이 필요해보여요. close 메소드는 " shutdown() 을 호출하고, 작업 완료시까지 무한정 반복대기 한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다."

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
milkcoke 댓글 3 좋아요 0 조회수 239

강의 인덱스 접근 관련 문의드립니다.

해결됨

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

안녕하세요! 강사님 늘 강의 잘 듣고 있습니다. 다름이 아니고 아래 사항에 대해 궁금한 부분이 있는데요. (아래 강의 20:16 시점입니다) https://inf.run/1668e secondary index -> clustered index로 limit 개수만큼 접근해주신다고 설명해주셨는데요 ! where board_id = 1만 조건이 있어서 이미 어떤 row인지 세컨더리 인덱스에서 판단이 가능할 것 같은데, 클러스터 인덱스로 접근하게 되는 이유가 어떻게 되는걸까요? 만약 where board_id = 1 AND writer_id = 1 이 있다면 writer도 검증이 필요하기 때문에, 클러스터 인덱스 까지 가는 부분은 이해되기는 합니다만 board_id만 조건이 걸린 상태에서 클러스터 인덱스도 간다는 부분을 보고 이해가 잘 안되어서 문의드립니다 .. !

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
자기개발하고싶어요 댓글 2 좋아요 0 조회수 192

인기 태그

인프런 TOP Writers

주간 인기글