로그는 잘 나가는 것 같은데 데이터베이스를 확인해보면 테이블이랑 데이터가 안 들어가는 것 같습니다 ㅠ 그리고 ddl-auto 모드도 none 으로 바꿔봐도 계속 같은 로그가 나옵니다.(테이블 생성 및 drop) 로그 첨부할게요. > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :compileTestJava UP-TO-DATE > Task :processTestResources UP-TO-DATE > Task :testClasses UP-TO-DATE 19:41:14.516 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [jpabook.jpashop.MemberRepositoryTest]: MemberRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 19:41:14.568 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.MemberRepositoryTest 19:41:14.668 [Test worker] INFO org.springframework.boot.devtools.restart.RestartApplicationListener -- Restart disabled due to context in which it is running . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.4.0) 2025-06-16T19:41:14.814+09:00 INFO 56122 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Starting MemberRepositoryTest using Java 20.0.1 with PID 56122 (started by sungwoo in /Users/sungwoo/Documents/dev/study/online-lecture/inflearn/jpa/2.jpa-application) 2025-06-16T19:41:14.815+09:00 INFO 56122 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : No active profile set, falling back to 1 default profile: "default" 2025-06-16T19:41:15.139+09:00 INFO 56122 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-06-16T19:41:15.150+09:00 INFO 56122 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 0 JPA repository interfaces. 2025-06-16T19:41:15.337+09:00 INFO 56122 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-06-16T19:41:15.435+09:00 INFO 56122 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:cb23765c-56b9-40bc-ba72-8f1435f049ba user=SA 2025-06-16T19:41:15.436+09:00 INFO 56122 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-06-16T19:41:15.470+09:00 INFO 56122 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2025-06-16T19:41:15.500+09:00 INFO 56122 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.2.Final 2025-06-16T19:41:15.517+09:00 INFO 56122 --- [ Test worker] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2025-06-16T19:41:15.661+09:00 INFO 56122 --- [ Test worker] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2025-06-16T19:41:15.706+09:00 INFO 56122 --- [ Test worker] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 2.3.232 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-06-16T19:41:16.066+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL 2025-06-16T19:41:16.126+09:00 INFO 56122 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-06-16T19:41:16.132+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : drop table if exists member cascade 2025-06-16T19:41:16.133+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : drop sequence if exists member_seq 2025-06-16T19:41:16.135+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : create sequence member_seq start with 1 increment by 50 2025-06-16T19:41:16.137+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : create table member (id bigint not null, username varchar(255), primary key (id)) 2025-06-16T19:41:16.140+09:00 INFO 56122 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-06-16T19:41:16.239+09:00 WARN 56122 --- [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2025-06-16T19:41:16.368+09:00 WARN 56122 --- [ Test worker] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) 2025-06-16T19:41:16.431+09:00 INFO 56122 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 1.764 seconds (process running for 2.307) 2025-06-16T19:41:16.749+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : select next value for member_seq 2025-06-16T19:41:16.808+09:00 DEBUG 56122 --- [ Test worker] org.hibernate.SQL : insert into member (username,id) values (?,?) Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2025-06-16T19:41:16.819+09:00 INFO 56122 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2025-06-16T19:41:16.819+09:00 DEBUG 56122 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists member cascade 2025-06-16T19:41:16.820+09:00 DEBUG 56122 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists member_seq 2025-06-16T19:41:16.821+09:00 INFO 56122 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2025-06-16T19:41:16.822+09:00 INFO 56122 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. > Task :test [Incubating] Problems report is available at: file:///Users/sungwoo/Documents/dev/study/online-lecture/inflearn/jpa/2.jpa-application/build/reports/problems/problems-report.html Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.11.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 3s 5 actionable tasks: 1 executed, 4 up-to-date 오후 7:41:16: Execution finished ':test --tests "jpabook.jpashop.MemberRepositoryTest"'.
안녕하세요, 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: 31 user_message type: <class 'str'> 오류 발생: GoogleGenerativeAIError('Error embedding content: bad argument type for built-in operation') 입력된 user_message: 시스템에 연결된 External Entity를 알려주세요
이번에 시험보고 탈락을 한 수험자입니다. 답안 작성시 풀이과정과 답을 함께 작성해야 한다고 해서 적잖게 당황하여 시간이 모자랐었는데 결국 떨어졌네요. 제 질문은 풀이과정을 반드시 써야하나요? '답' 칸을 제외한 나머지 공간에 동그라미와 밑줄을 치며 낙서를 해도 되나요? 풀이과정을 쓸 수 있는 공간 자체 부족해 보였는데 답답합니다. 속시원히 누가 얘기좀 해주면 좋겠습니다.
[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학습로드맵 #인프런강의추천 #코드잇추천
안녕하세요 선생님. 항상 잘 듣고 있습니다. 다름이 아니고 2024년 3회 기출문제 강의가 재생이 안 됩니다. 15일, 16일 다 시도해봤는데 15일은 기출문제 설명 들어가면서 재생이 안 되고 16일은 아예 재생 자체가 안 됩니다. ㅜㅜ 확인 한 번만 부탁드리겠습니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이렇게 코드 작성하는 부분에서도 설정차이가 있습니다 선생님과 같은 설정이였다가 갑자기 제가 잘못 눌러 밑과같이 변경되었습니다. 혹시 원래대로 설정할수 있을까요?
13번째 동영상 들으면서 따라하는 중이고 OpenAI API 사용 중인데, 아래 코드만 돌리면, PineconeApiException HTTP response body: {"code":11,"message":"Error, message length too large: found 15431073 bytes, the limit is: 4194304 bytes","details":[]} 이러한 에러가 뜹니다. 이를 해결하기 위해서, chunk_size = 10, chunk_overlap=0 으로 줄였는데도 계속 에러가 떠요. 어떻게 하면 해결할 수 있나요? database = PineconeVectorStore.from_documents( document_list, embedding, index_name=index_name )
안녕하세요 쿠케님. 우선 좋은 강의 감사합니다. 다름이 아니라 댓글 무한 depth - 테이블&구현 설계에서 unique index를 작성하는 부분이 나오는데 unique index 대신 index로 구현하고 table 생성 시 path에 unique 제약을 걸어도 효과가 같을지 궁금합니다.
관련 내용: 강의: 55. 해시 알고리즘6 - 해시 충돌 구현 21:56 pdf: 6. 컬렉션 프레임워크 - 해시(Hash) 24P 정리 부분 해시 인덱스를 사용하는 경우 데이터 저장을 할 때 평균 시간복잡도가 O(1) 이라고 설명. 의문점 private static void add(LinkedList<Integer>[] buckets, int value) { int hashIndex = hashIndex(value); LinkedList<Integer> bucket = buckets[hashIndex]; //O(1) if (!bucket.contains(value)) { //O(n) bucket.add(value); } } 위와 같이 항상 bucket이 contains(..) 메서드를 호출하여 중복된 값이 있는지 확인하므로 O(n)의 시간 복잡도가 소요됩니다. 그래서 저는 항상 데이터 저장을 할 때는 O(n)으로 계산해야 한다고 생각했습니다. 강의에서 말씀하신 내용은 이상적으로 해시 충돌이 별로 발생하지 않는 상황(그리고 구체적인 구현은 신경쓰지 않는 상황)이라 가정하고 O(1)이라고 한 것일까요?
GetMail의 크레덴셜이 적용된 메일만 UID값이 나오더라구요! 그래서 계속 크레덴셜이 네이버인데, 지메일 워크플로우 중 겟메일에서 아웃풋 값이 안나와 많이 해메었네요.. 이 부분이 강의에선 따로 말씀이 없으셨는지, 제가 못들은건지 잘 모르겠어유 ㅠㅠ 최종적으로 아래와 같이 구현하여 자동으로까지 잘 작동되는 걸 확인했습니다! 고생해도 실제로 생각대로 구현이 되니 매우 기분이 좋네요 ㅎㅎ.. 추가적으로 궁금한 부분은 현재 제 워크플로우는 스위치에서 양쪽으로 값을 보내고 지메일이면 아래에서만 아웃풋이 나와 정크로 가고, 네이버면 위에서만 아웃풋이 나와 정크로갑니다. 뭔가 직감적으로 조금 위험한 구조다(?) 라는 생각이 드는데, 혹시 더 효율적으로 노드를 구성하는 방법이 있나 궁금하고, 제목처럼 워크플로우를 어디까지 하나의 워크플로우로 하는 게 효율적일까 라는 궁금증도 생겼습니다. 사실 이정도면 그냥 edit field 없이 네이버 구현한것처럼 짧게 구글을 하나로 구현하는 게 맞지 않나 싶기도 해서요! 아 추가적으로 만약 이 워크플로우를 계속 active가 되도록 하려면 결국 컴퓨터를 계속하여 켜놔야 하는거겠죠.,,?
안녕하세요 선생님 ! 선생님 코드로 구현을 완료하고 제가 커스텀 해보고 있는 중에 고민이 있어 질문글 남깁니다. 추천 수가 특정 개수 이상일때 hot article이 되고, 매일 갱신하는 것이 아닌, 한번 hot article이 되면 계속해서 hot article 게시판에 게시하고 싶습니다. 이럴 때 hot article을 데이터베이스에 저장하는 것이 좋을까요 아니면 redis에 저장하는 것이 좋을까요 ? 선생님의 의견이 궁금하여 질문 남깁니다.
ollama가 제 컴퓨터에선 구현이 되어서 llm model 을 gpt대신 연결해보았씁니다. llama 3.2는 한글만 내뱉지 않아서, exaone3.5를 다운받아 적용해보았습니다. 혹시 ollama외에서 다른 더 나은 모델들을 무료로 사용해볼 수 있을까요?? 이렇게 ollama를 사용할 경우엔 serpAPI와 연동이 안되더라구요. GPT로하니까 연결이 되던데 이건 혹시 무슨이유인지 알 수 있을까요??