묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
테스트 코드 고의 실패 시 강사님 화면과 똑같이 안나옵니다.
무슨 말인고 하니 똑같이 고의로 테스트를 실패하게 만들었는데 강사님 화면은 어디에서 테스트가 실패했는지 CI/CD 화면에서 보여주는데 제 화면은 스샷과 같이 안나옵니다. 강사님 화면에서는 github actions에서 아래의 화면처럼 테스트 실패 이유가 뜨는데 저는 안 떠요! ===================================위의 사진은 저의 실제 코드 사진입니다. 제가 어디 잘못한게 있나요?
-
해결됨실전 활용을 위한 git/github(feat.각종 충돌상황 해결하기)
안녕하세요 강사님 질문 있습니다.
브랜치 상황이 원격에 dev, feat/member 가 있고 로컬에도 dev, feat/member가 있다고 하겠습니다.이때 제가 로컬 feat/member 브랜치에서 작업 중인데 원격 dev 브랜치에 있는 작업 내용을 제가 작업 중인 로컬 feat/member 브랜치로 가져오려면 어떻게 해야 하는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 DB 설계 입문/실전
그냥 하나씩 만들어나가면서 DB 설계를 그때그때 하는건 틀린건가요?
지금 제가 개인적으로 혼자 만들고 있는 프로젝트가 있습니다.그냥 아이디어만 갖고 시작한건데요. 아래와 같은 순서로 만들고 있습니다. (1) GPT한테 내가 원하는 기능을 설명한다.(2) GPT한테 View 먼저 그려달라고 한다.(3) View는 데이터 바인딩 안하고 그냥 하드코딩한다.(4) View 보고 GPT랑 토의하면서 기능을 기획한다.(5) 완성된 View를 보고 DB 모델링 한다. (보통 엔티티 하나나 두개정도가 됩니다)(6) 백엔드를 붙인다. 이렇게 해서 하나씩 만들어나가고 있는데요. 이거 잘못된 방법이에요? 그냥 그때그때 DB 모델링에 필요한 컬럼이 생긴다고 하면 넣어주고 빼고 하면서 만들고있거든요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReaderWriteLock 구현연습 count 관련 질문 [해결했습니다]
ReaderWriteLock 구현 연습 강의 잘 봤습니다.강사님 환경에서는 10만번을 돌려도 락 구성이 잘 돌아가서 count가 0이 나옵니다.제 환경에서는 Debug 모드, Release 모드 일 때Debug: count 수가 꽤 자주 바뀝니다.Release: count 수가 0이 나올 확률이 Debug보다 약간 높습니다.또한 컴퓨터를 리부팅 하고 돌려보면 10번중에 2번은 count의 수가 바뀝니다. 질문CPU나 메모리 환경, 켜져있는 프로그램에 따라서 Lock 구현이 실패하는 경우가 있을까요? 제 환경입니다.AMD Ryzen 5 3600XT 6-Core Processor메모리 32GB
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 문의
안녕하세요5개월 전에 구매 후 직장 업무 및 개인 사정 때문에 강의 시청을 하지 못 했는데혹시 수강 연장이 가능하실까요?수강 연장이 가능하다면 연장 부탁드립니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
팝업 관련 질문
안녕하세요, 팝업 활용 파트를 듣고 질문이 있어 남기게 되었습니다. 아직 앱개발을 처음 해보고 있어서 팝업 기능 개발에 대해 잘 몰라서 드리는 질문이기는 합니다.팝업 기능은 미리 개발해두고 나중에 이벤트나 업데이트가 생기면 그 메세지를 담아 띄우게 될 텐데요, 그럼 팝업 기능을 사용하려면 무조건 서버개발이 필요한 것일까요? push 알림은 firebase 통해서 가능한 것으로 알고 있는데, 신규 기능내용을 담은 팝업이나 업데이트 유도 팝업을 띄우는 시점에 서버에서 뭔가를 작업해주어야 하는건지 궁금해서 여쭤봅니다.
-
해결됨C# 프로그래밍 기초부터 실전 활용까지
this string text의 동작 과정이 궁금합니다.
public static void Print(this string text)로 메서드를 만들었을 때, 따로 Print 메서드에 인자를 전달하지 않더라도 name.Print();로 Myclass.Print(name);과 동일한 동작을 하는 것을 확인하였습니다. 그렇다면 this string text는 Print 앞에 있는 변수들 (강의에서의 코드 기준으로는 string name = "John")을 자체적으로 참조하고, John이라는 문자열을 Print 메서드 안의 text 변수로 가져오는 것이라고 이해하면 될까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.2.1 LangChain과 Chroma를 활용한 RAG 구성_결과 관련
3.2.1 LangChain과 Chroma를 활용한 RAG 구성 + Upstage Embeddings.ipynb 파일을 .py로 변환하여 실행시켰는데, 결과가 제대로 나오지 않습니다.한번인가 정확하게 나왔던것 같습니다.무슨 문제 인지 궁금합니다.--------------------------------%runfile /home/sjhappy/downloads/source_code/LLM/inflearn-lim-application/3_2_2.py --wdir/home/sjhappy/anaconda3/envs/LLM_EN/lib/python3.9/site-packages/langsmith/client.py:253: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API warnings.warn({'query': '연봉 3천만원인 직장인의 소득세는 얼마인가요?', 'result': '질문에서 제공된 정보로는 정확한 소득세를 계산할 수 없습니다. 소득세는 근로소득 외에 다른 소득, 세액공제 및 감면액 등에 따라 달라질 수 있습니다. 따라서, 더 자세한 정보를 제공해주시면 소득세를 계산해드릴 수 있습니다.'}------------------# coding: utf-8# # 1. 패키지 설치# In[1]:# # 2. Knowledge Base 구성을 위한 데이터 생성## - [RecursiveCharacterTextSplitter](https://python.langchain.com/v0.2/docs/how_to/recursive_text_splitter/)를 활용한 데이터 chunking# - split 된 데이터 chunk를 Large Language Model(LLM)에게 전달하면 토큰 절약 가능# - 비용 감소와 답변 생성시간 감소의 효과# - LangChain에서 다양한 [TextSplitter](https://python.langchain.com/v0.2/docs/how_to/#text-splitters)들을 제공# - chunk_size 는 split 된 chunk의 최대 크기# - chunk_overlap은 앞 뒤로 나뉘어진 chunk들이 얼마나 겹쳐도 되는지 지정# In[1]:from langchain_community.document_loaders import Docx2txtLoaderfrom langchain_text_splitters import RecursiveCharacterTextSplittertext_splitter = RecursiveCharacterTextSplitter(chunk_size=1500,chunk_overlap=200,)loader = Docx2txtLoader('./tax.docx')document_list = loader.load_and_split(text_splitter=text_splitter)# In[2]:from dotenv import load_dotenvfrom langchain_upstage import UpstageEmbeddings# 환경변수를 불러옴load_dotenv()# OpenAI에서 제공하는 Embedding Model을 활용해서 chunk를 vector화embedding = UpstageEmbeddings(model="solar-embedding-1-large") # In[7]: from langchain_chroma import Chroma # 데이터를 처음 저장할 때database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name='chroma-tax', persist_directory="./chroma") # 이미 저장된 데이터를 사용할 때# database = Chroma(collection_name='chroma-tax', persist_directory="./chroma", embedding_function=embedding) # # 3. 답변 생성을 위한 Retrieval## - Chroma에 저장한 데이터를 유사도 검색(similarity_search())를 활용해서 가져옴 # In[8]: query = '연봉 3천만원인 직장인의 소득세는 얼마인가요?' # k 값을 조절해서 얼마나 많은 데이터를 불러올지 결정retrieved_docs = database.similarity_search(query, k=4) # In[9]: retrieved_docs # # 4. Augmentation을 위한 Prompt 활용## - Retrieval된 데이터는 LangChain에서 제공하는 프롬프트("rlm/rag-prompt") 사용 # In[10]: from langchain_upstage import ChatUpstage llm = ChatUpstage() # In[11]: from langchain import hub prompt = hub.pull("rlm/rag-prompt") # # 5. 답변 생성## - [RetrievalQA](https://docs.smith.langchain.com/old/cookbook/hub-examples/retrieval-qa-chain)를 통해 LLM에 전달# - RetrievalQA는 [create_retrieval_chain](https://python.langchain.com/v0.2/docs/how_to/qa_sources/#using-create_retrieval_chain)으로 대체됨# - 실제 ChatBot 구현 시 create_retrieval_chain으로 변경하는 과정을 볼 수 있음 # In[12]: from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type(llm,retriever=database.as_retriever(),chain_type_kwargs={"prompt": prompt}) # In[13]: ai_message = qa_chain({"query": query}) # In[14]: # 강의에서는 위처럼 진행하지만 업데이트된 LangChain 문법은 .invoke() 활용을 권장ai_message = qa_chain.invoke({"query": query}) # In[15]: print(ai_message) # In[ ]:
-
미해결스프링 핵심 원리 - 기본편
@ComponentScan을 통해 테스트 코드 @Configuration도 스프링 빈으로 자동 등록되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 4:50 을 보고 질문드립니다.@ComponentScan을 작성하면 테스트 코드에 있는 @Configuration 도 스프링 빈으로 등록되는건가요?
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
아키텍처 질문입니다
이 아키텍처 기준으로 질문이 있습니다.client1번 -> LB -> 서버 -> 레디스 -> 서버 -> client2이런 식으로 메세지를 주고 받는다고 하셨는데,그렇다면 만약에 레디스 서버가 다운이 된다면client2번은 메세지를 못 받게 되는건가요?이런 경우는 어떻게 대비 해야 하나요?레디스는 서버 한대에만 구성 해놓나요?
-
해결됨벡터 미적분학 시리즈1 - 미분 기초
2.6 tangent vector가 tangent 평면에 놓여있다는 틀린말이다?
안녕하세요 2.6강의 32분즈음에 tangent vector가 tangent 평면에 놓여있다는 틀린말이다라는 말을 하셨는데 탄젠트벡터는 그점에서 linear approximation된 벡터인데 왜 틀린말인지 이해가안갑니다.. 실제로 다른 서적을 봐도 틀렸다고 말하지 않는 것 같습니다.. 이유자세히 설명 부탁드립니다.
-
미해결CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
24-2 3중 for loop 개선책 이해가 가지 않습니다.
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 좋은 강의 감사합니다.3중 for loop 개선책 설명해주신 부분 이해가 가지 않아 질문드립니다.말씀하신건 A도 B도 C도 캐쉬 친화적으로 이동 한다고 말씀하셨는데 A배열은 아래로 움직이지 않나요? 물론 matmul-host.cpp 보다는 캐쉬 미스 확률이 좋아지겠지만 A배열의 인덱스 이동은 캐쉬 친화적인거 같지 않은데 강의에서는 A도 옆으로 움직인다고 하셔서 헷갈려서 문의드립니다.
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
수업자료 한번에 다운받기
수업자료 한번에 다운 받고 싶은데요. 압축파일로 올려주실수 있나요?
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
태그매니저 아이디를 변경했을 때
선생님 안녕하세요. 이제 막 GA4 강의를 시작한 수강생입니다. 실습을 하다가 궁금한 점이 있어서 문의드립니다. A아이디 태그매니저로 생성한 태그 코드를 C웹사이트에 심고 GA4에 연결했습니다. 그런데 B아이디 태그매니저를 사용하고 싶어서 B아이디로 생성한 태그 코드를 C웹사이트에 넣고 GA4에 연결했습니다. 그러면 A아이디로 생성한 태그는 더이상 C웹사이트에 연결이 돼있지 않은 건데요. A아이디 태그매니저에는 여전히 컨데이터 품질이 아주 좋다고 나오고, GA4 홈에서도 연결이 끊겼는지 알 수가 없어서요.혹시 이 때 바로 태그 연결에 문제가 있음을 알 수 있는 방법은 없을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
기출문제나 모의고사
선생님 안녕하세요혹시강의 관련해서강의업데이트나 이전 기출, 모의고사처럼 문제가 더 업데이트될까요?문제모음 같이 해당문제지와 영상이 있으면 좋을 것 같아 여쭤봐요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계가 아닌 단방향 연관관계일때도
안녕하세요.양방향 연관관계 일때만 연관관계의 주인 이라는 개념이 있는줄 알았는데, 양방향 연관관계 뿐만 아니라 단방향 연관관계에서도 연관관계의 주인이라는 개념이 있는건가요?
-
미해결홍정모의 따라하며 배우는 C++
독립적인 함수 vs 종속적인 함수
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서 보여주신 것처럼 add라는 함수를 기반으로 다른 함수가 만들어지고, 그 함수를 기반으로 또 다른 함수가 만들어지고... 간단한 함수면 금방 찾겠지만, 복잡해지기 시작하면 디버깅이 굉장히 어려워질 것 같은데, 이런 경우는 어쩔 수 없는 것인지, 최대한 파일을 줄이고 독립적인 함수가 되도록 해야되는 것인지 궁금합니다.
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
웹소켓,stomp 개념 질문 !
바로 이전 강의에서는 순수 웹소켓에서는 토큰인증 구현안하고 기능만 돌아가도록 했음 최종강의 목표는 (stomp에서 고도화 하는 것이므로)물론 할라면 할 수있음예시): 쿼리 파라미터 방식으로 토큰을 포함한 WebSocket 연결 그리고 WebSocket 자체는 HTTP 헤더를 설정하는 기능을 제공하지 않기 때문에 순수 웹소켓에서는 헤더에 인증 토큰을 추가할 수 없음. ............................................................................이번강의에서는 토큰인증 구현할때SockJS와 STOMP 같은 라이브러리를 사용하면 HTTP 헤더에 인증 정보를 포함시킬 수 있기에 헤더에 인증정보 포함 시켜 서버로 넘기는 식으로 구현 !그리고 뷰 메인에서 axios.interceptors.request.use( config => { const token= localStorage.getItem("token"); if(token){ config.headers['Authorization']=Bearer ${token} } return config; }, error => { return Promise.reject(error); })이런 식으로 추가 하는 것은 HTTP 요청에 한에서 이므로 별도임 stomp의 connection 은 HTTP 엔드포인트긴하지만 HTTP 요청이 아닌 ws 요청임 따라서 뷰 메인에서 가로채서 요청에 인증 정보 넣지 않음 따라서 connec t할때 직접 헤더에 넣어야 함 ..........................................................................................으로 이해했는데 맞을까요 ? 혹시 틀린 개념이나 빠진 부분이 있으면 알려주시면 감사하겠습니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
이거 맞아요?
이런식으로 서비스 밑의 폴더 이어 붙이기 하고 article 따로 service 따로 서버 실행할수 있게 되면 그게 msa 기본 구조 잡아가는 과정인가요?지금 막 우당탕탕 이렇게 저렇게 막 코드 붙여가면서 되는거 같기는 한데 뭐 하고 있는지 헷갈리고 어지러워요
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
피그마 링크는 어디 있을까요?!
피그마 링크를 못찾겠어요ㅠ 이미지 다운 받아야 하는데 어디서 볼 수 있을까요?