묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
max_depth 문의
lightgbm에서 max_depth에 변화를 주는 튜닝을 했는데, 해도 평가지표가 아예 변화가 없는데 이런 경우도 있을 수 있나요?
-
미해결스프링 부트와 리액트로 구현하는 소셜 로그인
db연결 질문있습니다!
제가 아직 기본이 부족한 상태여서 여쭤봅니다! mysql의 스키마 설정을 따라해서 되긴 했는데spring과 mysql의 연결이 spring코드의 어떤 부분에서 자동으로 되는건지 자세히 여쭤볼 수 있을까요??
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍
인스턴스 변수와 클래스 변수
섹션 7. 변수와 주석문 - 32. 변수 종류와 Stack 그리고 GC의 원리 - 07:50 클래스 변수에 대한 설명이 부정확합니다. class Example { int a; // 인스턴스 변수 또는 멤버 변수 static int b; // 클래스 변수}
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
챗봇 생성시 에러
안녕하세요, gemini를 이용해서 챗봇 생성중에 있습니다.그런데 하기와 같이 챗봇을 llm과 연동하는 중에 에러가 계속 발생합니다.gpt한테 계속 물어가면서 에러잡고있는데 계속 동일한 에러만 나오네요. ㅠ어떻게 개선할 수 있을까요? 조언부탁드립니다. 감사합니다.코드)import streamlit as st from langchain import hub from dotenv import load_dotenv from langchain_google_genai import GoogleGenerativeAIEmbeddings from langchain_pinecone import PineconeVectorStore from langchain_google_genai import ChatGoogleGenerativeAI from langchain.chains import RetrievalQA from langchain.prompts import ChatPromptTemplate st.set_page_config(page_title="영향분석 챗봇", page_icon="★") st.title("영향분석 챗봇") st.caption("System 변경 영향 분석") load_dotenv() # 세션 상태에 메시지 리스트가 없으면 초기화 if 'message_list' not in st.session_state: st.session_state.message_list = [] # 이전 메시지 출력 for message in st.session_state.message_list: with st.chat_message(message["role"]): st.write(message["content"]) def get_ai_message(user_message): try: # 입력 메시지 확인 if not isinstance(user_message, str) or not user_message.strip(): return "질문이 비어 있습니다. 유효한 질문을 입력해 주세요." print(f"user_message: {user_message}") # user_message의 내용 출력 print(f"user_message length: {len(user_message)}") # 문자열 길이 출력 print(f"user_message type: {type(user_message)}") # 타입 출력 # Google Generative AI Embeddings 모델 초기화 embedding = GoogleGenerativeAIEmbeddings(model='models/gemini-embedding-exp-03-07') index_name = 'uml-index' database = PineconeVectorStore.from_existing_index(index_name=index_name, embedding=embedding) llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash") prompt_template = hub.pull("rlm/rag-prompt") retriever = database.as_retriever(search_kwargs={'k': 4}) # RetrievalQA 인스턴스 생성 qa_chain = RetrievalQA.from_chain_type(llm, retriever=retriever, chain_type_kwargs={"prompt": prompt_template}) dictionary = ["External Entity -> actor"] prompt = ChatPromptTemplate.from_template(f""" 사용자의 질문을 보고, 우리의 사전을 참고해서 사용자의 질문을 변경해주세요. 만약 변경할 필요가 없다고 판단된다면, 사용자의 질문을 변경하지 않아도 됩니다. 그런 경우에는 질문만 리턴해주세요. 사전 : {dictionary} 질문 : {{question}} """) dictionary_chain = prompt | llm uml_chain = {"query": dictionary_chain} | qa_chain ai_message = uml_chain.invoke({"question": user_message}) return ai_message except Exception as e: print(f"오류 발생: {repr(e)}") # 오류 메시지 출력 print(f"입력된 user_message: {user_message}") # 오류 발생 시 입력된 메시지 출력 return f"오류가 발생했습니다: {repr(e)}" # 사용자 입력 처리 if user_question := st.chat_input(placeholder="CR 내용을 첨부해주세요"): with st.chat_message("user"): st.write(f"사용자 질문: {user_question}") st.session_state.message_list.append({"role": "user", "content": user_question}) ai_message = get_ai_message(user_question) with st.chat_message("AI"): st.write(ai_message) st.session_state.message_list.append({"role": "AI", "content": ai_message}) 에러)user_message: 시스템에 연결된 External Entity를 알려주세요user_message length: 31user_message type: <class 'str'>오류 발생: GoogleGenerativeAIError('Error embedding content: bad argument type for built-in operation')입력된 user_message: 시스템에 연결된 External Entity를 알려주세요
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍
식별자로 '$' 문자 사용
섹션 7. 변수와 주석문 31. 변수 이름 - 식별자 - 02:24 개발환경 JDK21에서 '$'를 식별자에 사용할 수 있습니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
여러 객체를 상태 관리하는 방법에 대한 질문
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 강의에서 여러 객체에 대한 상태를 관리할 때, CursorpatnationBase라는 상태를 기반으로 관리할 수 있다는 것을 이해했습니다. 그런데, 만약 list의 크기가 짧아서 페이징을 필요로 하지 않는 케이스는, Map<String, Object> 타입을 통해 상태 관리를 하는 것도 괜찮은 방법일까요?
-
해결됨배달앱 클론코딩 [with React Native]
스타일링 라이브러리
강사님 안녕하세요. 강의 잘 듣고 있습니다!강의에서 스타일링을 하실때 리액트 네이티브 기본 styleSheet를 사용해서 개발하시는데,현재 강의에서 개발하는 토이프로젝트 규모의 앱이 아니라, 실제 서비스용 앱을 개발하실때에도 기본 styleSheet를 사용해서 개발하시는지 아니면 다른 외부 라이브러리를 사용해서 개발하시는지 궁금합니다!next.js 강의에서는 Vanilla Extract를 추천해주셨는데, 리액트 네이티브에서는 Vanilla Extract와 같이 추천하는 스타일링 라이브러리가 있으신지 아니면 기본 styleSheet만으로 충분하다고 생각하시는지 조언들 듣고 싶습니다. 감사합니다!
-
미해결Next.js 15로 완성하는 실전 YouTube 클론 개발
AI 음성 에러 수정 요청
수정 부탁드립니다."에서만 사용할 수 있는 기능입니다."
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
행별 합
이전에는 행별 합을 구할 때df.T를 사용했던 거 같은데sum(axis=1)을 사용해도 되는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 3혼란
선생님 각각의 설명을 들으면 이해가 되고 알겠는데 그걸 어느문제에 어떤 순서로 적용을 시켜야 하는지를 잘 모르겠습니다이건 문제를 보면서 익혀야하는걸까요?
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
오브젝트모드에서는 안보이는 현상
안녕하세요처음에는 이렇게 벽이 잘 보이는 상태인데요저 창문있는 벽빼고 다 루프컷을 넣어줬을때까지만해도 벽이 오브젝트 모드에서는 잘보였어요 그런데 창문쪽에도 그 나무판자쪽 까지 루프컷 주고나니까 오브젝트모드에서 바로 안보여요.... 그래서 아 밑에선을 올리고 익스트루드해봐야겠다하고선을 올리기만하고 오브젝트모드에서 확인해보았는데 바로 저렇게 저 창문벽빼고 나머지 벽이 다 안보여요...에디트모드 들어가면 벽들이 전부 잘 있어요근데 오 브젝트 모드에선 자꾸 이렇게 안보여요 어떻게 해결해야하나요?..................
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
pinecone 임포트 부분이 에러가발생합니다
파이썬 버전 3.10.11입니다윈도우 vscode에서 테스트해보고 있어요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
구름예시 3번문제
구름예시문제 작업형3에서 마지막 독립표본t검정 하라고해서 모수적검정 해도 되는지 확인 차 로그리지스틴 샤피로검정 했는데 1집단 샤피로검정 p값이 0.035네요 이런 경우 만휘트니검정을 해야하나요? 아니면 문제에서 제시한 대로 그냥 모수적검정인 독립표본t검정을 해야하는지비모수적검정인 만휘트니유 검정을 해야하는지 궁금합니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
시험에서 답안지 작성시 풀이과정을 꼭 써야 하나요?
이번에 시험보고 탈락을 한 수험자입니다.답안 작성시 풀이과정과 답을 함께 작성해야 한다고 해서 적잖게 당황하여 시간이 모자랐었는데 결국 떨어졌네요. 제 질문은 풀이과정을 반드시 써야하나요?'답' 칸을 제외한 나머지 공간에 동그라미와 밑줄을 치며 낙서를 해도 되나요?풀이과정을 쓸 수 있는 공간 자체 부족해 보였는데 답답합니다. 속시원히 누가 얘기좀 해주면 좋겠습니다.
-
미해결
개발 강의 추천 부탁드립니다.
[3줄 요약]비전공자로 10년 전 JSP, PHP 기반 개발 경험이 있으며, 현재는 헤드헌터로 활동 중입니다.React + Java(Spring) + MongoDB 기반으로 헤드헌터 업무에 활용할 수 있는 웹/모바일 플랫폼을 직접 개발하고자 합니다.기술 공백과 최신 스택(Git 등) 부족으로 학습 방향 및 인프런/부트캠프 강의 추천이 필요합니다. [본문]안녕하세요.현재 40세, 비전공자(경영학과)이며, 현재는 헤드헌터로 활동 중입니다.12년 전 독학과 오프라인 Java 강의(6개월) 수강 후 JSP 기반 웹 개발을 약 6개월,또한 웹호스팅 업체에서 리눅스/윈도우 서버 운영과 PHP 유지보수를 약 1년간 경험했습니다.퇴사 후 HTML5, CSS3, PHP, MySQL 기반으로 1인 창업 프로젝트(플랫폼)를 개발 경험도 있으나,프론트엔드 실무 한계로 인해 학원과 인강으로 보완했지만 실무 수준에 도달하기는 어려웠습니다.이후 창업을 접고 현재는 헤드헌터 일을 8년째 하고 있습니다. 최근 AI 도구(GPT, CURSOR 등)로 인해 1인 개발의 장벽이 많이 낮아졌다고 느꼈고,사이드프로젝트로 다시 한번 플랫폼을 만들어보자는 생각에 도전하고 있습니다. 우선 서버는 아마존이나 네이버 등 1년 동안 무료로 제공하는 클라우드를 생각하고 있습니다. [프로젝트 방향]목표: 헤드헌터 업무에 활용 가능한 게시판 중심의 웹 & 모바일 플랫폼프론트엔드: React백엔드: Java(Spring), 일부 Python (데이터 분석용)DB: MongoDB (NoSQL 기반)기능: 기능: 엑셀 데이터 업로드/필터링, 검색, 태그, 동료와 공유 및 협업플랫폼: PC 웹 + Android 우선 대응 [현재 느끼는 기술적 한계]10년 이상의 개발 공백 → 신규 기술 감각이 거의 없음Git, 협업 툴, 배포 등 실무적인 스택을 제대로 써본 적 없음과거 창업 경험 덕에 HTML/CSS/JS 기본 흐름은 이해주당 약 20시간 정도 학습 및 개발 시간 확보 가능 [현재 계획 중인 학습 우선순위]모든 강의를 다 듣기엔 시간 제약이 있으므로, 아래와 같은 것부터 선택적으로 수강하려고 합니다.React 중심 프론트엔드 학습 – 프로젝트 기반으로 실습 위주Spring 백엔드 학습 – REST API + MongoDB 연동 포함Git, 배포, 협업 도구 등 실무 환경 익히기Python 기초 + 데이터 분석 활용 (선택적)(Node.js나 웹 자동화는 현재는 후순위입니다) 시간상 모든 강의를 다 들을 수는 없어, 섹션별로 필요한 내용만 골라 수강할 수 있는 방식이 있는지 궁금합니다.또한 혼자서 진행하는 프로젝트이기에, 코드 리뷰나 피드백 커뮤니티가 병행되는 부트캠프가 있다면 병행하고 싶습니다.비슷한 경험을 하신 분이나, 인프런/코드잇 등에서 유익했던 강의나 커뮤니티가 있다면 조언 부탁드립니다 감사합니다. #사이드프로젝트 #React #JavaSpring #MongoDB #프론트엔드 #백엔드 #풀스택도전#개발공백극복 #IT학습로드맵 #인프런강의추천 #코드잇추천
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제 3번 map을 이용한 풀이에서도 import numpy 필요하지 않나요??
문제 3번 map을 이용한 풀이에서도 import numpy 필요하지 않나요?? 검색해보세요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train_test_split random_state 질문입니다.
데이터 분리에서 random_state 2025와 random_state 0를 사용할 때 각각 학습 검증값이 다른데 이것도 모델처럼 하이퍼파라미터(max_depth, n_estimators)를 수정해가며 검증값을 측정하는게 맞나요 ?체험형 문제에서 X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size = 0.2, random_state = 2025)로 작성하니 rmse 값이 923이 나왔고, random_state를 0으로 바꾸니 800대가 나오네요.
-
해결됨2025년 CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)
유출 통지와 신고 시점
신용정보법에서 개인신용정보가 누설되었음을 알게 되었을 때 통지나 신고 시점이 강의에서는 5일 이내라고 되어있는데 신정법 시행령에서 해당 내용을 찾을 수 없었습니다. pdf 개념서에는 72시간 이내라고 되어있는데 72시간이내가 맞는 걸까요?
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
최종프로젝트 상세페이지 출력 오류 문의드립니다!
세션 9. 최종 프로젝트cityDetail 개발-2 에서https://trip-wiki-api.vercel.app/ 강사님이 알려주셨던 링크에는 상세페이지 이미지와 받는 정보가 없습니다! 어떻게 상세페이지를 출력할 수 있나요? Japan을 검색창에서 검색하고 상세페이지를 눌렀지만 아무런 정보가 출력되지 않고 있습니다! import Header from "./components/Header.js"; import RegionList from "./components/RegionList.js"; import CityList from "./components/CityList.js"; import CityDetail from "./components/CityDetail.js"; import { request, requestCityDetail } from "./components/api.js"; export default function App($app) { const getSortBy = () => { if (window.location.search) { return window.location.search.split("sort=")[1].split("&")[0]; } return "total"; }; const getSearchWord = () => { if (window.location.search && window.location.search.includes("search=")) { return window.location.search.split("search=")[1]; } return ""; }; this.state = { startIdx: 0, sortBy: getSortBy(), region: window.location.pathname.replace("/", ""), searchWord: getSearchWord(), cities: "", currentPage: window.location.pathname, }; const renderHeader = () => { new Header({ $app, initialState: { currentPage: this.state.currentPage, sortBy: this.state.sortBy, searchWord: this.state.searchWord, }, handleSortChange: async (sortBy) => { const pageUrl = `/${this.state.region}?sort=${sortBy}`; history.pushState( null, null, this.state.searchWord ? pageUrl + `&search=${this.state.searchWord}` : pageUrl ); const cities = await request( 0, this.state.region, sortBy, this.state.searchWord ); this.setState({ ...this.state, startIdx: 0, sortBy: sortBy, cities: cities, }); }, handleSearch: async (searchWord) => { history.pushState( null, null, `/${this.state.region}?sort=${this.state.sortBy}&search=${searchWord}` ); const cities = await request( 0, this.state.region, this.state.sortBy, searchWord ); this.setState({ ...this.state, startIdx: 0, cities: cities, searchWord: searchWord, }); }, }); }; const renderRegionList = () => { new RegionList({ $app, initialState: this.state.region, handleRegion: async (region) => { history.pushState(null, null, `/${region}?sort=total`); const cities = await request(0, region, "total"); this.setState({ ...this.state, startIdx: 0, sortBy: "total", region: region, cities: cities, searchWord: "", currentPage: `/${region}`, }); }, }); }; const renderCityList = () => { new CityList({ $app, initialState: this.state.cities, handleItemClick: async (id) => { history.pushState(null, null, `/city/${id}`); this.setState({ ...this.state, currentPage: `/city/${id}`, }); }, handleLoadMore: async () => { const newStartIdx = this.state.startIdx + 40; const newCities = await request( newStartIdx, this.state.region, this.state.sortBy ); this.setState({ ...this.state, startIdx: newStartIdx, cities: { ...this.state.cities, cities: [...this.state.cities.cities, ...newCities.cities], isEnd: newCities.isEnd, }, }); }, }); }; const renderCityDetail = async (cityId) => { try { const cityDetailData = await requestCityDetail(cityId); new CityDetail({ $app, initialState: cityDetailData }); } catch (err) { console.log(err); } }; const render = async () => { const path = this.state.currentPage; $app.innerHTML = ""; // 상세 페이지로 이동 if (path.startsWith("/city/")) { const cityId = path.split("/city/")[1]; renderHeader(); renderCityDetail(cityId); } else { renderHeader(); renderRegionList(); renderCityList(); } }; this.setState = (newState) => { this.state = newState; render(); }; const init = async () => { const path = this.state.currentPage; // 메인 페이지 if (!path.startsWith("/city")) { const cities = await request( this.state.startIdx, this.state.region, this.state.sortBy, this.state.searchWord ); this.setState({ ...this.state, cities: cities, }); } // 상세페이지 else { render(); } }; window.addEventListener("popstate", async () => { const urlPath = window.location.pathname; const prevRegion = urlPath.replace("/", ""); const prevPage = urlPath; const prevSortBy = getSortBy(); const prevSearchWord = getSearchWord(); const prevStartIdx = 0; const prevCities = await request( prevStartIdx, prevRegion, prevSortBy, prevSearchWord ); this.setState({ ...this.state, startIdx: prevStartIdx, sortBy: prevSortBy, region: prevRegion, currentPage: prevPage, searchWord: prevSearchWord, cities: prevCities, }); }); init(); } //API.js 코드입니다!export default function CityDetail({ $app, initialState }) { this.state = initialState; this.$target = document.createElement("div"); this.$target.className = "city-detail"; $app.appendChild(this.$target); const getScoreColor = (score) => { // let scoreNumber = parseInt(score); if (score >= 4) return "green"; if (score >= 3) return "yellow"; return "red"; }; this.template = () => { let cityData = this.state.CityDetail; let temp = ``; if (cityData) { temp = `<div class="image-banner"> <img src="${cityData.image}"/> <div class="city-name"> <div class="city">${cityData.city}</div> <div class="country">${cityData.region} / ${cityData.country}</div> </div> </div> <div class="progress-container"> <div class="info-item"> <div class="label">⭐ Total Score</div> <div class="progress-bar" score-color="${getScoreColor( cityData.total )}" style="--score:${cityData.total * 20}%"></div> </div> <div class="info-item"> <div class="label">💵 Cost</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.cost )}" style="--score:${cityData.info.cost * 20}%"></div> </div> <div class="info-item"> <div class="label">😆 Fun</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.fun )}" style="--score:${cityData.info.fun * 20}%"></div> </div> <div class="info-item"> <div class="label">🚓 Safety</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.safety )}" style="--score:${cityData.info.safety * 20}%"></div> </div> <div class="info-item"> <div class="label">🌐 Internet</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.internet )}" style="--score:${cityData.info.internet * 20}%"></div> </div> <div class="info-item"> <div class="label">💨 Air Condition</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.air )}" style="--score: ${cityData.info.air * 20}%"></div> </div> <div class="info-item"> <div class="label">🍜 Food</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.food )}" style="--score: ${cityData.info.food * 20}%"></div> </div> </div> `; } return temp; }; this.render = () => { this.$target.innerHTML = this.template(); }; /* this.setState = (newState) => { this.state = newState; this.render(); }; */ this.render(); } //cityDetail.js 상세페이지 코드입니다!
-
미해결3D 모델링 입문을 위한 라이노(Rhino) '꿀팁' Part.1
강의자료
강의 학습자료 암호가 어떻게 되나요?