묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
영한님 인텔리제이 키설정 관련해서 질문드리고 싶습니다.
안녕하세요 영한님, 인텔리제이 단축키 설정은 기본 맥 설정 그대로 사용하시나요? 그리고 현업에서 윈도우와 맥 환경을 번갈아가며 사용하는 일도 있을까요? 키세팅을 통일시켜야할지 각 환경에 맞는 키설정을 그대로 쓰는게 협업이나 여러면에서 좋을지 고민입니다.
-
해결됨스프링 핵심 원리 - 기본편
(질문 수정) 세번의 memberRepository 호출
안녕하세요, 영한님.강의 보면서 열심히 배우고 있습니다.질문 부분은 싱글톤과 관계없이 일단 memberRepository가 몇 번 호출이 될까 하는 부분입니다.강의를 보았으니 정답은 1번이라고 알고 있는데, 왜 영한님이 3번을 말씀하셨던걸까 궁금해서요.(강의 요지와는 상관없는 부분인 것 같아 죄송합니다.)memberService를 호출한다.MemberServiceImpl이 memberRepository를 호출하면, memberRepository를 bean으로 등록하고 . (1번)호출을 완료한다. (2번) orderService를 호출한다.OrderServiceImpl이 memberRepository를 호출한다. (3번)이렇게 해서 3번이 호출된다고 말씀하신게 맞을까요?감사합니다.
-
미해결김영한의 실전 자바 - 중급 1편
문자열 풀 작동방식 및 추가 질문
[질문 내용]여기에 질문 내용을 남겨주세요. 처음에 클래스가 로드될 때, 코드를 훑어보며 문자열 리터럴을 사용하면, 미리 문자열 풀에 문자열 리터럴에 대한 인스턴스를 생성하고, 중복이 발견되면 문자열 풀을 살펴보며 중복이 있으니 문자열 풀에 인스터를 생성하지 않는다. 그리고 나중에 로드된 후, 실행될 때는 String 클래스 변수에 문자열 풀에 해당하는 참조값을 주기때문에, 여러 String클래스 변수가 같은 리터럴을 가진다면, 같은 참조값을 가져 ==연산자에서 비교하면 true가 나온다. 맞나요? 클래스가 로드되는 시점에 코드를 훑어보며, 문자열 풀에 "12345"라는 인스턴스가 있다고 가정하고, 나중에 코드가 실행될때 중간에 String str = "123" +" 45";라는 코드가 있으면, 새로운 객체를 만들어 str에 참조값을 넣어주는건가요? 아니면 문자열 풀에 같은 문자열이 있으니까 문자열 풀에 해당하는 인스턴스의 참조값을 주나요?
-
미해결김영한의 실전 자바 - 기본편
다음으로에서 언급하신 데이터베이스는 업데이트 되어 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]다음으로에서 언급하신 데이터베이스는 업데이트 되어 있나요?
-
미해결김영한의 실전 자바 - 중급 1편
TestString6 질문
[질문 내용]여기에 질문 내용을 남겨주세요.이렇게 풀어도 될까요?문자열의 길이를 1~n 개로 바꿔가며 테스트해도 맞긴한데, 강의랑 풀이가 좀 달라서 잘 맞게 풀었나 의문이 들긴 합니다.
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
오타 제보합니다
string glovesJson = PlayerPrefs.GetString("EquippedBootsData"); if (!string.IsNullOrEmpty(glovesJson)) { EquippedBootsData = JsonUtility.FromJson<UserItemData>(glovesJson); Logger.Log($"EquippedBootsData: SN:{EquippedBootsData.SerialNumber} ItemId:{EquippedBootsData.ItemId}"); }UserInventoryData.cs파일에서, 오타가 보여 제보합니다.Gloves를 가져와야할텐데, Boots를 가져오고 있습니다.
-
해결됨오브젝트 - 기초편
가격 필드가 Long fee가 아닌 Money fee가 된 계기가 궁금합니다.
안녕하세요. 강사님! 너무나 알찬 강의 감사드립니다. 한가지 궁금한 점이 있습니다.만약 제가 영화 예매 설계를 해야하는 상황이었다면, '가격' 필드를 Long 타입으로 할 생각밖에 못했을 것 같은데, Money 라는 클래스로 가격을 표현하게 된 계기를 여쭤보고 싶습니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[12:42] 구두 설명과 pdf 설명이 다른 부분의 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.[12:42]에서 "main 스레드는 TIMED_WATING 상태에서 RUNNABLE 상태로..." 설명과 함께 마우스 포인터로 가리키신 pdf 에서는 work 스레드 라고 표기되어 있습니다. 설명에 혼란이 있어서 제가 인터럽트 호출 부분을 다음과 같이 이해한 게 맞는지 확인 부탁드립니다..!0. work 스레드 동작main() 스레드 안에서 thread.start(); 호출(work 스레드 호출)한다.1. main() 스레드 동작Thread.sleep(4000)을 호출하여 TIMED_WAITING 상태로 들어간다. (4초 대기)2. thread.interrupt() 호출4초 뒤 main() 스레드가 깨어나고(RUNNABLE 상태), 바로 아래 코드인 thread.interrupt() 호출한다. -> 이때 work 스레드는 Thread.sleep(3000)으로 인해 TIMED_WAITING 상태였는데, main() 스레드의 인터럽트 신호로 인해 InterruptException이 발생하여 RUNNABLE 상태로 즉시 변경된다.3. InterruptException 처리work 스레드는 catch 블록에서 InterruptException 예외 처리 수행한다. 인터럽트 호출했다고 InterruptException 예외가 반드시 나는 것은 아니다. 설명에서 InterruptException 예외 발생한 이유는 main() 스레드에서 4초 대기 후 work() 스레드 인터럽트 호출할 때, work 스레드 상태가 TIMED_WAITING 였기 때문이다. work 스레드는 인터럽트 호출로 인해 TIMED_WAITING -> RUNNABLE 상태로 즉시 변경되고, work 스레드의 인터럽트 상태는 초기화 되어 false를 반환한 것이다.이렇게 이해하면 될까요..?!
-
미해결김영한의 실전 자바 - 중급 1편
상속 오버라이딩 질문
[질문 내용]여기에 질문 내용을 남겨주세요. 7:36에서 obj1, obj2를 출력하는데, obj1, obj2의 객체 정보가 출력이 되었는데,이유가 메인메서드 처음부분에, obj1과 obj2의 객체가 만들어 지는데, 이때 obj1의 객체 안에는(obj1, Object)클래스 정보가들어있고 obj2객체 안에는(obj2, Object)클래스정보가 들어있는데 System.out.println()메서드 안에 객체를 넣으면 내부에서 자동적으로 객체명.toString()메서드가 실행이 되는데, 자식클래스(obj1, obj2)모두가 toString()을 오버라이딩 하지 않아, Object의 toString()이 호출이 되는데, 호출하는 변수가 각각 obj1, obj2여서 호출하는 변수 타입의 객체 정보가 출력이 된다. 맞나요? 잠시 헷갈렸는데 맞을까여?
-
미해결TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기
.
.
-
미해결김영한의 실전 자바 - 고급 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 메소드 즉, 추상 메소드가 많아지면 관리차원에서 힘들까요? 여기서 강의에서도 말씀하셨지만 궁금하면 메소드를 들어가 보긴 할텐데, 해당 상황이 많을것 같아서 궁금합니다, 아니면, 상황에 따라 클래스를 분리하고 관리 할지, 궁금합니다.결국 핵심 비즈니스 로직은, 추상적으로 메서드 추상화된 네이밍을 읽어 읽기 좋은 코드가 된다고 생각합니다만 맞을까요?