묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
NoSuchBeanDefinitionException 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]ConfigurationSingletonTest에서 memberRepository 빈이 없다는 오류가 뜹니다. AppConfig 파일에서 memberRepository 메소드가 @Bean으로 잘 등록되었고, AppConfig 파일도 @Configuration으로 잘 등록된 것을 확인했습니다. 다음과 같이 오류가 뜨는 이유를 잘 모르겠습니다. 아래와 같이 ConfigurationSingletonTest코드 중 getBean에서 오류가 생기는 것 같은데 이유를 모르겠습니다.MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class);아래는 MemberServiceImpl, orderServiceImpl, AppConfig, ConfigurationSingletonTest 코드입니다. package hello.core.member; public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; 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; } }package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; } }package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; 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.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean public MemberService memberService(){ return new MemberServiceImpl(MemberRepository()); } @Bean public MemberRepository MemberRepository() { return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ return new OrderServiceImpl(MemberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ //return new FixDiscountPolicy(); return new RateDiscountPolicy(); } }package hello.core.singleton; import hello.core.AppConfig; import hello.core.member.MemberRepository; import hello.core.member.MemberServiceImpl; import hello.core.order.OrderServiceImpl; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import static org.assertj.core.api.Assertions.assertThat; public class ConfigurationSingletonTest { @Test void configurationTest(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); OrderServiceImpl orderService = ac.getBean("orderService", OrderServiceImpl.class); MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class); MemberRepository memberRepository1 = memberService.getMemberRepository(); MemberRepository memberRepository2 = orderService.getMemberRepository(); System.out.println("memberService -> memberRepository = " + memberRepository1); System.out.println("orderService -> memberRepository = " + memberRepository2); System.out.println("memberRepository = " + memberRepository); assertThat(memberService.getMemberRepository()).isSameAs(memberRepository); assertThat(orderService.getMemberRepository()).isSameAs(memberRepository); } }
-
해결됨스프링 핵심 원리 - 기본편
OrderService를 테스트 하는데 MemberService도 꺼네서 사용하는 이유가 있을까요??
코드를 보면 조인만 하고 다른 동작은 안하는것 같은데 막상 MemberService 부분을 제외 해보면 NullPointException이 생겨서MemberService가 있어야만 예외가 안생기는지 궁금합니다@Test void createOrder() { Long memberId = 1L; Member member = new Member(memberId, "memberA", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "itemA", 10000); Assertions.assertThat(order.getDiscountPrice()).isEqualTo(1000); }
-
미해결Next + React Query로 SNS 서비스 만들기
type과 interface를 사용하는 기준이 궁금합니다.
model 폴더에서 PostImage는 interface를 사용하시고 Post컴포넌트에서는 type을 사용하셨는데 두 개를 다르게 사용하는 강사님만의 기준이 있나요 ? 제가 공부한 바로는 간단한 객체 타입일 경우 둘다 사용해도 상관없다. type은 복잡한 유니언 타입을 지정할때 사용한다 interface는 확장이 필요할 경우 사용한다고
-
미해결
MAC 주소와 IP 주소를 둘 다 사용하는 이유
2계층에서는 MAC 주소를 사용하고 3계층에서는 IP 주소를 사용하는 것으로 배웠습니다. 이렇게 두 계층에서 서로 다른 주소 체계를 사용하는 이유가 뭔가요? 2계층에서도 IP 주소를 사용하거나, 3계층에서도 MAC 주소를 사용하면 어떤 문제가 발생하나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-i 질문입니다
http://boj.kr/2e757e26d0db4585afd7179a25022264질문있습니다.문자열을 입력받는다각 문자열을 돌면서 숫자가 있다면 tmp에 넣는다.숫자가 아닌 문자가 들어온다면 tmp를 숫자로 바꿔서 벡터에 넣어주고 tmp를 비운다.로 만들었는데 틀렸다고 하네요예제 같은경우는 정답으로 나오는데 왜 틀렸는지 모르겠습니다.
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
강의 자료가 안보이고 압출풀기가 안됩니다.
커뮤니티에 글올라온거 보고 압축 풀려고하는데 압축풀기가 안된다고 합니다폴더 이름을 바꿔도 계속 안됩니다.wer05003@naver.com으로 보내주실수있나요?
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
사전 학습 모델에서의 layer 변경에 대한 질문
안녕하세요 강사님, 강의 잘 보고 있습니다.다름이 아니라, pretrained model에서 강의에서와 같이(1) model의 feature extraction 부분에서 Conv2d의 kernel_size를 줄이고 (2) model의 fully connected layer에서 출력 크기를 10으로 줄인 부분에서 의문이 있어서 글을 남기게 되었습니다.(2)의 경우는 사실 fully connected layer가 복잡한 구조..?를 가지지는 않는다고 생각하여 다시 학습하는 데 별로 문제가 없다고 생각합니다.하지만, (1)의 경우, 모델의 초반에서 아예 kernel size를 변경했고, 모델 프리징 강의에서 언급하신 바와 같이 그렇게 바꾸게 되면 임의의 랜덤 값으로 가중치가 초기화된다고 말씀하셨는데..! 그렇다면 Imagenet 모델로 사전 학습한 것이 의미가 있는건지 살짝 의문이 듭니다ㅠㅠ사전 학습 모델의 목적이 그대로 웨이트를 사용한다는 것보다 모델의 구조를 가져온다는 것이라면 납득이 되지만, 사전 학습에서의 가중치가 transfer learning 될 때 어떻게 사용되고 변하는지를 잘 몰라서 이런 궁금증이 생긴 것 같습니다..항상 좋은 강의 감사합니다!!
-
해결됨실무에 바로 적용하는 스토리북과 UI 테스트
어떤 Copilot 사용하시는지 여쭤봐도 될까요..
강사님 좋은 강의 잘 듣고 있습니다.혹시 사용하시는 Copilot이 어떤건지 여쭤봐도 되나요?
-
해결됨Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
질문
내용
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
settings.json과 extensions.json의 내용은 어디서 가져오나요? 강의 영상에는 그냥 text파일에 저장된 것을 가져오는데.. 어디서 가져오는 모르겠습니다
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결입문자를 위한 LangChain 기초
랭체인 실행이 안됩니다.
import os from dotenv import load_dotenv from langchain_openai import ChatOpenAI load_dotenv() OPENAI_API_KEY = os.environ["OPENAI_API_KEY"] llm = ChatOpenAI(model="gpt-3.5-turbo-0125", openai_api_key=OPENAI_API_KEY) #chain 실행 llm.invoke("지구의 자전 주기는?")저는 VSCode로 강의를 따라하고 있었습니다.Failed to batch ingest runs: LangSmithError('Failed to POST https://api.smith.langchain.com/runs/batch in LangSmith API. HTTPError(\'403 Client Error: Forbidden for url: https://api.smith.langchain.com/runs/batch\', \'{"detail":"Forbidden"}\')')이 오류가 뜨면서 실행이 안되는 이유를 모르겠습니다.현재 상황은 이렇습니다.OPENAI_API_KEY는 정확합니다. 혹시나 해서 openai 튜토리얼을 따라해보니, 유효한 api key라는것을 확인할 수 있었습니다.llm.invoke("지구의 자전 주기는?") 구문을 실행시키면 해당 오류가 뜹니다.전체 패키지를 재설치해도 결과는 같았습니다.
-
해결됨
(C언어) scanf("%hhd %hhd", &A, &B);가 작동하지 않아요!
#include <stdio.h> int main(void) { char A, B; scanf("%hhd %hhd", &A, &B); printf("%d", (int)A + (int)B); return 0; }백준에서 1000번 문제인 A+B를 풀다가 A와 B의 조건이 0 < A, B < 10 인 것을 보고 char 자료형으로 최대한 메모리를 적게 쓰려 했습니다. 그런데 vs code로 한줄한줄 디버깅을 해보니 코드의 7번째 줄에서 A의 값으로 자꾸 0이 들어갔습니다. 자료형도 바꾸고(int) 다른 형식 지정자(%d)로 입력 받으니 제대로 작동했습니다.. 무엇이 문제인 걸까요??또, 그 문제에 코드를 넣어 제출하니 맞았다고 나왔습니다. 분명 디버깅할 때에는 정상적으로 작동하지 않았어요. 제 컴퓨터 문제인 걸까요?
-
해결됨진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
[5강] 경로 수정 시 한글로 입력하면 오류가 발생하는 건
강사님, 안녕하세요!경로를 수정하려 하는데 한글을 입력하면 아래 이미지와 같은 오류가 뜨더라구요.그래서 영어로 해보니 영어는 또 되더라구요!왜 한글은 안 되는 걸지 여쭤보고 싶습니다!감사합니다! >새 폴더 입력하려 하는데 ㅅ까지만 입력되고 그 뒤로는 입력하려 하면 저런 오류창이 떠요!
-
미해결앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
수업자료 markup 에 대해 궁금합니다!
좀 샛길로 샌거 같지만... 이런 질문에도 답변해주신다면 너무 감사합니다ㅠㅠ//: 로 마크업 다시는거 혹시 수정은 어떻게 하는지 알 수 있을까요..? 수업자료로 코드 주신걸 보다가 궁금해졌는데요. 한줄로 마크업 다는거는 //: 이렇게 하니까 달아지던데, 저는 xcode에서 바로 적용이 되더라고요. https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_markup_formatting_ref/AddingMarkup.html#//apple_ref/doc/uid/TP40016497-CH100-SW1이 문서 보니까 markup in source editor 랑 rendered documentation mode 에서 다르게 보여지는거 같은데...이건또 어떻게 설정하는지도 모르겠고요ㅠㅠㅠ
-
해결됨[유니티 게임 개발] 핵심 기술과 디자인 패턴
CSV 강의 스크립트 파일
스크립트 파일은 어디서 받을 수 있을까요?
-
해결됨Windows 시스템 프로그래밍 - 기본
선장님 , _beginThreadEx() 함수 원리는 어디서 정보를 얻을 수 있을까요?
_beginthreadEx() 이 친구가 Thread safe하지 않은 함수가 있을 때, 해당 함수들을 문제없게끔(?) 부르도록 Thread를 create하는 것 까지는 이해가 됬는데, 원리가 궁금해집니다. 내부적으로 Lock을 하거나, 임계영역을 설정하는 등의 동기화 기법을 자동으로 하는 건가요? 아니면, 혹시 관련된 자료를 어디서 얻을 수 있을까요.. 구글링을 열심히 해봤지만 관련자료가 안나와서 선장님께 질문드려봅니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 질문
안녕하세요! 2-I 맞왜틀이 나와서 질문드립니다...일단 문제의 예제 입력은 다 맞게 나오던데요,제가 짠 코드의 로직은:입력받은 문자열을 문자 하나하나 앞에서부터 검사해서, 0~9까지의 숫자이면 string s에다가 저장해놓습니다. 즉 숫자를 저장합니다.만약 0~9까지의 숫자가 아니면 문자가 등장했다는 뜻이므로 여태까지 s에 저장되었던 숫자열이 저장될 vector<string> nums에 push_back() 합니다.그런 다음 공간채우기용 0을 제거하는 로직을 거치는데요.nums의 문자열들을 string num을 통해 가져와서 앞에서부터 하나하나 검사하는데 0을 만나게 되면 공간채우기용 0을 의미하므로(is_zero_prefix == true) 0이 아닐 때까지 다음 문자를 하나하나 검사하다가 0이 아닌 문자를 만나면 공간채우기용0 검사모드를 끝냅니다.(is_zero_prefix==false)이런 로직들을 거쳐서 원하는 출력을 내보내는데요..분명 맞게 나오는데 어떤 반례가 있길래 맞왜틀이 나와버리네요 ㅠㅠ어떤 부분이 잘못된걸까요..?http://boj.kr/a20edfc48ee4476d938520e7fe90a188
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
mapper 생성 시...
mapper를 만들려는 entity와 model의 맴버변수가 또다른 클래스로 되어있는 경우 class RobotEntity { Weapon weapon; string number;}class Weapon { String name; double power; Weapon(this.name, this.power)}class RobotModel { Weapon weapon; string number;}entity와 model의 맴버변수가 클래스로 되어있고 또 그 맴버 변수의 맴버 변수가 클래스로 되어있는 경우... 매퍼를 만들려니 너무 손이 많이 가서요. 다른 방법이 있을까요?extension ToRobotModel on RobotEntity { RobotModel toRobotModel() { return RobotModel( weapon: Weapon(name, power) number: number, ); } } extension ToARobotEntity on AppInfoModel { RobotEntity toRobotEntity() { return RobotEntity( weapon: Weapon(name,power) number: number, ); } }
-
미해결핸즈온 리액트 네이티브
app>(tabs)>index.tsx 경로로 되어 있고 app.js 파일이 보이지 않아요.
Expo 프로젝트 생성 후 수업과 다른 파일 구조로 생성이 되서요. tsx 파일로 보입니다. 재설치 해야 할 까요?
-
미해결초보를 위한 도커 안내서
Error establishing a database connection 질문 드립니다.
yaml 파일 생성 후 docker-compose up 하고 호출 시 Error establishing a database connection 가 뜨는데 해결이 안됩니다.로그 이미지 같이 첨부합니다.