묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결대세는 쿠버네티스 (초급~중급편)
대쉬보드 화면에서 연결 상태가 보이지 않음
안녕하세요.대쉬보드에서 표시할 데이터가 없다고 나옵니다.master node에서 pods는 정상적으로 구동하는 것 같은데, 어떤 조치가 필요할지 문의드립니다.
-
미해결홍정모의 따라하며 배우는 C++
헤더 가드 이름에 관해서요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.헤더가드 이름은 어떤기준으로 정하는건가요? #ifndef 다음에 오는 이름이요! 어떤걸로 해도 상관없는건가요?
-
미해결스프링 핵심 원리 - 기본편
컴포넌트스캔 오류
@Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(this.memberRepository()); } @Bean public OrderService orderService() { return new OrderSerivceImpl(this.discountPolicy(), this.memberRepository()); } @Bean public MemberReposotory memberRepository() { return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { return new FixDiscountPolicy(); // 또는 RateDiscountPolicy()로 변경 가능 } } @Configuration @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { }수동등록빈,자동등록빈으로 제일 상위패키지에 구현해두웠고 @Component @Getter public class MemberServiceImpl implements MemberService { // private final MemberReposotory memberReposotory = new MemoryMemberRepository(); private final MemberReposotory memberReposotory; public MemberServiceImpl(MemberReposotory memberReposotory) { this.memberReposotory = memberReposotory; } @Override public void join(Member member) { memberReposotory.save(member); } @Override public Member findMemer(Long memerId) { return memberReposotory.findById(memerId); } }여기서 오류가나는데 Could not autowire. There is more than one bean of 'MemberReposotory' type.Beans:memberRepository (AppConfig. java) memoryMemberRepository (MemoryMemberRepository. java) 이렇게 오루가납니다;;강의에서는 오류가안나던데 저는 왜 오류가날까요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
안녕하세요,
4월에 구매하여 늦게서야 해당 강의를 수강 중인데 업데이트 된 강의 쿠폰 발급하는걸 몰랐네요ㅠㅠ 혹시 현강의랑 많이 다를까요? 어떤 차이점이 있는지 궁금해요.듣는다고 하면 중간부터 들어야하나요. 현재 eslint부분 듣고있는데 애매하네요. 그리고 듣는다는 가정 하에 쿠폰 재발급이 가능한지 궁금합니다.
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
안녕하세요 학습자료 관련 질문이 있습니다
안녕하세요 선생님 유익한 강의 정말 감사드립니다. 정말 도움이 많이 되었습니다다름이 아니라 제공해주신 학습자료를 포트폴리오에 사용해도 괜찮은지 여쭤보고자 글을 남깁니다.제공해주신 훼손된 GPT파티션, NTFS, FAT32 파티션 자료를 사용하고자 하는데요. 예를 들어 "파티션 복구와 관련되어서 어떤 툴을 사용해서 어떤 방식으로 훼손된 파티션을 복구할 수 있다"라는 느낌으로 해당 자료를 포트폴리오를 작성하는데에 사용하고 싶은데(참고 사진용, 캡쳐본) 혹시 괜찮을지 알고싶습니다
-
미해결김영한의 실전 자바 - 중급 2편
자바 중급 마지막 문제 코드리뷰 및 아이콘 출력 부탁드려요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.코드리뷰 및 아이콘 출력 부탁드려요안녕하세요. 자바 중급 마지막 문제를 풀어보았는데, 코드가 난잡한거 같습니다.혹시 코드 리뷰나 틀린점을 짚어주시면 감사하겠습니다.또한 아이콘 출력은 어려워서 이름으로 출력하게 했는데 아이콘 출력 나온는 법도 알려주시면 감사하겠습니다.참고로 Suit 클래스는 영한님의 클래스를 재사용 하였습니다.마지막으로 List가 비교적 사용이 쉬워서 List를 통한 풀이를 진행했는데,HashMap이나 다른 컬렉션을 이용한 풀이도 있을까요? package class2_8Iterator.MyArray.cardGame; /** * 카드에 대한 속성을 정의하는 클래스 * 1. 문양을 가진다 * 2. 번호를 가진다 * 3. 소팅이 가능하다 */ import static class2_8Iterator.MyArray.cardGame.Suit.*; public class Card implements Comparable<Card>{ private final Suit suit; private Integer cardNumber; public Card(Suit cardIcon, Integer cardNumber ){ this.cardNumber = cardNumber; this.suit = cardIcon; } /**문양을 비교하기 위해 숫자로 변환한다. * */ public Integer iconConverter(String cardIcon) { if(SPADE.getIcon().equals(cardIcon)) { return 1; } else if(HEART.getIcon().equals(cardIcon)){ return 2; } else if(DIAMOND.getIcon().equals(cardIcon)) { return 3; } else if (CLUB.getIcon().equals(cardIcon)) { return 4; } return 0; } public Suit getSuit() { return suit; } /* @Override public String toString() { return "Card{" + "icon=" + icon + ", cardNumber=" + cardNumber + '}'; } */ @Override public String toString(){ return cardNumber+"("+suit+")"; } /** * 문양을 비교하고 같은 문양이면 숫자가 더 큰게 먼저 앞으로 나온다. * */ @Override public int compareTo(Card card) { Integer thisIcon = iconConverter(this.suit.getIcon()); Integer inputIcon = iconConverter(card.suit.getIcon()); if(this.cardNumber==cardNumber){ return thisIcon<inputIcon ? -1 : (thisIcon==inputIcon ? 0 : 1); } else return this.cardNumber<cardNumber ? -1 : (this.cardNumber==cardNumber ? 0 : 1); } public int numberCompareTo(Card card){ return this.cardNumber<card.cardNumber ? -1 : (this.cardNumber==card.cardNumber ? 0: 1); } public Suit getIcon() { return suit; } public Integer getCardNumber() { return cardNumber; } public void setCardNumber(Integer cardNumber) { this.cardNumber = cardNumber; } }package class2_8Iterator.MyArray.cardGame; public enum Suit { SPADE("♠"), // 스페이드(♠) HEART("♥"),// 하트(♥) DIAMOND("♦"),// 다이아몬드(♦) CLUB("♣");// 클로버(♣) private String icon; Suit(String icon){ this.icon=icon; } public String getIcon() { return icon; } }package class2_8Iterator.MyArray.cardGame; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import static class2_8Iterator.MyArray.cardGame.Suit.*; /** * 카드를 이용하여 덱을 구성한다. * */ public class Deck { private Card card; private List<Card> masterDeck; private List<Card> spadeDeck = new ArrayList<Card>(); private List<Card> heartDeck = new ArrayList<Card>(); private List<Card> diamondDeck = new ArrayList<Card>(); private List<Card> clubDeck = new ArrayList<Card>(); /*** * */ public Deck(){ for(int i =1 ;i <= 13; i++){ card = new Card(SPADE,i); spadeDeck.add(card); } for(int i =1 ;i <= 13; i++){ card= new Card(HEART,i); heartDeck.add(card); } for(int i =1 ;i <= 13; i++){ card = new Card(CLUB,i); clubDeck.add(card); } for(int i =1 ;i <= 13; i++){ card =new Card(DIAMOND,i); diamondDeck.add(card); } /**배열 합치기 * */ List<Card> mergedDeck1 = Stream.of(clubDeck, diamondDeck) .flatMap(Collection::stream) .collect(Collectors.toList()); List<Card> mergedDeck2 = Stream.of(spadeDeck,heartDeck) .flatMap(Collection::stream) .collect(Collectors.toList()); masterDeck = Stream.of(mergedDeck1, mergedDeck2) .flatMap(Collection::stream) .collect(Collectors.toList()); Collections.shuffle(masterDeck); /*** * 덱 생성 확인을 위한 디버깅 */ // for(Card cardEntry :deck){ // // System.out.println(cardEntry.getCardNumber() + "," + cardEntry.getIcon()); // // } // System.out.println("size ie "+ deck.size()); // System.out.println( masterDeck.getClass()); } public List<Card>getMaterDeck(){ return masterDeck; } }package class2_8Iterator.MyArray.cardGame; import java.util.ArrayList; import java.util.List; /** * DECK에서 카드를 뽑아 패에 넣는다. * */ public class Player { List<Card> hands = new ArrayList<>(); Deck deck = new Deck(); // new 연산자 (메모리에 올리기) 안쓰면 nullPointerException 터진다 Integer [] cardNumberList = new Integer[5]; Integer totalNumber = 0; public void drawCard(int turn){ List<Card> playableDeck = deck.getMaterDeck(); Card inputCard = playableDeck.get(turn); hands.add(inputCard); playableDeck.remove(turn); } public Integer getSumOfCardNumber(){ for(int i = 0 ; i <5;i++){ Card handCard = hands.get(i); cardNumberList[i] = handCard.getCardNumber(); totalNumber = totalNumber+cardNumberList[i]; } return totalNumber; } } package class2_8Iterator.MyArray.cardGame; import java.lang.reflect.MalformedParameterizedTypeException; import java.util.*; public class CardGameMain { public static void main(String args[]) { Player player1 = new Player(); Player player2 = new Player(); Deck deck = new Deck(); // List<Card> playerList1 = new ArrayList<>(); // List<Card> playerList2 = new ArrayList<>(); for (int i = 0; i < 10; i++) { if(i%2!=0){ player2.drawCard(i); } else player1.drawCard(i); } //Player 클래스의 hands에 값을 넣었으나 다른 값을 참조하니까 자꾸 OUTOFINDEX 에러 나옴 //다음 코드는 hands내 값을 디버깅 할때 사용 한다 System.out.println("player1의 카드 리스트 "+Arrays.toString(player1.hands.toArray())); System.out.println("player2의 카드 리스트 "+Arrays.toString(player2.hands.toArray())); /*** TODO * 1.손패 카드를 소팅하고 * 2. 카드 번호의 계를 구한다. */ Arrays.sort(player1.hands.toArray()); Arrays.sort(player2.hands.toArray()); System.out.println("==================정렬후 카드 패=================="); System.out.println("player1의 카드 리스트 "+Arrays.toString(player1.hands.toArray())); System.out.println("player2의 카드 리스트 "+Arrays.toString(player2.hands.toArray())); System.out.println("================== 카드 패 숫자 합계 ============="); System.out.println(player1.getSumOfCardNumber()); System.out.println(player2.getSumOfCardNumber()); if(player1.getSumOfCardNumber()> player2.getSumOfCardNumber()){ System.out.println("플레이어 1이 이겼습니다"); }else { System.out.println("플레이어 2가 이겼습니다"); } } }
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
섹션 9 상점 UI Layer 수정 앞부분이 잘린건가요?
상당히 많은 부분이 진행된거같은데 제가 뭔가 놓친게 있는건지.. 인프런 오류인지 아니면 개인적으로 작업하라고 빼놓으신건지 여쭤봅니다.
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
시즌 2, 3 는 언제 수강할 수 있을까요?
안녕하세요.너무 좋은 강의 재밌게 잘 들었습니다.시즌 1으로만 끝나면 너무 아쉬울것 같습니다.혹시 시즌 2, 3 를 계획하고 계시다면 언제쯤 수강할 수 있을까요?
-
미해결홍정모의 따라하며 배우는 C언어
10.18 강의에서 복합 리터럴의 주소
강의 7분경쯤 포인터와 복합 리터럴에 대해서 설명해주시는데, 살짝 헷갈리는 부분이 있습니다. 원래 포인터를 초기화해줄 때에는 주소를 대입해줘야하고 ptr = 1024;와 같이 literal 상수 그 자체를 대입해주게 되면 에러가 발생한다고 배웠습니다. 이 강의에서는 복합 리터럴 그 자체를 포인터가 가르키는 주소에 대입해주는데(?) 그럼 이때 복합 리터럴이 포인터에 대입됨과 동시에 선언되면서 리터럴 자체가 가지는 주소가 생기는 건가요?변수를 선언하면 메모리 주소를 지정되고 우리가 사용할 수 있는 것 아니였나요?그냥 리터럴 자체가 메모리 주소에 지정되게 만들 수도 있는건가요? 복합 리터럴은 어떻게 메모리에 지정되고 우리가 사용할 수 있는 것인지 궁금합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
RetrievalQA is Deprecated
RetrievalQA 가 0.1.17 버전 이후로 Deprecated 되었다고 마이그레이션 가이드를 보고 다음과 같이 바꿨습니다.from langchain import hub from langchain.chains import create_retrieval_chain from langchain.chains.combine_documents import create_stuff_documents_chain retrieval_qa_chat_prompt = hub.pull("langchain-ai/retrieval-qa-chat") combine_docs_chain = create_stuff_documents_chain(llm, retrieval_qa_chat_prompt) rag_chain = create_retrieval_chain(database.as_retriever(), combine_docs_chain) rag_chain.invoke({"input": query})위 예시는 잘 작동하는데, rml/rag-prompt 를 사용하면,KeyError: "Input to ChatPromptTemplate is missing variables {'question'}. Expected: ['context', 'question'] Received: ['input', 'context']\nNote: if you intended {question} to be part of the string and not a variable, please escape it with double curly braces like: '{{question}}'.\nFor troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/INVALID_PROMPT_INPUT "가 발생하는데, template 의 placeholder 의 형태가 달라서인것 같은데, 어떻게 키값을 설정해야 하나요?
-
미해결
화면이 안나오네요
현재 컴퓨터는 mac pro 를 사용중이고, 강의를 맥북으로 시청할때는 정상적으로 나오는데클램쉘 모드로 displaylink manager를 이용해서 모니터로 연결해서 볼때 강의가 나오지 않는것으로 확인했습니다.이 현상은 고칠수 없는 것일까요??맥북을 이용하는 수강생들은 저처럼 이용하는 분들이 많을것 같은데 그럼 다 영상시 불편함을 가지고 봐야 할거 같은데요. 확인 부탁드립니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
개발자 계정을 여러개로 나누는 방법이 뭔가요?
안녕하세요 좀비님 강의 중 개발자 계정을 여러개로 나누는 부분에서 질문이 있습니다.자기 계정이라면 계좌나 휴대폰 번호나 결국 다른 계정과 연관되는 지점이 하나라도 있을거같은데 모두 피해서 만들 수 있나요?그리고 로그인 지점을 매번 바꾼다는건 어떻게 가능한가요??
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
렌딩페이지 이미지 문제
랜딩페이지에 원페이지 이미지가 안나오는데 어떻게 해결하면 될까요?
-
미해결스프링 핵심 원리 - 기본편
7장 질문입니다
public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VIP); int discountPrice = discountService.discount(member, 10000, "fixDiscountPolicy"); assertThat(discountService).isInstanceOf(DiscountService.class); assertThat(discountPrice).isEqualTo(1000); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); System.out.println("discountCode = " + discountCode); System.out.println("discountPolicy = " + discountPolicy); return discountPolicy.discount(member, price); } } }7장 조회한 빈이 모두 필요할때 테스트 코드인데요 ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class);여기서 스프링컨테이너에 등록하는건데 DiscountService는 @Configuration이나 @Component가 안붙었느데 어떻게 스프링빈으로 등록이되는거죠?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
어디다가 작성해야할 지 몰라 여기에 작성합니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 교수님. 강의 정말 잘 듣고있습니다.교수님의 fast api를 듣고싶은 수강생인데 환경때문에 어디다가 질문해야할지 고민하다가 여기다가라도 써봅니다.(죄송합니다.)저는 인공지능을 활용해 제가 원하는 앱, 웹을 만들고 싶은 꿈을 가지고 교수님 강의를 들으며 공부하고 있습니다.그러던 중 여기까지 오게 되었고(머신러닝 완벽 가이드 -> cnn -> object detection) 다음 강의로 fast api 강의를 듣고자 합니다. 여기서 질문을 드리겠습니다. 제가 현재 군인으로 사지방에서 공부를 진행하는데 github의 codespace 환경만으로도 수행하는데 문제는 없을까요?sql, html에 대해서는 아직 공부를 안해봤는데 어느정도의 지식을 알아야 할까요?
-
해결됨Airflow 마스터 클래스
t1_orange 로그안찍힘
실습내용 그대로 적용하여 진행하였는데, 정상적으로 dag는 실행되었는데 t1_orange의 로그값이 확인이 되지 않네요. t2_avocado는 로그가 정상적으로 확인이 되는데.. 어디를 놓치고 있는건지 모르겠어서요. 혹시 이유가 뭘까요
-
미해결애프터이펙트 기초부터 실무까지!
3D STROKE
3D STROKE effect 부분에 검색해도 안나오는데 어떻게 해야 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
main 메서드의 클래스 위치변경
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 main 메서드가 존재하는 클래스의 위치를 변경하였는데요.변경 후 부터 class not find 오류가 발생해서 클래스를 찾을 수 없다고 하는거 같은데 한 번 main 메서드가 존재하는 클래스를 만들고 나면 위치를 변경시키면 안 되는건가요?
-
미해결
[디자이너 모집] 헬스 트레이너 매칭 플랫폼 같이 만드실 분 모집합니다!!
프로젝트 소개 지루하기만 했던 내 운동 루틴에 동기 부여를 주기 위해!내가 하고자 하는 운동에 맞는 트레이너를 찾기 위해!해당 프로젝트를 제작하게 되었습니다 📍EGG COACH 기능트레이너 선정챗봇채팅내 목표에 맞추어 키울 수 있는 알 펫 키우기내 헬스 일정 📍현재 팀 구성은 다음과 같아요.- 웹 프론트엔드 2명- 백엔드 2명 프로젝트는 현재 기획(100%) , 프론트(10%) , 백(10%) 완료된 상황입니다. 저희 웹서비스의 디자인을 담당해주실 디자이너 1~2명을 찾고 있습니다. 약 2달내로 완료될 예정이고 시험 테스트도 진행할 예정입니다.비용발생의 경우 1/N으로 정산하며, 중간에 탈주하지 않으실 분!!(중요) , 성실하신 분, 팀 활동에 많이 참여해주실 분을 뽑을 생각이고, 포트폴리오용이지만 팀원들 동의하에 지속적으로 유지보수되었으면 좋겠습니다~!
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
질문이 있습니다.
수업 시간에 보면서 따라하고 있는데,AppCard.vue 파일에서<slot :child-messag="childMessag" :hello-messag="helloMessag">#body</slot>위의 코드처럼 :hello-messag 로 하는 게 맞는 건가요?아니면 강의 화면처럼hello-messag로 하는 게 맞는 건가요?(16:43 강의 화면 참고) 처음에만 : 쓰고 그 이후 부터는 생략이 가능한 걸 까요??