묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
시그널 - 자식에서 부모노드로 접근
훌륭한 강의 잘 보고 있습니다~! 감사합니다. ● 의문점:시그널 강의 결론은,"자식 노드쪽에서 부모 노드 쪽을 접근할 때 시그널을 사용하라" 입니다.헌데 강의의 예시를 살펴보면부모 씬의 스크립트(game .gd) 에서 시그널을 선언하고, 그 시그널을 부모 씬의 스크립트 함수와 연결하고, 부모 씬의 함수가 발동되고 있는데요그럼 그냥 부모 씬에서 모든 것이 이루어지는 것이지 자식 쪽에서 부모를 접근하는 것으로 보기가 어려웠습니다.뭔가 자식 쪽 시그널이 발동되면부모의 함수가 호출되는 상황이어야 할 것 같은데시그널로 이게 가능한지요?
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
안녕하세용 선생님 질문이 있습니다~~
저희가 프로토콜의 구조체를 만들 때자료형을 unsigned로 하잖아요~ 근데 굳이 unsigned를 고집을 하는 이유가 음수를 표현을 할 필요가 전혀 없어서죠?? 알려주시면 감사드리겠습니다좋은하루 보내세요~
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
vagrant up
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]네3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]네(https://inf.run/DvsRD)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://inf.run/Ljaer)[질문 하기]다했는데 계속 같은 에러가 나옵니다. Command: ["startvm", "4a4d5c0f-1f65-4098-b0c7-4e8fda8925ff", "--type", "headless"]Stderr: VBoxManage.exe: error: The virtual machine 'cp-k8s-1.30.0(github_SysNet4Admin)' has terminated unexpectedly during startup with exit code 1 (0x1). More details may be available in 'C:\Users\myhr1\VirtualBox VMs\k8s-U1.30.0-ctrd-1.6(github_SysNet4Admin)\cp-k8s-1.30.0(github_SysNet4Admin)\Logs\VBoxHardening.log'VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. 이방법은 무엇인가요
-
미해결클린업 JavaScript: 점프업!
클린업 JavaScript: 점프업! / 6. 클로저(Closure), 클로저 대상 / 2:25
const setPoint=function(){ let one =100; const two = 200; var five=500; if(one){ let seven=700; var nine = 900; }; return function(){ console.log(one+two+nine); // one + two + nine; debugger // one + two + nine; // one, two, nine variable 없음 debugger // seven; }; }; const getPoint =setPoint(); getPoint();debugger로 변수를 개발자도구 콘솔에 찍으니깐요변수를 추적못합니다.신기해서 질문합니다웹브라우저에서는 변수를 찾지 못하고자바스크립트에서는 클로저로 할당된 변수를 찾아서 콘솔에 찍어주는 건가 싶기도하고요언제 변수를 찾느냐의 차이인가요?웹브라우저에서 직접 변수를 찾으면 못찾는다고 하네요이유가 무엇인지 알고 계신가요?
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
ExecutorService close() 메소드 동작 설명 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]ExecutorService 우아한 종료 - 구현01:07 close() 메소드 설명 부분에"shutdown() 을 호출하고, 하루를 기다려도 작업이 완료되지 않으면 shutdownNow() 를 호출한다." 에 오류가 있어 보입니다. [내용 정정]"shutdown() 을 호출하고, 작업이 완료될 때까지 무한정 반복대기한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다." 로 변경해야 하지 않나요? [근거]Eclipse Temurin-21.0.4+7 (JDK 21) 버전 코드 원문public interface ExecutorService implements Executor, AutoClosable { // .. @Override default void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; // 작업 미완료시 재시도 while (!terminated) { try { // 하루간 작업 종료 대기, 작업 미완료시 `false` 반환 terminated = awaitTermination(1L, TimeUnit.DAYS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } }1일이 지났다고 해서 interrupt() 를 호출하지 않고 재시도 하는 것으로 보입니다. [증명 코드]MyExecutor 로 close() 메소드 대기 시간을 1일 -> 1초로 조정하여 오버라이드합니다.10초간 대기하는 Task 를 실행시킵니다.class ShutdownTest { record CallableSleepTask( String name, long sleepMs ) implements Callable<Long> { @Override public Long call() throws Exception { sleep(this.sleepMs); return this.sleepMs; } } static class MyExecutor extends ThreadPoolExecutor { public MyExecutor() { super(1, 1, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } @Override public void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; while (!terminated) { try { // 종료 대기 시간 1초로 조정 terminated = awaitTermination(1L, TimeUnit.SECONDS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } @DisplayName("Should wait infinitely when .close()") @Test void executorServiceCloseTest() { // given try (ExecutorService myExecutor = new MyExecutor()) { log("작업 시작"); CallableSleepTask sleepTask = new CallableSleepTask("test", 10_000L); myExecutor.submit(sleepTask); // 10 초간 테스크 실행 log("작업 진행중.. close 대기"); // 기다리지 않고 .close() 자동 호출 } } }실행 결과18:38:39.524 [ main] 작업 시작 18:38:39.527 [ main] 작업 진행중.. close 대기 (약 10초 대기 후 종료) Process finished with exit code 0테스크 종료를 위해 10초 대기가 이뤄졌습니다.close 가 조정된 대기시간인 1초 뒤에 인터럽트를 발생시켰다면 인터럽트 로그가 남았을 것이고, shutdownNow()가 호출됐다면 10초 대기없이 즉시 종료되었을 것입니다. 따라서 정정이 필요해보여요.close 메소드는 "shutdown() 을 호출하고, 작업 완료시까지 무한정 반복대기한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다."
-
미해결[유니티 3D] 실전! 생존게임 만들기 - Advanced
코드 파일
강의 내용 그대로 코딩된 코드 있으면 혹시 공유 가능하신가요 여러분 ㅠㅠ
-
해결됨Windows 시스템 프로그래밍 - 기본
시스템프로그래밍-응용편
안녕하세요 선생님기본편 잘 듣고 있는 학생입니다혹시 응용편은 어디있나요?후속으로 응용편도 있다고 들은 거 같은데 찾아봐도 못찾겠어서요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
23분 4초 (함수와 재귀함수(v2))
[질문] printf("입력된 문자열: %s\n", str);에서 왜 "this is string"이 모두 출력되는건가요?제가 이해한 내용은 아래와 같습니다.printString으로 전달된 것은 문자열(자체로 addr 가지고 있음)이며, printString의 매개변수는 주소값(addr)을 받는 포인터변수입니다. 따라서 printf("입력된 문자열: %s\n", str); 에서 str은 "this is string" 문자열의 주소값을 가지고 있으므로 0번째 인덱스인 't' 가 출력되어야 하는것으로 이해하고 있습니다.어떤 부분을 잘못 이해하고 있는지 모르겠습니다 ㅠㅠ
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
rem 단위를 쓰는 이유
'전체 레이아웃 잡기' 강의에서 7분 쯤 내용에css 단위를 rem을 사용하시는데, 픽셀 대신 rem을 쓰는 이유가 무엇인가요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강의 인덱스 접근 관련 문의드립니다.
안녕하세요! 강사님 늘 강의 잘 듣고 있습니다.다름이 아니고 아래 사항에 대해 궁금한 부분이 있는데요. (아래 강의 20:16 시점입니다)https://inf.run/1668esecondary index -> clustered index로 limit 개수만큼 접근해주신다고 설명해주셨는데요 !where board_id = 1만 조건이 있어서 이미 어떤 row인지 세컨더리 인덱스에서 판단이 가능할 것 같은데, 클러스터 인덱스로 접근하게 되는 이유가 어떻게 되는걸까요?만약 where board_id = 1 AND writer_id = 1이 있다면 writer도 검증이 필요하기 때문에, 클러스터 인덱스 까지 가는 부분은 이해되기는 합니다만 board_id만 조건이 걸린 상태에서 클러스터 인덱스도 간다는 부분을 보고 이해가 잘 안되어서 문의드립니다 .. !
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
질문은 아니고 강의자 님이 해당 글을 꼭 보시길 바랍니다.
강의 너무 잘 듣고 있습니다.강의 설명중 참고하셨으면 하는 내용이 있어서 글 올립니다.1. ' ~ 이러한 내용이니 여러분들이 문제를 잠깐 멈추고 풀어보세요 ' 의 방식보다 아예 게임의 사용 예시를 들며 문제를 내는게 좋을것같습니다. 노드의 기능 역활만 알려주고 알아서 문제를 내라는 말이 좀 아쉬웠습니다. 강의를 빨리 끝내려는 강사의 느낌이랄까요. 2. 7:50 에서 ' 바꿔치기 해서 저장을 해야한다는건 어쨌든 set 을 등장시켜야 한다는 얘기가 되는거고..' 이부분도 설명이 좀더 있으면 좋겠습니다. 어떤걸 의도하시는지는 이해가 되었습니다만 마찬가지로 시간에 쫒기고 귀찮아서 빨리 수업을 끝내려는 강의 같다는 느낌이 듭니다..
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
24시간 이내의 최신글 API 설계 관련 질문
쿠케님 안녕하세요!그간 안녕하셨는지요. 몇 주 놀다가 다시 반성하고 각성 모드로 강의 시청 하고 있습니다. Redis에 24시간 이내의 최신글을 저장하는거 까지는 이해했습니다!그렇다면 레디스에 저장한 최신글은 프론트에서 어떻게 활용할수 있는 걸까요?제가 생각한 아래 흐름이 맞는지 검토 부탁드립니다! 서버게시판 종류마다 24시간 이내의 최신글을 레디스에 저장게시판 종류와 데이터 개수를 request로 받는 최신글 API를 별도로 만듬 프론트사이트의 메인 페이지 일부 화면에 특정 게시판의 최신글을 뿌려주는 요구사항이 존재서버의 최신글 API를 호출하여 각 게시판 종류마다 최신글을 뿌려줌 감사합니다~!
-
해결됨김영한의 실전 자바 - 중급 1편
지역변수와 캡처 변수의 값이 달라지는게 문제인 이유?
지역클래스가 접근하는 지역 변수는 사실상 final이어야 하고,그 이유는 '지역 변수의 값과 캡처된 변수의 값이 서로 달라지는 문제가 발생하기 때문' 이라는 것은 이해했습니다! 그런데 지역 변수의 값과 캡처된 변수의 값이 서로 달라지는게 왜 문제인가에 대해서 의문이 남아서 질문 드립니다 ㅠㅠ 제가 의문을 가지는 부분을 말씀드리면캡처된 지역변수를 가지고 있는 지역클래스의 인스턴스를 생성 후 사용하는 시점에서는 어차피 원래 지역변수가 있던 스택은 제거된 상태이고,그래서 값이 서로 같고 다름을 떠나서 아예 없는건데 애초에 동기화 문제 자체를 신경쓸 필요가 없는것 아닌가요??
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인 주의점 및 정리 강의에서 질문입니다~
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서 마지막에 “처음 JPA로 설계할 때, 무조건 단방향 매핑으로 설계를 완료”하는 것이 좋다고 해주셨는데,여기서 얘기하는 단방향 매핑이 1:N 연관관계에서 N쪽에서만 연관관계를 맺는 걸 말씀하신 걸까요?@ManyToOne@JoinColumn(name=“TEAM_ID”)private Team team;이런식으로요~
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
리액트를 선택한 이유
'수익형 웹사이트 사이트' 강의에서여러가지 프론트엔드 프레임워크 중,리액트를 선택하신 이유를 알고 싶습니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
ELB 셋팅하기 기본 네트워크 매핑 IP 풀
안녕하세요현재 가용 영역 및 서브넷을 다 체크하는데지금 위에 ip풀 - 신규라고 있는데 이 부분은 체크빼야되죠??구글링해보니 이 옵션이 "IPAM (IP Address Manager)" 기업용 관리기능이라고 나와있더라고요.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
이미 로컬에 mysql/redis가 설치되어 있을 때 포트매핑
안녕하세요! 도커는 처음 접해보는데 강의 정말 잘 듣고 있습니다! 이미 로컬에 DB가 설치가 되어 있는 상태면 강사님께서는 호스트의 DB들을 죽인? 후 포트 매핑을 하셨는데 혹시 호스트 포트 번호를 다르게 매핑 해도 되나요?예를 들어서 docker -run -p 3307:3306 -d mysql 이런 식이거나 docker -run -p 6380:6379 -d redis 이렇게요!
-
해결됨블렌더 그리스펜슬 베이직 클래스
브러쉬 추가하기
3.0 에서 사용하던 브러쉬를 4.4 에 추가해서 사용할수 있을까요?
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
InterruptedExceptionThreadStopExample 질문입니다.
InterruptedExceptionThreadStopExample 를 돌리면 강의 로그에서는============= 중단 스레드가 작업 스레드를 중단 시켰습니다.인트럽트 상태 1 : true=============형태가 찍히는데 제 로컬에서는=============중단 스레드가 작업 스레드를 중단시켰습니다.인트럽트 상태 2 : false=============가 찍히는데 이건 확률적으로 로그가 찍히는 걸까요? 답변 부탁 드립니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
테이블 설계관련 문의
안녕하세요.예전부터 목록 조회 관련 궁금한게 있었는데 어떻게 설계하는게 좋은지 몰라서 문의드립니다.강의의 예제처럼 하나의 테이블에 대해서 게시글 목록을 보여주는 기능들은 어떻게 해야하는지 잘 이해가 됩니다. 근데 보통 개발을 하다 보면 리스트를 보여주는 경우가 많잖아요.그런 ux들을 보면 3~4개 이상의 테이블을 join하고, 여러 테이블에 대한 필터링도 하고, 여러 테이블의 여러 컬럼에 대해서도 정렬까지 하고, 페이지네이션까지 해야 하는 경우가 많았던 것 같습니다.거기에 N:M구조를 join하는 경우가 있다면... 이런 기능들을 구현하려면 아무리 머리를 굴려도 full scan이 발생할 수 밖에 없을 거 같은데요.필터링이나 정렬이 각각 다른 테이블 기준으로 선택이 된다면 속도가 나올 수 없어 보입니다. 대책을 생각해보면그냥 원래 느리니까 db 성능을 믿고 그냥 join해서 보여줄수도 있고, 아니면 전체를 join 한 새로운 테이블을 만들기도 하는건지 궁금하네요. 근데 만약 새로운 테이블을 만들었더라도 N:M구조가 있었다면 또 1:N 구조가 여전히 남아있을테니 또 성능이 좋지 않을것이기에 생각이 많아지네요.