좋은 영상 올려주셔서 감사합니다. 별로 중요한 내용은 아니지만 궁금증에 한 번 질문해봅니다. 기존의 경험으로 게임을 만들 때, 무언가를 분류해야 한다면 Tag를 많이 사용했습니다. 이 영상을 보지 않고 풀링 오브젝트 패턴을 스스로 만들었다면, Poolable태그를 만들어서 풀링하고 싶은 프리팹에게 걸어줬을 것 같아요. Poolable 컴포넌트를 이용했을 때의 장점이 있다면, 알고싶습니다!
안녕하세요, AWS Lightsail 사용 중단 하기 위해서는 어떻게 해야하는지 알 수 있을까요?? 강의 내용 모두 그대로 따라해서 AWS Lightsail 이용 하였구요. 강의 수강 후, 아래와 같이 처리하였는데요. 1) Lightsail 내 인스턴스 삭제 2) Lightsail 탄력적 IP 삭제 3) 깃허브에 올렸던 코드 삭제 그런데 계속 일별로 아주 소액이긴 하지만, 비용이 증가 / 청구 되고 있어서 문의드립니다.
강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다. 리소스 매니저를 만드실때 랩핑을 한다고 하시면서 막 뭔가 하시던데 정확히 어떤 개념인건가요?
안녕하세요 좋은강의 잘 듣고있습니다. 실습중에 4-7-3, 4-7-6 모두 datareader 관련해서 모듈이 존재하지 않는다고 에러가 발생해서 새로 공유해주신 소스코드로 실행을해도 다음과 같이 에러가 발생합니다. Traceback (most recent call last): File "pandas_datareader.py", line 4, in <module> import FinanceDataReader as fdr File "C:\Users\eleste\anaconda3\envs\section2\lib\site-packages\FinanceDataReader\__init__.py", line 1, in <module> from .data import (DataReader) File "C:\Users\eleste\anaconda3\envs\section2\lib\site-packages\FinanceDataReader\data.py", line 1, in <module> from FinanceDataReader.investing.data import (InvestingDailyReader) File "C:\Users\eleste\anaconda3\envs\section2\lib\site-packages\FinanceDataReader\investing\data.py", line 32 raise ValueError(f"Symbol('{symbol}') not found") ^ SyntaxError: invalid syntax 이유가 무엇인지 답변주시면 감사합니다.
그전까진 잘됬는데 next url 사용한뒤 글 작성을 누르면 GET /login?next_url=http%3A%2F%2Flocalhost%3A5000%2Fwrite HTTP/1.1" 302 - GET /login?next_url=http%3A%2F%2Flocalhost%3A5000%2Flogin%3Fnext_url%3Dhttp%253A%252F%252Flocalhost%253A5000%252Fwrite HTTP/1.1" 302 - 이런식으로 next url 리디렉션 무한루프에 빠집니다 해결좀 부탁드립니다 , 코드는 아무리봐도 강좌랑 크게 차이가 없어 보이는듯한데
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요. 생짜 초보, 문과 수강생입니다. 7강 6분28초 경에 수업자료를 다운받아서 쥬피터 노트북 파일로 옮기라고 하셨는데... 다운받은 파일이 맞는지 모르겠어요. 쥬피터 노트북으로 이동이 잘 안 되고, 이동을 했는데 강의에서 보이는 화면이 아닌 엉뚱한 화면이 나옵니다. 관련 화면 첨부합니다. 겨우 여기까지 왔는데... 더 못 가고 있습니다. ㅠㅠ
플레이어 OnHitEvent()는 잘 작동했었는데, 몬스터 OnHitEvent()가 잘 안되어서 (디버깅으로 확인 해보니 몬스터 OnHitEvent()으로 안들어 오는 현상 확인.) 애니메이션에 문제가 있나 다른 애니메이션으로 넣어봤더니 플레이어 OnHitEvent()까지 작동이 안되기 시작했습니다. 혹시 Base Controller와 PlayerController와 MonsterController 사이에 Init의 문제가 있을까 싶어서 몬스터 AI#1 강의를 계속해서 돌려봤는데 스크립트에는 문제가 없었습니다. 메일로 파일 보내드리니 확인부탁드립니다.. ㅠㅠ 혼자 해결해 나가보고싶어서 계속해서 해봤는데 잘 되질 않아 죄송합니다. 항상 감사드립니다!
using System; using System.Threading; using System.Threading.Tasks; namespace ServerCore { class Program { static volatile int x = 0; static volatile int y = 0; static volatile int r1 = 0; static volatile int r2 = 0; static void Thread_1() { y = 1; //store y r1 = x; //load x } static void Thread_2() { x = 1; // store x r2 = y; //load y } static void Main(string[] args) { int count = 0; while(true) { count++; x = y = r1 = r2 = 0; Task t1 = new Task(Thread_1); Task t2 = new Task(Thread_2); t1.Start(); t2.Start(); Task.WaitAll(t1, t2); if (r1 == 0 && r2 == 0) break; } Console.WriteLine($"{count}번 만에 빠져나옴"); } } } 메모리 배리어 강의에서는 위 코드의 루프를 거의 100번 이하로 빠져나오는데 제가 했을때는 적으면 8000번 많으면 10만까지 루프를 돌더라구요. 어떤 차이점 때문에 이렇게 루프 반복 횟수가 차이나는 걸까요?
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
강의를 듣다가 의문이 생겨서 질문을 남깁니다, FPS이동 동기화 또한 클라이언트에서 먼저 이동후 서버에다가 패킷을 전송한후 자신이 움직였음을 알리는 방식이 대부분이라고 하셨습니다. 하지만 1초다 4번 패킷을 보내는 경우에는 캐릭터가 목표 좌표를 받아와서 이동하는 방식으로 하게 될경우 오차가 발생하는 경우가 있을거 같고 그 오차로인해서 플레이어 이동 동기화가 마치 한템포 늦을거 같은 느낌이 듭니다. 만약에 진짜 FPS게임으로 동기화를 한다면 1초에 4번이 아닌 서버가 플레이어의 응답을 대기하는 형식으로 하는게 더 좋은 방식인가요?
while(true) { int expected = 0; int desired = 1; if (Interlocked.CompareExchange(ref _locked, desired, expected) == expected) break; Thread.Yield(); } 이 코드를 정리를 해보면 만약에 A 쓰레드가 있고, B쓰레드가 있다 A쓰레드가 공유 자원을 점유하고 있으면 lock이 0에서 1로 바뀌고 B 쓰레드는 접근 하려니까 lock이 1이니까 계속 무한 루프를 돈다. 이것은 성능상의 저하를 불러 일으킨다. 왜? 쓸데없는 행동이기 때문에 따라서 A쓰레드가 공유자원을 사용을 끝날 때 까지 B쓰레드를 무한루프를 돌게 하지말고 재우는데 Thread.sleep, yeild.. 뭐 이런 함수를 이용해서 재우는데 그럼 무한 루프가 잠시 멈추는 상황이잖아요? 그럼 a쓰레드가 공유자원을 쓰고 나왔다는 것을 어떻게 알 수 있나요? 검색 해보니까 sleep을 os가 깨운다는데 그럼 정리를 해보면 면접관님 께서 만약 이런 질문을 하시면 일단 OS가 A 쓰레드가 할일을 끝냈으니, 잠자고 있던 B쓰레드를 깨워서 그때부터 반복을 해서 다시 LOCK 검사를 진행합니다. LOCK 변수 값이 0이라면 컨텍스트 스위칭이 일어나는데 A 쓰레드의 정보가 레지스터에서 지워지고 B 쓰레드 정보가 채워짐으로써 B 쓰레드가 CPU를 점유하고 이제 B쓰레드가 공유자원 _num변수를 사용해서 _num++연산이 진행이 됩니다. 이렇게 저는 해당 챕터 강의를 이해 하고 정리를 했거 든요 혹시 틀린 점이 있다면 알려주심 감사하겠습니다. 아 그 sleep 걸어놓고 os가 깨우는 거 맞는지도 알려주시면 감사하겠습니다. ^^
transform.position += transform.TransformDirection(Vector3.forward); Vector3.forward는 (0,0,+1) 이것을 TransformDirection을 통해 월드좌표로 바꾸면 월드 +z축 방향으로 이동한다는 의미 아닌가요?? 저희가 원하는건 Player를 기준으로 한 로컬좌표에서 +z축 방향으로 이동하고 싶은것인데 말이죠 실제로 TransformDirection을 사용하지 않으면 그냥 월드좌표를 기준으로 진행하는데 여기서 TransformDirection을 통해 월드로 바꾼다는 것이 이해가 잘 되지 않습니다
안녕하세요. 수업을 잘 듣고 있는 학생입니다. 질문이 있어서 질문을 남깁니다. 첫번째 질문은, stratified K fold 부분을 설명해주실 때, stratified k fold 를 안쓰고 k fold만 쓰게 된다면, train set에 label 이 0,1 데이터 50개씩만 들어가고 test set에는 label 이 2만 들어가있는 데이터 50개만 들어가서 predict 가 제대로 할 수 없다(예측 정확도가 0)고 하셨는데 이 부분은 이해가 됩니다. 근데 직전 강의에서 iris데이터 가지고 stratified가 아닌 그냥 K fold를 써서 예측 정확도 0.9333을 얻은 것 아닌가요? 두 번째 질문은, GridSearchCV 설명 부분에서 제 사이킷 런 버전(2점대 버전)으로는 mean_test_score가 0.9666이 아닌 0.975가 나옵니다. 이것은 버전이 업그레이드 되어서 더 좋은 알고리즘(?)으로 능력치가 향상된것인지? 그런데 또 GridSearchCV 최고 정확도: 0.975, 테스트 데이터 세트 정확도: 0.9667 는 각각 이렇게 나오네요. 왜 두개가 서로 다른것인지도 궁금합니다.