묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
인텔리제이 스프링부트 run 롬복 오류
mvn clean install 후 터미널에서 javap 검색하면 생성자가 잘 만들어져있는걸 확인 할 수 있는데,스프링부트 실행하면 오류가 나더니, 다시 javap로 검색하면 생성자가 사라져있습니다. lombok이 run을 누르는 순간 적용이 풀리는것같아요.. 해결책을 혹시 아시는분 계신가요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
인터프리터 설정 ㅠㅠ
인터프리터를 눌러도 강의에서처럼 별표가 안 떠요 ㅠ 터미널에 where python, python --version 쳤을 때는 경로와 버전 모두 잘 뜹니다 뭐가 문제일까요..? 도와주세요.. ㅜㅠㅠㅠㅠ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
4분 40초 상속과 생성자 연쇄 호출 문제
A s2=new B('Y') 구문 부분이 명확히 이해가 안되어 질문드립니다.아래에 쓴 해석이 맞는지 확인 부탁드립니다.해석)A s2=new B('Y') 가 생성되었을 때,상속의 원칙으로 부모의 기본 생성자를 호출해야되나B(char x)의 첫줄에 this()로 인해 자신의 클래스[B class]의 기본 생성자[B()]가 호출되며, 기본생성자의 출력구문이 모두 종료된 후다시 B(char x)으로 돌아와 남은 출력 구문을 실행하고 종료.헷갈리는 부분이 있어 다른 질문도 드립니다. 1. B(char x)의 this로 인해 자신의 기본 생성자인 B()를 실행했을 때 super()가 없었어도 A클래스의 기본생성자를 호출하고 B클래스의 기본 생성자를 호출한 뒤 B(char x)의 출력구문을 실행한다. -> 이게 맞다면 왜 super()가 없었어도 A클래스의 기본생성자를 호출되는지? 그리고, 만약 A클래스에 기본 생성자가 없었다면 출력이 어떻게 되는지 궁금합니다. 2. B(char x)에 this가 없었다면 부모의 기본 생성자가 호출이 되고 다시 돌아와 출력문이 실행되는지 궁금합니다. 3. main에서 생성자가 생성이 될 때마다 생성자에 명시적으로 super나 this가 없다면 부모의 기본 생성자가 호출이 되는지 궁금합니다 -> main에서 업케스팅 형태로 생성1 생성2 생성3 ... 인 경우에서 생성부분에 파라미터가 있든 없든 명시적으로 super나 this가 없다면 각각 실행마다 부모의 기본 생성자가 실행이 되는지적다보니 질문이 많이 생겼습니다..확인 부탁드립니다 감사합니다!
-
해결됨[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
iOS설정에 오류가 있는 것 같습니닷,,(info.plist 설정 오류)
강의 설명에서는 아래 사진처럼 되어져 있는데-> false의 위치가 틀렸어요이게 맞습니다(아래 사진)아마 1번 사진처럼 하면, Info.plist오류라고 뜨면서 앱이 실행이 안됩니다! 2번 사진처럼 붙여넣어주셔야 합니다,,제대로 설정되면 Info.plist를 Property List로 열었을때 오류 없이 잘 열릴꺼에요(1번 처럼하면 PropertyList 안열림)열려서 Fonts provided by application에 추가한 폰트들이 잘 들어가져있다면 잘 설치된거에요~ cf1) 이렇게 했는데 갑자기 잘 안된다면 podfile제거하고 다시 설치해보세용cd iospod deintegratepod install이렇게 하시면 되용cf2) 만약에No script URL provided. Make sure the packager is running or you have embedded a JS bundle in your application bundle. unsanitizedScriptURLString = (null)이런 에러가 뜨면 터미널로 가서 npm start해주면 됩니다..저처럼 헷갈리시는 분들이 있을까봐 남겨용 학습에 관련된 질문만 해주세요.질문은 상세하게 무엇이 궁금한지 작성해주세요.질문은 '마크다운'을 사용하여 할 수 있습니다.유사한 질문이 있었는지 살펴보고 질문 해주세요. 부담갖지 말고 강의에서 궁금하신 점 전부 질문해주세요 :)
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
이미지가 불러와지지 않습니다.
강의 그대로 따라했는데 이런 식으로 뜨네요.무엇이 문제일까요?
-
미해결Next + React Query로 SNS 서비스 만들기
Parallel Routes시 default.tsx 와 page.tsx의 차이가 궁금합니다.
해당 강좌 default.tsx에서 기본 페이지로 사용시킬때 default.tsx를 처리해두고 빈페이지를 구성하는 형태를 사용하는 예제를 따라서 진행해보았는데요. 여기서 궁금한점이 page.tsx를 @modal에 하나더 유지시키고 return null 처리를 하는 컴포넌트를 두어도 똑같이 동작은 되는데, default.tsx를 좀 더 권장하는 이유가 있을까요?
-
해결됨Next + React Query로 SNS 서비스 만들기
요청 메모화와 데이터 캐시에 대해 제가 이해한 것이 맞는지 궁금합니다
아래가 제가 이해한 내용인데 맞을까요?요청 메모화ssr 요청 사이클 내에서만 페치 결과를 캐싱하여 중복 요청 방지 (한 서버 요청 사이클 끝나면 초기화)예를들어 Home컴포넌트와 자식 컴포넌트인 Header 컴포넌트에서 렌더링 시에 동일한 요청을 날렸다면 Home컴포넌트의 요청이 캐싱되고 Header 컴포넌트의 요청은 캐싱된 값 사용데이터 캐시한 ssr 요청 사이클 내 뿐만 아니라 서버에 전역적으로 유지되는 캐시요청 메모화와 다르게 서버 요청 끝나도 초기화되지 않고 지속됨즉, 여러 클라이언트 요청 간에도 유지됨A가 먼저 페이지 요청 → 백엔드에 요청 후 넥스트 서버에 데이터 캐싱B가 같은 페이지 요청 → 백엔드 요청 없이 넥스트 서버 캐시에서 데이터 반환결론즉, 요청 메모화는 렌더링 최적화, 데이터 캐시는 네트워크 요청 절약을 위한 것
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
오목게임 구현
이 서버코드를 가지고 오목게임을 구현해보고 싶은데요 랜덤매칭을 해서 매칭이 된다면 방을 만들어서 방에서 조작하는게 맞겠죠 ? 그럼 GameRoom 은 전체 시스템에 대한 접속이라 생각하고 ( 전쳇말 등등을 위한 )GameActualRoom 이란걸 만들어서 매칭된사람들끼리의 룸 이라고 생각하고 만들면될까요 ? ..
-
미해결FreeRTOS 프로그래밍
[ L152RE ] 원샷 소프트타이머 실행 잘 되시나요?
대상 보드: NUCLEO-L152RE코드: 강의 자료 / 10_SOFT_TIMER1 증상: HardFault_Handler 진입프린트문으로는 Auto Reload Timer 1회 출력
-
미해결Python 프로그래밍: Zero to Expert
진도율
진도율이 89%에서 더이상 학습되는 것이 없습니다. 어떻게 처리 해야 될까요?
-
미해결FastAPI 완벽 가이드
uvicorn으로 로컬서버 올렸으나 사내 타 컴퓨터에서 접속이 안됨
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요.- 먼저 유사한 질문이 있었는지 검색해보세요- 서로 예의를 지키며 존중하는 문화를 만들어가요.- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님. 안녕하세요.현재FAST_API를 구성하여uvicorn app.main:app --reload --host 0.0.0.0 --port 8010위와 같이 로컬서버를 열었습니다.사내에서 프론트엔드쪽에서 제 서버로 접속을 시도하는데 공용 Wifi를 쓰고 있어서 IP주소만 192.168.0.x:8010으로 프론트엔드쪽에 전달을 했습니다. 하지만 프론트쪽에서는 제 로컬 서버로 접속이 안되고 계속 로딩만 되고 있습니다. 로컬에서 swagger를 열어서 서버테스트를 했을 때에는 전혀 문제가 없었는데현재 문제는 공용 라우터 아래 무선 랜을 잡아서 쓰고 있는 두 컴퓨터간의 통신이 안되고 있습니다...하지만 프론트에서 index.html을 5500포트로 열어서 공유한 것을 잘 열립니다.정말 gpt, claude를 쪼아서 물어봤는데도 계속 똑같은 이야기, 방화벽 설정에서 인바운드 포트설정이야기만 합니다혹시 어떤 문제인지 좀.. 도와주십시요. 내일 대표님 앞에서 프로젝트 시연을 해야하는데 지금 ...큰 문제입니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
콘솔창에 격자가 안나옴 미로 생성 X
미로 생성 25*25 격자가 콘솔창에 출력 되지 않고 있습니다..1.Board 코드*****************************************************************************using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C__알고리즘_6_플레이어_이동{ class Board { const char CIRCLE = '\u25cf'; public TileType[,] Tile { get; private set; } //배열 public int Size { get; private set; } public int DestY { get; private set; } public int DestX { get; private set; } Player _player; public enum TileType { Empty, Wall, } public void Initialize(int size, Player player) { if (size % 2 == 0) return; _player = player; Tile = new TileType[size, size]; Size = size; DestY = Size - 2; DestX = Size - 2; GenerateBySideWinder(); } public void GenerateBySideWinder() { // 일단 길을 다 막아버리는 작업 for (int y = 0; y < Size; y++) { for (int x = 0; x < Size; x++) if (x % 2 == 0 || y % 2 == 0) Tile[y, x] = TileType.Wall; else Tile[y, x] = TileType.Empty; } // 랜덤으로 우측 혹은 아래로 길을 뚫는 작업 // Binary Tree Algorithm Random rand = new Random(); for (int y = 0; y < Size; y++) { int count = 1; for (int x = 0; x < Size; x++) { if (x % 2 == 0 || y % 2 == 0) continue; if (y == Size - 2 && x == Size - 2) continue; if (y == Size - 2) { Tile[y, x + 1] = TileType.Empty; continue; } if (x == Size - 2) { Tile[y + 1, x] = TileType.Empty; continue; } if (rand.Next(0, 2) == 0) { Tile[y, x + 1] = TileType.Empty; count++; } else { int ramdomIndex = rand.Next(0, count); Tile[y + 1, x - ramdomIndex * 2] = TileType.Empty; count = 1; } } } } public void Render() { ConsoleColor prevColor = Console.ForegroundColor; for (int y = 0; y < Size; y++) { for (int x = 0; x < Size; x++) { // 플레이어 좌표를 갖고 와서, 그 좌표랑 현재 y, x가 일치하면 플레이어 전용 색상으로 표시 if (y == player.PosY && x == player.PosX) Console.ForegroundColor = ConsoleColor.Blue; else if(y == DestY && x == DestX) Console.ForegroundColor = ConsoleColor.Yellow; else Console.ForegroundColor = GetTileColor(Tile[y, x]); Console.Write(CIRCLE); } Console.WriteLine(); } Console.ForegroundColor = prevColor; } ConsoleColor GetTileColor(TileType type) { switch (type) { case TileType.Empty: return ConsoleColor.Green; case TileType.Wall: return ConsoleColor.Red; default: return ConsoleColor.Green; } } }}*****************************************************************************2. Player 코드using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C__알고리즘_6_플레이어_이동{ class Pos { public Pos(int y, int x) { Y = y; X = x; } public int Y; public int X; } class Player { public int PosY { get; private set; } public int PosX { get; private set; } Random _random = new Random(); Board _board; enum Dir { Up = 0, Left = 1, Down = 2, Right = 3 } int _dir = (int)Dir.Up; List<Pos> _points = new List<Pos>(); public void Initialize(int posY, int posX, Board board) { PosY = posY; PosX = posX; _board = board; // 현재 바라보고 있는 방향을 기준으로, 좌표 변화를 나타낸다. int[] frontY = new int[] { -1, 0, 1, 0 }; int[] frontX = new int[] { 0, -1, 0, 1 }; int[] rightY = new int[] { 0, -1, 0, 1 }; int[] rightX = new int[] { 1, 0, -1, 0 }; _points.Add(new Pos(PosY, PosX)); // 목적지 도착하기 전에는 계속 실행 while (PosY != board.DestY || posX != board.DestX) { // 1. 현재 바라보는 방향을 기준으로 오른쪽으로 갈 수 있는지 확인. if (_board.Tile[PosY + rightY[_dir], PosX + rightX[_dir]] == Board.TileType.Empty) { // 오른쪽 방향으로 90도 회전 dir = (dir - 1 + 4) % 4; // 앞으로 한 보 전진. PosY = PosY + frontY[_dir]; PosX = PosX + frontX[_dir]; _points.Add(new Pos(PosY, PosX)); } // 2. 현재 바라보는 방향을 기준으로 전진 할 수 있는지 확인. else if (_board.Tile[PosY + frontY[_dir], PosX + frontX[_dir]] == Board.TileType.Empty) { // 앞으로 한 보 전진 PosY = PosY + frontY[_dir]; PosX = PosX + frontX[_dir]; _points.Add(new Pos(PosY, PosX)); } else { //왼쪽 방향으로 90도 회전 dir = (dir + 1 + 4) % 4; } } } const int Move_TICK = 10; int _sumTick = 0; int _lastIndex = 0; public void Update(int deltaTick) { if (_lastIndex >= _points.Count) return; _sumTick += deltaTick; if(_sumTick >= Move_TICK) { _sumTick = 0; PosY = points[lastIndex].Y; PosX = points[lastIndex].X; _lastIndex++; } } }}*****************************************************************************3. Progarm 코드namespace C__알고리즘_6_플레이어_이동{ internal class Program { static void Main(string[] args) { Board board = new Board(); Player player = new Player(); board.Initialize(25, player); player.Initialize(1, 1, board); Console.CursorVisible = false; const int WAIT_TICK = 1000 / 30; int lastTick = 0; while (true) { #region 프레임 관리 int currentTick = Environment.TickCount & Int32.MaxValue; // FPS 프레임 (60프레임 O 30프레임 이하 X) // 만약에 경과한 시간이 1/30초보다 작다면 if (currentTick - lastTick < WAIT_TICK) continue; int deltaTick = currentTick - lastTick; lastTick = currentTick; #endregion // 입력 // 로직 player.Update(deltaTick); // 렌더링 Console.SetCursorPosition(0, 0); board.Render(); } } }}
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
8강의 수업 내용들 중 이해가 잘 안가는 부분들이 있습니다.
1 . RegisterGameplayTagEvent 델리게이트 질문 ASC->RegisterGameplayTagEvent(ABTAG_CHARACTER_INVINSIBLE, EGameplayTagEventType::NewOrRemoved).AddUObject(this, &UABGASHpBarUserWidget::OnInvisibleTagChanged); 다음 코드를 다음과 같이 이해했는데 맞을까요?INVINSIBLE 태그가 GE에 부착(count+1)되거나 탈착(count-1)될때 알림을 주는 델리게이트. 기본 count=0 2.Pre/PostGameplayEffectExecute 함수 질문저는 이 함수가 ApplyGameplayEffectSpecTo~함수로 GE를 실행시키기 직전이랑 직후에 호출되는 걸로 알고 있습니다.PreGameplayEffectExecute 함수는 게임 플레이 이팩트 적용 전에 호출된다고 들었는데요. 하지만 확인해본 결과 ,공격할 때 게임 플레이 이팩트가 실행되어 DamageAttritbute값이 Modifier연산을 통해 30으로 변경된 이후에PreGameplayEffectExecute 함수가 호출되었습니다. "게임 플레이 이팩트 적용 전" 이란 말이 GE를 실행하기 직전, 즉 Modifier연산이 아직 되기 전으로 이해하고 있었는데 이게 아닌가요? PreGameplayEffectExecute와 PostGameplayEffectExecute의 정확한 차이가 뭔지 햇갈립니다. 그리고 GE_AttackHitBuff 가 발동하면 Pre/PostGameplayEffectExecute 함수가 호출되는지 테스트를 해봤는데 제 생각과는 다르게 호출이 안됩니다. (Data.EvaluatedData.Attribute == GetAttackRadiusAttribute()) 이런식으로 조건문을 넣어서 디버깅을 했는데 전혀 들어오지를 않네요.GE_AttackHitBuff도 다른 GE와 마찬가지로 Pre/PostGameplayEffectExecute 함수에 들어와야 정상아닌가요? 3 . 중첩 버프 질문instant는 Base값을 변경하지만, 기간형은 Current값을 변경한다고 들었는데요. AttackRaius의 Base값이 50이고 Current값은 0 으로 시작해서, 공격할수록 Current에 +15씩 증가해 Base값을 직접 수정하지 않고 Current 값만 증가시켜서 어떻게 범위를 키우는 거죠? Base값은 아예 안쓰고 하나요? 내부적으로 어떻게 돌아가는지 좀 햇갈립니다. 그리고 Duration과 Stack 에 대해 다음과 같이 이해했는데 이게 맞을까요?Duration을 2초로 했을 때, 2초가 지나기 전에 공격해서 다시 한번 GE를 동작시키면 2초로 다시 리셋되고 스택이 쌓이는데, 2초를 놓칠경우 Current값이 처음으로 돌아와서 범위가 기본으로 리셋된다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
7강 GE로 NonPlayer의 어트리뷰트셋 값을 초기화시키는 것에 질문이 있습니다.
GE만 단독으로 동작시킬 때는 컨텍스트 핸들을 따로 만들어주고서 , 스팩핸들을 제작해주는데, 그에 반해 GA에서 GE를 동작시킬때는 스팩핸들만 제작해주는데, 그 이유가 GA가 이미 컨텍스트 핸들을 만들어줬기 때문일까요?
-
미해결개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
강의하실 때, 보여주시는 ppt 파일 혹시 어디서 받을 수 있는건가요?
강의하실 때, 보여주시는 ppt 파일 혹시 어디서 받을 수 있는건가요?혹은 다운 가능한가요? 궁금해 질문드립니다.
-
미해결소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
$36 Service Transfer Data Recovery Mechanism & padding byte
혹시 Transfer Data service ($36)에서 ECU단에서 CAN missing packet이 발생할 경우 해당 block sequence counter 를 재전송하는 recovery mechanism을 UDS에 있나요? 아그리고 padding byte의 경우에는 만약 ISOTP의 경우에는 FF가 아니라 0xCC로 해야하는 것인가요? 아니면 UDS에서 0xFF로 padding 을 권유하는 것인가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
감정일기장 로컬 셋팅하는 강의가 없어졌습니다.
예전에는 분명이프로젝트 소개 및 준비 영상인가그다음에 있었던 것 같은데로컬 셋팅하는게 없어졌어요 라우팅 설명하고 바로section13번 열라고 강의에 나오는데그 section13번을 셋팅하는 강의가 사라진 것 같아 문의드립니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
ELB 연결 실패 및 대상그룹 Unhealthy 상태
강사님 제가 개인프로젝트에서 따로 지금 만들고 있는데 강사님과 같이 ELB를 순서대로 등록했습니다.아직 보안그룹 설정 및 헬스 체크까지 했는데 기존의 코드에 헬스체크를 넣어놔서 (/health-check) 밑 줄과 같이 DNS이름에 /health-check를 붙여서 넣었더니 [ 503 Service Temporarily Unavailable ] 라고 뜨더라고요. 제가 3000번 포트를 사용하고 있어서 잘못하였나 대상 그룹에 들어가서 보니 아래와 같이 나오고 있습니다.아직 HTTPS를 받기 위한 인증서를 안받았는데 그래서 그런건가요???
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
강의 외 질문입니다
InitCapsuleSize(0.5, 1.2) 정도의 크기에 Character 작업을 하면 언리얼에서는 부작합 할까요??
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
안녕하세요 쿠팡 크롤링 막힌거 같아요 3번돌리니깐 막았어요 해결방법없을까요?
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.