묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[Unity] 멀티플레이 게임 필수 기능 구현 - 서버 & 데이터 관리까지!
챕터 강의 5 구현 이후 이슈사항
그전까지는 그런 현상 없었는데빌드 프로그램 이랑 에디터 동시에 켜면 이제 충돌나서 나중에 킨 프로그램이 꺼지는데 (아예)왜그럴까요?혹시 같은 아이디로 접속 되서 그런가요?플레이어 프리팹스의 저장된 UID는 왜 지웠는데도빌드시에는 그대로 들어가는건가요?그리고 가끔 가다 Auth가 실행이 안되고 UID가 생성이 안되요 (파이어베이스 Auth에 들어가보면 생성이 안되있음)....
-
해결됨실전! Django 입문 [최신 5.2 버전]
HTML 문법 공부
내용을 따라가면서 먼저 HTML 문법을 알아야 하겠다는 생각입니다. 교재나 공부할 수 있는 방법에 대해서 조언 부탁드립니다. 따로 책을 보는 것이 좋은지, 아니면 별도의 온라인 강의를 듣는게 좋은지 ?
-
미해결장박사의 블록체인 이해와 구조
강의 자료 요청 및 오류 질문
강의 자료 요청드립니다. hykid1189@gmail.com으로 전달주시면 감사하겠습니다. 그리고 전자지갑실습에서 잔액조회 기능 만들 때 사진과 같은 오류가 나는데 어떻게 해결해야 하는지 알려주시면 감사하겠습니다..
-
미해결롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리
5초 이전, 이후 이동 단축키가 안먹혀요
5초 이전, 이후 이동 단축키가 안먹혀요
-
미해결실전! Querydsl
5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의
Querydsl fetchResults(), fetchCount() Deprecated(향후 미지원)Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다.안녕하세요 최근 강의를 구매하고 좋은 강의 잘 들었습니다.하지만 querydsl은 향후 강의에 나와있는 방식으로는 page처리를 못하게 되는데 이에 맞는 강의도 올라가는 것인가요?
-
미해결IT인을 위한 ELK 통합로그시스템 구축과 활용
notion 에서 어떻게 파일 다운로드하죠?
수업 중에 보면notion 에서 파일 다운로드받는 부분이 있습니다.notion 에는 어떻게 접속하나요?그런데, 이 강의는 이제 관리 안 하시나요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobQueue의 Push Execute쪽 코드 질문
해결 ++아래 질문 내용을 글로벌 큐에서 추가로 처리해 주는 거였습니다.삭제가 안되서 최상단에 남깁니다.이것저것 건들면서 연습하다 보니 제 환경에서 글로벌 큐 호출을 안해서 문제였습니다. 안녕하세요?루키스님 강의를 참고하여 더미 프로젝트 하는 중에 문제가 식별 되어제가 분석한게 맞다면 강의 코드에 문제가 있어 제보 드려봅니다.문제라고 생각되는 부분은 JobQueue 클래스인데요, 문제 상황은부하가 있는 상황에서 '워커스레드를 2개 이상 돌릴 때, Execute()함수가 실행되지 않는'점을 확인하였습니다.jobCount 관련 변수의 조건이 어디서 안 맞는 것 같아서 생각해보건데,아래와 같은 경우라고 생각됩니다.// JobQueue.cpp void JobQueue::Execute() { ... if (_jobCount.fetch_sub(jobCount) == jobCount) { // 여기서 다른 워커 스레드의 _jobCount.fetch_add 발생?! LCurrentJobQueue = nullptr; return; } ... } } 그렇기 때문의 이후의 잡들이 처리되지 못하고 해당 부분에서 prevCount가 계속 쌓이고 있었습니다.// JobQueue.cpp void JobQueue::Push(JobRef job, bool pushOnly) { const int32 prevCount = _jobCount.fetch_add(1); _jobs.Push(job); // WRITE_LOCK // 여기서 prevCount가 계속 쌓여 0이 아님 if (prevCount == 0) { //그러므로 이 부분의 Excute()도 실행되지 않음 ... } 아래는 해당 클래스 cpp 전문입니다.귀한 시간 내시어 확인해주시면 감사하겠습니다!#include "pch.h" #include "JobQueue.h" #include "GlobalQueue.h" /*-------------- JobQueue ---------------*/ void JobQueue::Push(JobRef job, bool pushOnly) { const int32 prevCount = _jobCount.fetch_add(1); _jobs.Push(job); // WRITE_LOCK // 첫번째 Job을 넣은 쓰레드가 실행까지 담당 if (prevCount == 0) { // 이미 실행중인 JobQueue가 없으면 실행 if (LCurrentJobQueue == nullptr && pushOnly == false) { Execute(); } else { // 여유 있는 다른 쓰레드가 실행하도록 GlobalQueue에 넘긴다 GGlobalQueue->Push(shared_from_this()); } } } // 1) 일감이 너~무 몰리면? void JobQueue::Execute() { LCurrentJobQueue = this; while (true) { vector<JobRef> jobs; _jobs.PopAll(OUT jobs); const int32 jobCount = static_cast<int32>(jobs.size()); for (int32 i = 0; i < jobCount; i++) jobs[i]->Execute(); // 남은 일감이 0개라면 종료 if (_jobCount.fetch_sub(jobCount) == jobCount) { LCurrentJobQueue = nullptr; return; } const uint64 now = ::GetTickCount64(); if (now >= LEndTickCount) { LCurrentJobQueue = nullptr; // 여유 있는 다른 쓰레드가 실행하도록 GlobalQueue에 넘긴다 GGlobalQueue->Push(shared_from_this()); break; } } }
-
미해결홍정모의 따라하며 배우는 C++
처음 c++ 수강하려는데요. 비주얼스튜디오 2022 다운로드해서 설치하면 되는건가요??
안녕하세요.왕초입니다.비주얼스튜디오를 설치하려는데요.찾아보니 비주얼스튜디오 2022 무료로 다운로드 할 수있네요. 수업은 2022 버젼이 아닌데...어떤 버젼 설치하고 수업에 참여해야 하나요??
-
해결됨[DS 뭐하니- 첫 번째 이야기] 이틀에 하나씩 만드는 웹 크롤링
셀레니움 자동화시 클릭 문제
안녕하세요. 수업 잘 들었습니다. selenium 으로 자동화할때 검색창에 단어를 쓰는 거 까지는 잘 되는데 상세검색에서 클릭을 자동화하는 법은 어려울까요? 단순히 단어를 입력하고 엔터를 누르는 형식으로는 한계가 있어 질문드려요
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobQueue의 Push Execute쪽 코드에 문제가 있는 것 같아 말씀 드려봅니다
안녕하세요? 루키스님 강의를 참고하여 더미 프로젝트 하는 중에 문제가 식별 되어제가 분석한게 맞다면 강의 코드에 문제가 있어 제보 드려봅니다.문제라고 생각되는 부분은 JobQueue 클래스인데요, 문제 상황은'워커스레드를 2개 이상 돌릴 때, Execute()함수가 실행되지 않는'점을 확인하였습니다.jobCount 관련 변수의 조건이 어디서 안 맞는 것 같아서 생각해보건데,아래와 같은 경우라고 생각됩니다.// JobQueue.cpp void JobQueue::Execute() { ... if (_jobCount.fetch_sub(jobCount) == jobCount) { // 여기서 다른 워커 스레드의 _jobCount.fetch_add 발생?! LCurrentJobQueue = nullptr; return; } ... } } 그렇기 때문의 이후의 잡들이 처리되지 못하고 해당 부분에서 prevCount가 계속 쌓이고 있었습니다.// JobQueue.cpp void JobQueue::Push(JobRef job, bool pushOnly) { const int32 prevCount = _jobCount.fetch_add(1); _jobs.Push(job); // WRITE_LOCK // 여기서 prevCount가 계속 쌓여 0이 아님 if (prevCount == 0) { //그러므로 이 부분의 Excute()도 실행되지 않음 ... } 아래는 해당 클래스 cpp 전문입니다.귀한 시간 내시어 확인해주시면 감사하겠습니다!#include "pch.h" #include "JobQueue.h" #include "GlobalQueue.h" /*-------------- JobQueue ---------------*/ void JobQueue::Push(JobRef job, bool pushOnly) { const int32 prevCount = _jobCount.fetch_add(1); _jobs.Push(job); // WRITE_LOCK // 첫번째 Job을 넣은 쓰레드가 실행까지 담당 if (prevCount == 0) { // 이미 실행중인 JobQueue가 없으면 실행 if (LCurrentJobQueue == nullptr && pushOnly == false) { Execute(); } else { // 여유 있는 다른 쓰레드가 실행하도록 GlobalQueue에 넘긴다 GGlobalQueue->Push(shared_from_this()); } } } // 1) 일감이 너~무 몰리면? void JobQueue::Execute() { LCurrentJobQueue = this; while (true) { vector<JobRef> jobs; _jobs.PopAll(OUT jobs); const int32 jobCount = static_cast<int32>(jobs.size()); for (int32 i = 0; i < jobCount; i++) jobs[i]->Execute(); // 남은 일감이 0개라면 종료 if (_jobCount.fetch_sub(jobCount) == jobCount) { LCurrentJobQueue = nullptr; return; } const uint64 now = ::GetTickCount64(); if (now >= LEndTickCount) { LCurrentJobQueue = nullptr; // 여유 있는 다른 쓰레드가 실행하도록 GlobalQueue에 넘긴다 GGlobalQueue->Push(shared_from_this()); break; } } }
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
jakarta persistence 플러그인은 intellij ultimate에서만 사용가능하다고 나오네요.
jakarta persistence 플러그인은 intellij ultimate에서만 사용가능하다고 나오네요. 강의 내용에도 추가를 해주셔야 할 듯합니다.
-
해결됨공업수학을 위한 중학, 고교수학
학습자료
혹시 영상에 나오는 수업자료는 없을까요? pdf 파일 같은거요
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO 대신 Form 사용은 안되나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용]회원 등록 api 에서 아래 코드 처럼 saveMemberV1 메서드의 반환값은 new CreateMemberResponse(id)입니다. @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member){ Long id = memberService.join(member); return new CreateMemberResponse(id); } 근데 MemberForm.java 에 id를 추가하고 이걸로 리턴받으면 안되나요?왜 굳이 DTO 를 만들어서 리턴하나요?
-
미해결실전! Querydsl
[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]환경설정 PDF 강의 자료에서는검증용 Q 타입 생성Gradle IntelliJ 사용법Gradle -> Tasks -> build -> cleanGradle -> Tasks -> other -> compileQuerydsl 이라고 되어 있는데 부트 3.0 이후부터는 build.gradle에서 compileQuerydsl 부분이 빠져있기 때문에 'Gradle -> Tasks -> other -> compileQuerydsl' 문구가 다른 문구로 대체되어야 하지 않을까요?저는 clean 클릭 후 Gradle -> Tasks -> build -> build 를 클릭해서 해결했지만 clean 클릭 후 더 나은 방법이 있지 않을까 싶어서 clean 후 어떤 버튼을 클릭해야 할지 문의드립니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
C언어에서 포인터, 배열, 문자연산
안녕하세요 선생님항상 강의 잘 듣고 있습니다. 문제를 푸는 중에 궁금했던 건데요. 이런 코드에서 어떨 때는 배열 내 위치를 하나 더 움직이고 어떨 때는 ASCII 코드의 그 다음 알파벳을 뱉는데 이게 너무 헷갈립니다..ㅠ주소에서 연산을 하는 거면 배열에서 위치를 옮기고값에서 연산을 하는거면 ASCII코드에서 다음 알파벳을 뱉으면 되는건가요..?주석에 제가 이해하는 법을 적어놨는데 이렇게 이해하면 되는걸까요?특히, printf("%s", a+2); 이런 부분 같은 경우에는a+2에서 a는 시작주소를 뜻하니 a[0], 따라서 a[0]+2 --> a[0]은 값이니 h, h라는 값에서+2하니까 j이런 사고 과정으로도 흘러가는 거 같아 헷갈립니다..ㅠㅠ답변 주시면 감사하겠습니다!# include <stdio.h> int main() { char a[6] = "hello"; printf("%s", a+2); // a는 시작주소(=a[0])를 뜻하니 a[0]의 주소에서 2번 옮김? -> llo printf("%c", a[1]+2); //a[1]은 값으로 e를 뱉으니 ASCII? -> g printf("%c", *a+1); // *a는 a[0]의 값 h를 뱉으니 ASCII? -> i printf("%c", *(a+1)); //(a+1)은 a[0]에서 하나를 더 움직인 주소 ->의 값 = e printf("%c", a[1]); // a[1] = e return 0; } 출력값 : llogiee
-
해결됨가장 쉽고 깊게 알려주는 MongoDB 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]
BSON(Binary JSON)은 효율적이고 더 많은 데이터 타입을 지원한다는 말이 잘 와닿지 않습니다
MongoDB 설명에서 "BSON(Binary JSON)이라 효율적이고 더 많은 데이터 타입을 지원한다" 고 언급하신 부분에 대해 질문드립니다.결국 Redis나 MySQL 같은 RDB도 내부적으로는 데이터를 바이너리 형태로 저장하지 않나요?모두 바이너리로 저장하는데, 왜 MongoDB만 특별히 "바이너리라서 효율적이고 타입을 많이 지원한다"고 강조하는지 잘 이해가 안 됩니다.
-
미해결[입문/초급] 다양한 예제를 통한 추천 시스템 구현
안녕하세요 몇가지 질문이 있습니다.
안녕하세요!좋은 강의 만들어주셔서 감사합니다.방금전 강의를 신청하였고,저는 데이터사이언스 관련 전공자이며, 현재 회사에서 IT PM직군을 하고 있습니다. 다름이 아니라, 추천시스템을 예전에 비영리 목적으로 미니 프로젝트를 하며 잠시 다루다가 데이터가 별로 없기도 하고 만들고자 하는 데이터 형식과 기술적인 문제로 시도를 하다가 접었던 이력이 있습니다.현재 대략적으로 구현을 하고자 하는 것은 제조 트렌드 기반의 맞춤형 소재를 추천하는 프로젝트를 진행할 예정입니다. 그래서 실제 사용자의 선호도와 성향을 기반으로한 데이터가 없다고 가정하며, 최신 트렌드를 반영하여 사용자의 정확한 직군과 역할을 살펴보며, 추천을 하는 시스템을 원하고 있습니다. 보통 OTT나 쿠팡과 같은 도매사이트에서 ID, 사용자, 아이템 기반의 각종 추천시스템에 대한 아이디어는 검색을 하거나 깃헙에서 충분히 구할수 있으나, 위와 같은 부분은 데이터 구축까지 진행되어야 하는데, 추천해주실만한 데이터 형성 기법과 방법에 대해서 여쭙고 싶습니다. 물론 강의를 이제 시작하여, 강의를 완강할때쯤이면 아이디어가 떠 오를수도 있는데... 현재 급하게 일을 진행하며 하다보니, 전체 강의를 조금씩 주제를 기반으로 살펴봤는데 아이디어가 떠오르지 않고 자문을 구할때가 없어서 급하게 질문을 드렸습니다. 실례가 안된다면 혹시 강의에서도 관련된 부분이나 키워드 위주라도 검색해볼만한 내용이 있다면, 추천해주시면 감사하겠습니다ㅠ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
28분 20초 강의 기출 문제 3번 질문 있습니다.
public Person(String val) 생성자 함수 부분에서this.name이 아니라 name이어도 되나요?
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
Weather Observation Station 12에서 Wrong Answer이 뜹니다.
어디가 문제인지 잘 모르겠습니다
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
강의 내용 정리 및 자료 제작 툴 문의 드립니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 강사님 안녕하세요. 🙂 우선, 테스트 코드에 이어 양질의 강의 제공해 주셔서 감사합니다! 🙏🏻프로젝트 리팩토링 단계에서 본 강의를 접한 덕분에 많이 배우고 있습니다! 혹 제가 이해한 내용을 바탕으로 블로그 혹은 깃허브에 정리해도 될지요?출처는 기재할 예정이며, 블로그 수익과는 전혀 관계없습니다. 더불어 강의 자료 제작 시 사용하시는 드로잉 툴?이 어떤 것인지도 궁금합니다. 답변 기다리겠습니다, 감사합니다!