묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔 강의 @Component 붙이는 곳
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]컴포넌트 스캔 강의에서 모든 클래스에 @Component 어노테이션을 붙이지 않는데요 예를 들면 Order 클래스에는 @Component 를 붙이지 않는데모든 클래스에는 왜 안붙이고 특정 클래스에만 붙이는 건가요?그리고 어떤 클래스에 붙여야 하는건가요??
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔 강의와 관련해 @Autowired 사용과 의존관계 주입
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]컴포넌트 스캔 강의를 듣다가 의존관계를 주입한다고 @Autowired 어노테이션을 붙이는데 생성자에만 붙이는건가요?? 정확히 의존관계 주입이라는 개념이 뭔지를 잘 모르겠어서요ㅠㅠㅠㅠ의존관계라는게 정확히 뭘 말하는 건가요?그리고 @Autowired 어노테이션은 어디에다가 붙이는 건가요??
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
섹션 7 전달값 질문입니다!
1. 6분 44초에 int result = 1; 이라고 작성해주셨는데이 의미가 궁금합니다! (result가 무엇을 의미하는지 궁금합니당 만약 결과값이라면 왜 1을 써야 하나요?) 6분 59초에 for i 를 쓰셨는데 여기서 i는 무얼 의미하는 건지 궁금합니다!앞의 int result가 이해가 되지 않아 result = result * number;의 의미도 궁금합니다!
-
미해결Java TPC 실전프로젝트 (Java API 활용)
Gson 라이브러리 추가시 오류
현재 Gson을 lib에 추가하는 초기 설정을 하고 있습니다.인터넷에 검색을 해보니이렇게 Classpath 에 넣어라고 하더라고요. 저도 그래서 동일하게 진행했는데import com.google.gson.Gson 에 마우스를 가져다대면The type com.google.gson.Gson is not accessible라고 에러가 뜹니다.그리고module-info 에 들어가면 빨간 밑줄이 있습니다.Gson 을 classpath 가 아닌 module path로 옮기면 해결되긴 합니다.classpath 로 두고 에러를 해결하려면 어떻게 해야될까요?감사합니다 :)
-
미해결스프링 핵심 원리 - 기본편
assertThat에서 타입 확인할때 인터페이스 타입, 구현체 타입 둘다 가능한가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예첫번째 그림에서빈 이름, 타입으로 조회할때, 조회된 객체는 컨테이너에 등록된 객체이고, 해당 객체의 클래스(MemberServiceImpl)를 isInstanceOf 할때 인자로 사용하신 걸로 이해했는데(당연히 맞는말인건 알고 있습니다.) 두번째 그림에서 컨테이너에 등록된 객체가 인터페이스의 인스턴스로가 맞다고도 검증이 되는데 이유가 무엇인지 궁금합니다. 그냥 인터페이스 변수에 구현 클래스의 객체가 주입될 수 있어서 인터페이스의 인스턴스로도 맞다고 하는건가요?.아래의 두 문장, 인터페이스의 인스턴스, 해당 객체의 클래스의 인스턴스, 둘다 isInstanceOf 정상 동작하는 건 확인했습니다.assertThat(memberRepository).isInstanceOf(MemoryMemberRepository.class);assertThat(memberRepository).isInstanceOf(MemberRepository.class);
-
해결됨스프링 핵심 원리 - 기본편
룸북 설치에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]compileOnly 부분에 에러가 뜹니다.Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method compileOnly() for arguments [org.projectlombok:lombok] on root project 'core' of type org.gradle.api.Project.
-
미해결스프링 핵심 원리 - 기본편
취업 전까지 최소 어디까지 듣는게 맞을까요??
안녕하세요 영한님 먼저 감사인사 올립니다. 덕분에 개발인생을 포기하지않고 재미있게 공부중입니다 ㅋㅋㅋ 일단 제 스펙은 전공자(편입)정보처리기사 sqld 정규직 수습6개월 (계약과 다른 업무로 인해 프로젝트 종료 후 퇴사)입니다. 첫회사를 다니면서 개발실력이 매우 부족하다 생각했고 직무변경에대해 많은 고민을 하던 도중 영한님 수업을 접했고 백엔드로 취업준비중입니다. 현재 강의는 스프링입문스프링 기본HTTP를 수강했습니다. 이 상태로 바로 취업준비를 해도 될지 걱정입니다.. 물론 취업 후에도 꾸준히 공부를 할 예정이지만 취업전 최소한의 백엔드 커리큘럼은 어느정도일지 궁금하여 질문드립니다. 감사합니다
-
미해결스프링 핵심 원리 - 기본편
OrderServiceImpl클래스에서 질문있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]지금 빨간줄이 그어져있는부분에 repository가 아닌memberRepository로 변수명을 바꾸면 옳게 나오는데 혹시 repository로 변수명을 설정했을때와의 차이가 어떤게 있을까요?
-
미해결스프링 핵심 원리 - 기본편
CoreApplication 실행이 안돼요....!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요! 선생님따라서 인텔리제이에 core파일 open해서 CoreApplication실행하려고 하는데 run 버튼도 꺼져있고 실행이 안되는데 어떻게 해결해야할까요....??
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
참조 내용에서 조금 헷갈리는게 있습니다.
c2가 c1이 되는 부분을 풀어서 정의하면질문이 총 두가지입니다.c2와 같은건 참조값이라고 부르나요? 아니면 참조변수라고 부르나요?c2가 c1이 된다는건 c1이 참조하고있던 주소를 c2도 참조하게 된다는건가요? package nodocoding; import camera.Camera; public class _16_Reference { public static void main(String[] args) { // 참조 // 기본 자료형 (Primitive Data Types) : int, float, double, long, boolean, ... int[] i = new int[3]; System.out.println(i[0]); //0 double[] d = new double[3]; System.out.println(d[0]); //0.0 //참조 자료형 (Non-Primitive, Reference Data Types) : String, Camera, FactoryCam. Speedcam .. // 참조형은 따로 값을 정의 하지 않았을 때는 null 이다 // 참조 자료형은 대문자로 시작한다. String []s = new String[3]; System.out.println(s[0]); Camera[] c = new Camera[3]; System.out.println(c[0] == null); //////////// System.out.println("---------------"); int a = 10; int b = 20; b = a; System.out.println(a); // 10 System.out.println(b); // 10 b = 30; System.out.println(a); // 10 System.out.println(b); // 30 System.out.println("---------------"); Camera c1 = new Camera(); Camera c2 = new Camera(); c1.name = "카메라1"; c2.name = "카메라2"; System.out.println(c1.name); System.out.println(c2.name); c2 = c1; System.out.println(c1.name); System.out.println(c2.name);1 c2.name = "고장난 카메라"; System.out.println(c1.name); System.out.println(c2.name); changeName(c2); System.out.println(c1.name); System.out.println(c2.name); c2 = null; // 풍선을 놓은 꼴 //System.out.println(c2.name);//에러 c2 = new Camera(); c2.name = "새로생긴 카메라"; System.out.println(c2.name); } private static void changeName(Camera camera) { camera.name = "잘못된 카메라"; } }
-
미해결스프링 핵심 원리 - 기본편
싱글톤 패턴 관련 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 듣다 의문이 하나 들어 질문드립니다.스프링 컨테이너는 객체 인스턴스를 싱글톤으로 관리한다고 하셨는데요 그럼 이전 강의에서 작성하신 Order 클래스에 있는 필드값들도 다 공유가 되는 필드값인건가요?? 만약에 다 공유되는 필드값이라고 한다면 각 주문마다의 필드값을 생성하고 싶으면 이 또한 지역변수를 이용해야 하는 건가요??
-
미해결스프링 핵심 원리 - 기본편
lombok 설정/추가 시 오류
<build.gradle><코끼리 누르고 발생한 오류 내용>1) 오류는 어떤 부분이 문제인가요? 도와주세요..! 2) 더불어서, file->Settings->Plugins의 Marketplace에 Lombok을 검색했는데, 나오지 않는다면, 롬복 설정이 덜 되어서 그런거죠? 설정이 정상적으로 끝나면 검색 가능할까요? 3) 참고로 위의 2가지는 제대로 진행안되었지만, Settings->Annotaion Processors의 Enable annotaion processing은 먼저 체크해놓았습니다. 만약 과정 중에 체크가 먼저 되어있는게 문제가 된다면 말씀 부탁드립니다. 감사합니다.
-
미해결은종쌤과 자바로 디자인 패턴 쉽게 시작하기
Strategy 패턴 예시 질문드립니다
Strategy 패턴 예시에서showGradeInfo 의 gradeEvaluation을 Factory로 구현하면 Factory 패턴 인가요 Strategy패턴인가요..?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
같은 util패키지인데 왜...다를까요/ 패키지 수업 내용 중 질문입니당
같은 util패키지인데 math는 따로 객체 생성없이 바로 함수 사용이 가능한데, 왜 랜덤은 객체를 생성해서 사용해야 하는걸까요?
-
해결됨Java/Spring 주니어 개발자를 위한 오답노트
DB 엔티티와 도메인 분리
어디까지 추상화 해야 하는가? 강의에서 2분 17초에toDomain()으로 바꿔서 반환을 했는데이렇게하면 JPA 엔티티가 아니라서 변경감지를 사용하지 못하는거 아닌가요? 이러한 방식으로 작성한다면 업데이트가 필요할 때는 어떤식으로 처리하나요?
-
해결됨스프링 핵심 원리 - 기본편
OrderServiceTest에서 무엇을 테스트하는지?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]마지막에 OrderServiceTest에서Assertions.assertThat(order.getDiscountPrice()).isEqualTo(1000); 으로 order에서 할인된 금액이 1000인지를 확인하고있습니다.그런데 OrderService의 createOrder라는 메소드는 회원id(memberId), 상품명(itemName), 상품가격(itemPrice)을 가지는 주문(Order)를 생성하는 메소드인데,OrderServiceTest에서는 assertThat을 이용해서 Order에서 할인된 금액이 1000원이 맞는지를 확인하는 방식으로 테스트를 하고있습니다.제 생각에는 createOrder라는 메소드를 실행하면 우리가 원하는 회원id(memberId), 상품명(itemName), 상품가격(itemPrice)을 가진 객체(Order)가 잘 생성되었는지를 확인하는 방식의 테스트를 진행해야 할 것 같은데, 단순히 할인된 금액이 1000인 것을 확인하는게 조금 이해가 되지 않아서 질문합니다.asserThat(order.getMemberId()).isEqaulTo(memberId)asserThat(order.getItemName()).isEqaulTo("itemA")asserThat(order.getItemPrice())).isEqaulTo(9000)이런 식으로 Order가 잘 생성되었는지에 대한 테스트를 진행하는것이 맞지 않나해서 질문드립니다!
-
해결됨스프링 핵심 원리 - 기본편
Order 인터페이스
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]왜 Order는 인터페이스 먼저 만들지 않고 진행하셨나요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
복습 문제 들은 어디서 받아 볼 수 있나요
복습 문제를 풀려고 하는데 어디로 가면 받을 수 있나요?
-
미해결스프링 핵심 원리 - 기본편
호출할 때마다 memberService가 새로 생성시, memberService가 의존하는 memberRepository는 새로 생성이 안되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]appConfig.memberService()를 호출할 때마다 객체가 새로 생성되는 것은 이해하였습니다. 그런데, memberService에 DI한 memberRepository는 새로 생성되지 않고, 이미 생성된 것을 참조하는 것 같습니다. 아래로 테스트 코드 작성시,member2은 MemberService2에서 join 하였는데,memberService1에서 member2를 findMember하면 조회가 가능합니다. 왜 memberRepository는 새로 생성이 안되는 건가요?@Test@DisplayName("스프링 없는 순수한 DI 컨테이너")void pureContainer(){AppConfig appConfig = new AppConfig(); // 호출할 때마다 객체를 새로 생성 -> 호출이 많을 경우 그만큼 객체가 생성된다.-> 메모리 낭비가 심함. MemberService memberService1 = appConfig.memberService(); MemberService memberService2 = appConfig.memberService(); Member member1 = new Member(1L, "memberA", Grade.VIP); Member member2 = new Member(2L, "memberB", Grade.VIP); memberService1.join(member1); memberService2.join(member2); Member findMember = memberService1.findMember(2L); Assertions.assertThat(member2).isEqualTo(findMember); // memberService1 != memberService2 Assertions.assertThat(memberService1).isNotSameAs(memberService2);}
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
forEach문을 활용한 코딩시간 풀이
안녕하세요~ forEach 문을 활용한 반복 시 걸리는 시간을 구하는 코딩 문제 풀어보았습니다.아쉽거나 고치면 좋은 부분이 있다면 알려주세요수업을 듣고 있는데도 아직까지 혼자 명확하게 코드 짜는게 어렵고 많이 헤매네요ㅠㅠ언제쯤 문제사항을 보고 능숙하게 함수와 메소드를 활용해서 코드를 짤 수 있을까요 응용실력이 얼른 늘었으면 합니다...var check = function(){}; //빈 함수 check 생성 var arr = []; //1~1,000,000까지의 수를 저장할 배열 만들기 for (var i = 1; i <= 1000000; i++) { arr.push(i); }; //반복문 for를 활용하여 변수 i가 1부터 1,000,000가 될 때까지 반복하며 배열에 i 값 추가해주기 var start = Date.now();//시작시간 구할 변수 console.log("시작 시작 : " + start); //반복 시작 전에 선언하여 시작전 시간을 구할 수 있음 arr.forEach(check); //forEach문을 활용하여 배열 반복시키기 var end = Date.now();//종료시간 구할 변수 console.log("종료 시간 : " + end); //반복 종료 후에 선언하여 반복이 끝난 시간을 구할 수 있음 console.log("걸린 시간 : " + (end - start)); //종료시간 - 시작시간으로 반복에 걸린 시간을 구함 //결과 - 걸린 시간 : 7