묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
프로세스 메모리영역과 JVM 메모리영역의 상관관계
안녕하세요~ 프로세스는 OS로부터 stack, heap, data, code영역으로 나눠진 메모리를 할당 받는다고 하셨는데요. 자바를 배울 땐 자바 프로세스가 실행될 때 JVM에 의해 다음과 같이 5개의 메모리 영역으로 나뉘어져서 관리한다고 배웠었습니다 (Method area / Heap / Stack / PC Registers / Native Stack) 명칭도 조금씩 다른부분도 있고 영역개수도 상이 한데 OS로부터 할당받은 4종류의 메모리의 영역과 JVM이 관리하는 5종류의 메모리의 영역이 서로 어떻게 매칭되는건지 궁금합니다~ 예를들어 프로세스의 Stack영역은 JVM의 Stack영역과 동일하다던가..아니면 프로세스의 Heap영역안에 JVM의 5종류의 메모리영역이 나눠져서 할당된다던가..그것도 아니면 JVM은 일반 프로세스와는 다르게 JVM에 의해 다른 메모리영역을 할당받는다던가.. 서칭 해보는데 단순히 JVM의 메모리구조에 대해서만 설명이 되어있고 이게 프로세스의 메모리영역과 어떻게 매칭되는건지에 대한 내용은 찾지 못해서 질문드립니다~
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
Vertex 종류에 관하여 질문
강사님 Mesh에 장착하는 Geometry<T>에 관하여 질문이 있습니다.강사님이 강의를 진행하실때는 Geometry를 만드시면서 Vertex를 손수 타입지정(T)을 해주시는걸 보고 실제 유니티에서는 어떻게 적용되어있나 들어가서 확인해 봤더니 기본 도형들(Mesh) 같은 경우 전부 동일한 Vertex 타입을 사용했지만 외부에서 다운받아 온 Mesh 같은 경우엔 이것이 StaticMesh이건 SkeletalMesh이건 Vertex 타입이 조금조금씩은 다른 정보들을 가지고 있더라고요.그래서 유니티 공식 메뉴얼를 찾아봤더니 Vertex 타입은 하나만 쓰고 그중 가져온 모델이 필요로 하지 않는 정보가 있을 경우엔 그 항목을 비활성화 한다고 하더라고요.가져온 모델이 어떤 Vertex 타입을 사용하는지 어떻게 알고 이걸 안다고 쳐도 비활성화는 어떻게해서 vertex 버퍼를 만드는지 알 수 있을까요?
-
미해결Next + React Query로 SNS 서비스 만들기
인터셉팅 라우트 버그?..
게시하기 버튼 클릭하면 인터셉팅 라우트가 되지 않네요 ㅜ회원가입, 로그인에서는 인터셉팅 라우트가 잘 됬었는데 왜이러는걸까요?.. 아직 넥스트가 불안정 한건지.. 검색해도 잘 안나오네요..
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
JpaRepositoryV2 도입 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제가 이해한 내용을 설명하고, 이해가지 않은 내용을 질문하려 합니다. Spring Data JPA 기술을 이용하여 SpringDataJpaItemRepository를 구성했고, 해당 interface를 바로 ItemServiceV1에서 의존관계 주입하여 사용하고 싶다.하지만, 이미 ItemServiceV1은 ItemRepository interface를 주입받아 사용하고 있기 때문에 SpringDataJpaItemRepository interface를 사용하려면 ItemServiceV1에서 코드레벨에서의 수정이 필연적으로 일어나게 된다.(문제점 1)또한, SpringDataJpaItemRepository는 ItemRepository를 extends한 것이 아닌 JpaRepository를 extends한 것임.(문제점 2)따라서 이런 문제점들 때문에 JpaItemRepostioryV2 class를 도입하여 ItemRepository와 SpringDataJpaItemRepository 사이를 맞추려 한다. 위 내용처럼 서술했을 때 올바르게 서술한 것인지 궁금하고,2가지 이해가지 않는 부분에 대해서 질문하고 싶습니다.첫번째: 문제점2가 왜 문제인건지 잘 모르겠습니다.두번째: “ItemRepository와 SpringDataJpaItemRepository 사이를 맞추려 한다”에서 맞춘다가 정확히 어떤 것을 맞추는 것이라고 해야 표현 상 올바른 것인지 잘 모르겠습니다.
-
해결됨두고두고 써먹는 유니티 VR
소스 코드/ VR 기기 질문
강사님 강의 중에 사용하신 소스코드는 4-1 디펜스 게임 실습 프로젝트 코드만 있는건가요? 그 코드를 unity editor로 열면 바로 vr 기기에서 실행해볼 수 있는 건가요? 그리고 이 프로젝트를 열고 실행해 보기 위해서는 oculus 2 만 가능한가요(현재 모델로는 meta quest 2인가요 )아니면 다른 vr 기기들도 실행 가능한가요? 감사합니다.
-
미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
1.3. 데이터 전처리 강의에서 index do not match 에러가 납니다.
안녕하세요.데이터 전처리 강의 내용 중 코드를 똑같이 따라쳤는데도 에러가 나는 부분이 있는데요, 구글링을 열심히 해봤는데도 해결하지 못해서 질문 남깁니다.df_bool = ~df.groupby('hour')['cnt'].apply(is_outliers) df_out = df[df_bool]위 코드를 실행하면 Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match). 에러가 발생합니다. df_bool.index위 메서드로 df_bool의 인덱스를 확인해보니 (hour, n) 의 튜플로 된 멀티 인덱스가 나왔습니다.df의 인덱스는 0, 1, 2, ... , 17413의 숫자로 되어 있어서 조건식으로 넣은 boolean 시리즈(df_bool)의 인덱스와 df의 인덱스가 일치하지 않아서 발생하는 에러로 이해했습니다. 다만 구글링을 아무리 해도 해결방법은 잘 모르겠습니다. 강의 내용을 똑같이 따라 쳤는데 왜 에러가 발생하는 걸까요?
-
미해결엑셀 매크로와 VBA 기초부터 실무활용까지 완전 정복
매크로 원상복귀
만약 매크로를 실행했는데 다시 원상태로 돌릴 수 있는 방법이 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-H_2234_성곽
안녕하세요 큰돌님!마지막에 벽 하나를 허물어 최대 영역수를 구하는 부분에서 질문이 있습니다.1. 큰돌님은 ->,↓ 방향으로만 탐색하며 벽을 허무셨지만,저는 처음부터 그렇게 생각하지 못해서 각 칸마다 4방향을 모두 탐색하는 알고리즘( for(int k=0; k<4; k++) )으로 작성하였습니다. 예제코드는 통과하였지만 제출 하면 틀렸다고 뜸니다..어디서 반례가 생기는지 알 수 있을까요?ㅜㅜ 나머지 부분은 다 비슷하게 작성하였습니다. 또한 compSize[2504] 사이즈를 50이 아닌 2500으로 설정하셨는지도 궁금합니다. compSize의 최댓값은 맵의 크기인 n*m=50이 아닌가요? http://boj.kr/3c4e0499d8a740a0a39610f71efd033c
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
섹션11 예제 링크
섹션11 예제 링크 걸어주신 두가지 중에두번째 '라이브러리 관련 예제' 링크 들어가서duplicate to your drafts 눌러서 새창 열었는데요첫번째 '스타일 및 콤포넌트 예제' 링크 자료가 나와요 ㅠㅠ
-
미해결대세는 쿠버네티스 (초급~중급편)
CrashLoopBackOff 이슈가 지속적으로 발생함. 원인 분석 결과 공유드립니다.
개요 컨테이너는 정상적으로 배포가 되는 것으로 확인되지만, 마스터 노드에서 curl 명령어를 실행해보면 최초 1회는 정상적으로 응답하고, 바로 에러가 발생하는 것으로 확인되었습니다. 로그 내용은 다음과 같습니다.node:_http_server:345 throw new ERR_HTTP_HEADERS_SENT('write'); ^ Error [ERR_HTTP_HEADERS_SENT]: Cannot write headers after they are sent to the client at ServerResponse.writeHead (node:_http_server:345:11) at Server.content (/main.js:4:7) at Server.emit (node:events:519:28) at parserOnIncoming (node:_http_server:1143:12) at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17) { code: 'ERR_HTTP_HEADERS_SENT' }컨테이너 내부 쉘에 접근하여 port8080.js 파일을 확인해본 결과 아래 소스 코드를 얻을 수 있었습니다.var http = require('http'); var content = function(req, resp) { resp.end("containerPort : 8080" + "\n"); resp.writeHead(200); } var w = http.createServer(content); w.listen(8080); 원인해당 소스코드를 로컬환경 node16 에서 실행해본 결과, 정상적으로 동작하는 것을 확인하였습니다. 실습 준비물 이미지 환경 node21 에서 실행해본 결과, 같은 에러가 발생하는 것을 확인하였습니다.Node 버젼이 업그레이드 되면서 http 모듈에 추가적인 예외처리가 반영되었다고 판단했습니다.공식 문서에 의하면 resp.end() 함수는 해당 컨텍스트의 종료를 의미한다고 합니다. 에러 로그를 살펴보면 컨텍스트의 종료 이후 헤더에 쓰기 작업을 수행하면서 발생하는 에러일 것으로 추측할 수 있었습니다. 결론 위 코드를 다음과 같이 변경한 후 Node21 환경에서도 정상적으로 동작하는 것을 확인했습니다.var http = require('http'); var content = function(req, resp) { resp.writeHead(200); resp.end("containerPort : 8080" + "\n"); } var w = http.createServer(content); w.listen(8080);
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
JpaRepository - 기본적인 CRUD 기능
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]-> 강의 pdf 캡처본입니다. 해당 캡처본에서 JpaRepository를 인터페이스 상속받으면 기본적인 CRUD 기능을 사용할 수 있다고 하는데, '기본적인 CRUD 기능'이 의미하는 것이 'CrudRepository가 가지고 있는 CRUD 메서드'(save, delete 등등)를 의미하는 것인가요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
랜덤메타(Sleep(1), Sleep(0), Yield())는 컨텍스트 스위칭이 없나요?
루키스님 안녕하세요?SpinLock, sleep/Yield, event, Mutex까지 잘 들었습니다. 제가 이해하기로는 SpinLock은 계속 돌기 때문에 컨텍스트 스위칭이 없어 (여기서의 예에서만) 빠르게 _num = 0 을 출력하고, event와 Mutex는 커널 단까지 컨텍스트 스위칭이 일어나 반복문이 조금만 많아도 _num = 0을 출력하는데 시간이 걸리는걸 볼 수 있었습니다. 그런데 궁금한건, 랜덤메타인 Sleep와 Yield도 쉬는 동안 커널 단까지 컨텍스트 스위칭이 일어날 것 같은데(쉬는 동안 다른 스레드에 메모리 <-> 레지스터 가 왔다 갔다 하므로) 여기서의 예에서는 _num이 빠르게 출력 되었습니다. 그래서 빠르게 출력된 이유가 랜덤메타는 컨텍스트 스위칭이 없어서인지, 아니면 컨텍스트 스위칭이 일어나는게 맞지만 여기서의 예에서만(간단한 예제이므로) 빠르게 _num= 0이 출력된 건지 궁금합니다.
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
쿵쿵따 추가적인 조건을 붙여서 만들었는데 어떤지 평가 부탁드립니다 ㅠㅠ
제가 추가적으로 구현한건 아래와 같습니다.끝말잇기 단어를 잘못 선택하면 탈락기존에 썼던 단어를 또 사용하면 탈락참가자가 한 명 남으면 게임이 끝남=> 참가자는 number를 배열로 만들어서 틀리면 배열의 숫자를 제거하는걸로 구현했습니다. const number = Number(prompt("몇 명이 참가하나요?")); if (number) { const $order = document.querySelector("#order"); const $word = document.querySelector("#word"); const $input = document.querySelector("input"); const $button = document.querySelector("button"); const numArray = Array(number) .fill() .map((v, i) => i + 1); let word; let newWord; const compareArray = []; let order = Number($order.textContent) - 1; const onClickButton = () => { if ( (!word || word[word.length - 1] === newWord[0]) && newWord.length === 3 ) { if (compareArray.includes(newWord) === false) { word = newWord; $word.textContent = word; compareArray.push(word); console.log(compareArray, numArray); if (numArray[order] + 1 > numArray.length) { $order.textContent = numArray[0]; order = 0; } else { $order.textContent = numArray[order + 1]; order += 1; } } else { alert("이미 있는 단어입니다. 탈락입니다."); numArray.splice(numArray.indexOf(numArray[order]), 1); $order.textContent = numArray[order]; console.log(numArray, order); } } else if (newWord.length !== 3) { alert("작성해야 할 단어는 총 3글자입니다."); } else { alert( `잘못된 단어입니다. ${numArray[order]}번 참가자는 탈락입니다.` ); numArray.splice(numArray.indexOf(numArray[order]), 1); $order.textContent = numArray[order]; console.log(numArray, order); } if (numArray.length === 1) { alert( `게임이 종료되었습니다 승리자는${numArray[0]}번 참가자입니다` ); } $input.value = ""; $input.focus(); console.log(newWord); }; const onInput = (event) => { newWord = event.target.value; }; $button.addEventListener("click", onClickButton); $input.addEventListener("input", onInput); }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
메시지 파일 관리를 백엔드에서 하나요?
[질문 내용]메시지를 관리하는 거를 백엔드 단에서 파일 하나 만들어서 관리하는 거 같은데 이걸 백엔드랑 프론트로 나눠서 개발을 하는 경우에도 메시지 관리를 백엔드단에서 하게 되나요? 뭔가 프론트에서 할 거 같아서 질문드립니다.
-
해결됨쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
쿠버에 젠킨스 설치후 실습방법문의
안녕하세요 일프로님좋은 강의 감사합니다쿠버배우려고 신청했는데 젠킨스에 빠져서실습하고 있는데요모든 것을 쿠버로 올리는 것을 목표로 공부중에실습의 내용의 젠킨스는 설치형이라 쿠버에 젠킨스를 설치하여 활용하는 내용이 추후 강의에 있을지와 미리 참고할 것이 있을지 문의드려요늘 경험한 것을 곁들어 설명에 다시 한번 감사드려요
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
vagrant up network interfaces 질문
강의 내에서도 네트워크 부분 안건드리는 것 같아서 그대로 진행하였는데 저런 오류가 발생하였습니다! 어떻게 해결해야될까요?
-
해결됨스프링 핵심 원리 - 기본편
스프링 3.2 버전 이상에서 Run tests using 부분은 intelliJ IDEA 를 사용해도 되는지 궁금합니다.
제가 강의를 오랜만에 들어서 혹시 수정사항이 있을까 PDF를 다시 다운받아서 확인했는데,주의! 스프링 부트 3.2 부터 Gradle 옵션을 선택하자.스프링 부트 3.2 부터 앞서 Build and run using에 앞서 설명한 IntelliJ IDEA를 선택하면 몇가지 오류가 발생한다.따라서 스프링 부트 3.2를 사용한다면 다음과 같이 IntelliJ IDEA가 아니라 Gradle을 선택해야 한다.라고 PDF가 12월4일 경에 수정되었더라구요. Run tests using 부분은 intelliJ IDEA 를 사용해도 되는지 궁금합니다.제가 굳이 Run tests using 을 바꾸고 싶은 이유는, test 실행시에,@DisplayName 어노테이션, 메서드로 구분해둔 개별 테스트들의 테스트 결과가 나누어지지 않고 한번에 보여서 그럽니다.구글링 결과 해결법이 Run tests using 부분을 intelliJ IDEA 로 바꾸라는 것 뿐인데 바꾸면 어떤 치명적인 오류가 있는건가요? Run tests using 을 Gradle로 설정했을 때 테스트 실행 결과 화면Run tests using 을 intelliJ IDEA로 설정했을 때 테스트 실행 결과 화면
-
해결됨자바스크립트 제대로 배워볼래?
clearInterval, setInterval 질문
var i = 0; var fnc = setInterval(function () { if (i == 3) { clearInterval(fnc); } console.log("3초마다 프로그램 실행 - " + i); i++; }, 3000);i가 3일 때 setInterval를 중단하기 위해 해당 코드를 작성했습니다.i가 3일 경우에는 clearInterval에 의해 setInterval이 중단됐기 때문에아래 console.log("3초마다 프로그램 실행 - " + i)도 실행되지 않아콘솔창을 실행했을 때 "3초마다 프로그램 실행 - 2"까지만 나오고 멈출거라고 생각했는데,"3초마다 프로그램 실행 - 3"이 나와 왜 그런지 질문 드립니다.
-
해결됨초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
벨로그 공개 포스팅 업로드 관련 문의
안녕하세요 강사님 좋은 강의 잘 듣고 있습니다.다름이 아니라 강의 내용과 ppt 이미지 등과 제 생각을 토대로 벨로그 등에 정리하려고 하는데공개 포스팅으로 등록해도 괜찮을지 문의 드립니다. 당연히 출처와 링크를 꼭 남기도록 하겠습니다.
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
강의 자료 스타일 가이드(타이포그래피) 관련 문의
안녕하세요, 강의자료에서 스타일 가이드 > 타이포그래피 관련하여 질문드립니다!! 실무 경험이 부족하다보니 신입, 1인 디자이너로 반응형 웹 리뉴얼 진행 중에 스타일 가이드 제작이 쉽지 않아서요~ 강사님께서 만드신 타이포그래피 가이드를 그대로 실무에 적용해도 괜찮을지 궁금합니다!! 실무에서 많이 쓰는 타이포 그래피 사이즈인지 궁금합니다! 도움 부탁 드립니다!!