묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결FPGA에 UART 구현하기
RTL
RTL이 Veliog인거같은데 vhdl 버전은 없나요 ?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Firebase uid
val myRef = database.getReference("myMemo").child(Firebase.auth.currentUser!!.uid) 이부분 명령이 안되는거 같습니다. uid빼면 저장이 잘 됩니다.
-
미해결디지털포렌식전문가 2급 필기 핵심 요약집[전자책]
20일 시험, 오늘 결제했습니다.
선생님, 먼저 시간이 부족한 이들에게 단비같은 자료를 만들어주셔서 감사합니다. 질문 있습니다. Q1. 무료 버전과 전자책 차이- 강의 구매자는 출력한다면 전자책을 다운, 출력해서 보면 될까요? 아니면 둘다 봐야하는것인지?아직 1강 밖에 들어보질 않아 문의드립니다.Q2. 기출문제, 관련 강의- 강의 확인해보니 전자책에 기출문제를 일부담아놓으신 것 같은데 절판된 교재를 제외하고 더 학습하고 싶으면 Q&A상 명시된 5권을 구매하면 되는지 궁금합니다.- 추가적으로 선생님 강의중에 "기초부터 따라하는 디지털포렌식" 강의가 있는데 이것도 들어야 하는지궁금합니다. 인포전 내 다른 강의(?)도 있었지만 소통이 가장 잘되는 것 같아 선생님 강의를 신청했습니다.답변 주시면 열공하겠습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Select 조회를 할 때 내부 DB 흐름 질문
안녕하세요. select * from article where board_id= 1 order by article_iddesc limit 30 offset 90;해당 쿼리문을 날렸을 때의 문제점을 설명하는 부분에서 이해가 잘 가지 않는 부분이 있어 질문드립니다! 제가 기억하는 내용이 틀릴 수도 있어 질문드립니다! 제가 알고있던 바로는 Secondary index에 의해 만들어진 자료구조에서 leaft노드는 원본 데이터의 주솟값을 가진다고 알고있었습니다.따라서 강의의 설명에서는 article id를 가지고 다시 clustered index를 통해 조회한다 했지만 바로 O(1)으로 원본 데이터에 접근한다는 이해는 틀린것일까요? 틀렸다면 어떤 부분일까요? 좋은 강의 잘 듣고있습니다! 감사드립니다! 학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨데이터베이스를 결합한 Unity 실전 게임 만들기
21번 인강 영상 코딩 자료는 없나요?
커리큘럼 21번 push 강의 클래스 코딩 자료는 없나요? 해주시면 됩니다!
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
저희는 이미 서비스가 예전부터 GA4와 구글 태그관리자에 연결만 되어 있었는데요
저희는 이미 서비스가 예전부터 GA4와 구글 태그관리자에 연결만 되어 있었는데요그래서 인구통계 세부정보에 국가에 이렇게 잘 나오고 있습니다. 하지만, 성별/관심분야 등 국가 이외의 정보는 아무것도 나오고 있지 않습니다 (아마도 세팅을 안 해서겠죠?)1. 이미 카테고리화 되어 있는 성별/관심분야 등등에도 저희 정보가 나오게끔 세팅하는 법은 강의 커리큘럼상 어디에 있을까요? 혹은 없다면, 어떻게 하는걸까요?2. 카테고리 자체를 새롭게 만들고 세팅하는 건 GA4에서 불가능할까요? 제일 하고 싶은건, 지역 시별/구별로 인구통계를 보고 싶습니다
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점
안녕하세요, 스태틱 메쉬 콤포넌트 포인터 선언문 작성시에,UStaticMeshComponent* Body; 식으로 작성을 하는것과,강의에서 말씀하신 대로 UObjectPtr<UStaticMeshComponent> Body; 식으로 작성을 하는것의 차이점은 무엇인지요?나중에라도 참고할 수 있게 강의내용의 스코프를 살짝 벗어나는 내용이라도 설명해 주신다면 감사할 것 같습니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
뉴스 스크랩시 content를 가져오는 대신 더 효율적인 방안은 무엇일까요?
안녕하세요. 네이버 뉴스 스크립 시 content를 그대로 사용하니 불필요한 정보가 너무 많아서 LLM이 이를 처리하는데 시간도 오래 걸리고, 토큰 비용도 불필요하게 소모되는 것 같은데 혹시 범용적으로 사용 가능한 대안이 있다면 무엇일까요?웹 지식이 부족해서 반복 시청하며 공부 중인데 저 부분에 대해 조언 주시면 감사하겠습니다!
-
미해결해킹 입문부터 중급까지, 한 번에 배우는 웹해킹
KnockOn에 접속할 수 없습니다
https://war.knock-on.org에 접속이 되지 않습니다.확인 부탁드립니다!
-
해결됨도커 마스터즈! CI/CD, DevSecOps로 자동화 보안 실무까지!
apache2 접속 문제
안녕하세요. 선생님 수강 중인 학생입니다. 다름이 아니라 vagrant 연습 문제를 하고 있는데 선생님과 똑같이 vagrantfile을 구성했는데 apache2가 설치 조차 되지 않는 문제가 있어서 질문드립니다. vagrant@vagrant:~$ sudo systemctl status apache2 Unit apache2.service could not be found.
-
해결됨데이터베이스를 결합한 Unity 실전 게임 만들기
UnityMainThreadDispactcher
UnityMainThreadDispactcher 파일을 어디서 다운로드 받는 건가요?이것을 다운받아될 이유는 무엇인가요?
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
줄바꿈 질문
혹시 강의에서처럼 프리티어설정이나 다른설정 다똑같은데 왜 계속 길게유지가 될까요 가독성이 너무 불편한데
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
웹앱일 경우엔?
저희 어플이 웹를 어플로 감싸서(natively) 출시한 앱인데요. 이럴때는 웹으로 선택해서 속성을 만드는 것과 앱(ios, 안드로이드)으로 선택해서 속성을 만드는 것이 어떤 차이가 있는 지 궁금합니다
-
미해결
루커스튜디오 이벤트 집계 질문
루커스튜디오 막대그래프를 만들다가 홈페이지에 들어오는 일별 각각의 이벤트를 추가하려고하는데이벤트 횟수는 여러번 나오는데, 데이터가 1로만 보여지고있어서 이부분을 어떻게 수정해야할까요..?
-
미해결절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part 1)
Part2에 대한 질문..
강사님, 강의가 Part1 다음에 Part3이 나왔는데.. Part2는 어떻게 되는건지 궁금합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
강의 커리큘럼 질문
강의 구매 시점에는 네이버 쇼핑 크롤링도 포함되어 있었던건데 카카오로 대체된 건가요?현 시점에서 네이버쇼핑 크롤링 할 방법은 없을까요?
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
서브메뉴가 유지되지 못하고 사라지는데 무엇이 문제 일까요?
서브메뉴가 아래 같이 유지되지 않고 사라지네요. 어디가 잘못일까요? <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="main-content"> <div class="left"> <header> <div class="headerlogo"></div> <div class="navi"> <!-- navigation --> <ul class="menu"> <li> <a href="#none">CLUB</a> <div class="submenu"> <a href="#none">클럽소개</a> <a href="#none">시설안내</a> </div> </li> <li> <a href="#none">BOOKING</a> <div class="submenu"> <a href="#none">요금안내</a> <a href="#none">예약안내</a> <a href="#none">위약안내</a> </div> </li> <li> <a href="#none">INFORMATION</a> <div class="submenu"> <a href="#none">명예의 전당</a> <a href="#none">이벤트</a> <a href="#none">자료실</a> <a href="#none">포토갤러리</a> </div> </li> <li> <a href="#none">COMMUNITY</a> <div class="submenu"> <a href="#none">공지사항</a> <a href="#none">Q&A</a> </div> </li> </ul> </div> <div class="spotmenu"></div> </header> </div> <div class="right"> <div class="slide"> <div class="slideimg"></div> <div class="slidebanner"></div> </div> <div class="items"> <div class="shortcut"></div> <div class="newsgallery"></div> </div> </div> </div> <footer> <div class="footer-logo"></div> <div class="copyright"></div> <div class="sns"></div> </footer> </div> <script type="text/javascript" src="/script/jquery-1.12.4.js"></script> <script type="text/javascript" src="/script/custom.js"></script> </body> </html>@charset "utf-8"; body { margin: 0; background-color: #fff; color: #333; } a { text-decoration: none; color: inherit; } .container {} .main-content { display: flex; } .main-content > div{ border: 1px solid gray; /* height: 800px; */ } .left { width: 200px; } .right { flex : 1 } header {} header > div { border: 1px solid red; } .headerlogo { height: 100px; } .navi { height: 400px; } .spotmenu { height: 100px; } .slide { position: relative; height: 400px; } .slide > div { border: 1px solid blue; /* height: 400px; */ } .slideimg { height: 400px; } .slidebanner { position: absolute; top: 0; right: 0; height: 300px; width: 100px; } .items {} .items > div { border: 1px solid green; } .shortcut { height: 200px; } .newsgallery { height: 250px; } footer { display: flex; } footer > div { border: 1px solid orange; height: 100px; } .footer-logo { width: 200px; } .copyright { flex: 1 } .sns{ width: 300px; } /* navagation */ .menu { list-style: none; padding: 0; width: 90%; margin: auto; margin-top: 15px; } .menu li { position: relative; text-align: center; } .menu li > a { border: 1px solid black; display: block; padding: 5px; transition: 0.5s; } .menu li:hover > a { background-color: rgba(0, 0, 0, 0.5); color: white; } .submenu { border: 1px solid black; display: none; position: absolute; top: 0; left: 100%; width: 100%; background-color: rgba(0, 0, 0, 0.5); height: 150px; } .submenu a { display: block; padding: 5px; transition: 0.5s; } .submenu a:hover { background-color: rgba(0, 0, 0, 0.5); color: white; }// navigation $('.menu li').mouseenter(function(){ $(this).children('.submenu').slideDown() }) $('.menu li').mouseleave(function(){ $(this).children('.submenu').slideUp() })
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계 시 연관관계 주인을 설정하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]연관관계 를 사용할 경우 연관관계 주인을 설정해야 하는건 이해를 했습니다.@Entity public class Team { @Id @GeneratedValue private Long id; private String name; @OneToMany private List<Member1> members = new ArrayList<>(); }@Entity public class Member1 { @Id @GeneratedValue private Long id; private String username; @ManyToOne @JoinColumn(name = "team_id") private Team team; }위와 같은 엔티티 구조일 경우 Team 에서도 Member1 에 대한 정보를 알수 있으며 Member1 에서도 Team 에 대한 정보를 알수 있습니다. 이후 둘의 데이터를 삽입한다는 가정하에 다음과 같이 Member 를 먼저 생성후 Team 에 입력할수도 있고Member1 member1 = new Member1(); member1.setUsername("member1"); em.persist(member1); Team team1 = new Team(); team1.setName("teamA"); team1.getMembers().add(member1); em.persist(team1); 반대로 Team 을 먼저 생성한 뒤에 Member 에게 알려줄수도 있습니다.Team team = new Team(); team.setName("teamA"); em.persist(team); Member1 member = new Member1(); member.setUsername("member1"); member.setTeam(team); em.persist(member);문제는 여기서 부터 인데... 연관관계 주인을 사용하는 이유는 JPA 에 혼란(?) 을 주지 않기 위함이다 라고 외우고 있는 상태입니다. "mappedBy 를 사용하여 한쪽에서는 쓰기만 가능하도록 동작하도록 한다. " 근데 이게 연관관계 주인하고 무슨 상관인지 잘 모르겠습니다. 그냥 둘다 읽고 쓰고 업데이트 다 가능해도 객체 입장에서는 큰 문제가 없을거 같은데.. 굳이 연관관계 주인이라는 개념을 도입해서 사용하는 이유를 잘 모르겠습니다. 가령 DB 에서는 Team 테이블의 ID 값이 변경이 필요할 경우 그 와 함께 연관되어 있는 Member 테이블에 team_id 값을 변경해줄수도 있고 반대 상황에서도 변경이 가능한데.. 뭔 차이 인지 잘 모르겠습니다.
-
해결됨Spring Boot JWT Tutorial
3강 secret key 관련해서 질문있습니다
secret key 를 특정 문자열을 Base64로 인코딩 한거라고 하셨는데 어떤 문자열을 Base64로 인코딩해서 넣어야 하나요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
zerox 사용 시 강의에서 사용된 모델로 진행했을 때의 문제점.
안녕하세요 강사님!langchain 강의부터 잘 수강하고 있는 수강생입니다! 이번 강의 수강 중 궁금증이 생겨 질문 드립니다.zerox 라이브러리 사용해 md 파일로 변환하는 과정 중 자주 발생하는 에러가 있습니다.소스 코드는 강의내에서 작성한 코드와 똑같습니다1. ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Error code: 429 - {'error': {'message': 'Rate limit reached for gpt-4o-mini in organization org-dDgP5bwE5XYlEkdzK49V0oM5 on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more.', 'type': 'tokens', 'param': None, 'code': 'rate_limit_exceeded'}} LiteLLM Retried: 3 times Please check the status of your model provider API status. 2. Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new LiteLLM.Info: If you need to debug this error, use litellm.set_verbose=True'. ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Error code: 429 - {'error': {'message': 'Rate limit reached for gpt-4o-mini in organization org-dDgP5bwE5XYlEkdzK49V0oM5 on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more.', 'type': 'tokens', 'param': None, 'code': 'rate_limit_exceeded'}} Please check the status of your model provider API status.위와 같이 모두 '분당 토큰 수' 제한 에러입니다.저는 처음에는 위 문제를 해결하기 위해 pdf 문서를 chunking 하여 한 번에 처리되는 토큰을 제한하려고 했습니다.=> 예) 총 페이지를 약 5~6개로 나눠 보내는 방법def get_total_pages(path: str) -> int: try: from pypdf import PdfReader except Exception: from PyPDF2 import PdfReader # 호환 return len(PdfReader(path).pages) def make_batches(total_pages: int, size: int): pages = list(range(1, total_pages + 1)) # 1-indexed for i in range(0, total_pages, size): yield pages[i:i + size]total = get_total_pages(PDF_PATH) print(f"Total pages: {total}") merged = [] for pages in make_batches(total, BATCH_SIZE): res = await process_with_backoff(pages) # 여기서 배치로 나눠진 항목들 수행=> 문제점 : zerox는 한 호출에서 처리한 페이지들만 마크다운 파일로 만들어 output_dir에 저장하고, 그 뒤에 만들어지는 파일들은 이어 붙여지지 않고 덮어 씌워집니다.이를 해결하기 위해 비즈니스 로직을 좀 더 구현해야 하나? 했는데.. 이 방법이 맞는지, 시간만 뺏기게 되는게 아닌지 의문이어서 일단 그만두었습니다. 두번째로는 강사님이 사용하신 모델 'gpt-4o-mini' 를 'gpt-4.1-mini' 로 변경하였습니다. 모델을 바꾸니 바로 해결이 되긴 했습니다.여기서 제가 궁금한 점은 현업에서 이런 작업을 진행 하다 보면 이런 데이터 전처리를 많이 하게 될 거 같은데.. 사이즈가 너무 큰 데이터는 어떤 방식으로 limit나 기타 오류(아직 어떤 오류가 빈번한지는 잘 모르는 상태입니다.)들을 해결해야 하는지가 궁금합니다!모델을 바꾸는게 맞는건지, 원본 데이터를 최대한 chunking 해서 제가 맨 위에 오류로 보여드린 200000 TPM 을 맞추려고 해야 되는건지... 요런 부분들이 궁금합니다! 긴 글 읽어주셔서 감사합니다!