묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
application.properties 수정을 해줘도 에러가 납니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]에러메시지와 AutoAppConfig, AppConfig를 보여드릴게요 ***************************APPLICATION FAILED TO START***************************Description:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined by method 'memberRepository' in class path resource [hello/core/AutoAppConfig.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class]This may be due to missing parameter name informationAction:Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumedEnsure that your compiler is configured to use the '-parameters' flag.You may need to update both your build tool settings as well as your IDE.(See https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#parameter-name-retention) package hello.core; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import org.springframework.context.annotation.*; @Configuration//설정정보니까 @ComponentScan//스프링빈을 쫙 긁어 가지고 자동으로 스프링 빈으로 끌어올려야 된다. ( basePackages = "hello.core.member",//이 위치에서부터 찾아서 들어가는 것 이렇게 해갖고 멤버부터 컴포넌트 스캔 대상이 된다 basePackageClasses = AutoAppConfig.class,//지정한 클래스의 패키지를 탐색 시작 위치로 지정한다. 지정 안하면 디폴트 excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) )//컴포넌트 스캔을 사용하면 @Configuration 이 붙은 설정 정보도 자동으로 등록되기 때문에, AppConfig, TestConfig 등 앞서 만들어두었던 설정 정보도 함께 등록되고, 실행되어 버린다. 그래서 excludeFilters를 이용해서 설정정보는 컴포넌트 스캔 대상에서 제외했다. public class AutoAppConfig {//테스트 결과 memberService2, memoryMemberRepository 이두가지만 입력 됨 @Bean(name= "memoryMemberRepository") //@Primary //한 빈을 기본적으로 사용하고 싶다면 그 빈에 @Primary 어노테이션을 추가하세요. public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } }// 설정 정보 클래스의 위치를 프로젝트 최상단에 두는 것, 프로젝트 시작루트에 두는게 좋음, componentScane->스프링 빈 자동 등록 SpringBootApplication ctrl+클릭해보면 알수 있다. //컴포넌트 스캔 기본 대상 컨트롤러, 서비스, 리포지터리, 컨피규레이션 다 스프링 빈 등록 어노테이션 상속이나, 연동되는 기능없다.package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @Configuration //안붙여도 스프링 컨테이너에 스프링 빈로 다 등록됩니다 애를 빼고 테스트시 순수한 앱구성이 출력됨 근데 이렇게 되면 다른 싱글톤이 깨짐 출력이 5개 전체 출력됨 public class AppConfig { //@Bean memberService -> new MemoryMemberRepository() //@Bean orderService -> new MemoryMemberRepository() 이렇게 하면 싱글톤이 깨지지 않을까요?? //이 골뱅이 빈이면 컨텐츠 앱이 들어와요 //call AppConfig.memberService //call AppConfig.memberRepository //call AppConfig.memberRepository //call AppConfig.orderService //call AppConfig.memberRepository //실제 테스트 돌려보니 //call AppConfig.memberService //call AppConfig.memberRepository -> 이게 세번호출되어야 하는데 한번만 호출 된 신기한 상황 스프링이 정말 어떠한 방법을 써서라도 싱글톤을 보장해 주는구나 라는 걸 아실 수 있음 //call AppConfig.orderService //appconfig에 비밀이 있다. //이 골뱅이 빈이 붙은 메서드마다 이미 스프링빈이 존재하면 존재하는 빈을 //반환하고 스프링빈이 없으면 새로 생성해서 스프링빈으로 등록해서 반환하는 코드가 동적으로 //만들어지는 거예요 이덕분에 싱글톤이 보장되는거에요 없으면 스프링빈등록, 있으면 기존에 꺼내서 반환 그렇기 때문에 세번 호출되는게 아니라 한번만 호출 이미 등록이 되있어서 // @Autowired MemberRepository memberRepository;//이렇게하면 Configuration 없애도 해결이됨 의존관계 주입 그러면 스프링에서 다시 끌어온 거를 집어넣어 주는 거거든요 @Bean public MemberService memberService(){// 멤버서비스가 빈의 이름 System.out.println("call AppConfig.memberService");//soutm return new MemberServiceImpl(memberRepository());// ctrl+alt+m 리턴해서 new해서 반환하는 요 객체를 빈 객체로 등록해준다. 요거를 스프링 빈이라고 한다. }// 빈 이름은 항상 다른 이름을 부여 @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService() { System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(),discountPolicy());//이렇게 주입된걸 넣어주면 테스트 통과됨, 주소값도 같음 } @Bean public DiscountPolicy discountPolicy() { //return new FixDiscountPolicy();// 할인 정책에대한 객체를 바꾼다. return new RateDiscountPolicy(); } }
-
미해결[유니티 실전 프로젝트] Burger Please 모작
12강 npc 네비게이션 위치 질문입니다.
네비게이션에서 나중에 배치되어 제작시, 알수없는 위치에 추가되는 오브젝트에 따라 npc 네비게이션이 작동되는걸 만들려면, 콜라이더(충돌)로 하면 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
강의 버전관련 문의입니다
강의 버전이 구버전(Ver.1)인 것 같은데 Ver.2로 어떻게 업데이트하나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8 - K 질문
http://boj.kr/137ec1df9b104354b9678dbe3c1581c2사진에서 위에 제출은 선생님 코드를 따르고아래 제출은 링크인데 왜 실행 시간에서 큰 차이가 나는 건가요? 함수에 (vector<long long> &tree)로 참조할 벡터를 직접 넣어서 프로그램이 바로 찾을 수 있어서 빠른 건가요?아니면 scanf(), printf()와 cin, cout의 차이로 시간에서 차이가 나는 건가요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
aws를완강하고 ci/cd로 넘어왔습니다.
스프링부트로 진행중이라서 nest.js는 아예모르는데 섹션6,7부분은 뺴고 들어도 상관업나요?
-
미해결스프링 핵심 원리 - 기본편
applcation.properties 수정해도 에러가 납니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined by method 'memberRepository' in class path resource [hello/core/AutoAppConfig.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class]This may be due to missing parameter name information이런 에러메시지가 뜨고.. AutoAppConfig 클래스 @Bean(name= "memoryMemberRepository") MemberRepository memberRepository(){ return new MemoryMemberRepository(); } 그리고 AppConfig 클래스 @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); }이렇게 두 메서드 이름이 같아서 생기는 거 같은데 원래 여기 까지 들을때 다른 이름으로 수정 되어있어야 하나요?
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-2)
강의를 들으면서 생긴 질문이 있습니다.
안녕하세요, 강의를 들으면서 생긴 질문 세가지가 있습니다. 답변해주시면 너무 감사드리겠습니다. Swift Concurrency에서 NSLock을 사용해도 되나요? 이전 GCD환경에서 데이터 동기화를 위해 사용하던 NSLock을 Swift Concurrency환경에서 사용해도 같은 효과를 볼수있을지 궁금합니다. Actor에 접근할때는 await으로 Task를 따서 비동기적으로 접근하는데, 기존에 비슷한 참조타입인 class에 접근하는것보다 속도가 느려지는 이슈는 없을까요? cpu에서 context switch를 하면, 저장하고 로딩하는 동기화하는 작업때문에 컨텍스트 스위칭이 비효율적이다 라고 설명해주셨는데, 그럼 swift concurrency에서는 task가 다른 cpu(다른 쓰레드) 에서 재개되는것도 동기화작업이 필요할텐데 이 작업은 비싼(?) 비효율적인 작업이 아닌가요? 질문이 조금 많은데.. 액터까지 강의 들으면서 궁금했던 점이라 부탁드립니다.
-
미해결스프링부트 시큐리티 & JWT 강의
JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?
안녕하세요. 현재 강의를 통해 JWT를 구현하여 전체적인 개념을 익힌 백엔드 개발 취준생입니다. 배운것을 저의 웹 프로젝트에 적용하려고 했지만 이 api를 호출해서 하는 것은 자바스크립트를 사용해서 하는 것이 있길래 백엔드 개발자라면 어디까지 구현해야할지가 참 어려운 것 같습니다. RestController로 API 개발까지는 수업을 통해 구현할 수 있지만 나머지를 웹에 적용하는 것은 어려운 것 같습니다.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
강의를 듣다가 파일구조를 보다가 궁금한점이 있어서 질문드립니다
안녕하세요 제가 파일 구조를 보다가 하나 궁금한점이 생겼는데요[username] 폴더는 제 마이페이지를 보여주는걸로 아는데 모달로 route가 되어있잔아요 라우트가 근데 [username]파일 안에 index 파일에 패스 url 언디파인일때 보여주는 거 같더라고여 이거는 혹시 다른 상황에 대비해 패스 경로가 언디파인이여도 정상적으로 보여줄수 있도록 설계가 되있는 건지 궁금해서 질문 남깁니다..!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Async 프로그래밍 링크 위치 문의
안녕하세요 맨 처음 강의에 1:33:35 보시면 강사님이 "그리고 Async 프로그래밍도 제가 링크를 넣어둘테니까 설명에다가 찾아가셔가지고 보시면" 이라고 하셨는데 그 링크가 어디에 있나요? 다른 질의를 보았는데 대답이강의 설명이나 강의섹션의 다운로드 링크를 보라고 하셨는데 강의 설명이라 함은 동영상 재생될때 화면에 팝업으로 뜬다는 말씀이신가요? 그게 안뜨는데...그리고 강의섹션의 다운로드링크는 어디에 있는건아요?컴퓨터로 강의를 듣는데 찾을수가 없네요 ㅠ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
프로젝트 오픈 에러
제공된 소스 폴더 itemservice-db-start 를 itemservice-db로 변경 후 openProject 하였더니 다음과 같은 빌드 에러가 납니다..질문 답변 봐도 별 내용 없는거로 보아 저만 이런거같은데 어떻게 해결하나요
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
vercel 배포 1명
vercel 배포는 한명 한테만 되는건가요? 그리고 링크를 전달해서 당사자가 링크에 들어가면 로그인을 하라고 뜨는데 제 아이디로 로그인 하지 않으면 프로젝트를 사용할 수 없는데 이게 원래 맞는건가요?
-
미해결따라하며 배우는 리액트 네이티브 기초
React-Native 강의중 expo 모바일이랑 연결 중에 이런 오류가 나네요
강의에서 하라는대로 했고, qr코드 아이폰 카메라로 인증 했는데 이렇게 뜨는데 어떤걸 수정하면 이런오류가 나지 않을까요? 오류가 나는 이유도 모르겠는데 답변 부탁드립니다.
-
미해결
디지털 평생 교육 이용권도 인프런 사용 가능할까요?
이번에 새로 신설된 교육 바우처에서 디지털 부분도 인프런에서 사용가능한지 문의 드립니다
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
k8-Master 설치 관련 문의드립니다.
mac 버전 카페에 나온대로 설치 후 쿠바네티스 모니터링화면 까지는 나옵니다.모니터링 화면 데이터가 나오지를 않습니다.세팅은 완료되었는데, 어느부분을 제가 놓친 것이 있는 지 궁금합니다.알림을 클릭해보면 다음과 같은 에러가 있습니다.customresourcedefinitions.apiextensions.k8s.io is forbidden: User "system:bootstrap:n272y3" cannot list resource "customresourcedefinitions" in API group "apiextensions.k8s.io" at the cluster scopere 그라파나와 loki 세팅하여 강의 대로 봤는데 데이터는 N/A입니다.
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
Filesystem MCP 등록 질문
안녕하세요. 먼저 좋은 강의 제공해주셔서 감사합니다 정말 잘 듣고 있습니다 🙂 다름이 아니라, 해당 강의(MCP 서버 Cursor에 등록하여 개발 연동)를 보면서 여러 방법을 시도해보고 있긴 하지만, smithery에서 json형식으로 값을 뽑아도 디렉토리 관련 등록 정보는 담겨있지 않는데 선생님께서는 어떤 부분을 수정하셨는지 알려주시면 감사하겠습니다 😀
-
미해결비전공자도 이해할 수 있는 DB 설계 입문/실전
프론트단에서 고정 저장 / 백엔드에서 조회 저장
데이터베이스에 저장해야 한가? 아닌가? 구분은 이 정보들이 자주 바뀌는 정보면 데이터 베이스에 저장을 해 놓는다. 프론트단에서 백엔드로 저 데이터를 받아와서 그때 그때 실시간으로 업데이트를 시키는 것이 훨씬 좋다? 이렇게 말씀하셨는데 고정일 경우에는 그냥 프론트 코드에서 고정 시켜서 연동하면 된다는 것으로 이해했습니다. 고정적이니까 백엔드까지 갈 필요 없이 프론트 코드에서 연동하면 된다는 것도 이해가 됩니다. 그런데 자주 바뀌면 백엔드에 저장한다? 이 말씀 자체가 이해가 안됩니다. 그러면 백엔드에서 해당 앱들에 대한 데이터들을 어떻게 연동한다는 것인지 이해가 안가요. Oauth를 통한 연동 이런 것을 말씀하시는 걸까요? 그런데 그러면 고정적일 때도 어짜피 연동은 해야하니까 백엔드에 하는 것이 맞지 않을까요? 데이터를 Db에서 주고 받는데 백엔드에서 처리하는게 맞지 않을까요? 제가 백엔드 개발자 신입이여서 자세히는 모르겠습니다. 설명 부탁드립니다.
-
미해결블렌더 기초 : 3D그래픽 여행 아이콘을 만들며 배우는 블렌더 애니메이션 기초 과정
모디파이어 두께 만드는데 면이 안 생겨요
저는 왜 옆면이 안 생길까요?
-
미해결3D 모델링 입문을 위한 라이노(Rhino) '꿀팁' Part.2
OrientOnSrf에서 합집합
안녕하세요 섹션1 7강에서두께 없는 오픈 서피스 위에 원뿔 모양의 닫힌 폴리 서피스 두 개체가 합집합이 되는 이유가 궁금합니다.두께가 없는 평면하고도 불리언 유니온이 되는건가요?
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-2)
협력적 쓰레드 풀에서 쓰레드 운영방식 질문 드립니다.
3강 협력적 쓰레드 풀에서 쓰레드 운영방식에 대한 질문 드립니다.보통 컴퓨터 살때 8코어, 10코어..이런식으로 얘기 하잖아요..CPU당 하나의 쓰레드를 만들어서 운영한다면 Swift Concurrency에서는 8개, 10개 정도의 쓰레드만 가지고 동작하는건가요?