묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
세션1 테이블 조회결과 그림은 Redo 로그에 속하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 항상 좋은 강의 감사드립니다! 강의에 [섹션4] 에서 나오는 강의 자료에서 그림부분에 [세션1 테이블 조회결과]라는 그림이 있는 부분이 있는데 이 부분이Redo 로그에 속하나요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션이 필요하지 않은 경우 DB 대신 파일 시스템을 사용하는 것이 더 효율적인가?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 매번 좋은 강의 감사드립니다.강의에서 db 를 사용하는 가장 대표적인 이유가 트랜잭션 사용이라 언급을 해주셨는데 그럼 트랜잭션이 필요하지 않는 상황이라면 다른 구조를 사용하는게 더 효과적일까요? 만약 파일로 저장을 하게 된다면 더 빠른가요? db 는 트랜잭션을 보장하기 때문에 추가적인 작업이 더 들어가기 때문에 insert update 가 파일에 비해 무거울까요?
-
해결됨3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
인텔리제이 세팅
인텔리제이로 셋팅해서 수강해도 문제 없을까요?
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
타입 좁히기 관련 질문
안녕하세요! 강의 항상 잘듣고있습니다 감사합니다!강의를 듣다가 질문이 하나 있는데요~객체에 대한 타입 좁히기 설명하실때 객체의 프로퍼티 존재 여부를 통해 타입을 좁히는거는 이해가 됐는데, 이렇게 하면 다른타입에 동일 프로퍼티가 있는 경우에 허술하지 않을까 생각이되어서요. type Person = { name: string; age: number; }; // value => number : toFixed // value => string : toUpperCase // value => Date : getTime // value => Person : name은 age살입니다. function func(value: number | string | Date | null | Person) { if (typeof value === "number") { console.log(value.toFixed()); } else if (typeof value === "string") { console.log(value.toUpperCase()); } else if (value instanceof Date) { console.log(value.getTime); } else if (value && "age" in value) { console.log(`${value.name}은 ${value.age}살입니다`); } }예를 들면 여기에type Animal = { name: string; age: number; breed: string; }과 같은 객체들이 있고, value에 유니온 타입으로 정해졌다는 가정하에 이런 객체가 많이 있을경우에 객체마다 특징적인 프로퍼티를 알아본다는 부담도 있을것이고, age를 기준으로 했을때 많이 좁혀지지 않는 경우도 있을건데, 실제 규모가 어느정도 있는 페이지 작업의 경우에서는 개발자 입장에서 명확할수록 좋다고 생각해서 굳이 사용될때가 있나 싶기도한데 이런 타입가드 방식은 어떤 경우에 주로 사용되면 좋은지 궁금해서 질문드립니다!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Hugging face LLM 모델 사용 질문이요
OpenAI API랑 upstage 말고 hugging face에서 제공하는 LLM 모델을 사용하고 싶은데요streamlit을 사용해서 출력된 response를 보니 아래와 같은 형태로 출력 되더라구요사용한 모델명 : microsoft/Phi-3-mini-4k-instruct 인데.. 이 경우, 코드에서 전처리 해줘야 하나요? 제 코드는 아래와 같습니다 [llm.py] def get_llm(): model_id="microsoft/Phi-3-mini-4k-instruct" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, device_map="auto", torch_dtype="auto" ) pipe = pipeline( "text-generation", model=model, tokenizer=tokenizer, max_new_tokens=512, do_sample=False, repetition_penalty=1.03 ) llm = HuggingFacePipeline(pipeline=pipe) # llm = HuggingFacePipeline.from_model_id( # model_id="microsoft/Phi-3-mini-4k-instruct", # task="text-generation", # model_kwargs=dict( # device_map="auto" # ), # pipeline_kwargs=dict( # max_new_tokens=512, # do_sample=False, # repetition_penalty=1.03, # ) # ) chat_model = ChatHuggingFace(llm=llm) return chat_model 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_template(): template = """ You are a helpful assistant. Answer the following questions considering the history of the conversation: Chat history : {chat_history} User question : {user_message} Assistant : """ prompt = ChatPromptTemplate.from_template(template) return prompt def get_ai_response(user_message,chat_history): llm = get_llm() prompt = get_template() chain = prompt | llm | StrOutputParser() ai_response = chain.invoke({ "chat_history": chat_history, "user_message": user_message, }) return ai_response [chat.py] if "chat_history" not in st.session_state: st.session_state.chat_history = [ {"role": "ai", "content": "Hello, I am a mini bot. How can I help you?"} ] for message in st.session_state.chat_history: with st.chat_message(message["role"]): st.write(message["content"]) user_question = st.chat_input(placeholder="Tell me a simple question!") if user_question is not None and user_question != "": st.session_state.chat_history.append({"role":"user", "content":user_question}) with st.chat_message("user"): st.markdown(user_question) with st.spinner("Generating response"): ai_response = get_ai_response(user_question, st.session_state.chat_history) with st.chat_message("ai"): st.markdown(ai_response) st.session_state.chat_history.append({"role":"ai", "content":ai_response})
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
영상 5:14와 18:34 풀이 비교
우선 기본적으로 생성자 내에서 this, super 등이 명시되지 않으면 부모의 기본 생성자를 호출하고, this, super가 명시됐다면 부모의 기본 생성자를 호출하지 않는 것으로 이해했습니다. (틀렸다면 알려주세요.) 이를 바탕으로 각 풀이 내용을 수강하는데, 이해되지 않는 부분이 있어 질문 드립니다. 5:14 시점B(char x) 생성자의 경우 첫 행에 this()가 명시되어 있어 바로 B() 생성자로 코드로 이동 (이후 내용 생략) 18:34 시점Child() 생성자 내 this가 명시되어 있으나 Parent() 생성자로 이동하여 계산 수행 두 해설 내용 중 어떤 원칙을 따라야 하나요? 상황에 따라 개념이 너무 헷갈립니다. 혹시 제가 잘못 알고 복습이 필요한 부분이 있다면 알려주세요. +) 질문 내용 추가다른 질문들에 대한 답변을 읽어보면서 이해한 해당 개념에 대한 질문을 추가로 드립니다. 아래 내용대로 이해해도 될까요?자식 클래스의 생성자는 생성 전 무조건 부모의 기본 생성자를 먼저 한 번 호출해야 한다.자식 클래스의 생성자에 첫 행에 super가 명시된 경우, 이 super를 통해 부모의 기본 생성자를 호출하므로 1번 개념을 수행한 것으로 간주한다.자식 클래스의 생성자의 첫 행에 this만 명시된 경우, 부모 클래스의 기본 생성자를 먼저 호출해준다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
수업자료 일괄 받을 수 있을까요?
안녕하세요.방금 결제하고 수업 들으려고 하는데요,혹시 수업자료 일괄 받아볼 수 있을까요???예제 파일 및 수업 관련 PDF도 받을 수 있으면 아래 메일로 부탁드리겠습니다.thkdjgod5@gmail.com
-
해결됨[AI] 프롬프트만으로 아이디어 구현하기_바이브코딩 입문
기본 터미널 프로파일
Mac 쓰고 있습니다. default terminal profile 에서 command prompt가 없는데 어떤 걸로 진행하나요?
-
미해결스프링 핵심 원리 - 기본편
프로젝트가 더 낮은 버전에서만 실행되는 이유?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링부트 프로젝트를 처음 설정할때 java 21버전으로 설정하고 프로젝트를 다운로드 후 실행 했으나 다음과 같은 에러가 발생했습니다. 그리고 제 프로젝트 sdk 버전등 초기 설정은 다음과 같습니다. 보시다시피 build.gradle에는 자바 레벨?이 21버전으로 되어있고 sdk 버전은 22버전으로 되어있습니다.그런데 build.gradle의 languageVersion = JavaLanguageVersion.of() 을 21 에서 17 버전으로 변경하니 빌드가 에러없이 정상 진행되었습니다. 제가 궁금한것은 강의자료에서 안내하길 17버전 '이상' 사용하라고 그랬고 실제로도 스프링부트 21버전, 자바 sdk 22버전을 사용하는데 왜 에러가 나는걸까요? 그리고 왜 build.gradle에서 자바 언어 레벨을 더 낮은 17버전으로 바꾸는 것만으로 해결이 되는건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
영상 3:32 업캐스팅 호출 계산 과정
제가 푼 문제 풀이와 해설이 달라서 질문 남깁니다. 1. Main 함수 내 b 객체 생성하는 코드 확인하여 C 클래스 내의 C(int a)로 이동2. C(int a) 계산 전 부모클래스 B에 동일한 형태의 변수를 사용하는 B(int a)가 먼저 계산되어야 하므로 이동3. B의 부모클래스 A에 동일한 매개변수가 있는 생성자가 없으므로 기본 생성자 A() 호출 및 10 출력4. B(int 100) 계산하여 100 출력5. 이후 C(int 100) 계산 (상세 내용 생략)위와 같은 과정으로 계산을 진행했는데, 2번 과정이 틀렸더라구요. 해설을 보니 C(int a)의 첫 행에 super가 언급되어 (a/3)을 먼저 계산한 후 33을 B(int 33)으로 대입해 계산을 이어나간 것으로 보입니다.만약 C(int a)의 첫 행에 super가 없었다면 제가 처음 계산한 과정이 맞을까요??
-
미해결
Application Programming Interface API Security
Application Programming Interface (API) Security is a critical aspect of modern software development, especially as APIs become the backbone of digital communication between applications. APIs enable systems, services, and devices to exchange data and functionality seamlessly, but this convenience also introduces security risks if not properly managed.API security focuses on protecting the integrity, confidentiality, and availability of APIs. Common threats include unauthorized access, data breaches, injection attacks, and man-in-the-middle attacks. To mitigate these risks, developers implement security measures such as authentication, authorization, rate limiting, input validation, and encryption.Authentication ensures that only verified users or systems can access the API, while authorization restricts their access based on permissions. OAuth 2.0 and API keys are commonly used for these purposes. Rate limiting helps prevent abuse and denial-of-service (DoS) attacks by controlling the number of requests a user can make. Additionally, input validation helps detect and block malicious data before it can exploit vulnerabilities.Reference - https://www.marketresearchfuture.com/reports/application-programming-interface-api-security-market-31786
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
맴버변수 관련 질문
안녕하세요 7분쯤 유형 2번 설명을 듣다 문득 궁금해 질문 드립니다. 보통 객체를 생성자로부터 생성하면서 맴버변수에 값을 할당하는것으로 알고 있습니다.ex) public handbag(int price){this.price = price;}handbag bag1 = new handbag(4000);네 다음과 같은 형식으로요근데 유형2 코드에서는 생성자가 없고 Child 클래스단에 value 변수를 선언하고 메서드가 하나 있습니다.그렇다면 child 클래스에 대한 객체를 생성했을때 객체 obj는 자동으로 int value = 20 의 값을 가지게 되는건가요?
-
해결됨코드처럼 작성하는 SQL, Kotlin과 jOOQ로 시작하기
flywayClean 시 no database found 에러가 뜹니다 ㅠㅠ
flywayClean 실행해보면 다음과 같이 에러가 뜨는데요.뭐가 문제인걸까요 ㅠㅠFAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':flywayClean'. > Error occurred while executing flywayClean No database found to handle jdbc:mysql://localhost:3308/jooq이전 단계에서 다음과 같이 세팅은 잘 마쳤어요.val jooqVersion: String by extra("3.19.21") val dbUrl = "jdbc:mysql://localhost:3308/jooq" val dbUsername = "root" val dbPassword = "1234" val dbDrive = "com.mysql.cj.jdbc.Driver" ... flyway { driver = dbDrive url = dbUrl user = dbUsername password = dbPassword locations = arrayOf("classpath:db/migration") }
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
OpenAI API를 활용하여 LLM Chain 구현하기 (실습)
OpenAI API를 활용하여 LLM Chain 구현하기 (실습) 에서 llm.invoke(prompt_text)하면 이런에러가뜹니다..api_key 새로 갱신받아도 계속 이럽니다..
-
미해결핸즈온 리액트 네이티브
로그인 에러 출력시 default값만 나옵니다.
로그인 에러 처리시 email 형식이 잘못된거와 default값만 출력이 됩니다. 다른분이 올리신 이전 질문글을 바탕으로(https://inf.run/mR9EP)firebase.js도 수정해보았는데 변화는 없었습니다. 수정하여 올려주신 코드에서import { getReactNativePersistence, initializeAuth } from 'firebase/auth/react-native';로 할 시iOS Bundling failed 1456ms index.js (926 modules)Unable to resolve "firebase/auth/react-native" from "src\api\firebase.js"이런 오류가 발생해서 아래의 코드로 작성했습니다.import { getReactNativePersistence, initializeAuth } from 'firebase/auth'; 아이디와 비밀번호를 가져오는 부분에서 firebase쪽과 문제가 있는거 같은데 어떤부분이 문제인지 궁금해서 질문드립니다! 깃 주소는https://github.com/dvrakry/rn-photo2입니다.
-
미해결머신러닝/딥러닝 소개 및 학습을 위한 파이썬 속성 과정
강의자료 누락
강의 자료 링크로 이동한 캡쳐 입니다. 수십번을 다시 다운받아도 똑같습니다.강의 자료에 csv 파일 자체가 없습니다. ㅠㅠ확인해주세요~~!!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
12분 48초 DAC,MAC,RBAC 관련에서 질문이 있습니다
영어랑 한글이 둘다 답변이 될 수 있는 이론문제 경우에 답변을 한글로 적는 게 좋을까요? 영어로 적는게 좋을까요? 혹시 해당문제 답변을 강제적 접근통제, 임의적 접근통제, 역할기반 접근통제 이런식으로 답변을 작성하면 틀릴 수 있나요?
-
미해결
수강 기간을 연장할 수 있는 방법이 있나요?
안녕하세요.강의에 수강 기한이 있는 줄 모르고 첫 강의를 모두 수강한 후, 나중에 다시 복습하려고 했을 때 수강이 불가능하여 부득이하게 한 차례 재구매를 했었습니다.최근 다시 복습을 진행하고 있는데, 수강 기한이 얼마 남지 않아 동일한 가격으로 세 번째 구매를 하려니 다소 부담이 되는 상황입니다.혹시 별도로 수강 기간을 연장할 수 있는 방법이 있는지 문의드리고자 합니다.
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
강의상의 readme와 배포되어 있는 것이 다른 것 같아요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.스크린샷이 안되서 안타깝긴 한데 강의상의 inflearn-teaching-backend-drf가 어디있을까요?
-
미해결머신러닝/딥러닝 소개 및 학습을 위한 파이썬 속성 과정
수업자료 없음
winequality.csv 라는 수업자료가 없는데... 어떻게 해야하나요?