묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
선생님의 인텔리제이 설정에서 질문이 있습니다
안녕하세요 워밍업 클럽 잘 듣고 있습니다수업이랑 크게 관게 없는 질문인데 강의를 보다보면 코드 라인 옆에 커밋 내역이랑 사용자가회색 글씨로 나오더라구요어떻게 하는 건 지 궁금합니다 감사합니다
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
스레드 풀에 대해 질문 있습니다.
톰켓에 있는 스레드 풀도 Executor 인터페이스를 구현해서 생성하는건지 궁금합니다.스프링 부트를 사용한다면 톰켓에서 자체적으로 스레드 풀을 생성 할텐대 여기에 강의에서 배운것처럼 ExecutorService es = Executors.newFixedThreadPool(3); 이런식으로 직접 스레드 풀을 만들어서 사용해도 되는지 궁금합니다.
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현하는 배열리스트1 - 시작 set메서드에서 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님이 만드신 배열리스트에서 set에서 궁금증이 생겨서 질문을 남깁니다.set메서드에서예전값 을 유지시키기 위하여 get메서드를 사용하여서 값을 반환 하는것을 보았습니다.근데 공부하면서 떠오르는 방법이사진 처럼 해보았고, 결과 값은 똑같이 나오더라고요.이렇게 하신 이유가 있으실까요?답변 부탁 드립니다.
-
해결됨오브젝트 - 기초편
2-2 변경과 의존성 영상 편집 오류 제보 드립니다.
안녕하세요 강사님강의를 보는데 불편함은 없지만 영상 편집이 잘못된것 같아서 제보 드립니다. 2-2 변경과 의존성 챕터시간 9:33 ~ 9:52같은 멘트가 2번 나오는것 같아요감사합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
future.get()에 대해 질문 있습니다.
main 스레드에서 future.get()을 호출하면 결과값이 올때까지 다음 코드라인을 실행할 수 없는 상태가 된다고 보면 될까요?앞서 스레드들은 락 대기 집합, 스레드 대기 집합 같은 곳에서 대기를 했는데요 future.get()을 한다면 main 스레드도 대기를 할곳이 필요해 보이는데 저런 대기 집합 장소가 따로 있는지 궁금합니다.블로킹에 대한 개념을 보면서 동기/비동기, 블로킹/논블로킹에 대한 차이점에 대해 궁금해졌습니다. 구글링을 하면서 자료 조사를 했는데 여전히 헷갈리네요 혹시 간단하게 이 개념들의 차이점에 대해 설명해주실 수 있을까요
-
미해결김영한의 실전 자바 - 중급 2편
왜 이렇게 출력이 되는지 모르겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.dogHospital.set(dog); Dog bigger = dogHospital.bigger(new Dog("멍멍2", 200)); System.out.println("bigger ->" + bigger);여기서 출력이 왜 Animal{name = '', size =''} 로 되는 건가요?bigger()에서 return을 했을때 toString()으로 한게 아닌데 저렇게 출력 됐는지를 모르겠습니다
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
toEntity
안녕하세요 선생님 강의 잘 보고 있습니다. 강의 내용과는 좀 관련이 없는 개인적인 질문인데 dto -> entity / entity ->dto 로 변환할때 선생님은 어떻게 풀어서 하시나요(mapper ,builder ..etc)? 물론 팀마다 컨벤션이 있고 뭐가 최고라고 말할 수는 없지만 정말 개인적으로 궁금해서 질문 드립니다! 감사합니다
-
미해결김영한의 실전 자바 - 기본편
다형성과 설계 문제3번 질문있습니다!
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 다형성과 설계 문제3번 질문있습니다!!김영한선생님께서 풀이하신 대로 메인에다 Scanner를 사용하는 것과 Scan을 하는 클래스를 따로 만들어서 사용하는 것 둘 중에 어떤 것이 효과적인가요?? 위 코드에서 아쉬운 점이나, 보다 효율적인 방향으로 풀이하는 방법이 있을까요??
-
미해결김영한의 실전 자바 - 기본편
Account account = new Account();
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.이런 객체는 왜 만드는건가요? 본질적으로 이해가 안되서 여쭈어봅니다..
-
해결됨김영한의 실전 자바 - 중급 2편
배열의 특징2 - 데이터 추가 "이해에 되하여서"
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 질문이 생겨서 질문을 남깁니다.배열의 특징2 - 데이터 추가에서 첫 번째, index 번째, 마지막 번째, 에 추가 하는 것의 방법은 들으니까 이해가 됩니다.여기서 질문이 생깁니다. 듣기는 들었고, 따라 치기도 하고, 이해는 되고 그러는데. 뭔가 석연치 않는 부분이 있습니다.( 뭔가 애매하다고 해야 할끼요?)그것 때문에 어떻게 해야 할지 모르 겟네요. 이럴 때는 어떻게 해야 하나요?석연치 않은 부분이 풀릴 때 까지 계속 반복해서 듣고, 코드를 지웠다 치고 그러는게 좋을까요?아니면 다른 방법이 있을까요?답변 부탁 드립니다.
-
미해결스프링 핵심 원리 - 기본편
Bean 어노테이션을 통해 생성된 인스턴스에 관하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요, @Bean을 통해 컨테이너에 빈을 등록할 때 생성되는 인스턴스에 대한 궁금점이 있습니다.강의 코드에서는 다음과 같이 AppConfig.java에서 MemberRepository를 new MemoryMemberRepository()를 통해 매번 생성하여 반환하고, 이를 memberService() 그리고 orderService()에서 생성하여 호출하고 있습니다.@Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); }여기서 제가 궁금한 점은 memberRepository()를 통해 매번 새롭게 생성되는 MemoryMemberRepository를 호출하는 것으로 예상하고 실제 메모리 참조를 확인해보니 모두 동일한 값을 가지는 것을 확인했습니다. 아래는 코드 중 일부입니다.MemberService, OrderService에 다음을 추가MemberRepository getMemberRepository();아래는 위 메소드를 각 Impl에서 구현한 코드입니다.@Override public MemberRepository getMemberRepository() { return this.memberRepository; }public static void main(String[] args)의 일부 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); OrderService orderService = applicationContext.getBean("orderService", OrderService.class); MemberRepository repo = applicationContext.getBean("memberRepository", MemoryMemberRepository.class); System.out.println("member Service Repository = " + memberService.getMemberRepository()); System.out.println("order Service Repository = " + orderService.getMemberRepository()); System.out.println("member repository bean = " + repo);실행 결과member Service Repository = hello.core.member.MemoryMemberRepository@5552768b order Service Repository = hello.core.member.MemoryMemberRepository@5552768b member repository bean = hello.core.member.MemoryMemberRepository@5552768b이에 대해 다음과 같은 두 가지 질문이 있습니다.memberRepository는 new를 통해 매번 새롭게 생성하지만 같은 주소를 가지는 이유가 스프링 컨테이너 내부에 빈으로 등록되었기 때문인지 궁금합니다.만약 인스턴스마다 다른 값을 가지고 있어야 하는 경우가 있다면, 필요에 따라 @Bean을 통해 생성 해야 하는건지 궁금합니다. 감사합니다.제가 강의 도중 궁금증이 생겨 확인, 질문했었는데 내용 후반부에 싱글톤과 관련된 설명이 있군요... 머쓱..
-
해결됨김영한의 실전 자바 - 중급 2편
배열의 특징2 - 데이터 추가 에서 질문이요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 남깁니다.배열로 데이터를 첫 번째 위치에 추가, n 번째 위치에 추가, 마지막 위치에 추가 하는것 을 잘 보았습니다.근데 강의를 들으면서 객체 배열(ex: Integer)이면 어떻게 해야하지 라느 생각을 하게 되었습니다.30개 제한이 있는 객체 배열이 있고값이 20개(0~19) 까지만 담아져 있고, 나머지 값(19~29번째 )은 'null' 이라고 한다면, 마지막의 값(21번째에 넣겟다는 뜻입니다.)은 어떻게 넣지? 라는 생각을 하게 되었습니다.이런 경우 어떻게 해야 하나요?혹 나중 강의에 이런 내용 같은 게 나오나요?(그러면 강의를 통해서 배우면 되니까 안 알켜주셔도 됩니다.)답변 부탁 드립니다.
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
CellSnapshotStatus 새 타입 추가로 인한 CellSignProvider 대응이 필요하다는 걸 컴파일 타임에 알 수 있을까요?
안녕하세요! 강의 잘 듣고 있습니다!그리고 '다형성 활용하기' 챕터에서 enum의 interface 구현에 대해 새롭게 알게 되어 좋았습니다!그런데, 궁금한 점이 생겨 이렇게 문의하게 되었습니다.바로 CellSnapshotStatus enum과 CellSignProvidable 인터페이스를 구현한 CellSignProvider enum 사이의 관계입니다. CellSnapshotStatus에 새로운 타입(e.g. STAR)을 추가하게 되었을 때, 개발자가 CellSignProvider에 대해서도 알고 있어야 CellSignProvider에도 새로운 타입(STAR)에 대한 대응을 할 수 있을 것 같은데요CellSnapshotStatus에 새로운 타입이 추가되면 CellSignProvider에도 이에 대한 대응이 필요하다는 것을 컴파일 타임에 알 수 있는 방법이 있을까요?
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
유저 인벤토리 Pt.2
InventoryItemDataList에 유저가 보유한 아이템 목록이 저장하고 해당 리스트 객체를 PlayerPrefs로 저장할 때 JSON을 쓰는 이유는 PlayerPrefs에서 int, float, string만 저장할 수 있기 때문에로 이해했는데 맞나요? 그리고 굳이 JSON 이여 할 이유가 있나요? 또 PlayerPrefs에 유저가 접근이 가능하다고 하는데그러면 악의적으로 변형이 가능하지 않나요?이 경우는 어떻게 대비하나요?
-
미해결김영한의 실전 자바 - 중급 1편
StringTokenizer에 대한 개념은 영상에 없을까요
알고리즘 문제풀고있는데 이 개념은 영상에서 본적이없는거가타서요...
-
해결됨오브젝트 - 기초편
영화 예매 예제에서 결합도 문의드립니다.
안녕하세요,좋은 강의 감사합니다. 영화 예매 예제를 보면서 궁금한 점이 있어 질문 드립니다.Screening 객체는 DiscountPolicy, DiscountCondition 내부에서도 참조되어 사용되는 것으로 보입니다. 다수의 객체가 Screening 객체를 참조하고 있기에, Screening 객체의 변경 시 변경의 파급 효과(Ripple effect)가 높아지는 상황으로 이해 됩니다. 즉, 결합도가 높은 상태로 보이는데 맞을까요? DiscountPolicy 객체가 비율 할인 정책과, 금액 할인 정책의 책임을 모두 수행할 경우(낮은 응집도)에는. 비록 Screening Movie 객체가 단일 DiscountPolicy 객체에 의존하고 있더라도 파급 효과가 높은 것으로 이해됩니다. 그렇다면 결합도를 정의하는 척도는 의존성의 개수가 아닌 Ripple effect의 가능성이라고 봐도 될까요? (= 결합도가 높으면 파급 효과의 가능성이 높아진다) 감사합니다.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
오타 제보입니다.
섹션 13 - 스레드 풀과 Executor 프레임워크1강의 소스코드의 ExecutorBasicMain.java package thread.executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import static thread.executor.ExecutorUtils.*; import static util.MyLogger.log; import static util.ThreadUtils.sleep; public class ExecutorBasicMain { public static void main(String[] args) { ExecutorService es = new ThreadPoolExecutor(2, 2, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>()); log("== 초기 상태 =="); printState(es); es.execute(new RunnableTask("taskA")); es.execute(new RunnableTask("taskB")); es.execute(new RunnableTask("taskC")); es.execute(new RunnableTask("taskD")); log("== 작업 수행 중 =="); printState(es); sleep(3000); log("== 작업 수행 완료 =="); printState(es); es.close(); log("== showdown 완료 =="); printState(es); } } 다른곳들은 다 고쳐져있는 거 같은데, 이 클래스에만 showdown으로 아직 변경이 안되어있습니다.
-
해결됨Readable Code: 읽기 좋은 코드를 작성하는 사고법
정적 팩토리 메서드 of() 컨벤션
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 강의 중 정적 팩토리 메서드를 만드실 때 of()안의 파라미터가 없거나, 한 개 혹은 여러 개 일 때 모두 사용 하신 것 같아요유명 기술 블로그를 보면 https://tecoble.techcourse.co.kr/post/2020-05-26-static-factory-method/여러개의 파라미터를 통해 생성할 때 of를 쓰라고 되어있는데요, 이때 여러개 라는 말은 없거나, 한개 혹은 여러개 모든 경우를 포함하는 말 일까요?실제로 List인터페이스의 경우에서도 구분하지 않고 전부 of를 사용해서 맞는 것 같긴 한데 위의 블로그 표현과는 약간 다른 것 같아서 질문드립니다
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
break 부분이 왜 필요한지 헷갈립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기서 catch 부분에 break가 왜 필요한건가요?"q" 를 입력하면 printerThread 에 인터럽트를 걸고 while문의 !Thread.interrupted가 false가 되어서 while문을 탈출하는게 아닌가요?아니면 !Thread.interrupted가 false가 되기 전에 먼저 예외를 잡아서 인터럽트가 true에서 false로 먼저 되어서 !Thread.interrupted가 true가 되는건가요?
-
미해결스프링 핵심 원리 - 기본편
중복 등록과 충돌 강의에서 질문있어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 빌드실행도 Gradle(default)으로 설정했는데 왜 안된는 건가요?