묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
"@Autowired 필드명"과 "@Primary" 우선순위
문득 @Autowired 필드명 과 @Primary 의 우선순위가 궁금해서 아래와 같은 테스트를 진행해봤습니다. OrderServiceImpl 클래스의 생성자 파라미터 중에서 DiscountPolicy 타입의 변수명을 fixDiscountPolicy 로 변경하고RateDiscountPolicy 클래스에 @Primary 를 주고 테스트를 돌려봤습니다.@Test void test2() { // 강의에서 사용하던 AutoAppConfig.class ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); OrderServiceImpl orderService = ac.getBean(OrderServiceImpl.class); // OrderServiceImpl 클래스에 getDiscountPolicy 따로 정의 assertThat(orderService.getDiscountPolicy()).isInstanceOf(RateDiscountPolicy.class); } 위 테스트의 결과는 통과하였습니다.즉, @Primary 가 @Autowired 필드명 보다 우선순위가 높다는 얘기인데 몇가지 궁금한 점이 있습니다.제가 궁금한 내용을 확인하기 위해서 위처럼 테스트를 하는 것이 맞나요?(여기서 OrderServiceImpl 클래스의 멤버변수인 discountPolicy 변수명은 안 건드려도 되죠?)테스트가 통과하는 게 맞는 결과인가요?이와 같은 흐름으로 이해하는 게 맞나요?1) 생성자 주입이 이루어질 때 DiscountPolicy 타입으로 등록된 빈 2개 발견2) @Primary 가 있는 RateDiscountPolicy 타입의 빈이 주입3) 만약 @Primary 가 없었다면 @Autowired 필드명 에 의해 FixDiscountPolicy 타입의 빈이 등록 됨그럼 @Qualifier , @Primary , @Autowired 필드명 순서로 우선순위가 높은 게 맞죠?위 내용과는 별개의 질문인데요 특정 클래스에 @Primary 를 붙여주면 해당 클래스의 인스턴스가 빈으로 등록될 때 BeanDefinition 에 @Primary 관련된 정보도 같이 들어가는건가요?
-
미해결[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
Visual Studio Code 통합?
안녕하세요! Visual Studio Code를 각 각 다른 컴퓨터에 다운 받아서 사용하였는데요!해당 작업물이 각 각 다르게 나오고 있더라고요..각 각 다른 컴퓨터에서 각기 다른 작업을 하는 2개의 Visual Studio Code를 통합하여 어느 컴퓨터에서 사용하든 작업을 이어갈 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 1-J long long 선언 관련 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/b83ac67345ca4ddc920bf59bf488a427혼자서 풀다가 하도 안 돼서 강의를 봤는 데 답이 되는 변수의 범위가 커서 long long으로 선언되야 하는걸 놓친 걸 알고 고쳤지만 그래도 틀리더라구요.선생님과 다른 부분이었던 map에 추가할 문자열 b(제 코드에서는 wearKind)를 구하는 과정을 선생님 코드처럼 바꾸니까 맞더라구요.이 부분의 제 코드가 안 되는 반례가 있는거 같아 보이는데 도움 부탁드립니다.. 다시 확인해보니 제 코드에서 m == 0 인 경우 그 뒤 로직수행을 해도 되지만 굳이 안하게 하기 위해 0을 출력하는 로직을 추가했는데 이때 '\n' 출력을 빼먹었네요.. 해결 되었습니다.'\n'을 안넣은 것도 잘못했지만 m==0일 때 0을 출력하는 로직은 뒤에 로직에서 다 포함해서 해결해준다는 걸 문제 풀때 확인했는데도 굳이 해당 로직을 넣은게 아쉽네요. 문제를 풀때는 m=0일때의 계산량을 줄여줄 수 있다고 생각해서 추가했는데 지금 생각해보면 굳이? 느낌이네염.. 1-J 관련해서 다른 질문이 생겨서 글 수정해 질문드립니다.답이 될 변수 ret이 long long으로 선언되어야 한다는 점에 대해 생각해보면서 ret의 최댓값을 생각해봤습니다.언뜻 생각해봤을 때 해빈이가 가질 수 있는 의상의 수는 최대 30이므로 모든 의상의 종류가 다를 때의 경우의 수인 2^30-1 정도가 최댓값이 될거 같았습니다. 좀 더 생각해서 의상의 종류가 30개에서 조금 줄어든다면 답에서 지수 30이 29,28 줄어들고 대신 3, 4..가 곱해질텐데 그러면 값이 더 작아지는 것으로 생각되어 최댓값은 2^30 근처인 것으로 생각이 됩니다.하지만 int는 최대 2^31-1 까지 되는 것으로 알고 있어서 이 문제에서 가능할 거 같습니다.선생님께서 말씀하신 바는 경우의 수 문제처럼 한 변수에 계속 숫자를 곱해나가는 경우 팩토리얼처럼 매우 쉽게 숫자가 급격하게 커질 수 있고 이 문제에서처럼 가능하더라도 정확하게 범위를 생각하는 것보다 맘편하게 4바이트? 더 써서 안전하게 푸는게 좋다는 뜻일까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
시분할과 스케줄링
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]얼마만큼 실행될지는 운영체제가 결정하는것을 스케줄링인데 그럼 스케줄링이 실행되고나서 시분할이 적용되는 방식인가요?
-
미해결하루 10분 한달완성 최적화이론 1
최적화이론 2
안녕하세요 최적화이론1을 거의 완강한 수강생입니다.강의중에 몇몇 내용들은 최적화이론2에서 다룰거라고 몇 번 말씀을 하셨는데, 아직 최적화이론2 강의가 있는거 같지 않아서 여쭤봅니다.혹시 최적화이론2 강의 계획이 있으신가요?최적화이론1 강의가 도움이 너무 많이 되어서 2 강의도 꼭 듣고 싶습니다.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[오타 제보] 11. 동시성 컬렉션.pdf 14페이지
[오타 내용]대상 강의록: 11. 동시성 컬렉션.pdf 대상 페이지: p.14 첫 번째 그림에 대한 설명 중 마지막 부분내용기존: 클라이언트인 test() 입장에서 ... (중략) ... BasicList의 어떤 구현체든지 다 받아들일 수 있다.변경: 클라이언트인 test() 입장에서 ... (중략) ... SimpleList의 어떤 구현체든지 다 받아들일 수 있다.강의 잘 듣고 있습니다!
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
서버 오류(?)
npm run start:dev 했을 때 오류는 안 나는데 'refresh'해도 스키마에 Tables에 table이 안 떠요..그래도 일단 진행해 봤는데 수업 노트 보고 api/axios.ts도 수정한대로 했는데 ERROR [ExceptionsHandler] No metadata for "User" was found. 이 오류가 뜨는데 어떻게 해결할 수 있을까요..이 오류 때문에 회원가입,로그인 눌러도 아무 반응이 없는 것 같아요. 아래 질문에 '[3-8]회원가입/로그인 오류' 글에 저와 같은 오류가 나오신 분이 있었는데 댓글봐도 해결을 못하겠네요
-
미해결스프링 부트 - 핵심 원리와 활용
실행하면 오류가 나면서 종료됩니다.
19-Feb-2025 22:14:57.625 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\cksgh\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]을(를) 배치하는 중 오류 발생 java.lang.IllegalStateException: 자식 컨테이너를 시작하는 중 오류 발생 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:602) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:654) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:635) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:530) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:421) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1629) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.startup.Catalina.start(Catalina.java:761) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) Caused by: org.apache.catalina.LifecycleException: 구성요소 [org.apache.catalina.webresources.StandardRoot@77659b30]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:406) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:179) at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4121) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4243) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599) ... 37 more Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\Users\cksgh\Desktop\공부자료\스프링 강의자료\스프링부트 핵심원리와 활용\boot-source-20230228\start\server\build\exploded] is not a directory or war file, or is not readable (it does not exist or permissions to access it are missing) at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:749) at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ... 41 more19-Feb-2025 22:14:57.636 INFO [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\cksgh\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]의 배치가 [114] 밀리초 내에 완료되었습니다.19-Feb-2025 22:14:57.644 INFO [main] org.apache.coyote.AbstractProtocol.start 프로토콜 핸들러 ["http-nio-8090"]을(를) 시작합니다.19-Feb-2025 22:14:57.937 INFO [main] org.apache.catalina.startup.Catalina.start 서버가 [488] 밀리초 내에 시작되었습니다.http://localhost:8090/19-Feb-2025 22:18:24.376 INFO [Thread-1] org.apache.coyote.AbstractProtocol.pause 프로토콜 핸들러 ["http-nio-8090"]을(를) 일시 정지 중19-Feb-2025 22:18:25.117 INFO [Thread-1] org.apache.catalina.core.StandardService.stopInternal 서비스 [Catalina]을(를) 중지시킵니다.19-Feb-2025 22:18:25.120 INFO [Thread-1] org.apache.coyote.AbstractProtocol.stop 프로토콜 핸들러 ["http-nio-8090"]을(를) 중지시킵니다.19-Feb-2025 22:18:25.127 INFO [Thread-1] org.apache.coyote.AbstractProtocol.destroy 프로토콜 핸들러 ["http-nio-8090"]을(를) 소멸시킵니다.Process finished with exit code 130
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
추천하시는 강의 듣는 방법!
혹시 강의를 처음에는 쭉 보면서 따라하거나 정리하고 다시한번 한입 북스를 스스로 만들어보면서 nextjs흐름을 파악하면서 잘 모르겠거나 막히는 부분 강의 다시 한번 듣고 소스 코드 보고 이렇게 듣는 방식이 젤 괜찮은가요?? 아니면 스타일링이나 단순 리액트 컴포넌트를 구성하는 부분은 혼자서 해보고 강의를 듣는 방식이 더 나을까요?? 감사합니다
-
해결됨서류합격률 4%를 탈출하는 개발자 이력서 작성법(실습 포함)
강의 출강이나 외부 교육을 제가 강사로 진행한 건 대외 활동에 적으면 되나요?
단기간 교육을 진행한 것이긴 한데 경력에 적기는 애매한데 대외 활동에 적는게 맞겠죠?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이거 문제가 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]정상적인건가 했는데 영상의 선생님을 보니 아닌것같아서 질문드립니다.프로젝트 실행후 종료하면 아래 사진과 같이 에러같은 문구가 뜹니다. 프로젝트도 정상적으로 빌드되고 따라하는데 문제도 없으니 문제 없는건가 싶었는데 영상의 선생님을 보니 선생님은 프로젝트를 종료하실때 이런 화면이 안뜨는 것같아 뭔가 잘못된건가 싶습니다.그러다가 아래사진의 Settings -> Build Tools -> Gradle 에서Build and rung using 과 Run tests using을Gradle -> 에서 IntelliJ로 변경 후 빌드 하고 종료하니 아무런 문구가 뜨지 않습니다. 해당 설명은 프로젝트 생성 영상에서 언급하셨던 것으로 생각하는데 그때는 속도차이정도로 밖에 설명을 안하셔서 저는 그냥 딱히 인텔리제이 옵션으로 변경하지 않고 Gradle로 그대로 했었습니다. 그런데 이번에 프로젝트를 실행하고 종료하고 하다보니 오류문구같은 차이가 있다보니 혹시 추후에 문제가 있을까 싶어 질문드려요. 어떠한 차이점일까요?
-
미해결기획자님 이 정도 웹 개발은 배워보면 어떨까요? [이론+실습]
StockList 만들기 중 404 ERR_BAD_REQUEST 에러
StockList 만들기 중 404 ERR_BAD_REQUEST 에러 발생하여한참 구글링 해보다가 아래의 방법으로 해결하였습니다.혹시 같은 에러 있으신 분들 참고하세요 보안 이슈땜에 proxy 설정 필요합니다. 1) npm install http-proxy-middleware --save2) src 폴더에 setupProxy.js 생성 후아래 내용 복사const { createProxyMiddleware } = require("http-proxy-middleware"); module.exports = function (app) { app.use( "/api", createProxyMiddleware({ target: "http://localhost:3000", changeOrigin: true, }) );};
-
해결됨[2025]비전공자도 한 번에 합격하는 SQLD Part2
docker에 SQL 연결시 질문
Part 1 강의 듣고 따라오는 중인데Part 2 강의도입부에 Dbeaver 설치랑 docker관련부분은 비전공자가 보기에 무슨 얘기를 하시는지를 모르겠어요...MS SQL 설치방법 에서 Dbeaver에 SQL 연결시에 "앞서 설정하셨던 패스워드를 입력합니다" 라고 하시는데 무슨 패스워드를 말씀하시는 걸까요?MyStrong@Passw0rd 를 입력하긴 했는데 test 커넥션 단계에서 "호스트 localhost, 포트 1433에 대한 TCP/IP 연결에 실패했습니다. 오류: "Connection refused: getsockopt. 연결 속성을 확인하세요. SQL Server의 인스턴스가 호스트에서 실행되고 있고 포트에서 TCP/IP 연결을 허용하고 있는지 확인하세요. 또한 방화벽에서 포트로의 TCP 연결을 차단하지 않는지 확인하세요." 라는 오류가 뜨면서 진행이 안됩니다.
-
해결됨Open API 사용 with 파이썬
참고 사이트는 어디에서 확인이 가능할가요
참고 사이트 다운 받을 수 있는 경로는 어디일가요교수님.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
실행에러 문의
안녕하세요 제가 실행하면 계속 이런 에러가떠서 어떻게 해결해야되는지 궁굼합니다!!
-
미해결[PL 0303] 데이터 시각화를 위한 파이썬 - 맷플롯립 마스터 클래스
학습자료 문의
안녕하세요.챕터6의 학습자료가 없는 것 같아서 질문 올립니다.다른 챕터는 학습자료가 표시되는데 챕터6. Text Objects만 없는 것 같습니다.감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
이번 수업 특히 좋았습니다
브로드캐스팅에 관해서 늘 미심쩍은(?) 부분이 있었는데 이렇게 해소가 되는군요.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
react-native-reanimated가 Java 11에서 지원되지 않는 기능을 사용하고 있기 때문에 Java 17 이상으로 업데이트하고 Gradle 설정을 수정해야 합니다.
자바 11썻다가 버전이 안맞다고 해서 17버전으로 올렸고 react-native-reanimated 버전도 낮춰서 했는데 계속 자바 11에서 지원되지 않는 기능 사용한다고 오류 뜹니다 gradle도 8버전 쓰고 있고 혹시 몰라서 babel도 플러그인 해서 넣어봤는데도 안되는것같습니다 ㅠㅠ
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
st link
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요안녕하세요 지금까지 잘 따라하고 있었는데 갑자기 stlink연결에 문제가 생겨서요ㅠ 장치관리자에서도 잘 인식하는데 디버깅만 하면 펌웨어 업데이트 하라고 하는데 예전 게시물이랑 구글링에 나온 방법으로도 해봤는데 도무지 해결이 안되어서요 ㅠ .. 혹시 빵판 연결을 제대로 못해서 그런가 싶어서 다 분해해놨는데도 여전히 st link 펌웨어 업데이트 오류가 떠요..! .
-
미해결기획자님 이 정도 웹 개발은 배워보면 어떨까요? [이론+실습]
home 화면에 불러와지지 않아요!
BMI 계산기 프로그램 완성하기 5:14 ~APP.vue 파일에서<router-view></router-view>main.js 파일에서 import { createApp } from 'vue' import App from './App.vue' import router from './router' createApp(App) .use(router) .mount('#app') 작성하면 선생님이 보여주신 거처럼 하단에 HomePage가 나와야 하는데저는 HomePage 가 나오지 않아요.BMI를 눌러도 BMI 가 나오지 않습니다. BMI를 클릭하면BMI를 클릭하면 path만 변경되지 다른 반응이 나오지 않습니다.코드는 제가 직접 적진 않았고 선생님이 작성해준 코드를 그대로 넣었습니다index mainapp.vue