묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
큐가 비어있는 상황에서 큐에 새로운 작업이 들어왔을 때, 기본 스레드와 초과 스레드 중 어느 스레드 부터 작업을 실행하는지 궁금합니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요."초과 스레드가 작업을 처리할 때 마다 시간은 계속 초기화된다" 7:36초에 말씀을 해주셨는데, 한가지 궁금한 점이 생겨 질문 드립니다! 큐가 가득 차서 초과 스레드가 이미 만들어 졌다고 가정한 상황입니다. 이후에 작업이 없어서 큐가 비어있다고 가정을 하겠습니다.즉, 상황은 큐가 비어있고, 스레드 풀에 기본 스레드 2개, 초과 스레드 2개가 있습니다. 이 때, Executors 에 새로운 작업이 들어오면 이 작업은 무조건 기본 스레드가 초과 스레드 보다 먼저 작업을 수행하게 되나요?만약, 기본 스레드가 먼저 작업을 무조건 수행하게 된다면 이는 BlockingQueue의 내부 구현인 ReentrantLock 과 Condition 으로 인해 WAITING인 기본 스레드 부터 깨우게 되는 것인가요?
-
미해결김영한의 실전 자바 - 중급 1편
단축키 질문
[질문 내용]여기에 질문 내용을 남겨주세요. 강의 볼 때마다 신기한 단축키를 잘 사용하시던데, 전 단축키가 잘 안외워지는데 부럽네요.. 단축키 유용한거는 어떻게 알아가는건가요,, 강의는 다 잘 이해되서 큰 문제는 아닌거같은데, 단축키 잘 쓰시는게 넘 부럽네여..
-
미해결아임코딩의 C# 기초 강의
C#과 .NET 관련 질문
그냥 C#이랑 C#.NET은 다른건가요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
실제 Socket 통신을 시도했지만 되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 영한님, 같이 개발 공부하는 친구와 함께 영한님 예시 코드로 서로 채팅이 되는지 확인하고 싶어 친구의 IP 주소를 받아 서로간 실행을 해보았습니다.통신이 될거란 기대와 다르게 Operation timed out 오류만 뜨게 되었습니다.방화벽 문제인가 싶어 양쪽 컴퓨터의 방화벽을 잠시 끈 상태에서 다시해보아도 같은 오류가 뜨고, 서버쪽 프로그램을 실행하지 않고 클라이언트 프로그램만 실행시켜 connection refuesed 오류를 확인했지만 동일하게 Operation timed out 오류가 떴습니다. 무엇이 문제일까요?
-
미해결김영한의 실전 자바 - 기본편
객체를 잘 이해한것인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]student1 = new Student(); 이런 식으로 객체를 만들게되면 student1에 Student의 형식에 맞춘 새로운 공간을 할당하고 주소를 배정한다고 이해해도 되는걸까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Future
안녕하세요 영한님 강의 JPA때부터 잘 보고 있습니다.future에 대해서 질문이 있는데.. future.get()을 호출 했을때 값이 있으면 그 값이 바로 나오지만 아직 결과값이 나오지 않는 상태이면 호출 스레드는 wating상태가 맞지 않나요??제가 알기로는 wating 상태에서는 인터럽트나 이런걸로 깨울 수 있고 블로킹 같은 경우에는 깨우지 못한다는 차이가 있어서(더 많은 차이도 있을거라 생각합니다) 두가지가 같다고 보기 힘든것 같은데... wating과 블로킹이 같은건가요...???감사합니다!
-
미해결TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기
[섹션1/사전에 알아두면 좋은 TS/JS 지식]영상 재생 관련 질문 드립니다.
현재 [섹션 1/사전에 알아두면 좋은 TS/JS 지식] 영상이 검은 화면에 음성만 재생되는데 확인 부탁드립니다.감사합니다!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
ExexutorService invokeAny() 메서드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 invokeAny 메서드 실행시 어떨 때는 인터럽트 예외가 발생하고 어떨 때는 발생하지 않고 모든 task가 완료 되고 있습니다. 스레드가 한번에 모두 실행이 완료돼서 그런걸까요 아니면 제가 코드를 잘못 작성했을까요? 읽어주셔서 감사합니다. 여기에 질문 내용을 남겨주세요.
-
미해결스프링 핵심 원리 - 기본편
스프링 bean에서 request scope를 어떻게 식별해 같은 객체를 주입하는지 궁금합니다.
안녕하세요? 빈 스코프 관련해 궁금한게 생겨 문의드립니다. request 스코프를 사용하는 경우, 해당 request안에서 실행되는 각종 service들에서 전부 같은 빈 인스턴스를 받을수 있다고 강의에서 알려주셨습니다.그런데 이것이 어떻게 동작하는지가 궁금합니다. 각 service들은 단순 인스턴스일 뿐이고, request와 관련된 정보는 하나도 가지고 있지 않습니다. 또한 service들으 싱글톤일수도 있고, 특정 scope에 속할수도 있구요. service들은 본인이 A request에 속해 실행되고 있는지, B request에 속해 실행되고 있는지 식별할 방법이 없어보입니다. 매 request마다 다른 쓰레드에서 실행이 된다면, 빈 주입을 시도한 thread의 이름이나 식별정보를 통해서 request를 구분할수도 있지 않을까 생각이 들었는데, 구현부에서 멀티쓰레드를 사용하다면 이 또한 보장하기 힘든 방법이라고 생각이 듭니다.스프링 bean은 serivce와 같은 여러 인스턴스들에서 request scope를 어떻게 식별해 주입 해주고 있나요?
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
안녕하세요 질문드립니다,
안녕하세요 강사님, 뒷내용을 다 보진 못했지만 여기까지 보고 궁금한게 있어서 질문드려봅니다, 비즈니스로직의 대한 구체화와 추상화에 대한, 숫자를 전부 10으로 맞추는게 좋다고 하셨는데, 여기서 궁금한게 결국 private으로 메소드 이름으로 추상적 내용을 담아 코드의 읽힘 가속성이 좋은 코드가 되는것까지 이해 하였습니다, 여기서 궁금한건,하나의 클래스에 private 메소드 즉, 추상 메소드가 많아지면 관리차원에서 힘들까요? 여기서 강의에서도 말씀하셨지만 궁금하면 메소드를 들어가 보긴 할텐데, 해당 상황이 많을것 같아서 궁금합니다, 아니면, 상황에 따라 클래스를 분리하고 관리 할지, 궁금합니다.결국 핵심 비즈니스 로직은, 추상적으로 메서드 추상화된 네이밍을 읽어 읽기 좋은 코드가 된다고 생각합니다만 맞을까요?
-
미해결스프링 핵심 원리 - 기본편
수동 빈 등록, 자동 빈 등록 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링 핵심 원리를 공부하다가 수동 빈 등록 및 자동 빈 등록에 대해서 이해가 부족해서다음 글을 통해서 정리해보았는데 제가 정리한 내용이 맞는 지 아직도 확신이 안 서가지구이렇게 질문 글을 남겨봅니다.. https://velog.io/@simhyunmin/%EB%B9%88-%EB%93%B1%EB%A1%9D-%EB%B0%8F-%EC%9D%98%EC%A1%B4-%EA%B4%80%EA%B3%84-%EC%84%A4%EC%A0%95-%EC%88%98%EB%8F%99-vs-%EC%9E%90%EB%8F%99-%EB%AD%90%EA%B0%80-%EB%8D%94-%EB%82%98%EC%9D%84%EA%B9%8C 참고하시고 제 글이 맞는 지 피드백 해주실 수 있을까요..
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
맥북에서 ._Var8.java와 같이 ._*파일이 계속 생겨 오류가 생깁니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)아니오.2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. 실습중 맥북에서 ._Var8.java와 같이 ._*파일이 계속 생겨 오류가 생깁니다. 맥북 M1입니다.혹시 해결하는 법도 알 수 있을까요..?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
채팅서버가 2개일때 서버간 socketManager 공유방법
안녕하세요.해당 강의에서는 채팅 서버가 하나지만만약 채팅서버를 2개 운영한다고 가정했을때 (A.jar, B.jar)배포를 위해 A jar 를 내리고 다시 올릴때 서버가 내려가기전 A jar 의 socket 객체정보를 B jar 로 보내려면 어떤 방법을 사용해야할까요? socket 을 직렬화해서 보내려고 했는데 socket 은 제가 만든 클래스가 아니다보니 Serializable 를 상속받지못해 불가능할것같은데.. 실무에서는 채팅 이중화서버운영 무중단 배포를 어떤식으로 하는지 궁금합니다 ㅠㅠ .. 강의보다 심화된 내용이지만 해당 부분에 대한 지식을 쌓기가 힘들어서 글을 작성하게 되었습니다. 감사합니다.
-
미해결김영한의 실전 자바 - 기본편
static2.ex 첫번째 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.Car 클래스 안에 this.carName안에 왜 굳이 carName을 할당했는지 잘 이해가 가지 않습니다. private String carName가 사용되지 않아서 변수 선언도 불필요하다고 생각됩니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
openJDK 23 설치
OpenJDK 21이 없어서 Temurin을 다운 받았는데, 위의 메시지가 뜹니다. 강의 수강에는 딱히 문제가 되지 않나요?
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
타입캐스팅 궁금한점 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 코틀린을 처음 접해봤습니다. 질문이 이상하더라도 양해를 구하며 상세히 알려주시면 정말 감사하겠습니다.fun printAgeIfPerson(obf:Any?){val person = obj as? Person......}여기서 질문 드립니다.앞에서 변수 선언을 할 때 val,var을 배웠는데, 매개변수를 선언하는 부분에서 obf:Any? 대신에 val obj:Any?로는 안 쓰나요? 앞에서 모든 변수에는 var/val 을 붙여서 선언한다고 하셨어서요. obj는 매개변수에서 선언된 변수 아닌가요?2.위 코드에서 obj as? Person 의 값이 결과값 또는 null로 나온다고 하셨는데, 그렇게 되면 lvalue인 val person에도 null이 들어갈 여지가 있으므로 val person? 나 val person:Person?으로 선언이 되어야 하는 것 아닌가요?자바와 다른 점이 많아서 헷갈립니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
SessionManagerV6에서 동시성 컬렉션 사용
public class SessionManagerV6 { private List<SessionV6> sessions = new CopyOnWriteArrayList<>(); public void add(SessionV6 session) { sessions.add(session); } public void remove(SessionV6 session) { sessions.remove(session); } public void closeAll() { for (SessionV6 session : sessions) { session.close(); } sessions.clear(); } }session들을 담는 List로, ArrayList 대신에 동시성 컬렉션인 CopyOnWriteArrayList을 사용하고, 각 메소드에서 synchronized 키워드를 제거하는 방식도 유효한가요?만약 유효하다면, 기존 방식(synchronized )과 새 방식(동시성 컬렉션) 중 어느 방식을 언제 사용하는 것이 적절한가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
코드 순서 문의
코드 순서에 궁금한 점이 있어 질문드립니다 !class HamBurger { String name; public HamBurger(String name) { this.name = name; } public HamBurger() { this("햄버거"); } }이렇게 작성되는 코드와class HamBurger { String name; public HamBurger() { this("햄버거"); } public HamBurger(String name) { this.name = name; } }이렇게 작성되는 코드가 구동에 있어 차이가 발생하는지 궁금합니다 ! 코드는 위에서부터 순서대로 진행된다고 알고 있어서 첫 번째 방법의 코드가 더 맞는 방법이 아닌지 생각이 되는데, 선생님께서는 두 번째 방법으로 작성하셔서 차이점 설명 부탁드리겠습니다 ..! 추가적으로,// 햄버거 메소드 String[] ingredient = {"양상추", "패티", "피클"}; public void cook() { System.out.println(this.name + "를 만듭니다."); System.out.println("빵 사이에 들어가는 재료는?"); for (int i = 0; i < ingredient.length; i++) { if (i == 0) { System.out.println("> " + ingredient[i]); } else { System.out.println("+ " + ingredient[i]); } // 치즈버거 메소드 public void cook() { super.cook(); System.out.println("+ 치즈"); } // 새우버거 메소드 public void cook() { super.cook(); System.out.println("+ 새우"); }퀴즈를 이렇게 풀어서 정답과 동일하게 출력은 되었는데, 혹여나 풀이 방법에 틀린 점이 있거나 개선할 점이 있는지 피드백 부탁드립니다 :)
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
return 사용이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요여기서 if문에만 return을 사용한 이유는 조건을 만족할 경우 아래까지 내려가지 않고 메서드를 끝내 성능향상을 위함인가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
클래스 메소드
안녕하세요 ! 인스턴스 변수 및 메소드 / 클래스 변수 및 메소드 내용 공부 중 이해가 쉽게 되지 않는 부분이 있어 질문드립니다 ! 인스턴스 변수 : 객체마다 다르게 설정이 필요한 변수 (수업 내용 중 블랙박스 이름, 용량, 색상 등) 클래스 변수 : 선언하는 클래스 내 모든 객체가 동일하게 설정된 값 (수업 내용 중 블랙박스 자동 신고 기능) 인스턴스 메소드객체마다 별도로 입력 받을 파라미터가 있고, 그에 따라 다른 결괏값 출력이 필요한 경우 사용 (수업 내용 중 블랙박스 내 영상 종류 별 저장된 수)반환값의 자료형이 void 인 경우 출력값이 필요(System.out.println) / 반환값의 자료형이 void 가 아닐 경우 반환값이 필요(return)반환값의자료형 메소드명(파라미터) { 출력값 }클래스 메소드별도로 입력 받을 파라미터가 필요 없고, 선언하는 클래스 내 객체 전체에 동일한 결괏값 출력이 필요한 경우 사용 (수업 내용 중 블랙박스 서비스 센터 연결)클래스 변수 및 메소드는 객체 단위가 아닌 클래스 단위로 불러오는 것을 권장static 반환값의자료형 메소드명() { 출력값 }이렇게 이해했는데 .. 제가 이해한 내용이 맞는지, 잘못 이해한 부분이 있거나 추가적으로 알아야 할 부분이 있다면 피드백 부탁드립니다 !그리고 추가적으로 궁금한 점이 있습니다. 수업 내용을 보면, 다른 클래스에서 변수 혹은 메소드를 가져 올 경우 public 이 없어도 가져올 수 있는 것으로 보입니다. private 설정만 하지 않는다면 굳이 public 이 없더라도 다른 클래스에서 가져오는 것이 상관 없는 것인지 궁금합니다 :)