학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. member 라는 객체에 id와 name이 모두 담겨있을 텐데 hashmap 을 또 만들어서 id와 name을 맵핑시키는 이유가 있을까요?
투포인터를 하기 위해서 정렬을 사용하셨는데, 문제를 읽어보면 '... a1, a2, ..., an으로 이루어진 수열이 있다. ... 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는' 이라는 문구가 있어서, 정렬을 하게 되는 순간 기존의 index 순서가 바뀌기 때문에 함부로 정렬을 하면 안되는 문제 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 진행중에 HelloSpringApplication 파일을 run하면 터미널에서 building중이라면서 계속 시간은 지나가는데 종료가안되요. localhost:8080 에는 진입되는데 building이 계속진행되는건 뭘까요... 정지를 누르면 아래처럼 에러메시지가 나와요. Execution failed for task ':HelloSpringApplication.main()'. > Build cancelled while executing task ':HelloSpringApplication.main()' * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 13s 3 actionable tasks: 2 executed, 1 up-to-date
안녕하십니까? 강의 정말 잘 들었습니다! 궁금한 점이 있어 질문 드립니다. 네트워크에서는 빅 엔디언이 표준으로 알고 있습니다. 그래서 제가 헤더에 값을 채우고 이를 송수신하면 당연히 빅 엔디언일 것이라고 생각하고 있었습니다. 그런데 개발을 하면서 보니 Windows에서 소켓을 통해 보내는 데이터가 htonl() 같은 함수를 쓰지 않고 구조체에 데이터를 넣으면, 리틀 엔디언으로 보내더라고요. 소켓 프로그래밍이 처음이다 보니 빅 엔디언과 리틀 엔디언에 대한 일반적인 룰이 존재하는지 궁금하여 질문을 드리고 싶습니다. 일반적으로 데이터를 송수신할 때, 모든 변수를 다 빅엔디언으로 변환하여 헤더나 페이로드에 넣고 전송한 후 수신한 빅엔디언을 전부 리틀 엔디언으로 변환하여 사용하나요? 아니면 송신할 때 리틀엔디언으로 보내고, 수신하는 쪽도 리틀엔디언으로 디코딩해서 쓰는 것도 일반적인지 궁금합니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] section7 @Autowired 필드 명, @Qualifier, @Primary의 약 2:16초 강의의 내용대로 아래의 코드를 public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy rateDiscountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = rateDiscountPolicy; } 이렇게 바꿔주었지만 AutoAppConfigTest > basicScan()에서 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [/Users/dani/Desktop/dani/practice-spring/spring-basic/core/out/production/classes/hello/core/order/OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:237) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1354) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:93) at hello.core.scan.AutoAppConfigTest.basicScan(AutoAppConfigTest.java:16) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy at org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:218) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1420) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:907) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:785) ... 17 more 오류가 났습니다. 그래서 https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.b1yk4ued1pxo 이 문서의 해결방안3대로 해보았더니 BeanDefinitionTest > 빈 설정 메타정보 확인 XmlAppContext > xmlAppContext()에서 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderService' defined in class path resource [appConfig.xml]: Unsatisfied dependency expressed through constructor parameter 1: Ambiguous argument values for parameter of type [hello.core.discount.DiscountPolicy] - did you specify the correct bean references as arguments? at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:779) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:237) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1354) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959) at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:624 ) at org.springframework.context.support.GenericXmlApplicationContext.<init>(GenericXmlApplicationContext.java:71) at hello.core.beandefinition.BeanDefinitionTest.<init>(BeanDefinitionTest.java:13) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) at java.base/java.util.Optional.orElseGet(Optional.java:364) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) 같은 오류가 발생하였습니다. 어떻게 해결하면 될까요? 아래는 저의 코드입니다. 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() { System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @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()); // return null; } @Bean public DiscountPolicy discountPolicy() { return new RateDiscountPolicy(); } } package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component //@RequiredArgsConstructor //생성자 만들어줌 public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; //추상화인 인터페이스에 의존 @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy rateDiscountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = rateDiscountPolicy; } @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; } } +) 방법2도 추가로 실행해보았으나 같은 결과가 떴습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서 public MemberService memberService(){ return new MemberService(memberRepository()); } 를 사용해서 서비스와 리포지토리 빈을 서로 연결해주셨는데, 여기서 memberRepository()가 생성자니까 public MemberService memberService(){ return new MemberService(new memberRepository()); } 이런식으로 써야할 것 같은데, new가 사용되지 않아서 질문드립니다. 왜 이런 예외적인 문법이 쓰여지게 되는 것일까요?
안녕하세요, 수업을 듣고 있는 수강생입니다. 컨테이너 학습 하면서, 의문점이 생겨 질의드립니다. HostPC에서 exe를 cp하여 컨테이너로 넣은 후, 해당 exe 파일을 컨테이너에서 실행시킬 수 있나요? 찾아보니 이미지는 마이크로소프트에서 받아오면 되더라구요. 환경은 HostPC는 window이고, 컨테이너도 window로 세팅하고 싶습니다. 만약 exe를 실행시킬 수 있다면 복수의 컨테이너를 실행시키고 싶은데 이를 docker compose로 구성하는게 효율적일까요? 이론만으론 가능 할 것 같아 실습해보던 중 cp부터 에러가 발생해 가능성 여부를 알고싶습니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 17버전이라 스프링부트 3점대로 만들고 main이랑 test복사해서 프로젝트 생성후 javax를 변경까지 했습니다. 메인 애플리케이션을 실행하면 잘 되는데 테스트 코드 실행하면 이렇게 오류가 납니다 뭐가 문제일까요
안녕하세요 강사님. 현재 ExtractView, @Binding 강의들을 듣고 있는데 전체레이아웃 사이즈를 조정해주는 .previewLayout(.sizeThatFits) 메서드가 프리뷰에서 적용이 안되는데 이것도 iOS 버전 문제일까요? 프리뷰 캔버스에서는 강의에서 나오는 메뉴가 따로 안보이고 해서 코드로만 입력을 했는데도 적용이 안되서 질문드립니다. 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요!어제 점심때쯤 결제했는데 아직 노션 공유가 안되었습니다ㅠㅠ 빨리 부탁드립니다!!
제가 강의를 본 이후에 개인적으로 기능 따로 만들면서 일단 백엔드 공부가 안된 상태라, 간단히 제가 당장 필요한 것들은 할 수 있는 수준에서 사용하려고 포켓베이스라는 오픈소스 DB를 활용해서 진행하고 있는데요. 로그인 관련 일부 컴포넌트 관련해서 여기서 보여준 context 기능을 적용하려고 강의 영상 참고해서 logProvider.tsx는 아래처럼 적고 "use client"; import PocketBase from 'pocketbase'; import {createContext , ReactNode, useState} from 'react'; const pb = new PocketBase('http://localhost:8090'); export const LogContext = createContext( { IsLogIn: pb.authStore.isValid, setLog: (log : boolean) => {}, }) type Props = {children: React.ReactNode}; export default function LogProvider({children}:Props) { const [IsLogIn, setLog] = useState(pb.authStore.isValid); return ( <LogContext.Provider value={{IsLogIn: pb.authStore.isValid, setLog: (log: boolean) =>{} }}> {children} </LogContext.Provider> ) } 로그인 버튼 컴포넌트에서 const LoginButton = () => { const [loading, setLoading] = useState(false); const router = useRouter(); const {IsLogIn, setLog} = useContext(LogContext); // const { isLoggedIn } = useContext(AuthContext); let logTest = pb.authStore.isValid; const handleClick = async () => { if (IsLogIn) { //로그아웃 실행 try { // console.log(IsLogIn); //기존에 로그인 된 상태라면 여기서 true pb.authStore.clear(); router.replace("/") //로그아웃 시 홈페이지로 이동 } catch (error) { console.error(error); } logTest = pb.authStore.isValid; setLog(pb.authStore.isValid); } else { //로그인 실행 setLoading(true); try { // console.log(IsLogIn); //기존에 로그아웃 된 상태라면 여기서 false const authData = await pb.collection('users').authWithOAuth2({ provider: 'google' }); console.log(authData); // 인증 데이터 확인 // 인증 데이터를 이용하여 사용자 정보 처리, 토큰 저장 등 로직 추가 } catch (error) { console.error(error); } finally { setLoading(false); logTest = pb.authStore.isValid; setLog(pb.authStore.isValid); //디버깅용 console.log("로그인 상태 확인") console.log(IsLogIn); console.log(pb.authStore.isValid); console.log(setLog) console.log(setLog(pb.authStore.isValid)); console.log(logTest); console.log(setLog(logTest)); } } }; return ( <div > <button className='logBox' onClick={handleClick} disabled={loading}> <img src="/Google.png" width={20} height={20} style={{ position: "absolute", opacity: 0.8, marginLeft:0, marginTop: 3}} /> <div className="flex-LogButton" > {IsLogIn ? '로그아웃' : (loading ? '로그인 중...' : ' 로그인')} </div> </button> </div> ); }; 이런 식으로 작성을 하였습니다. 그런데 버튼기능 마지막에 디버깅용으로 넣은 console값을 보니 로그인하면 로그인은 정상적으로 진행되는데 context로 공유하고 있는 IsLogIn 값은 바뀌질 않네요... 부모 컴포넌트에서 자식컴포넌트로의 공유는 제대로 되는것으로 보입니다. 자식에게서 부모로 가는게 setLog에서 타입문제로 입력이 안되는 듯 한데, 이건 그냥 제가 타입스크립트 개념이 약해서 타입 설정을 어떻게 할지 몰라서 생기는 문제 같네요;; 아래는 디버깅용으로 넣은 7줄의 콘솔로그 기록입니다. 로그인 상태 확인 LogButtonSNS.tsx:52 false LogButtonSNS.tsx:53 true LogButtonSNS.tsx:54 (log)=>{} LogButtonSNS.tsx:55 undefined LogButtonSNS.tsx:56 true LogButtonSNS.tsx:57 undefined 콘솔 로그 기록을 보면 logProvider.tsx setLog: (log : boolean) => {}, 함수를 통해 boolean정보를 새로 넣어도 공유하는 IsLogIn의 value가 바뀌지 못하고 undefined라고 출력되네요. 어떻게 수정해야 할까요...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 엔티티 클래스 개발2 강의 Category 엔티티 클래스 까지 작성을 완료하고 JpashopApplication을 run 하는과정에서 에러가 뜨네요. 에러 내용은 다음과 같습니다. Caused by: org.hibernate.type.descriptor.java .spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for Java type 'jpabook.jpashop.domain.Category' 구글링을 해도 해결 방법을 잘 모르겠어서 질문 남깁니다. 도와주세요 ㅠㅠ Category Item
위 3개가 동등 선상에 있는지는 모르겠습니다만, 강사님의 위 3개 혹은 그 외 중에서 강사님이 프로젝트하실때 선호하시는 라이브러리는 무엇인지 궁금합니다. 그리고 현업에서 대세 혹은 추세가 어떻게 되는지도 궁금합니다. ex) redux에서 요즘에는 다른곳으로 넘어가는 추세다 와 같은 ...