묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! FastAPI 입문
orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요
sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper[ScheduleEntity(schedules)], expression 'CountryEntity' failed to locate a name ('CountryEntity'). If this is a class name, consider adding this relationship() to the <class 'src.models.schedule.ScheduleEntity'> class after both dependent classes have been defined. cities = relationship("src.models.city.CityEntity", back_populates="country", cascade="all, delete-orphan", lazy="joined") schedules = relationship("src.models.schedule.ScheduleEntity", back_populates="country", cascade="all, delete-orphan", lazy="joined")이미 이렇게 다 해놨는데 말이죠...
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
응답코드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요304로 뜨는 이유는 뭔가요???강사님 처럼 200이 떠야하는데 ㅠ화면은 제대로 이동했습니다
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
도커 활용하기 (주피터 노트북 서버 만들어보기)에서 질문있습니다
15:15 에 로컬호스트는 사실 자기 서버라고 하셨는데 자기 서버인데 왜 localhost로 3306 열려져 있는 포트를 찾지 못했던 것인지 잘 모르겠습니다.
-
해결됨웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
sql injection 공격이 가능한 순간 다른 기법을 사용하는건 비효율적이지 않나요?
sql injection 공격이 가능하다면union 공격이 제일 효과적이라는 생각이 들었습니다.sql injection 공격이 가능한 순간 다른 기법을 사용하는건 비효율적이지 않나요?blind_Based가 유효한 더 실전적인 케이스가 궁금합니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
langgraph를 streamlit과 연동(?)하는 과정에서 질문이 있습니다.
안녕하세요! section3을 듣고나서 제 나름대로 langgraph를 만들고 이걸.. streamlit으로 구현을 해봤는데요. 이번 강의에서와 같이 chat-history를 checkpointer를 사용해서 연결하려고하면 Checkpointer requires one or more of the following 'configurable' keys: ['thread_id', 'checkpoint_ns', 'checkpoint_id'] 이런 오류가 뜨고 있는 상태입니다. chat-gpt와 구글 서치를 통해 나름대로 아래와 같이 해보았지만(간략하게 서술하면 CustomMememorySaver라는 클라스를 통해 ['thread_id', 'checkpoint_ns', 'checkpoint_id'] 를 checkpointer에 넣는 것입니다.) 이 역시 제대로 동작하지 않습니다.system_message_template = SystemMessagePromptTemplate.from_template("You are a helpful assistant.") chat_prompt = ChatPromptTemplate.from_messages([system_message_template]) # 세션 키 생성 (세션 관리) def generate_session_key(): if 'session_key' not in st.session_state: st.session_state['session_key'] = str(uuid.uuid4()) return st.session_state['session_key'] # Checkpointer 설정 (세션 상태 관리) class CustomMemorySaver(MemorySaver): def __init__(self, session_key): super().__init__() self.session_key = session_key def get_checkpoints(self): # 필요한 체크포인트 정보 반환 return { "thread_id": self.session_key, # session_key를 thread_id로 사용 "checkpoint_ns": "default", # 기본 네임스페이스 "checkpoint_id": f"checkpoint_{self.session_key}" # 고유한 checkpoint_id } # 시스템 메시지와 메모리 체크포인터 설정 session_key = generate_session_key() checkpointer = CustomMemorySaver(session_key=session_key) # LangGraph만을 사용한 에이전트 생성 (tools는 빈 리스트로 설정) agent_executor = create_react_agent(llm, [], state_modifier=chat_prompt, checkpointer=checkpointer)또, 예전 langchain 강의에서 알려주셨던 chat-with-history 코드를 활용하려는 시도도 해봤는데요. (가독성을 위해 프롬프트 내용이나 중간 중간 선언 내용은 지웠습니다.) 하지만 이거 같은 경우에는 langgraph를 사용하는 입장에서, rag-chain을 ai_response에 넣는 과정을 어떻게 처리해야될지 모르겠어서 중도포기한 상태입니다. ㅠㅠ;; store = {} def get_session_history(session_id: str) -> BaseChatMessageHistory: if session_id not in store: store[session_id] = ChatMessageHistory() return store[session_id] def get_rag_chain(): llm = get_llm() retriever = get_retriever() contextualize_q_system_prompt = ("생략") contextualize_q_prompt = "생략" history_aware_retriever = create_history_aware_retriever( llm, retriever, contextualize_q_prompt ) system_prompt = ("생략") qa_prompt = ChatPromptTemplate.from_messages("생략") question_answer_chain = create_stuff_documents_chain(llm, qa_prompt) rag_chain = create_retrieval_chain(history_aware_retriever, question_answer_chain) conversational_rag_chain = RunnableWithMessageHistory( "생략" history_messages_key="chat_history", output_messages_key="answer", ).pick('answer') return conversational_rag_chain def get_ai_response(user_message): rag_chain = get_rag_chain() loan_chain ={"input": dictionary_chain} | rag_chain ai_message = loan_chain.stream( { "question": user_message }, config={ "configurable": {"session_id": "abc123"} }, ) return ai_message결론적으로 말하면 langgraph로 어떻게해야 langchain에서 했던것처럼 streamlit상에서 구현할 수 있을지 궁금합니다! 질문 읽어주셔서 감사합니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
(기출) 2024년 2회 기출문제 수업자료가 강의랑 안맞아요
섹션7 (기출) 2024년 2회 기출문제 - 이론 포함강의내용 0:53:26자료 12페이지 람다 예제 1 만 있어요예제 2가 없어요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
재고관리에 카프카 쓴 이유가 궁금합니다.
재고관리에 카프카 쓴 이유가 궁금합니다.제가 이해한 내용으로는 현재 order와 catalog는 다른 포트를 사용 중이고 같은 DB를 사용 중인걸로 알고있습니다. 그래서 카프카말고 @FeignClient로 재고관리에 업데이트 해주는 방식이 있는 거 같은데 이 상황에서 카프카를 쓴 이유가 있나요?
-
미해결백엔드 개발자 성능 개선 초석 다지기
ExecutorService와 CompletableFuture의 차이점과 역할
안녕하세요! 비동기 코드에 관해 질문이 있습니다. ExecutorService 는 스레드를 관리하는 역할을 하는것이고 CompletableFuture 가 실제로는 비동기 요청을 처리하는 것으로 이해하였는데 맞을까요? Future 은 예외 처리를 할 수 없기 때문에 잘 쓰이기 않을까요??CompletableFuture 가 지원하는 기능이 더 많기 때문에 주로 CompletableFuture 를 사용하나요?
-
해결됨그림으로 쉽게 배우는 운영체제
멀티프로그래밍, 멀티 태스킹, 멀티 프로세싱
감자님 안녕하세요! https://www.inflearn.com/community/questions/1535537/%EC%9C%A0%EB%8B%88%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EA%B3%BC-%EB%A9%80%ED%8B%B0%ED%94%84%EB%A1%9C%EC%84%B8%EC%8B%B1%EC%9D%B4-%EC%96%B4%EB%96%BB%EA%B2%8C-%EA%B3%B5%EC%A1%B4%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-%EA%B1%B4%EA%B0%80%EC%9A%94위 질문의 답변과 1. 현대 운영체제는 멀티프로그래밍, 멀티프로세싱 모두를 이용하시 때문에 멀티프로그래밍과 멀티프로세싱이 같다고 생각하신 것 같습니다. 하지만 유니프로그래밍과 멀티프로세싱도 같이 쓰일 수 있습니다. 예전에는 메모리의 크기가 작았기 때문에 메모리에 하나의 프로세스가 올라왔고 CPU가 이를 처리하다가 보조 저장장치에 저장된 프로세스와 스왑해서 메모리에 올려 다른 프로세스를 처리하는 방식으로 멀티 프로세싱했습니다. 이런 이유로 유니 프로그래밍과 멀티 프로그래밍을 메모리 관점으로 바라보는 것이고, 멀티 프로세싱은 CPU 관점으로 바라본다고 한 것입니다. 오늘날에는 해당 방식이 사용되지 않아서 거의 멀티프로그램=멀티프로세싱으로 보이긴 하지만 차이점은 알아두시면 좋을 것 같습니다!CS 스터디 질문답변에 과거 남겨주신 답변을 보고 헷갈리는 점이 생겨 질문드립니다.오늘 업데이트되기 이전의 영상 [Section2의 멀티 프로그래밍과 멀티프로세싱]에서 설명해주신 멀티 프로세싱의 개념이 멀티 태스킹임을 이해하였습니다. 그렇다면, 이전에 설명해주신 메모리와 CPU의 관점에서 차이를 이해하는 것도 멀티 프로그래밍과 멀티 태스킹인 것일까요??즉, 멀티 프로그래밍이 메모리 관점에서 메모리에 여러 개의 프로세스를 올릴 수 있는 것이고, 멀티 태스킹이 CPU의 관점에서 하나의 CPU가 여러 개의 프로세스를 처리할 수 있다. 로 이해하면 되는 것인가요??디스코드에 남겨주신 답변이 잘못된 것인지 헷갈려서 질문드립니다!
-
미해결아바타 커뮤니티앱 만들기 (React Native Expo)
사용 기기 관련해서 질문 드립니다.
eas와 notification 설정 후에는 로그인 시에 android emulator 상에서 코딩해주신 대로 '실제기기를 사용해주세요' 문구가 나옵니다.ios 는 개발자모드 설정을 구매해야 한다고 해서 기기는 안드로이드로 진행하려고 하는데 android 기기가 따로 없고emulator 로는 실행이 안되는 걸까요? expopushToken만 보내고 로그인이 되지는 않습니다.
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
섹션13-집계함수 SUM, AVG, MIN, AVG, COUNT 강의
해당 강의의 1:39 초에 ORDER BY sal ROWS UNBOUNDED PRECEDING을 추가적으로 넣어주셨는데 avg의 결과값이 이해가 안돼서 질문드리게 되었습니다. avg를 계산할 때도 rows unbounded preceding이 적용되었으니 [CLERK] 파티션에서는- SMITH : 800- ADAMS : (800+950) /2 = 875 이런식으로 계산이 되어야 하는건 아닌지 궁금합니다.하단 테이블에 실제 계산된 값을 보니, [CLERK] 파티션의 AVG 값은 (800 + 950 + 1100+ 1300) / 4 = 1,037.5 값을 출력한 것으로 보이는데 이유가 궁금합니다!
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
풀라우트캐시 3강. book/4를 URL로 요청시 렌더링 과정
안녕하세요 선생님, 질문이 있어서 남깁니다.만약 book/4를 URL로 요청하면 과정이 URL로 book/4 요청 시 Link 등이 없으므로 프리페칭은 안됨- 서버에서 JS 실행 (렌더링)- 렌더링 된 HTML 브라우저에 넘김- 브라우저에서 화면에 렌더링- 서버에서 JSBundel, RSC payload 브라우저에 넘김- 수화과정- 상호작용 가능 이게 맞나요? book/1~3은 staticPage로 풀라우트캐시되어있으니URL로 요청하면 풀라우트캐시에서 바로 HIT해서 주는거고요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Editor 컴포넌트는 리렌더링되는 것은 맞나요?
강의내용에 보면 todos가 변경될 때 Editor는 변경이 않되야하는 것 같은데 리렌터링이 됩니다.소스는 같은데 머가문제인지 알 수있을까요?<Editor.jsx>const Editor = () => { const { onCreate } = useContext(TodoDispatchContext); const [content, setContent] = useState(""); const contentRef = useRef(); const onChangeInput = (e) => { setContent(e.target.value); }; const onKeyDown = (e) => { if (e.keyCode === 13) { onSubmit(); } }; const onSubmit = () => { if (content === "") { contentRef.current.focus(); return; } onCreate(content); setContent(""); }; return ( <div className="Editor"> <input ref={contentRef} value={content} onKeyDown={onKeyDown} onChange={onChangeInput} placeholder="새로운 Todo..." /> <button onClick={onSubmit}>추가</button> </div> ); }; export default Editor;<App.jsx>import "./App.css"; import Header from "./components/Header"; import Editor from "./components/Editor"; import List from "./components/List"; import { useState, useRef, useReducer, useMemo, useCallback, createContext, } from "react"; const mockData = [ { id: 0, isDone: false, content: "React 공부하기", date: new Date().toLocaleDateString(), }, { id: 1, isDone: false, content: "빨래하기기", date: new Date().toLocaleDateString(), }, { id: 2, isDone: false, content: "청소하기", date: new Date().toLocaleDateString(), }, ]; const reducer = (state, action) => { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((todo) => todo.id === action.data.id ? { ...todo, isDone: !todo.isDone } : todo ); case "DELETE": return state.filter((todo) => todo.id !== action.data.id); default: return state; } }; export const TodoStateContext = createContext(); export const TodoDispatchContext = createContext(); function App() { const [todos, dispatch] = useReducer(reducer, mockData); const idRef = useRef(3); const onCreate = useCallback((content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }, []); const onUpdate = useCallback((targetId) => { dispatch({ type: "UPDATE", data: { id: targetId } }); }, []); const onDelete = useCallback((targetId) => { dispatch({ type: "DELETE", data: { id: targetId } }); }, []); const memoizedDispatch = useMemo(() => { return { onCreate, onUpdate, onDelete }; }, []); return ( <div className="App"> <Header /> <TodoStateContext.Provider value={{ todos }}> <TodoDispatchContext.Provider value={memoizedDispatch}> <Editor /> <List /> </TodoDispatchContext.Provider> </TodoStateContext.Provider> </div> ); } export default App;
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
maven project 오류
maven 설치한거 같은데 maven이 설치에 문제가 있는걸까요 왜 빌드 했을때 아무것도 작동하지 않는지 알고싶습니다
-
미해결앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스
Custom Activity Item 질문
안녕하세요 강사님.강의 잘 듣고 있습니다. 정말 도움이 많이 됩니다.저 처럼 늦은 나이에 시작하는 사람한테는 큰 힘이 됩니다.질문내용은 File Manage #11 - Custom Activity Item 강의를 수강하고, 실습을 하던중에 잘 되지않는 사항이 있어 질문 드립니다.이미지의 공유버튼을 누르면 작은 아이콘이 이미지파일명과 같이 뜨는데, 저는 작은 아이콘이 뜨지를 않습니다뭔가를 잘못한거 같은데요.. 바쁘시더라도 한번 봐주셔서 답변 부탁드립니다. 감사합니다.
-
미해결15일간의 빅데이터 파일럿 프로젝트
Hbase에 적재된 데이터 확인시 에러
APi오류가 뜹니다..
-
미해결머신러닝 엔지니어 실무
kubeflow 관련 질문 드립니다
kubeflow 를 구축하면mlops 를 다 할수 있나요? 아니면 추가적으로 다른 플랫폼을 설치해야 하나요? kubeflow 에 이미학습, 파라미터 셋팅 , 서빙등의 기능이 있는데W&B 나 mlflow , bentoml 을 사용하시는 이유가 알고 싶습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
레디스의 동적 서버 리스트와 샤딩 범위 중복 문제 질문
안녕하세요, 강의 잘 듣고 있습니다. ^^분산 시스템에서 균등 샤딩 부분을 듣다가 궁금한 점이 생겨서 질문드립니다.각 서버는 자신의 @Scheduled에 의해 레디스 서버로 조회하여 자신의 인덱스를 찾은 후 이를 기반으로 각자 서버 로컬에서 샤딩 범위를 계산하는 것으로 이해했는데요. 여기서 궁금한 점은 각 서버마다 @Scheduled가 동작하는 시점도 다를테고, 레디스의 저장된 서버 리스트가 동적으로 변하기도 하는데, 이러한 이유로 서로 다른 서버가 부분적으로 겹치는 샤딩 범위를 각자 계산하여 카프카로 중복 전송하는 시나리오가 발생하지는 않는 것인가요?ex) A의 @Scheduled 동작 시점에서는 서버가 3개 뿐이었지만 B의 @Scheduled 동작 시점에는 서버가 5개로 늘어난 경우서버 A가 계산한 자신의 샤딩 범위 0~20서버 B가 계산한 자신의 샤딩 범위 13 ~ 27 답변 주시면 감사하겠습니다.😊
-
미해결
테스트케이스(장난꾸러기)
30122 123 125 125 128 130 133 137 138 138 140 141 142 143 145 147 149 149 154 154 155 157 161 167 167 167 161 170 173 173 이 테케 답이 24 27인걸로 되어있는데철수는 짝보다 키가 크다는 점이 문제에 명시되어있는데 철수키가 161 짝 키가 173 이라는건 오류 아닌가요?
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
채팅 메시지 저장에 관한 질문입니다.
채팅 메시지를 보낼 때마다 db에 접근해서 저장하는 방식이면 디스크 io 작업이 굉장히 잦아질 거 같은데보통 이런 경우에는 redis 를 쓴다면 redis에 저장해두었다가 스케줄링같은 방식으로 한번에 db에 저장하는 방식을 사용하는 걸까요?