묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
AutoAppConfigTest BasicScan() NoSuchBeanDefinitionException오류 발생
그전까진 모든 테스트를 통과했는데, 조회대상 빈이 2개이상일때 해결방법을 테스트 하는 과정에서 자꾸 AutoAppConfigest BasicScan()에서 NoSuchBeanDefinitionException오류가 발생합니다 ㅠㅠ파일 구글 드라이브 링크 첨부합니다.. 감사합니다https://drive.google.com/file/d/1CR8RZDO7Wf2VpildMbeLpTah5vYTtAZJ/view?usp=sharing
-
미해결김영한의 실전 자바 - 기본편
학습자료다운로드
강의 구매하였는데 학습자료는 어디서 다운받나요?
-
미해결코틀린 고급편
Sequence vs Stream
안녕하세요 Sequence와 Stream의 차이점에 대해서 질문드립니다.Sequence가 지연연산의 이점을 통해서 대용량 처리를 해야할 때 이점을 줄 수 있다고 이해를 했고,Java의Stream과 유사하다는 생각이 들었습니다. 찾아보니, java8 이전의 Kotlin의 경우 Stream을 사용할 수 없으니, Sequence를 사용했었다 라는 글을 발견했습니다.위 설명이 맞을까요?혹시 맞다면 어떠한 기준으로 둘중에서 선택을 하는게 좋을까요?
-
미해결스프링 핵심 원리 - 기본편
interface와 구현체에서 메서드도 같아야하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]interface를 생성해야하는 이유는 이해가 됐는데 interface에서 작성한 메서드들을 구현체에서 오버라이딩하는데 이떄 오버라이딩하는 코드 말고 추가적으로 코드를 작성하는게 바람직한가요?예를들어 repository인터페이스를 구성할 때 Mysql을 이용하기 위한 레포지토리와 Memoryrepository를 따로 구현할 때 아무래도 DB에 저장하는 특성상 메서드들의 차이가 있지않을까하는데 이때 각 구현체에서 추가로 메서드를 작성하는게 옳은 방향인건지 잘 모르겠어요
-
해결됨스프링 핵심 원리 - 기본편
appconfig에 등록한거랑 @Component해서 등록한걸로 어느게 우선순위인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]web 라이브러리를 설치했는데parameter 0 of constructor in hello.core.member.memberserviceimpl required a single bean, but 2 were found이런 오류가 뜨더라고요appconfig안에 MemberRepository의 @Bean 과@Configuration //설정 public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } .... }MemoryMemberRepository.class의 @component//@Component public class MemoryMemberRepository implements MemberRepository { private static Map<Long, Member> store= new HashMap<>(); @Override public void save(Member member) { store.put(member.getId(), member); } @Override public Member findById(Long memberId) { return store.get(memberId); } } 이렇게 두개가 겹쳐서 그런거같은데@Component를 지우니깐 잘되더라고요.둘다 우선순위가 따로 없는건가요?그리고 실습에서는 appconfig안에 Bean을 지웠나요?component를 지웠나요?열심히 들었는데 어디서 부터 실습을 잘못했는지 잘모르겠네요 죄송합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
문제와 풀이 합계와 평균 2 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]선생님 문제와 풀이에서 입력받을 숫자의 개수를 입력받는부분에int[] numbers = new int[scanner.nextInt()] 로 바로 썼는데 이게 되는건가 싶어서 system.out.print에 numbers.length를 찍어보았습니다. 길이가 출력이 잘되어서 일단 위처럼 쓰긴했는데 이렇게 해도 상관없을까요? 만약에 차이가 있다면 알려 주실수 있나요!
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
[20강] run 질문
run은 아래와 같이 T에 대한 확장 함수를 받는데public inline fun <T, R> T.run(block: T.() -> R): R { return block() }personReopository의 save를 메서드 레퍼런스로 호출할 때 person 객체 즉 this 를 넘겨야하는데,위의 run의 구현부를 봤을 때 는 파라미터로 아무 것 도 넘겨 주지 않고 어떻게 this를 받아서 아래 와같이 사용이 될수있는지 궁금합니다.val person= Person(name: "최태현", age: 100).run(personRepository::save)
-
해결됨김영한의 실전 자바 - 기본편
클래스의 구조 속성에 대하여 질문합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]챕터3 - 객체 지향 프로그래밍(클래스와 메서드).에서 클래스의 구성 요소 를 보면 "클래스는 속성(데이터, 멤버변수)과 기능(메서드)을 정의할 수 있다." 라고 pdf에 써잇고, 강사님이 말하였습니다.여기에서 속성의 구성 요소 중 하나가 데이터 라고 말씀 하셨는데,public class ValueData { Total total; int value; //추가 void add() { value++; System.out.println("숫자 증가 value = " + value); } }코드 에서 total 객체를 데이터라고 봐도 될까요?아니면 다른 것을 데이터라고 하는지 궁금합니다.답변 부탁 드립니다.
-
해결됨김영한의 실전 자바 - 기본편
자바 메모리 구조와 CPU에 대해 질문이 있습니다.
보통 메모리 구조라고 하면 코드, 데이터, 힙, 스택 영역으로 알고 있습니다. 근데 실행 프로그램이 자바 코드로 이루어져 있다면 메모리 구조는 메서드, 스택, 힙 영역으로 이루어지는건가요?메서드 영역에 클래스 즉 코드들이 올라간다 했는데 그러면 CPU가 메서드 영역에 있는 자바 코드들을 하나씩 레지스터로 fetch해서 decode, execution 하는건가요?CPU가 클래스 코드들을 해석하면서 메서드 호출일 경우 스택 영역에 스택 프레임을 생성하고 인스턴스 생성일 경우 힙 영역에 인스턴스를 생성하는 건가요?힙 영역에 인스턴스가 생성된다고 했는데 그러면 필드 코드는 여전히 메서드 영역에 존재하지만 인스턴스가 가지고 있는 필드 값들은 힙 영역에 존재하는 건가요?감사합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayEx9 문제 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요! 좋은 수업 감사합니다:)배열 문제와 풀이3(ArrayEx9)와 관련하여 질문드립니다. 초기 접근 방식-상품 등록의 제약 조건인 10개 제한을 반복문의 조건으로 사용하고자 했습니다. 1의 문제-배열의 길이를 변수로 설정하여 배열의 길이를 바꾸고자 하였지만, 배열은 최초 생성될 때의 길이가 고정된다는 것을 확인하였습니다. 해결책 탐색배열의 길이를 바꾸는 방법을 찾아보니 총 2가지를 확인했습니다. (새로운 배열을 만든다는 점에서 같은 맥락인 것 같습니다..)-반복문 등을 이용해 배열을 복사하고 길이를 늘려 새로운 배열을 만드는 방법-Array.copyOf()를 사용하여 새로운 배열을 만드는 방법(아직 학습하지 않았습니다.) 질문1) 위의 3의 해결책말고 새로운 배열을 만드는 방법이 더 있나요?2) 실무에서 실제로 제한된 숫자를 정해놓고 배열을 생성하나요? (회원가입에서 아이디와 패스워드의 개념으로 생각했습니다.) 읽어주셔서 감사합니다!
-
해결됨C개발자를 위한 최소한의 C++
반환유형이 클래스형 참조
안녕하세요 강사님, 반환 유형이 클래스 참조일 때 질문이 있습니다.반환유형이 클래스형인 것보다는 메모리 효율을 위해서 클래스형 참조로 선언을 하는데, 반환하는 참조가 함수 내부에서 생성된 지역 인스턴스의 참조라면 함수 스코프를 벗어나면 해당 인스턴스는 소멸되므로 main함수에서는 참조를 못하게 되는 것 아닌가요?이런 경우에는 반환 유형을 클래스형 참조가 아닌 클래스형으로 선언하는게 적절할까요? 감사합니다!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
MethodEx4
[질문 내용]int 값이 21억 까지로 제한되기에 혹시 이 값을 long으로 바꾸고 싶은데 스캐너에서 롱으로 어떻게 코드를 바꿔야 될지 모르겠습니다. long만 바꾸면 뒤에l이 없어서 int변수로 인식을해서 어떻게 해야될지 모르겠습니다
-
미해결스프링 핵심 원리 - 기본편
MyLogger 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.package Hproject.core.common; import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import java.util.UUID; @Component @Scope(value="request") public class MyLogger { private String uuid; private String requestURL; public void setRequestURL(String requestURL) { this.requestURL = requestURL; } public void log(String message){ System.out.println("["+ uuid+ "]"+ "[" + requestURL+"]"+message); } @PostConstruct public void init(){ uuid= UUID.randomUUID().toString(); System.out.println("["+ uuid+ "] request scope bean create "+this); } @PreDestroy public void close(){ System.out.println("["+ uuid+ "] request scope bean close "+this); } }해당 MyLogger 클래스에서 init() 메소드 안에서 ,uuid의 값을 랜덤으로 초기화 시켜 줬는데,이 메소드가 아니라 처음에 필드 선언 부분에서 초기화 시키는건 안되는건가요??
-
미해결김영한의 실전 자바 - 기본편
this 사용 여부
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 우선 항상 좋은 강의 감사합니다 this 부분을 수강하던 중 궁금증이 생겨서 질문드립니다. 요즘은 IDE발달로 인해 this를 사용하지 않아도 색으로 인해 구분이 잘 되지만, 깃헙에서 코드리뷰를 할 땐 이러한 기능이 지원이 되지 않기 때문에 this를 사용하는게 더 명확하다고 생각이 드는데 어떻게 생각하시나요? 코드리뷰를 할 때의 관점에서 영한님의 의견이 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
빈, 컨테이너도 넓은 의미에서 객체일까요 ??
듣다보니 쓰임이 많을것같은 클래스를 빈으로 등록하고, 그 빈들을 컨테이너가 관리하는데 이렇게하는 이유를 생각해보면 멤버서비스, 오더서비스처럼 호출이 잦은 클래스를 한곳에서 관리하면 접근이 편할 것 같습니다 이렇게 빈으로 관리하는 이유가 무엇인가요 ??예전에 질문드렸을 때 객체 하나 자체는 메모리가 많이 들지 않는다고 하셨습니다. 그럼 객체를 많이 만들어도 메모리를 절약하기 위함은 아닐 것 같은데 빈, 컨테이너 개념을 이용하는 다른 이유가 있나요 ??
-
해결됨C개발자를 위한 최소한의 C++
강사님 질문 드립니다.
만약 함수내에서 func(ClassA a) { // 여기서 a 는 클래스임 } 과 같이 작성하면 ClassA 의 생성자는 호출되지 않지만 소멸자는 호출됩니다.그 이유를 알고 싶습니다.
-
미해결김영한의 실전 자바 - 기본편
Student s 에서 s란?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 잘 수강하고 있습니다.for문을 리팩토링하는 과정에서 students.name등의 변수명이 길기 때문에 Student s = students[I] 이렇게 바꿔서 하는 건 이해가 가는데 , Student s 에서 s는 단순하게 변수명으로 이해하면 될까요?Student라는 타입의 변수명 s 이런 느낌인가요? 앞선 자바 쌩기초 강의에서는 이런 for문 리팩토링 과정에서int number = numbers[I] 이렇게 number라는 변수를 선언했을땐, numbers[I]가 숫자니까 int라는 타입의 number라는 변수가 당연하게 이해가 됐는데 이번에는 students[I]가 어차피 Student 라는 클래스의 인스턴스고 각각의 참조값을 들고 있으니 마찬가지로 자연스럽게 Student 타입의 변수명 s 다 이렇게 이해하면 될것 같네요.. 질문을 작성하다 보니까 이해가 되어버렸습니다;;ㅋㅋㅋㅋ 혹시 이렇게 이해하는게 맞는건지 Yes or No 만 부탁드립니다 !^^
-
미해결김영한의 실전 자바 - 기본편
다형성 reference value
이 child 변수가 가지고 있는 reference value 와 poly 가 가지고 있는 reference value 는 같나요? 같다면 그 이유가 무엇인가요? 왜냐하면 만약 Child child1 = new Child() ; Child child2 = new Child() ;일때 child1 과 child2 의 reference value 값이 다르듯이 poly 와 child 도 달라야 하는것 아닌가요?
-
해결됨C개발자를 위한 최소한의 C++
virtual 함수와 관련하여 질문 있습니다.
만약 기본 메서드로 virtual a() 를 정의한 후 첫번째 파생 클래스에서는 a() 로 정의를 하였습니다.마지막 파생 클래스에서도 a() 로 정의했다면 어떻게 동작하는지 궁금해서 여쭤 봅니다. 제 생각에는 기본하고 첫번째 파생 사이에는 virtual 처럼 즉 기본을 호출해도 파생이 호출될 거 같은데두번째 파생시에는 virtual 의 성격이 사라질 거 같습니다. 확인 부탁드립니다. 강사님
-
해결됨C개발자를 위한 최소한의 C++
생성자와 소멸자의 호출
04_Constructor 테스트 중에 질문 드립니다.Test test01; 과 같이 선언하면 생성자와 소멸자가 모두 호출되는데Test test02 = new Test(); 와 같이 호출하게 되면 소멸자는 호출되지 않습니다. 그 이유가 뭔지 궁금합니다.친절한 강의 감사드립니다.