묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[입문반]서버와 인터넷 그리고 데이터 이야기
화면 펜 드로잉
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 좋은 강의 잘 들었습니다. 감사합니다. 강의 하시면서 펜 드로잉 툴 알 수 있을까요?
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
STORM 관련 ipynb 소스에서
안녕하세요.. 수업노트에 있는 storm colab 파일을 따라 하는데..import json from langchain_core.runnables import RunnableConfig async def gen_answer( state: InterviewState, config: Optional[RunnableConfig] = None, name: str = "Subject_Matter_Expert", max_str_len: int = 15000, ): swapped_state = swap_roles(state, name) # Convert all other AI messages # 쿼리 생성 queries = await gen_queries_chain.ainvoke(swapped_state) query_results = await search_engine.abatch( queries["parsed"].queries, config, return_exceptions=True ) successful_results = [ res for res in query_results if not isinstance(res, Exception) ] # url와 콘텐츠 추출 all_query_results = { res["url"]: res["content"] for results in successful_results for res in results } # We could be more precise about handling max token length if we wanted to here dumped = json.dumps(all_query_results)[:max_str_len] ai_message: AIMessage = queries["raw"] tool_call = queries["raw"].tool_calls[0] tool_id = tool_call["id"] tool_message = ToolMessage(tool_call_id=tool_id, content=dumped) swapped_state["messages"].extend([ai_message, tool_message]) # Only update the shared state with the final answer to avoid # polluting the dialogue history with intermediate messages generated = await gen_answer_chain.ainvoke(swapped_state) cited_urls = set(generated["parsed"].cited_urls) # Save the retrieved information to a the shared state for future reference cited_references = {k: v for k, v in all_query_results.items() if k in cited_urls} formatted_message = AIMessage(name=name, content=generated["parsed"].as_str) return {"messages": [formatted_message], "references": cited_references}이 부분에서 궁금한 것이 생겼습니다. 중간에 tool_call = queries["raw"].tool_calls[0] tool_id = tool_call["id"] 중간에 tool_calls 관련 정보를 호출하는데..그럴려면 gen_queries_chain이 체인에 tool_bind된 llm이 사용되어야 하는 것 아닌가요? duckduckgo 관련 search_engine함수를 @tool을 이용해서 tool로 선언한 것 같은데.. 해당 퉁을 llm에 바인딩하는 것을 못보아서.. tool index 부분에서 Cell In[46], line 30, in gen_answer(state, config, name, max_str_len) 28 dumped = json.dumps(all_query_results)[:max_str_len] 29 ai_message: AIMessage = queries["raw"] ---> 30 tool_call = queries["raw"].tool_calls[0] 31 tool_id = tool_call["id"] 32 tool_message = ToolMessage(tool_call_id=tool_id, content=dumped) IndexError: list index out of range가 발생하는 것 같습니다. 어떻게 수정하면 되는지 알려주세요..
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
서브넷!!
안녕하세요 선생님!! 이번에 선생님 강의를 처음으로 듣고 2회차 때 꼭 합격하고 싶은데요.. 혹시 서브넷은 따로 강의 안하시나여? 서브넷은 공부를 안해도 되는건가여?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
47분33초
47분 33초에 sumDig(0)까지 해서 마지막 탈출까진 이해가 되는데, sumDig(1)는 1 + 0 = 1 을 반환합니다. ...sumDig(12345)는 5+10 = 15을 반환합니다결국 12345의 자리수 합은 15가 됩니다.이부분이 이해가 안됩니다 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
cols를 만들때 수치형 데이터로 회원ID도 들어가있는데
회원ID는 고유한 값인데도 수치형 데이터로 넣어서 예측을 해야하나요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
update에서 Repository.save
dbEntity와 도메인으로 따로 분리하면 Jpa의 기능을 쓰지 못하기에 update부분에서 더티체킹을 사용하지 않고 Repository.save를 이용해 merge로 update한다는건데 이렇게 했을 때 merge는 하나하나 다른 부분을 수정하는게 아니고 전부 덮어 쓰는거라 이로 인해 발생할 수 있는 문제에 대해 신경 쓰지 않아도 되나요? 아니면 따로 처리를 해야하나요?
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
북마크바 배치 문의드립니다!
⚠질문 작성법세션 7 5. 북마크바 만들기북마크바 배치가 강의내용이랑 달라서 문의드립니다.북마크바 열기와 닫기 버튼 활성화가 강의랑 다르게 열기 버튼, 닫기 버튼이 따로 실행되어 보여지고 있는데요, 열기랑 닫기를 하나로 북마크바 보여지게 할려면 어떻게 코드 수정해야하나요<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap" rel="stylesheet" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>newtab</title> <link rel="stylesheet" href="./css/main.css" /> </head> <body> <div class="main-container"> <div class="main-wrapper"> <div class="today-info"> <div class="date" id="date"> <!-- 날짜&요일 --> </div> <div class="time" id="time"> <!-- 현재 시간 --> </div> </div> <div class="search"> <input id="search-input" autocomplete="off" placeholder="검색어를 입력하세요" /> </div> </div> <div class="quote" id="quote"> <!-- 명언 --> </div> </div> <div class="bookmark-open" id="bookmark-open"> <div id="bookmark-open-btn">북마크 닫기</div> </div> <div class="bookmark-close" id="bookmark-close"> <div id="bookmark-close-btn">북마크 열기</div> </div> <div class="bookmark-bar" id="bookmark-bar"> <!-- 북마크 바 --> </div> <script src="./js/clock.js"></script> <script src="./js/search.js"></script> <script src="./js/quote.js"></script> <script src="./js/bookmark-toggle.js"></script> </body> </html> const bookmarkBar = document.getElementById("bookmark-bar"); const bookmarkOpen = document.getElementById("bookmark-open"); const bookmarkClose = document.getElementById("bookmark-close"); const bookmarkBarToggle = () => { const isBookMarkBarOpen = localStorage.getItem("isBookMarkBarOpen"); if (isBookMarkBarOpen === "close") { localStorage.setItem("isBookMarkBarOpen", "open"); bookmarkBar.style.display = "block"; bookmarkOpen.style.display = "flex"; bookmarkClose.style.display = "none"; return; } localStorage.setItem("isBookMarkBarOpen", "close"); bookmarkBar.style.display = "none"; bookmarkOpen.style.display = "none"; bookmarkClose.style.display = "flex"; }; document .getElementById("bookmark-open-btn") .addEventListener("click", bookmarkBarToggle); document .getElementById("bookmark-close-btn") .addEventListener("click", bookmarkBarToggle);
-
해결됨@시코 - TypeScript 제대로 배우기(초중급)
교재와 git 링크 문의
강의 소개에 교재와 git 링크를 제공한다고 적혀있어서 찾아봤는데 어디에 있는지 못 찾았습니다. 어디에서 확인할 수 있는 걸까요?
-
미해결
Hibernate Proxy객체가 실제객체로 변환이 안돼요
먼저 Entity Code부터 보여드리겠습니다. FieldGroupMapping(부모) @Entity @Table(name = "FIELD_GROUP_MAPPING") @Getter @SuperBuilder @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class FieldGroupMapping extends CreationAuditingEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "FIELD_GRP_MPPG_ID", nullable = false) private Long id; @Column(name = "FIELD_CD", length = 50, nullable = false) private String fieldCd; @ManyToOne(fetch = FetchType.EAGER, optional = false) @JoinColumn(name = "FIELD_CD", referencedColumnName = "FIELD_CD", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private FieldMetadata field; } FieldMetadata (자식) @Entity @Table(name = "FIELD_METADATA") @Getter @SuperBuilder @AllArgsConstructor @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn(name = "FIELD_TYPE") @NoArgsConstructor(access = AccessLevel.PROTECTED) public class FieldMetadata extends CreationAuditingEntity { @Id @Column(name = "FIELD_CD", length = 50, nullable = false) private String fieldCd; @Column(name = "LABEL", length = 50, nullable = false) private String label; @Enumerated(EnumType.STRING) @Column(name = "DATA_TYPE", columnDefinition = "varchar(20)", nullable = false) private FieldDataType dataType; } RealFieldMetadata (상속된 자식) @Entity @Table(name = "REAL_FIELD_METADATA") @Getter @SuperBuilder @AllArgsConstructor @DiscriminatorValue(FieldDiscriminatorValues.D_REAL) @NoArgsConstructor(access = AccessLevel.PROTECTED) @PrimaryKeyJoinColumn(name = "FIELD_CD") public class RealFieldMetadata extends FieldMetadata { @Enumerated(EnumType.STRING) @Column(name = "TABLE_ALIAS", columnDefinition = "varchar(50)", nullable = false) private TableAlias tableAlias; @Column(name = "COLUMN_NAME", nullable = false, length = 50) private String columnName; @Builder.Default @Convert(converter = BooleanYNConverter.class) @Column(name = "REQUIRES_JOIN", nullable = false, columnDefinition = "char(1) default 'N'") private boolean requiresJoin = false; @Enumerated(EnumType.STRING) @Column(name = "JOIN_TABLE", columnDefinition = "varchar(50)") private TableAlias joinTable; }FieldGroupMapping 과 FieldMetadata는 1:N 관계입니다.List<String> idList = List.of("GD01", "GD02", "GD03"); // fetch join 없이 조회 List<FieldGroupMapping> fieldGroupMappings1 = fieldGroupRepository.findAllById(idList); Long gridId = 1L; // fetch join으로 조회 List<FieldGroupMapping> fieldGroupMappings2 = gridRepository.getGrid(gridId) .map(Grid::getFieldGroupMapping) .toList(); for (FieldGroupMapping mapping1 : fieldGroupMappings1) { FieldMetadata field = mapping1.getField(); // 여기서 BreakPoint로 field를 보면 Proxy 객체 } for (FieldGroupMapping mapping2 : fieldGroupMappings2) { FieldMetadata field = mapping2.getField() // 여기서 BreakPoint로 field를 보면 실제 객체 (Unproxy상태) } 위 상황에서 첫번째 fieldGroupMappings1을 조회할땐 fetch join없이 hibernate로만 조회합니다.두번째 fieldGroupMappings2를 조회할땐 Grid -> FieldGroupMapping -> field 연관관계 모두 fetch join을 써서 조회합니다. 제 지식으로는 두개 for문에서 모두 field는 Unproxy상태여야합니다. 단, fetch join이 없는 첫번째 리스트에서는 Select Query가 나가겠죠.하지만, 테스트 결과는 첫번째 리스트에서의 field는 계속 Proxy상태로 되어있어. field 내부의 필드들이 null로 되어있었습니다. 또, 제 어플리케이션의 설정으로 default batch size는 1000으로 되어있어. select문의 조건에 in절로 채워져서 쿼리가 1번 발생하였습니다. 제 지식으로는 Select쿼리가 발생하였으므로, 첫번째 리스트도 field는 실제 객체여야하는데 왜 프록시객체로 남아있을까요? FieldMetadata 엔티티가 상속Entity여서 발생하는 문제일까요?정답을 알려주세요 ㅠㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
사정으로 인한 정지 혹은 연장 문의드립니다
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요, 먼저 항상 좋은 강의 제공해 주셔서 감사합니다 지난 연말 탈락이후 재응시예정이었지만 최근 갑작스럽게 목디스크가 있단 진단을 받아 통증이 심해지면서 강의를 제대로 소화하기 어려운 상황이 되었습니다. 이에, 혹시 인강 수강 기간을 2개월만 연장해주실 수 있을지 정중히 부탁드립니다. 몸이 회복되면 하반기 시험을 목표로 다시 차근차근 준비할 계획입니다. 너무 개인적인 사정이라 죄송하지만, 간곡히 요청드립니다. 긍정적인 검토 부탁드립니다.감사합니다. 혹시몰라 메일주소 남깁니다jswook93@gmail.com
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
체험2유형으로(신버전)으로 들어왔는데요
데이터를 불러오는 코드가 이미 있는데저 환경에 데이터가 들어있는걸까요?train.head()해도 데이터는 안보이고..그리고 shift+enter가 아니라 매번 실행버튼을 눌러야하는걸까요?
-
미해결실전! 스프링 데이터 JPA
영속성 전이와 연관관계
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 선생님 강의를 통해 배움을 얻고 프로젝트를 하며 성장 하고 있습니다.프로젝트를 하던중 영속성 전이와 관련하여 궁금한점이 생겨 질문 드립니다.( 영한님 JPA 강의에 질문 하는것이 맞으나 JPA는 책을 사서 여기에 질문 드립니다 ㅠㅠ ) 회원과 주소는 양방향 관계를 두고 있습니다.회원과 주소를 연관관계 매핑하여 회원을 저장하면 영속성 전이를 통해주소가 같이 저장 됩니다. 그런데 문제는 둘다 영속 상태일때 주소를 제거 하면 delete 쿼리가 나가지 않았습니다.이런 저런 실험을 해본 결과 영속성 전이 때문에 삭제 되지 않은것으로 보았습니다.영속 대상인 주소를 삭제 하려고 했으나 회원의 연관관계인 Address는 그대로 있기 때문에영속성 전이로 인해 삭제가 되지 않았다로 판단 하였습니다. 영속성 컨텍스트에 주소만 있을 경우 주석 으로된 부분을 실행하면영속성 전이를 수행할 회원이 없기 때문에 delete 쿼리가 나가게 됩니다.제가 생각한게 맞는지 궁금하여 질문 드립니다. 밑의 예시의 경우 회원이 영속 상태인 경우영속성 전이 때문에 연관관계를 끊지 않으면 영속 대상인 주소가 delete가 안되는게 맞을까요? @DisplayName("회원과 연관된 주소를 제거할때 자식인 주소를 제거 하면 delete 쿼리가 발생하지 않는다.") @Test void deleteAddress() { //given User user = new User("회원"); Address address = new Address("주소"); address.connectUser(user); //when em.persist(user); em.flush(); boolean isAddressManaged = em.contains(address); System.out.println("Address is managed? " + isAddressManaged); addressRepository.deleteById(address.getId()); em.flush(); em.clear(); //then //Address findAddress = addressRepository.findById(address.getId()).orElseThrow() //addressRepository.deleteById(findAddress.getId()); //em.flush(); } [ 회원 ]@Getter @Setter @Table(name = "users") @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToOne(mappedBy = "user", cascade = CascadeType.PERSIST) private Address address; protected User() {} private String name; public void connectAddress(Address address){ this.address = address; } }@Getter @Entity public class Address { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; private String addressName; protected Address() {} public Address(String addressName) { this.addressName = addressName; } public void connectUser(User user){ this.user = user; user.connectAddress(this); } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
9:45 부터 영상자막이랑 소리랑 싱크가 안 맞아요 ㅠㅠ
9:45 부터 영상자막이랑 소리랑 싱크가 안 맞아요 ㅠㅠ
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 코랩파일 다운로드 받는 위치(경로) 문의
강의에서 알려주시는 코랩파일은 어디에서 다운로드 받을 수 있나요?엑셀 파일이나 마인드맵 자료는 다운 받았습니다.
-
미해결[2025] 비전공자도 한 번에 합격하는 SQLD 올인원
DML 문제와 답이 다른 것 같습니다
안녕하세요강의 잘 듣고있습니다~CHAPTER 3 01 DML 핵집문제 (p. 306, 307)문제와 답이 서로 다른 내용인 것으로 보여서확인 부탁드리겠습니다 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
얼떨결에 코드 짜서 답은 나왔는데요 0.5보다 큰걸 찾는 부분 코드가 저렇게 해도 왜 답이 제대로 나오는걸까요
from sklearn.preprocessing import MinMaxScaler Scaler = MinMaxScaler() df_Scaler = Scaler.fit_transform(df[['qsec']]) re=df_Scaler>0.5 re.sum()
-
미해결
강의 영상 추가 요청
남박사님, relank 기능 사용하는 방법도 알려주실 수 있을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
25년 1회 문제풀이
혹시 25년 1회 문제풀이는 안해주시나요?
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
[03-04] 디바이스 API
안녕하세요해당 수업 내용을 안드로이드로 실행시켰을때 세 가지 내용중 두 가가지는 잘 나오는데 기종정보는 alert가 안뜨는데 왜 그런걸까요 ??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
사후검정 2가지를 다 숙지해야할까요?
사후검정방법이 꽤 여러가지있고 그 중에 두가지를 반복해서 알려주시는데, 둘중에 하나만 숙지해도 될까요?