묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
MyLogger 스코프
[질문 내용]requeste 스코프 예제 만들기 20:17초에 나오는 LogDemoService의 MyLogger에 관한 질문입니다. 해당 스코프가 request니까 각 http요청당 하나씩 생성되고 종료되는 거로 알고 있습니다. 처음 컨트롤러에서 생성된 MyLogger를 사용하고 그 다음 서비스에도 MyLogger를 사용하는데 이 때 컨트롤러에서 세팅한 값 MyLogger객체가 그대로 서비스에도 쓰이는 거 같은데 이게 어떻게 가능한거죠?? 컨트롤러와 서비스 코드 간에 같은 MyLogger 객체를 공유하는 어떤 기능이 있는 건가요? 동시에 100개의 http 요청이 들어왔을 때 구분을 어떻게 하는지 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
의존 관계 주입이 끝나는 시점
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]초기화 메서드는 의존 관계 주입이 끝난 후에 실행된다고 이해했습니다. 그런데 의존 관계 주입 단계라는 구간은 정확히 언제까지인가요? 이 코드의 경우엔 setUrl()에서 의존 관계 주입이 일어나지만스프링이 초기화 메서드를 실행하려면 의존 관계 주입이 끝났다는 것을 정확히 파악해야 할 것 같은데 스프링은 다음 중 어떤 식으로 의존 관계 주입이 끝났다는 것을 판단하나요? 1) setUrl()이 호출된 이후, 즉시 의존 관계 주입이 끝났다는 것을 판단할 수 있다.2) networkClient() 메서드 호출이 완전히 끝날 때(return문의 실행이 끝나고 나서)까지가 의존 관계 주입이라고 판단한다.3) 기타.. 혹시 강의 때 말씀하셨었나요? pdf로 복습하는 중인데 이 부분이 궁금하네요..
-
미해결스프링 핵심 원리 - 기본편
스프링 컨테이너가 아닌 순수한 자바로 테스트
안녕하세요강의 20:33 에서 스프링 컨테이너가 아닌 순수한 자바로 테스트할 수 있는 방법이 없다라고 해주셨는데요 AutoAppConfigTest.java 에서 메소드만 실행 시키면 순수한 자바 테스트이고 클래스 레벨에서 실행시키면 스프링 컨테이너의 도움을 받는건가요?@SpringBootTest 어노테이션이 붙어야 스프링 컨테이너 도움을 받는건가요 ..? 헷갈리네요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자바 gradle 21호환 버전문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.기존에 자바 11버전 사용하다 21 버전으로 프로젝트생성했는데 빌드작업이 안되고 있습니다애러 로그는이렇게 떠서 gradle 버전 변경해주고 프로젝트 설정도 변경해줘도 해결이 안되서 올립니다 ㅠㅠ
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
교재 속 나 혼자 코딩 문제 답안관련 질문
안녕하세요, 은종 선생님 🙂 다름 아니라 책에 있는 '나 혼자 코딩!'문제의 답안이 자료실 제공이라고 나와있는데..! 혹시 자료실은 어디있을까요!?
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
반복문에서 사용되는 변수 선언 위치
[질문 내용]강사님, 안녕하세요!반복문에서 사용되는 변수의 선언 위치에 대해 질문 드립니다.반복문에서 반복 사용될 변수의 경우에 저는 위의 코드처럼 반복문이 시작하기 전에 선언하는 편이었는데요, 반복문이 실행될 때마다 변수가 선언되면 메모리 낭비가 아닐까 해서였어요. 그런데 교안 정답을 보니 productName, price, quantity를 반복문 내에서 선언하고 바로 사용하는 식으로 사용하시는 것을 보고 궁금해져 질문 드립니다!변수를 생성하고 삭제하는 것 자체는 메모리 소모가 유의미하지 않기 때문에 반복문 내에서 생성-사용-삭제를 반복하게 해도 괜찮은 걸까요? 유익한 강의 감사합니다! :)
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
새로운 switch 문 default
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 새로운 switch 문 (java 14이상) 을 작성할 때 default 문은 무조건 있어야 하는건가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
수업자료 오타(?) 제보입니다..!
섹션 2 "변수" 수업 자료중 프로그램은 한 줄씩 순서대로 실행된다. 어떻게 실행된 것인지 자세히 확인해보자. ```javaa = 10; //변수 초기화: a(10) //1. 변수 a에 10을 저장한다.System.out.println(a); //2. 변수 a의 값을 읽는다. a에는 10이 들어있다. 10을 출력한다.a = 50; //변수 값 변경: //3. 변수 a의 값을 50으로 변경한다. a(10 -> 50)System.out.println(a); //4. 변수 a의 값을 읽는다. a에는 50이 들어있다. 50을 출력한다. ``` 참고로 변수의 값을 변경하면 변수에 들어있던 기존 값은 값은 삭제된다."값은" 이 중복 되어 있어 올립니다..!
-
미해결김영한의 실전 자바 - 기본편
static 메모리 영역
안녕하세요! 강의 수강 중인 학생입니다:)자바 메모리 구조와 static 강의에서 static은 메서드 영역에 저장된다고 배우며, static 관련하여 찾아보던 중 자바 8버전 이후부터는 힙 영역에서 관리된다는 글을 확인하게 되었습니다.이후, static이 메서드 영역에 저장되는 것인지 힙 영역에 저장되는 것인지 명확하게 파악할 수 없어 질문 남기게 되었습니다ㅜㅜ 어떤 부분에서 관리되는 것일까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
인텔리제이 and 이클립스 대해서 질문하려고 합니다
예전에 이클립스로 자바 수업을 듣고 공부했는데...이클립스 로 사용했던 자바 언어과 인텔리제이로 자바 언어과는 틀린가요?안틀리면은 이클립스로 공부하다가 취업 후 인텔리제이로 해보려고 합니다 지금은 프론트엔드 취준생입니다 답변을 부탁합니다
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열에 대한 질문
안녕하세요 강사님 배열에 대해서 정말 이해하기 쉽게 알려주셔서 정말 감사드립니다!students[0] = 90;students[1] = 80;students[2] = 70;students[3] = 60;students[4] = 50;이 선언문을 for문을 활용해서students[i]가 이전의 값을 계속 참조해서 10씩 증가즉,students[0] = 60;students[1] = 70;students[2] = 80;students[3] = 90;students[4] = 100;이렇게 응용한 코드를 작성해보려고 했는데 해당코드가 리펙토링이 잘 된 코드인지 컨펌을 받고 싶습니다.
-
미해결스프링 핵심 원리 - 기본편
OCP 개방-폐쇄 원칙에 관해
OCP 개방 -폐쇄 원칙확장에는 열려있으나 변경에는 닫혀 있어야 한다.-> 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현그러면 소수의 메서드를 수정하고 싶은 경우, 본래 있던 클래스의 수정하지 않을 메서드들을 호출하여 사용해도 될까요?
-
미해결스프링 핵심 원리 - 기본편
이클립스 프로젝트 실행 시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1. 이클립스에서 Ctrl + F11 누르고 실행했는데 다음과 같이 뜨는게 맞나요...2. 저는 영한님과 다르게 Exit Code 0 이 Console 창에 뜨지 않는데 상관없을까요
-
미해결스프링 핵심 원리 - 기본편
AnnotationConfigApplicationContext(appconfig.class, DiscountService.class)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 3: 42초쯤에 스프링 컨테이너를 생성하여appconfig.class 도 함께 넣어주는데 이미 다른 테스트ex) AutoAppconfigTest같은 곳에서 빈으로 등록해주었는데 또 컨테이너 안에다가appconfig.class 를 빈으로 등록해주면 충돌이 나야할것같은데 잘 이해가 가지 않아서요!!1.혹시 테스트별로 컨테이너가 "독립적으로" 생겨서 다른 테스트와는 별도의 컨테이너로 여겨져서 그런것일까요?이유를 설명해주시면 감사하겠습니다!!^^1.혹시 테스트별로 컨테이너가 "독립적으로" 생겨서 다른 테스트와는 별도의 컨테이너로 여겨져서 그런것일까요?의존 관계 주입으로 @Autowired 를 쓰면 자동으로 이미 등록된 appconfig.class 의 discountPolicy 타입의 빈들을 불러올 수 있지 않을까요? 현재 지금까지 강의 들었을때 저번에 @Test basic scan() 으로 만들었던 컨테이너입니다. 여기다가 빈으로 자동 등록이 됐는데 또 다른테스트에서 만들어도 상관없는것인지위의 2개 이유를 들어 여쭤봅니다!!//-----------------------------------------------------제가 알기론 스프링 컨테이는 하나만 생성되는것으로 알고있는데 위배되는것이 아닌가 해서요!=>만약에 2개 이상 생성이 가능하다고 한다면 각 컨테이너에 동일한 빈들이 똑같이 들어가게 돼도 "컨테이너참조값이 다르기 때문에" 빈 중복 등록이 아닌것이 되나요?
-
미해결스프링 핵심 원리 - 기본편
강의 내용 질문입니다.
여기서 Map에다가 member 정보를 넣은 이유랑, private static으로 선언한 이유가 뭔지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
빈으로 등록하지 않았는데 @Autowired를 통해 의존성 주입할 때 충돌이 납니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 @Autowired를 사용해 의존성 주입을 하다 충돌이 나서 질문드립니다.MemberRepository인터페이스 -> MemoryMemberRepository 구현체후자에만 @Component를 붙인 상황입니다.그런데Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [/Users/minsung/Desktop/study/core/out/production/classes/hello/core/member/MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository이런식으로 memberRepository 또한 빈으로 등록되어 있었습니다.@Autowired가 클래스 타입으로 조회한다는 것은 알고 있지만 빈으로 등록되어있는 애들 중에서 조회하는 것 아닌가요...?왜 memberRepository를 빈으로 등록하지 않았는데 빈으로 등록되어있는지@Autowired는 왜 빈으로 등록되지도 않은 memberRepository를 찾을 수 있었는지@Autowired 보다는 @RequiredArgsConstructor 사용을 권장하던데 이제 @Autowired는 잘 쓰이지 않는 것인지궁금합니다!
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
코드샌드박스 화면구성이 달라졌네요.
오늘부터 공부시작하려고 환경설정을 열었다가 바로 막혔습니다.바닐라 자바스크립트 템플릿이 안보여요 ㅠㅠ 해결부탁드립니다.
-
미해결스프링 핵심 원리 - 기본편
싱글톤 DIP 위반 관련하여 질문합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의에서 싱글톤 패턴 문제점 중에 의존관계상 클라이언트가 구체 클래스에 의존한다(DIP 위반)라고 하셨는데 제가 제대로 이해하고 있는지 알고 싶습니다.제가 생각하기에는 AppConfig.class파일을 다음과 같이 구성하고, public class AppConfig { public MemberService memberservice(){ return MemberServiceImpl.getInstance(); } public MemberRepository memberRepository(){ return MemoryMemberRepository.getInstance(); } }MemberSeriveImpl은 MemberRepository를 참조하고 있기 때문에 생성자를 통하여 DI를 하기 때문에, 다음과 같이 코드를 작성하였습니다.public class MemberServiceImpl { private final MemberRepository memberRepository; private final static MemberService memberService = new MemberServiceImpl(); public MemberService getInstance(){ return memberService; } private MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = MemoryMemberRepository.getInstance(); } } 그 결과 Client인 MemberServiceImpl 입장에서는 MemoryMemberRepository를 주입하기 위하여 어쩔수 없이 구체 클래스(MemoryMemberRepository.class)를 의존할 수 밖에 없는것 같습니다.(싱글톤 패턴을 유지하기 위해 미리 의존관계등을 미리 세팅해야됨)제가 제대로 이해한건지 맞는지 알고싶습니다
-
해결됨스프링 핵심 원리 - 기본편
CoreApplicationTests 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]CoreApplicationTests 부분에서 오류가 나는데 강사님과는 다른 오류가 나서 질문 드립니다. Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [D:\core\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository memoryMemberRepo를 매칭해야 하는데 2개가 존재해서 그런 것 같은데(맞는지는 잘 모르겠습니다)MemberService에는 아무런 Annotation도 붙이지 않았는데 왜 그런 걸까요? (작성한 코드 이미지 첨부합니다) 추가Appconfig 의 @Bean 이 붙은 메소드에 모두 @Primary를 붙여서 어찌저찌 해결은 했는데무슨 이유로 저 오류가 나는건지 궁금합니다
-
해결됨스프링 핵심 원리 - 기본편
혹시 오타인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]의존관계 자동 주입.pdf의 14페이지에서@Qualifier 수정자 자동 주입 예시 코드 부분에서리턴 타입이 DiscountPolicy로 써져 있는데,setter이니깐 리턴 타입이 void여야 맞지 않나요?혹시 오타인가 싶어서 말씀드립니다. +)15페이지 @Primary 수정자 코드,17페이지 애노테이션 만들기 수정자 코드에서도 똑같이 void가 아니라 DiscountPolicy로 되어 있습니다.