묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
실행문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.여기서 실행이 되지 않습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
eclipse 사용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]eclipse를 사용하는데 eclipse에서는 어떻게 사용해야 하나요?
-
미해결안드로이드 모바일 앱 모의해킹과 시큐어코딩
드로저 설치 오류
드로저를 설치했고, 포트 포워딩도 했고, 필요한 라이브러리도 다 다운받았는데요.drozer console connect입력하면 (drozer) C:\Users\juyeon>drozer console connectSelecting 2e2a97ea1be21480 (samsung SM-S9210 9)local variable 'session' referenced before assignment 이렇게 뜹니다.. 어떻게 해결해야 하나요?ㅠ
-
해결됨14일만에 배우는 ASP.NET CORE
Email Unique Index 지정 update 오류
안녕하세요. 8강 영상 보는 중에 add-migration 성공하고 그 다음에 막혀서 문의 드립니다.update-database -project NetCore.MigrationsBuild started...Build succeeded.System.InvalidOperationException: An error was generated for warning 'Microsoft.EntityFrameworkCore.Migrations.PendingModelChangesWarning': The model for context 'CodeFirstDbContext' has pending changes. Add a new migration before updating the database. See https://aka.ms/efcore-docs-pending-changes. This exception can be suppressed or logged by passing event ID 'RelationalEventId.PendingModelChangesWarning' to the 'ConfigureWarnings' method in 'DbContext.OnConfiguring' or 'AddDbContext'.at Microsoft.EntityFrameworkCore.Diagnostics.EventDefinitio1.Log[TLoggerCategory](IDiagnosticsLogger1 logger, TParam arg)at Microsoft.EntityFrameworkCore.Diagnostics.RelationalLoggerExtensions.PendingModelChangesWarning(IDiagnosticsLogger`1 diagnostics, Type contextType)at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.ValidateMigrations(Boolean useTransaction, String targetMigration)at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType)at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType)at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0()at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)An error was generated for warning 'Microsoft.EntityFrameworkCore.Migrations.PendingModelChangesWarning': The model for context 'CodeFirstDbContext' has pending changes. Add a new migration before updating the database. See https://aka.ms/efcore-docs-pending-changes. This exception can be suppressed or logged by passing event ID 'RelationalEventId.PendingModelChangesWarning' to the 'ConfigureWarnings' method in 'DbContext.OnConfiguring' or 'AddDbContext'. 위 내용처럼 오류가 나오는데 해결 방법 문의 드립니다.Visual studio 2022 Community.NET 8.0MSSQL 2022 development환경에서 교육 듣고 있습니다.참고로 그 전 강의에서 AddingUserTables는 Migration 생성 및 업데이트 잘 됐습니다.
-
미해결
요즘 취업/이직 준비하는 사람들 사이에서 핫한 자료 공유할게요👇
📢스파르타 코딩 클럽 – 커리어 봄맞이 이벤트취업/이직 준비, 지금이 딱 시작하기 좋은 타이밍!봄을 맞아 스파르타코딩클럽이 IT 직무 준비생을 위한 실전형 자료집을 무료로 공개합니다.🌱대상 직군마케터PM데이터 분석가개발자 등 IT 직무 전반📘자료집 구성직무별 이력서 & 포트폴리오 체크리스트직무별 IT 필수 용어 사전타임박스 플래너 템플릿🚀 이런 분들께 추천드려요✔ 처음 IT 업계 취업 준비를 시작하신 분✔ 이직을 고민 중인 IT 종사자✔ 비전공자로 커리어 전환을 준비 중인 분✔ 이력서/포트폴리오에 자신 없는 분 ✅지금 바로 무료로 다운로드 받기
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
파티션, 컨슈머 그룹, 컨슈머 관련 질문
안녕하세요 원영님, 강의를 듣다가 궁금한 점이 생겼습니다.1-1. 하나의 파티션은 여러 컨슈머에 할당될 수 없다고 하셨는데 엄밀히 말하면 '동일 컨슈머 그룹' 기준으로 여러 컨슈머에 할당될 수 없는게 맞을까요?엘라스틱서치, 하둡 예제에 따르면 하나의 파티션이 엘라스틱서치,하둡 컨슈머에 할당되어 있어서요.1-2. 컨슈머 그룹마다 동일 파티션에 대해 다른 offset를 가질까요?엘라스틱서치, 하둡 예제를 보면 각각의 컨슈머가 동일한 파티션을 구독하고 있습니다. 만약 엘라스틱서치,하둡 컨슈머가 동일한 offset을 가진다면 어느 한쪽에서 이미 커밋한 레코드는 다른 쪽에서 poll하지 못할 것으로 예상되어 질문드립니다.2.하나의 컨슈머가 여러 토픽을 구독하는 경우는 실무 기준으로 어떤 case가 있을지 궁금합니다. 강의 잘 듣고 있습니다. 감사합니다.
-
미해결스프링 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 새로 갱신받아도 계속 이럽니다..