묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 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 강의 화면 참고) 처음에만 : 쓰고 그 이후 부터는 생략이 가능한 걸 까요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 2178 입력이 제 생각대로 되지가 않네요..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/678ec184b7cd412aba47dbb2e7639a1f42번줄 ~ 56번줄에서 main문에서 입력을 저런 식으로 받아봤는데, mapp[][] 배열에 48 또는 49가 들어가는걸로 확인돼서 이유가 너무 궁금해서 질문드립니다 ㅠㅠ!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
단일 데이터베이스 연결
강의 내용에 따르면 order-service1, order-service2 두 개의 인스턴스가 kafka-connect를 사용하기 위해 mariadb에 직접 연결을 맺는것으로 이해했습니다. 제가 궁금한 것은 단일 DB를 사용하는 경우에 kafka를 쓰는 이유입니다.현 강의와 같이 단일 DB를 사용하는 경우라면 kafka를 사용하지 않고, RestTemplate이나 FeignClient와 같은 라이브러리를 사용해서 catalog-service와 통신하고, jpa를 통해 직접 DB에 데이터를 직접 삽입할 수 있을텐데 이 경우 트랜잭션을 잘 처리해준다면 데이터도 동기화 할 수 있다고 생각합니다.다만, 여러 진입점 관리, 트랜잭션 처리 등 따로 처리해야할 부분이 많고 요청이 증가할 수록 kafka의 성능이 우수하기 때문에 kafka를 쓰는 것으로 이해했습니다. 제 생각에 틀린 부분이 있다면 말씀해주시면 감사하겠습니다!
-
미해결팀 개발을 위한 Git, GitHub 입문
강의 ppt 자료 부탁드립니다.
강의 잘듣고 있습니다~강의 ppt 자료 부탁드립니다.감사합니다iamafool33@gmail.com
-
해결됨SW 역량테스트 합격하기 A형 with C++ (Advanced Algorithm)
BOJ 2234 성곽 문제 코드에서 질문 있습니다.
안녕하세요 선생님 강의 너무 잘보고 있습니다 !다름이 아니라 BOJ 2234번 성곽 60번째 줄에서 질문이 있습니다.open을 판단할때 양쪽 모두 확인하는 이유가 있을까요? 한쪽에서만 확인하면 오류가 생기는 경우가 있는지 궁금합니다.