묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
3분 30초 경 오류 해결 부분
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 오류 로그 Failed to load ApplicationContext for [MergedContextConfiguration@65ae095c testClass = hello.core.CoreApplicationTests, locations = [], classes = [hello.core.CoreApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@4ef37659, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@306cf3ea, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@52102734, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@4d910fd6, org.springframework.boot.test.context.SpringBootTestAnnotation@930cd593], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]강의의 3분 30초 경 오류 코드를 수정하는 순서에서의 AutoAppConfig클래스의 3줄을 주석처리 하는 부분을 처리 하였는데도 오류가 떠서 GPT에 검색을 해보니까 주석 처리를 했는데도 memoryMemberRepository Bean이 두개가 등록이 되어있다고 나옵니다.AutoAppCofig 코드package hello.core; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { // @Bean("memoryMemberRepository") // MemberRepository memberRepository() { // return new MemoryMemberRepository(); // } } MemberServiceImpl 코드package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired // ac.getBean(MemberRepository.class) public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; } }MemberService 코드package hello.core.member; public interface MemberService { void join(Member member); Member findMember(Long memberId); } MemoryMemberRepository 코드package hello.core.member; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @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); } }
-
미해결스프링 핵심 원리 - 기본편
강의 3분 50초 classes=Configuration.class에 대한 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]해당 강의 3분 45~50초 경, 영한쌤께서 Configuration 어노테이션이 붙어있는 클래스를 제외시키기 위해 classes=Configuration.class 이러한 코드를 Filter에 적용하신 것을 확인했습니다. 그런데 AutoAppConfig 클래스도 @Configuration이 적용되어 있는 클래스가 아닌가요?? 해당 클래스는 어떤 과정으로 인해서 제외되지 않는지 궁금합니다! 감사합니다:-)
-
해결됨김영한의 실전 자바 - 기본편
패키지 활용
패키지가 나눠서 안만들어 지는데 어떻게 해야하나요???윈도우 컴퓨터 쓰고있습니다!!
-
미해결김영한의 실전 자바 - 기본편
자바 다음 강의
자바 다음 강의는 언제 나올까요?
-
미해결스프링 핵심 원리 - 기본편
저는 콘솔창이 왜 이렇게 뜰까요ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이전부터 이랬는데 별 다른 문제 없이 강의를 들을 수 있어서 그냥 냅뒀습니다. 그런데 점점 이유가 궁금해지더군요ㅠㅠ 13:37 쯤 영한쌤은 테스트가 완료된 뒤 콘솔 출력창에 로그가 쭉 뜨는데, 저는 테스트가 완료되어도 빈 화면으로만 뜨네요..
-
해결됨김영한의 실전 자바 - 기본편
Local vaeriable initialization
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.사용 운영체제: M1 MacJava version: openjdk 17---문제: 상품 주문 시스템 개발 - 리팩토링 부분을 풀다가 약간 저의 개념이 애매모호한거 같아 질문드립니다.여기서 32번째 줄에 대한 내용입니다.local variable을 +=연산자를 적용하려면 꼭 초기화를 해야되는지에 대한 겁니다. 기본적으로 primitive type의 int형은 0으로 자동 초기화가 됩니다. 그런데 local 범위에서 compile error가 납니다. 그 이유가 더 밖의 범위에서 totalAmount가 초기화가 되거나 할 때 버그가 생길 수 있기 때문에 compile에러가 일부러 나게끔 설정한건가요??
-
해결됨스프링 핵심 원리 - 기본편
Nullpoint exception 문제 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]옵션처리 강의까지 강의를 잘 따라 가다가 모든 테스트 파일의 코드들을 실행시켰을때 2가지 오류가 납니다. 첫번째는 다음과 같은 nullpointexception이 뜹니다.두번째는 BeanNotOfRequiredTypeException오류가 발생합니다.어디를 어떻게 고치면 좋을까요?
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
socket 질문드립니다
1. 그림에서 빨간색 부분은 무슨 기능을 하는 건가요? 출력에도 영향이 없는 거 같아서 질문드립니다 그림에서 파란색부분에서 클라이언트가 wirte 할 때까지 대기하고 있는 건가요? 클라이언트 역시 readline을 만나면 서버가 write할 때까지 대기하는 건가요?
-
미해결스프링 핵심 원리 - 기본편
문서 오타네요 disConnect -> disconnect
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결김영한의 실전 자바 - 기본편
intellij package import 문제입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]안녕하세요. 섹션6 접근 제어자 사용 - 필드, 메서드 파트 청강 중 AccessOuterMain 클래스를 생성하여 AccessData 클래스를 import할 때 문제가 생겼습니다. 현재 저는 windows 환경에서 intellij community Edition 2023.1.2 버전을 사용중입니다. 디렉토리 구조는 다음과 같습니다. > src > access > a - AccessData - AccessInnerMain > b - AccessOuterMain - Speaker - SpeakerMain 다음은 access.a.AccessData 의 코드 내용입니다.package access.a; public class AccessData { public int publicField; int defaultField; private int privateField; public void publicMethod() { System.out.println("publicMethod 호출: " + publicField); } void defaultMethod() { System.out.println("defaultMethod 호출: " + defaultField); } private void privateMethod() { System.out.println("privateMethod 호출: " + privateField); } public void innerAccess() { System.out.println("내부 호출"); publicField = 100; defaultField = 200; privateField = 300; publicMethod(); defaultMethod(); privateMethod(); } } 다음은 access.b.AccessOuterMain 의 코드 내용입니다.package access.b; public class AccessOuterMain { public static void main(String[] args) { AccessData data = new AccessData(); // 해당 부분에서 AccessData가 code suggestions도 안나오고 직접 import를 해도 import를 할 수 없습니다. } } access.b.AccessOuterMain 의 코드에서 AccessData 가 import가 되지 않습니다. intellij에서 code suggestion도 안되고(다른 코드는 code suggestion 잘 됩니다.) 직접 import를 해도 AccessData에 빨간불이 들어옵니다. 왜 그럴까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
ArrayList 사이즈 값 초기화
안녕하세요 나도코딩 선생님:)따로 코드를 작성해서 연습중에 있습니다. 클래스 내에서 멤버변수로 ArrayList와 int를 지정했습니다.하지만 ArrayList 내에 사이즈가 초기화 되지 않아서 이유가 무엇인지 질문드립니다! private int heapSize; private ArrayList<PointerAddress> memory = new ArrayList<>(heapSize); // 여기 ArrayList의 사이즈가 변하지 않습니다! public void init(int heapSize) { if (validateInit(heapSize)) { int memorySize = heapSize / BYTE_LENGTH; this.heapSize = memorySize; } else { System.out.println("[ERROR] : 잘못된 값을 입력했습니다."); } }
-
해결됨김영한의 실전 자바 - 기본편
생성자 관련 질문드립니다.
public class MemberConstruct { String name; int age; int grade; MemberConstruct(String name, int age){ this(name, age, 50); } MemberConstruct(String name, int age, int grade){ System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); this.name = name; this.age = age; this.grade =grade; } }this(name, age, 50); this.name = name; this.age = age; this.grade =grade;안녕하세요. 생성자와 관련하여 질문드립니다.this(name, age, 50) 을 실행시키기 위해서는 this.name = name, this.age = age, this.grade = grade 코드가 최소 한번은 작성되어있어야 하나요? MemberConstruct(String name, int age, int grade){ System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); this.name = name; this.age = age; this.grade =grade; } }제 생각으로는 System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); 코드 앞에 this.name = name, this.age = age, this.grade = grade 코드가 있어야 될 것 같습니다. 제가 이해한 바로는 MemberConstruct 메서드의 매개변수 name, age, grade를 받고, this.name, this.age, this.grade를 사용하여 생성된 객체의 맴버변수(name, age, grade)에 대입하는 과정으로 이해했습니다. 그렇다면 this.name, this.age, this.grade가 먼저 실행되어야 되는 것 아닌가요? (대입한 값을 넣은 뒤 실행해야 되는 것 아닌가요?) 위 사진으로 첨부한 코드가 (생성자 호출 name = null age=0, grade =0)으로 실행되지 않고, 어떻게 정상적으로 실행되는지 궁금합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
문제와 플이2 코드에서..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]9. 메소드, 문제와 풀이2 코드에서저는 if문으로 풀었지만, 강사님께서는 switch문으로 푸셨더라구요.궁금한점은 switch문에 case4: 부분은 왜, return이 들어가나요? break나 continue는 안되는 이유는 알겠지만,return은.. 반환값도 없는데... 잘 모르겠습니다.
-
해결됨김영한의 실전 자바 - 기본편
기본편 다음 강의
2-3월 출시 예정이라고 하셨는데, 제가 지금 조금 급해서 혹시 강의가 3월초 안에 나올 수 있는지 궁금해서 질문 남깁니다!
-
해결됨스프링 핵심 원리 - 기본편
OrderApp코드에서 new MemoryMemberRepository에 대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]OrderApp에서 appCofig.memberService()와 appCofing.orderService() 를 실행하고, memberService.join과 orderService.createOrder를 실행하는데memberService()에서 생성된 MemoryMemberRepository와 orderService()에서 생성된 MemoryMemberRepository가 둘 다 new로 다른 객체라고 생각이 되는데 어떻게 createOrder에서 아이디가 1L인 회원을 조회할 수 있는건가요?join된 메모리와 createOrder에서 하는findById를 실행하는 메모리는 다른 MemoryMemberRepository 객체 아닌가요?
-
미해결김영한의 실전 자바 - 기본편
객체 생성 질문
즉 ValueObject 라는 클래스에 만약 hello 라는 변수로 만들었다고 가정해보겠습니다.ValueObject hello = new ValueObject(); 그러면 hello 라는 객체가 생긴거고 오른쪽 그림에는 hello 인스턴스가 생성된 것인가요 ?아니면 hello 라는 객체가 생성되었꼬, ValueObject 라는 인스턴스가 생성된 것인가요 ?
-
해결됨김영한의 실전 자바 - 기본편
[6. 접근제어자][문제와풀이2] 쇼핑카트 질문 (p.19)
안녕하세요 저는 선생님께서 작성해주신 코드와 다르게 하기 처럼작성하였습니다.자체적으로 총 합계를 구해서 displayitems에 같이 도출했는데 하기 처럼 작성해도 무관할까요?값을 동일하게 도출됩니다.public class ShoppingCart { //배열 private Item[] items = new Item[10]; private int itemCount; public void addItem(Item item) { //item에 데이터 넣어야 함.. 순환할 필욘 없는 듯 if (itemCount >= 10) { System.out.println("장바구니가 가득 찼습니다."); return; } items[itemCount] = item; itemCount++; } public void displayItems() { System.out.println("장바구니 상품 출력"); int sum = 0; for (int i = 0; i < itemCount ; i++) { System.out.println("상품명 : " + items[i].itemName() + ", 합계 : " + items[i].itemTotalPrice()); sum += items[i].itemTotalPrice(); } System.out.println("전체 가격 합 : " + sum); } }
-
미해결스프링 핵심 원리 - 기본편
강의에서 필드 주입 방식이 스프링 의존적이라고 하신 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]의존성 자동 주입의 방법 4가지 중 필드 주입의 방법만 스프링 의존적이라고 하시는 건가요? 아니면 @Autowired를 이용한 의존관계 자동주입 방법 4가지가 모두 스프링 의존적이라는 의미인가요?제 생각에는 필드 주입만 스프링 의존적이라는 게 좀 이해가 안가서요... 4가지 방법 모두 @Autowired 를 이용한 주입방법인데, 오직 필드 주입만 스프링 의존적이라서 단위 테스트가 불가능하다고 하시는건까요?+추가혹시 제가 이해한 내용이 맞을까요?!4가지 방법 모두 스프링 의존적인게 맞음. 그러나 다른 방법은 단위 테스트 시 의존관계가 안들어왔을 경우 내가 직접 넣어줄 수 있는데 필드 주입은 그럴 방법이 아예 없기 때문에 테스트를 꾸리는 것이 힘들어진다는 의미임.
-
미해결스프링 핵심 원리 - 기본편
수정자 주입으로 의존관계가 주입 안된 빈이 실행될 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]수정자 주입을 통한 의존관계 주입 시, 해당 의존관계 빈이 컨테이너에 없더라도 예외가 발생하지 않고 실행된다고 하셨는데요.그러면 의존관계가 주입되지 않은 상태에서 실행이 됐고, 이후 의존관계가 없는 해당 빈을 사용하게 되면 런타임 에러가 발생하나요? 아니면 해당 타입의 추상체가 의존관계로 주입이 될까요?? 어떻게 동작하는지 궁금합니다. +추가혹시 제가 이해한 게 맞을까요?!4가지 방법 모두 스프링 의존적인게 맞음. 그러나 다른 방법은 단위 테스트 시 의존관계가 안들어왔을 경우 내가 직접 넣어줄 수 있는데 필드 주입은 그럴 방법이 아예 없기 때문에 테스트를 꾸리는 것이 힘들어진다는 의미임.
-
미해결김영한의 실전 자바 - 기본편
김영한의 실전자바-기본편 섹션6 연습문제 두번째
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 김영한의 실전자바 기본편 섹션6 연습문제 두번째 문제에서 코드에서 제가 작성한 코드와 김영한 선생님이 작성한 코드가 다른데 차이점을 알고 싶습니다.//저의 코드 public void displayItems() { System.out.println("장바구니 상품 출력"); for (int i = 0; i < itemCount; i++) { System.out.println("상품명:" + items[i].getName() + ", 합계:" + items[i].sumPrice()); } //비교하고싶은 부분 System.out.println("전체 가격 합: "+totalPrice()); } //김영한 선생님 코드 public void displayItems() { System.out.println("장바구니 상품 출력"); for (int i = 0; i < itemCount; i++) { Item item = items[i];//저와 다른 부분 System.out.println("상품명: " + item.getName() + ", 합계: " + item.getTotalPrice()); } System.out.println("전체 가격 합: " + calculateTotalPrice()); } 저의 코드는 items[i] 의 참조값의 getName과 sumPrice를 불러서 프린트 했고,김영한 선생님은 items[i]를 item에 할당해서 item의 getName과 Price를 프린트 했지 않습니까? 질문 1. 기능적으로는 똑같은거 같은데 둘의 차이가 있습니까? 질문 2. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?