묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
요청메시지
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.요청 메시지가 나오지 않습니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
궁금한 점 질문 드립니다!
안녕하세요. 질문 있습니다.userAgent에 있는 값을 사용하고 싶습니다. 서버 측에서는 next/header 함수를 통해서 클라이언트 측에서는 네비게이터의 userAgent 객체를 사용하면 될 것 같은데 이 값을 사용하는 함수는 클라이언트, 서버 양쪽에서 실행됩니다.서버인지 클라이언트인지 분기 처리 후 값을 가져오고 싶었는데 next/header를 사용하는 파일을 import 하기만 해도 클라이언트 측에서는 에러가 나더라고요.이런 상황에서는 어떻게 해결해 나가는게 좋을까요? 감사합니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
시험지 연습장
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.안녕하세요 선생님선생님 강의 덕분에 지뢰문제도 풀 정도로 실력이 많이 올랐습니다.근데 문제를 풀 때 생각보다 문제 푸는 과정이 길어서 실제 시험지 연습장에 푸는 과정의 필기를 다 못 적을꺼 같은데 이럴 경우는 어떻게 해야하나요???
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
@modifying 이용한 동시성 제어
강의를 들은 뒤 동시성 제어를 위해 이것저것 알아보는 중 @Modifying을 이용하여 제어하는 방법이 있다는 것을 알았습니다. 언제 락을 걸어야 하고, 언제 어노테이션을 이용해야 하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.페이지가 다르게 생성되는데 왜 그런건가요?
-
해결됨웹소켓/STOMP 채팅서비스(spring, vue, redis)
강의 듣기 전 질문
프로젝트에서 IOT와 결합한 게임을 만들 예정인데, 실시간 통신인 Websocket이 필요하다고 해서 강의를 급하게 결제하였습니다. 여기에서는 실시간 채팅을 구현하는 걸로 보이는데 혹시 여기 내용을 공부하면 프로젝트에 실시간 통신 방식에서도 활용할 수 있을까요? 실시간 방 생성이나 IOT 현물과의 통신에서 WebSocket을 이용할거 같습니다.
-
해결됨GZS - 우리도 자빅스(Zabbix) - 그라파나, 슬랙 연동
수업자료?
실습 수업자료라는 곳에 아무것도 없고 빈 화면만 있네요?
-
해결됨블렌더 그리스펜슬 베이직 클래스
그리즈펜슬 부피감과 그룹지정
안녕하세요? 작업하면서 궁금한 점 2가지를 문의합니다.그리즈펜슬을 스트로크를 이용하여 수채화처럼 채색작업을 하고 있는데요. 브러쉬 크기를 키우면 3D로 보았을 때 원통형으로 너무 커지는 문제가 있습니다. 투명도를 주고 넓게 찍어야 하는 작업인데 그리즈펜슬을 특정 방향만 좀 더 납작하게? 조절할 수 있는 방법이 있을까요? 두께를 아예 2D처럼 없애고 싶지는 않고 위에서보면 넓게 칠하고, 옆에서 보면 두께를 줄이고 싶습니다.꽃잎을 만들고 복사해서 꽃 1송이를 만들고, 그걸 또 복사해서 꽃다발을 만들고 있습니다. EDIT 모드에서 복사를 하면 나중에 위치조정을 할 때 꽃 1송이 선택이 어렵더라구요. 1송이 별로 join 을 했더니 블렌더가 매우 느려지는 문제가 있었습니다. 레이어나 오브젝트로 복사하자니 너무 번거로운데 선택하기 편하게 그룹을 만드는 방법이 있을까요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
영상 17:15 업캐스팅 메소드 관련
이전 강의의 PDF 파일 가장 첫 장을 설명해주실 때, Dog 클래스는 Animal 클래스를 상속하여 eat(), sleep() 메소드를 기본으로 가져오고, bark() 메소드 또한 추가되어 모든 메소드를 사용할 수 있다고 하셨습니다.지금 영상 17:15의 풀이에서는 specialDraw() 메소드가 부모 클래스에 없기 때문에 오류가 발생한다고 하셨는데, b 객체가 업캐스팅 되어 생성되었기 때문인가요?
-
미해결그림으로 쉽게 배우는 운영체제
exit() 함수
보충 수업 노트에 있는 부분에 대해서 질문이 있습니다! exit() 함수가 비정상적으로 종료됐을 때만 -1을 반환한다고 해 주셨는데, 그럼 강의에 있는 코드 부분도 exit(0)이 아니라 exit(1)로 수정되어야 하는 것이 맞나요? exit(1)이 비정상적으로 끝났을 때 수행되는 것 아닌가요?
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
todo list 검색 기능 문의
todo list 에서 검색어를 입력하여 검색된 결과를 화면에 출력하려면 어떻게 구현해야 하는지요?예제에는 이런 것이 없는 거 같은데 제가 대충봐서 잘못 이해하고 있는 건가요?전체적인 흐름으로 설명해주시면 감사하겠습니다.
-
미해결
취업을 위해서 프로젝트에서 어떤 것을 해야하나요?
프로젝트에서 깊은 고민을 해보라는 것이 잘 이해가 안가요
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
17:32 포인터 변수 인덱스 접근
앞 부분에서 설명해주실때는char str[] = "Hello, World!"char *ptr = str이렇게 쓰여있어서 포인터 변수가 배열에 접근하는구나, 따라서 인덱스로 접근이 가능하구나 하고 이해가 되었는데 17:32초 오른쪽 코드에서char *s = "Hello, World!" ;printf("%c", s[0]);이런식으로 포인터 변수에 바로 인덱스 접근한다는 게 이해가 가질 않습니다.그냥 받아들여야하는건가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
1:00:20문제 arr[size-1]앞에 *이 왜 안붙나요??
int maxVal(int *arr, int size)에서 arr에 *을 붙여서 선언을 하고 문제 중간int max = maxVal(arr, size-1); ->여기서 arr은 메모리(정해져 있지 않고 매우긴, 이 arr메모리 값을 다시 int *arr이 받음)여기까지는 그냥 풀고있었는데return(arr[size-1]>max)?arr[size-1]:max;이부분에서 *arr[size-1]이 아닌 arr[size-1]인 이유를 모르겠습니다. 위에서 선언 이후에 *이 붙으면 값 *이 안붙으면 주소 아닌가요??질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JDK
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.JDK가 정의되지 않았다고 나오는데 어떻게 해야하나요?
-
미해결
GE 관련 질문이 있습니다.
위사진은 미리 지정한 레벨값에 맞는 수치를 CharacterStatTable에서 얻어와 Health어트리뷰트에= 연산 하는 작업인데요. 이 방식을 제 프로젝트에도 똑같이 적용할려고 하는데 문제가 있습니다.기획상 케릭터는 다음 4가지 Health ,Stamina , Hunger , Thirsty 핵심 어트리뷰트들이 있고요플레이어가 먹을수 있는 아이템은 Apple , Banana , Meat , Cabbage ,,,등등 있습니다. 각 아이템들은 케릭터의 4가지 어트리뷰트에 영향을 미치는 값들이 모두 조금씩 다 다릅니다. 이때 어떤 아이템을 먹어서 GE_Consume을 실행시킨 후 , 총 4가지의 연산할 값을 데이터 테이블에서 찾을려고 하는데요. 무엇을 기준으로 찾아야 할까요? 아이템의 이름값 또는 ID값 으로 데이터 테이블상에서 찾는 것이 가능할까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
이클립스로 강의를 진행해도 아무 지장이 없을까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]학교 수업에서 이클립스를 사용하고 있어서 혹시 이 강의를 이클립스로 들어도 지장이 없는지 궁금합니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
2:35 줄바꿈
2분 35초 마지막 for문에 마지막에 \n이 있는데 왜 줄바꿈이 안되나요
-
미해결김영한의 실전 자바 - 기본편
접근 제어자 문제와 풀이
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]접근 제어자 문제와 풀이 질문 드립니다.calculateTotalPrice 메서드로 따로 만든 내용이 displayItems() 의 로직과 중복되었는데, 강의에서는 따로 메서드로 빼서 작성하는 것이 변경 및 수정하는데 용이하다고 언급하셨습니다. 그 점에서 의문이 드는 것은, 그냥 calculateTotalPrice 메서드에서 int totalPrice 를 선언하고,for 문에서 totalPrice += item.getTotalPrice()를 하면 더 간편하지 않은지 궁금합니다.강사님께서 말씀하신 내용의 요지는 알겠으나, 그와 별개로 궁금한 점이라 질문드립니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
섹션 5, 사용자 정의 조건부 엣지 관련 질문입니다.
from langgraph.graph import MessagesState, StateGraph, START, END from langchain_core.messages import HumanMessage, SystemMessage from langgraph.prebuilt import ToolNode from IPython.display import Image, display # LangGraph MessagesState 사용 class GraphState(MessagesState): pass # 노드 구성 def call_model(state: GraphState): system_message = SystemMessage(content=system_prompt) messages = [system_message] + state['messages'] response = llm_with_tools.invoke(messages) return {"messages": [response]} def should_continue(state: GraphState): last_message = state["messages"][-1] # 도구 호출이 있으면 도구 실행 노드로 이동 if last_message.tool_calls: return "execute_tools" # 도구 호출이 없으면 답변 생성하고 종료 return END # 그래프 구성 builder = StateGraph(GraphState) builder.add_node("call_model", call_model) builder.add_node("execute_tools", ToolNode(tools)) builder.add_edge(START, "call_model") builder.add_conditional_edges( "call_model", should_continue, { "execute_tools": "execute_tools", END: END } ) builder.add_edge("execute_tools", "call_model") graph = builder.compile() # 그래프 출력 display(Image(graph.get_graph().draw_mermaid_png()))# 그래프 실행 inputs = {"messages": [HumanMessage(content="스테이크 메뉴의 가격은 얼마인가요?")]} messages = graph.invoke(inputs)위 코드는 강사님께서 제공해주신 코드를 가져온 것입니다.제가 궁금한 것은 Tool 노드를 사용하고 다시 call_model 노드로 왔을 때 SytemMessage가 중복되지 않을까? 라는 생각을 했습니다. 예를 들어 message : [유저 인풋] 가 처음으로 그래프에 들어오게된다면def call_model(state: GraphState): system_message = SystemMessage(content=system_prompt) messages = [system_message] + state['messages'] response = llm_with_tools.invoke(messages) return {"messages": [response]}message : SystemMessage + [유저 인풋]이 될것입니다.그 이후 response를 호출하여message : SystemMessage + [유저 인풋] + toolMessage이 되어 상태를 업데이트 하고, 그리고 tool 콜이 있어서 툴노드를 마무리 한 이후 돌아왔을 땐 GraphState에 있는 message는 SystemMessage + [유저 인풋] + toolMessage + [툴이보낸 메세지] 일테니call model 노드에서SystemMessage + SystemMessage + [유저 인풋] + toolMessage + [툴이보낸 메세지]가 적용되어 툴 콜 할때마다 SytemMessage가 쌓이는 구조가 되지 않을까 생각이 들었는데 맞을까요?