묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 11:00까지 이해한부분(조금 길어용)
현재 [Serializable] 필드 두개로 StatData, Stat을 Json파일과 형식을 똑같이 맞춰주는 부분이고 StatData는 ILoader<int, Stat>을 상속받는 아이여야 한다. 라는 부분이다. 현재 ILoader인터페이스를 상속받고있으니 Dictionary<Key, Value> MakeDict() 이부분을 반드시 구현해야한다. 그래서 StatData에서 public List<Stat> stats = new List<Stat>();으로 빈 List를 만들고 public Dictionary<int, Stat> MakeDict() 인터페이스를 구현을 하는 부분인데 { // 안에서 Dictionary<int ,Stat> dict = new Dictionary<int, Stat>(); int를 Key, Stat을 Value로 가지는 Dict 만들어주고 foreach를 통해서 dict의 Key값에는 stat.level을 value에는 stat을 dict.Add로 추가를 해주는 것을 구현을 하였다 } 그리고 DataManager class에서는 public Dictionary<int, Stat> StatDict { get; private set; } = new Dictionary<int, Stat>(); int를 Key로 Stat을 Value로 받는 Dict를 StatDict라고 선언을 했다 (근데 왜 얘만 { get; private set; }으로 한것인지?) 그리고 Loader타입을 반환하는 LoadJson함수를 만들었는데 LoadJson함수는 타입을<Loader, Key, Value>를 받고 인자로 string path 경로를 받게하였다. 근데 Loader라는 타입은 ILoader를 무조건 상속받는데 ILoader가 타입이 <Key, Value>인것 아무거나라도 괜찮은 Loader를 받는 다는 의미이다!! 이까지 코드분석은 된거같고 !!문제!!는 init()함수에서 int를 Key, Stat을 Value로 받는 StatDict인데 StatDict는 LoadJson에 타입을<StatData, int , Stat>을 받고 인자로는 "StatData"(경로)를 넣어주었다. 그러면 StatData LoadJson<StatData, int, Stat>("StatData") where StatData : ILoader<int, Stat> 함수를 호출하고 .MakeDict();를 한것이 StatDict에 할당이 된다는 뜻까지는 Okay! 그러면 호출 순서가 TextAsset textAsset = Managers.Resource.Load<TextAsset>("Data/StatData"); 먼저실행 textAsset에 경로를 넣어준 파일 할당 JsonUtility.FromJson<StatData>(textAsset.text);를 통해 StatData타입으로 textAsset.text를 파싱한것을 return 해준다. 그러면 LoadJson<StatData, int, Stat>("StatData")이부분까지는 위의 호출 순서대로 return을 해준것은 StatData 클래스 타입으로 textAsset.text를 파싱한것인데, StatData클래스는 ILodaer<int, Stat>을 상속받았기 때문에 MakeDict()라는 함수를 가지고있어서 StatDict = LoadJson<StatData, int, Stat>("StatData").MakeDict(); 가 가능한것이고 StatData의 MakeDict함수를 써주었기 때문에 결국에는 dict가 반환이 되는데 이것이 dict를 DataManager 39번째 줄에 선언을 해주었던 StatDict 딕셔너리에 할당을 해주는것이 된다. 1. 이렇게 정리하면서 공부했는데 위에 제가 혼자 정리한것이, 제가 이해한것이 맞나요?? 2. 이런식으로 코딩을 정리하는 습관이 유니티,씨샵을 공부하면서 효과적인 정리일까요?? 3. DataManager클래스 안에서 public Dictionary<int, Stat> StatDict { get; private set; } = new Dictionary<int, Stat>(); 이부분만 왜 { get; private set; }으로 만든것인가요? public Dictionary<int, Stat> StatDict = new Dictionary<int, Stat>(); 이렇게 선언한것이랑 차이가 무엇인가요?? 4. 함수나 딕셔너리에서 < > 안에 타입을 넣어주시는데 이것이 int, string 같은 변수의 진짜 타입을 넣어 줄 수도 있는것이고class형식이다라는 것도< > 안에 넣어 주어서 public void init() { StatDict = LoadJson<StatData, int, Stat>("StatData").MakeDict(); } 처럼 LoadJson<StatData, int, Stat>을 넣어 주었기때문에 StatData를 < > 안에 "class형식이다" 라고 넣어줘서 StatData안에 MakeDict함수를 .MakeDict()로 사용이 가능한것인가요?
-
해결됨코어 자바스크립트
메모리 주소에 대한 궁금증 & 값의 주소를 저장에 대한 궁금증
안녕하세요, 코어자바스크립트 책이랑 강의를 함께 잘 보고 있습니다. 감사합니다. 1. 메모리 주소에 관한 궁금증이 생겨 질문드립니다. (강의 1:48 초) 책에서 비트는 하나의 메모리 조각이고, 각 비트는 고유한 식별자를 통해서 위치를 확인 할 수 있다고 말씀해주셨습니다. 그렇다면 강의에서 메모리 주소를 1001, 1002 이렇게 표현하셨지만 실제 메모리의 주소는 각 비트가 갖고 있는 식별자가 주소인 건가요? 2. 값의 주소를 저장에 관한 질문입니다. (강의 14:12 초) 값의 주소를 저장 시 "데이터 할당시에는 느리다"는 의미가 값을 직접 저장하는 경우와 비교했을 때 값의 주소를 저장하는 방식이 1)데이터를 넣을 빈 공간을 찾고, 2)그 주소를 다시 변수의 값으로 넣는 과정이 더 필요하듯이 값을 직접 저장하는 것보다 더 많은 단계가 필요하기 때문에 느리다는 의미인걸까요?친절한 책과 강의 잘 보고 있습니다. 감사합니다 ;)
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
keydown 이벤트 관련 질문 드립니다.
강의에서 나온 부분을 변형하여 엔터키를 누르는 것만으로도 메세지가 전송이 되도록 하려고 했습니다. if(event.key === "Enter") 를 사용하였을 때 메세지 전송은 정상적으로 작동했지만 자동 스크롤 기능이 실행되지 않았습니다. 이 부분을 또 변형하여 강의에 나온 것처럼 event.keyCode === 13 이라는 조건을 주어도 같은 결과가 나왔습니다. 강의대로 event.ctrlKey && event.keyCode === 13을 주면 메세지 전송과 자동 스크롤 모두 정상적으로 작동하지만 다른 키 입력을 조건으로 했을 때 다른 결과가 나오는 것은 어떠한 이유때문인지 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C++
Overflow 출력 관련 질문
안녕하세요. 항상 좋은 강의 감사드립니다. 실습을 진행 중 궁금한 사항이 있어 질문을 올리게 되었습니다. #include <iostream> #include <limits> short s = std::numeric_limits<short>::max(); cout << "max + 1: " << ss + 1 << endl; cout << "max + 2: " << ss + 2 << endl; s += 1; cout << "max + 1: " << ss << endl; 위 코드를 출력하면 다음과 같이 출력됩니다. max + 1: 32768 max + 2: 32769 max + 1: -32768 수의 최대 범위가 넘어갔는데도, 출력을 할 때 더 큰 수가 출력이 되는 이유가 변수에 저장을 안해서 그런 것 인가요? L-value와 R-value와 관계가 있는 것인지 궁금합니다. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
rabbit mq 설치과정에서 발생하는 문제
/usr/local/sbin/rabbitmq-server: line 154: 88899 Segmentation fault: 11 start_rabbitmq_server "$@" 라는 에러가 발생합니다. 찾아봤을때, 해결 방법을 따로 찾질 못하겠네요. 해결방법이 있을까요?
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
react-router-dom v6 관련
https://stackoverflow.com/questions/63124161/attempted-import-error-switch-is-not-exported-from-react-router-dom/69849271#69849271 react-router-dom v6 에서는 위와같은 수정사항이 있으니 다른 분들 참고하시면 좋을 것 같습니다.
-
미해결Vue.js + TypeScript 완벽 가이드
리포지토리 권한 추가 부탁드립니다.
github id : cksdud7158 인프런 아이디 : cksdud7158@gmail.com 입니다. 감사합니다.
-
미해결Flutter 초급 - Http통신, 상태관리
플러터 최적의 폴더 구조를 잡고 싶습니다.
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 플러터를 이용해서 큰 상용 프로젝트를 진행하려고 준비하고 있고 강의도 잘 듣고 있습니다. 늘 그렇듯이 처음 백지 상태에서 큰 프로젝트를 만들기위해서는 폴더 구조를 처음에 잘 잡는게 중요하다고 생각이 되는데요 그리고 이를 위해서는 플러터의 기본 사상에 잘 부합하는? 그런 구조로 만들어야 할듯하구요 그래서 강의내내 말씀해주신. 상태관리, bloc, respository, model 등 다양한 플러터의 개념이 잘 녹아들어있으면서 잘 최적화 되어 있는 폴더구조를 가진 참고할만한 github 소스는 어떤게 있을지 강사님께서도 참고하시는 github이나 아니면 강사님께서 주로 만드시는 최적화 된 폴더 구조를 공유해주시면 정말로 많은 도움이 될듯합니다. 감사합니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
코드 작성 관련해서 질문드립니다.
영상 28분 25초에 나오는 MSB307이라는 오류가 영상과 똑같이 수정해도 사라지지 않고 계속 오류가 뜨는데 이거는 어디가 잘못되었을까요.. 구글링도 해보고 찾아봤는데 어렵네요 ㅎㅎ...
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
질문있습니다!
현재는 AWS의 AutoScaling 기술로 요청에 따라 부하를 조절할 수 있는것으로 알고있는데요! 그렇다면, 요청 문제도 오토스케일링으로 해결 가능한 범위인가요?(이 강의에서 주로 다루는 요청 문제)
-
미해결C# 윈폼_ 응용프로그램 개발(.NetFramework)
혹시 오라클 db관련 정리 자료도 받을수 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주혹시 오라클 db관련 정리 자료도 받을수 있을까요?세요.
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
혹시 api 서버를 netlify를 이용할 수 있을까요?
코드 그대로 netlify를 이용하여 배포했습니다. "Published"라는 상태까지 확인했는데 사이트를 들어가면 404 가 나옵니다. 회사 네트워크로 막혀있어서 로컬에서는 못 돌리는데 방법이 없을까요? 아랫 분이 해결한 방법은 제가 사용 할 수 없습니다 ㅠㅠ
-
미해결비트코인 알고리즘 트레이딩 봇 개발
다중 실행에 관한 질문
안녕하세요 강사님 귀한 강의 잘 보고 있습니다. 질문이 있어서 글올립니다. 올려주신 코드파일을 테스트로 돌리고 있는데 robobits_bb.py와 robobits_adv2.py 파일을 3~4개 정도 생성해서 서로 다른 코인으로 동시에 실행 시키니 이 부분에서 에러가 발생합니다. 제가 아직 파이썬에 익숙치 않아 이해가 잘안되네요. 제 추축엔 업비트api를 동시에 여러번 호출해서 업비트에서 차단함으로써 값을 제대로 못받아 오는 느낌입니다. 혹시 해결법이 있는지 알고 싶습니다. 감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
video inference 오류가 생겨 질문 드립니다
안녕하세요, Ultralytics Yolo 실습 - 02 강의를 따라 인크레더블 데이터 셋 대신 제가 제작한 데이터로 학습을 수행해 video inference 진행 중 오류가 발생해 질문드립니다. video inference와 image inference 수행 중 다음과 같은 오류가 발생했습니다. video inference 코드: # video 파일 inference cd /content/yolov3;python detect.py --source /content/simult/simul_1.mp4 \ --weights /mydrive/ultra_workdir/simult/weights/best.pt --conf 0.3 \ --project=/content/data/output --name=run_video --exist-ok --line-thickness 2 실행 중 오류 코드: detect: weights=['/mydrive/ultra_workdir/simult/weights/best.pt'], source=/content/simult/simul_1.mp4, imgsz=[640, 640], conf_thres=0.3, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=/content/data/output, name=run_video, exist_ok=True, line_thickness=2, hide_labels=False, hide_conf=False, half=False, dnn=False YOLOv3 🚀 v9.6.0-3-gb870de5 torch 1.10.0+cu111 CUDA:0 (Tesla P100-PCIE-16GB, 16281MiB) Fusing layers... Model Summary: 261 layers, 61497430 parameters, 0 gradients, 154.7 GFLOPs Traceback (most recent call last): File "detect.py", line 244, in <module> main(opt) File "detect.py", line 239, in main run(**vars(opt)) File "/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "detect.py", line 149, in run s += f"{n} {names[int(c)]}{'s' * (n > 1)}, " # add to string KeyError: 0 image inference 코드: # image 파일 inference !cd /content/yolov3;python detect.py --source /content/simult/images/train/13.png \ --weights /mydrive/ultra_workdir/simult/weights/best.pt --conf 0.3 \ --project=/content/data/output --name=run_image --exist-ok --line-thickness 2 실행 중 오류 코드: detect: weights=['/mydrive/ultra_workdir/simult/weights/best.pt'], source=/content/simult/images/train/13.png, imgsz=[640, 640], conf_thres=0.3, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=/content/data/output, name=run_image, exist_ok=True, line_thickness=2, hide_labels=False, hide_conf=False, half=False, dnn=False YOLOv3 🚀 v9.6.0-3-gb870de5 torch 1.10.0+cu111 CUDA:0 (Tesla P100-PCIE-16GB, 16281MiB) Fusing layers... Model Summary: 261 layers, 61497430 parameters, 0 gradients, 154.7 GFLOPs Traceback (most recent call last): File "detect.py", line 244, in <module> main(opt) File "detect.py", line 239, in main run(**vars(opt)) File "/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "detect.py", line 149, in run s += f"{n} {names[int(c)]}{'s' * (n > 1)}, " # add to string KeyError: 0 이러한 오류를 어떻게 해결해야 하는지 알고 싶습니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
관계설정에 관해 질문 드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의를 들은 후 제가 직접 테이블을 만들어 테스트를 하던중 관계설정을 어떻게 해야 할지 감이 안오는 부분이 생겨 질문 드립니다. * DB 테이블 (car,car_data) car 테이블: 차량 등록 시 차량의 정보를 저장하는 테이블. car_data 테이블: car_id를 foreign_key로 가지며, 일정 주기마다 차량의 정보가 업데이트 되는 테이블. 같은 car_id를 가지는 car_data테이블의 데이터 중 실제 사용하는 데이터는 가장 최신의 데이터 하나입니다. 즉 car_data가 3번 업데이트 된 후의 db 상태를 보면 * car * car_data 이런 식으로 저장이 되어 있습니다. 그리고 제가 조회하고 싶은 데이터는 car_id를 가지고 해당 car의 정보와 해당 id를 foreign_key로 가지는 car_data중 가장 최근에 저장된 데이터를 조인해서 가져오고 싶습니다. 즉 쿼리문으로 보자면 SELECT * FROM car c JOIN ( SELECT * FROM car_data cd WHERE cd.car_id = 1 LIMIT 1 ) last_cd on last_cd.car_id = c.car_id; 이런식으로 될 것 같습니다. (최신데이터 판별은 날짜를 기준으로 할 것 같지만 여기에서는 그냥 서브쿼리에 들어있는 데이터가 최신데이터라고 가정하겠습니다.) 즉 car_data에서 같은 car_id를 foreign_key로 가지는 데이터들 중 제가 사용하는 데이터는 항상 하나입니다. 이 때 관계가 일대일인지 일대다인지.. 양방향인지.. 단방향인지를 고민해보는데 감이 오지 않아서 질문 드립니다.. 긴글 읽어주셔서 감사합니다.
-
미해결(신규 강의로 재오픈 예정) 스스로 구축하는 AWS 클라우드 네트워크 - 기본편
서브넷 CIDR 설정
[실습] Custom VPC와 Public subnet 생성 강의에서 2:17 쯤에 vpc cidrs 보다 subnet cidr이 안으로 들어와야 한다고 말씀 하셨는데, 자세한 설명 부탁드립니다. 안으로 들어온다는게 어떻게 하는 걸까요?
-
미해결빅데이터분석기사 실기대비 (R 활용)
모델 성능 문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 늘 좋은 강의 감사드립니다. 강의를 듣다가 한가지 문의사항이 있어 질문 남깁니다. pre를 예측하기위해 0-75, 76-150 에 무작위로 0과 1을 입력했는데 어떻게 예측 성능이 좋은 지 궁금합니다. 예를들어 Setosa이면 1 이렇게 조건을 부여했다면 성능이 좋은게 이해가 되는데 pre에는 무작위로 값이 있음에도 예측 성능이 좋은 것이 의문이 남습니다. 감사합니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
JwtAuthGuard와 Repository패턴
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 해당강의를 따라하면서 공부하고 있는데, Comments 컨트롤러에서 구현해두었던 Guard와 Custom Decorateor를 사용하지 않는 것과 Repository 패턴이 적용되지 않은 점에 대해서 궁금해서 질문 남김니다. Guard와 Decorator는 적용을 해보았는데 잘 작동하고 있습니다. Repository 패턴은 아직 적용을 해보지 못했습니다. 혹시 안하는 이유가 있는지.. 구조상 만약 Repository 패턴을 Comments 모듈에 적용할 경우 CommentRepository에서 CatRepository를 의존성주입해야하는데 해당 부분때문일까요???
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
스크립트 다운로드 문의
안녕하세요 명강의 정말 잘 듣고 있습니다. 감사합니다 : ) 애니메이션까지 들어가는 중인데 플레이어 컨트롤 하는 스크립트를 잘못 짠것 같아서 이동과 애니메이션 동작에 문제가 생겼습니다. 강사님이 작성하신 스크립트랑 비교해서 찾아 보고 싶은데 스크립트를 다운 받을 수 있는 곳이 있을까요?
-
미해결함수형 프로그래밍과 JavaScript ES6+
applicative programming
응용형 프로그래밍 설명에서 궁금한게 있습니다. 예를 들어 const times = (fun) => return fun(10); function을 인자로 받아서 원하는 인수를 넘겨주는 것이 응용형 프로그래밍이라고 이해를 했는데 간단한게 이렇게 프로그래밍한것도 응용형 프로그래밍으로 취급하는건가요 ?