강의를 듣고 제가 느낀 매니저들을 관리하는 방식은 최상위 Managers를 통해 각각의 매니저를 접근하도록 만든 방식인거 같더라고요(저의 해석이 틀렸다면 지적부탁드립니다.) 제가 여기서 궁금한 점은 다른 방식으로 각각의 매니저들을 싱글톤으로 만들어서 하는 방식이 존재하는데, 강의가 만약 게임의 규모가 커진다면을 생각해서 코드를 확장하기시기때문에 저도 좀 더 생각해보아서 후자의 방식이 더 좋은방식이지않을까?라는 생각이 들었습니다. 이 주장의 근거는 1.매니저들이 점점커지면 Managers에게 초기화 부담도 커질것이다. 2.Managers에 문제가생기면 모든 개별 Manager가 작동하지 않는다. 3.각 매니저는 전부 Managers에서 초기화 되기때문에 한 매니저에 의존성이 있는 매니저가 있을때 초기화 순서를 잘 해놓지않으면 오류가 발생한다. 다시 강조하자면 "게임의 규모가 커진다면 개별적으로 매니저들을 관리하는게 더 관리하기 좋은 방식이지 않을까?"에 대한 루키스님에 의견을 듣고싶어 질문을 올립니다.
안녕하세요. 강의 자료 중 리소스 관련 질문 드립니다. 아래와 같이 강의 공지를 인지하고 있으나, 이제 막 게임 개발을 공부중이기에 참고용 리소스 제공이 가능하실지 문의 드립니다. 특정 장르의 게임 플레이 구현을 다루지 않습니다. 즉 RPG, 플랫포머, 퍼즐 등 특정 게임 자체의 구현을 다루는 강의가 아닙니다. 현재 문의중인 강의 마지막 부분 중 Stages/ 부분 구현에 막혀있습니다.
import sys import copy #sys.stdin=open("input.txt","rt") ''' #3번이 틀림 n =int(input()) li1 = [list(map(int, input().split())) for _ in range(n)] cpy =copy.deepcopy(li1) #깊은 카피를 사용 m=int(input()) tot=s=0 e = n #print(cpy) #li1 회전 for i in range(m): li2 = list(map(int, input().split())) print(li2) if li2[1] == 0: #왼쪽으로 회전 for j in range(n): if j-li2[2] < 0: li1[li2[0]-1][j-li2[2]+n] = cpy[li2[0]-1][j] else: li1[li2[0]-1][j-li2[2]] = cpy[li2[0]-1][j] if li2[1] == 1: #오른쪽으로 회전 for j in range(n): if j+li2[2] < n: li1[li2[0]-1][j+li2[2]] = cpy[li2[0]-1][j] else: li1[li2[0]-1][(j+li2[2])%n] = cpy[li2[0]-1][j] #print(li1) for i in range(n): for j in range(s,e): tot += li1[i][j] if i < n//2: s+=1 e-=1 else: s-=1 e+=1 print(tot) 다음과 같이 풀때, 1245번은 정답이 뜨는데 3번만 틀린ㄴ값으로 뜹니다.. 뭐가 틀린지 모르겠습니다..알려주세요..
안녕하세요. 저는 login.ui.py 파일이 생성되지 않아 문의 드립니다. 아래 캡켜화면은 저의 VScode입니다. 강의에서 06.GUI프로그래밍을 프로젝트폴더로 선택한 상태에서 아래의 터미널에 입력(pyside6-uic login.ui -o login_ ui.py)을 하였으나 에러문구가 뜹니다. 제가 무엇을 잘못했는지 궁금합니다. 감사합니다. ================================================================ 강의 노트에 아래의 문구가 있어 다시 문의드립니다. (문의사항) 확장프로그램(Qt for Python)은 이제 설치하지 않아도 되는가요? 터미널에서 명령이 실행을 제가 올바르게 한건지 확인 부탁드립니다.
5번만 틀렸는데, 어느부분에서 틀렸는지 모르겠습니다.. 알려주세요 .. 아래는 제가 짠 코드입니다 n = int(input()) max = -1 tot,tto = 0,0 li = [[0]*n for _ in range(n)] # n의 크기를 가지고 0으로초기화된 리스트를 n번 반복 for i in range(n): li[i]= list(map(int, input().split())) for i in range(n): if sum(li[i]) > max: max = sum(li[i]) for j in range(n): for i in range(n): tot += li[i][j] tot = 0 if tot > max: max = tot for i in range(n): tot += li[i][i] tto += li[i][n-i-1] if tot > max: max = tot if tto > max: max = tto print(max)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. RISS의 주제저를 추출하는 부분에서 파이썬을 이용한 크롤링은 잘 되었습니다. 하지만 크롤링한 데이터를 보니 웹에는 표시되지 않는 문자들이 같이 출력되었습니다. 저만 이런 문자가 추가로 붙었는지 궁금해서 강사님의 강의도 보니 강사님의 강의에서도 똑같이 추출한 데이터에서 문자가 추가된 것을 확인할 수 있었습니다. 마지막 줄에 AI하고 \u3000 이라는 문자가 추가되었는데 외주를 할 때 이런 오류는 문제가 되지 않는지 궁금합니다.
안녕하세요! 영웅소환 부 강의를 듣고 Ui 팝업 생성을 구현했습니다. 하지만 버튼을 누를 때마다, 팝업 clone이 계속 생성됩니다. 요부분 싱글턴 처리라던지, 이미 해당 팝업이 열려있는지 여부를 확인하는 부분과 같은 방어 로직 내용이 있는 강의가 있나요? 있다면 강의가 꽤 길어 제가 못찾고 있는 것 같아요 ㅠㅠ 강의 너무 잘 듣고 있습니다~ 그리고 제가 게임개발 인강에 기대했던 부분이 로딩시에 서버에서 리소스 다운받는 것, 저녁 이벤트 보상 같은 앱 푸시 어떻게 구현했나 궁금했는데요. 뒷 강의에 있는지 또는 추후에 강의하실 예정인지 문의드려요!
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요?: 1-5 알고리즘과 친해지기 (2) 어떤 알고리즘을 학습하고 계신가요?: 최빈값 찾기(알파벳) 여기까지 이해하신 내용은 무엇인가요?: 'a' -> ord('a') -> 97 -> chr(97) -> 'a' 이고, 'A' -> ord('A') -> 65 -> chr(65) -> 'A' 이다. 아스키 코드를 활용하고, 가장 기본이 되는 원리는 이렇다. 0이 26개인 배열(a_o_a)을 만들고, 주어진 문자열(string)을 반복문으로 순회한다. (for char in string: ... ) ord('a') - ord('a') = 0 이고, ord('b') - ord('a') = 1 이고, ... 이 원리에 따라 ord(char) - ord('a') 를 하면, char가 몇 번째 순서의 알파벳인지 구할 수 있다. 이를 0이 26개인 배열(a_o_a)의 인덱스(i)로 활용한다. string을 반복문으로 순회하면서, (만약 숫자나 띄어쓰기가 아니고 알파벳이라면) a_o_a[i] += 1 을 한다. a_o_a 에 각 알파벳의 빈도수가 저장이 된다. a_o_a를 반복문으로 순회하면서, max_alphabet_index를 구한다. chr(max_alphabet_index + ord('a')) 을 하면 최종적으로 최다 빈도수인 알파벳이 구해진다. 2. 어려움을 겪는 부분 저는 string.count(char)를 이용하여 풀었습니다. 그런데 이 아스키 코드 원리를 활용한 알고리즘이 많이 출제되나요? 코테 출제하시는 분들께서 아스키 코드를 활용한 로직을 더 선호하시는지 궁금합니다!
파이썬 decimal() 함수를 모르는 상태에서 if i == '0' or i == '1' or i == '2' or i == '3' or i == '4' or i == '5' or i == '6' or i == '7' or i == '8' or i == '9': tmp+=i int(tmp) 이렇게 코드를 짰다고 했을때 ValueError: invalid literal for int() with base 10: 오류가 뜹니다.. 숫자만 골라서 int 형변환 했는데 왜 오류가 뜰까요..?
안녕하세요 강사님 강의 잘 보고 있습니다 다름이 아니라 특정 조건에서 task가 실행되지 않아 해결방법을 묻고자 글을 남깁니다. task가 실행되지 않고 발생하는 log *** Could not read served logs: Invalid URL 'http://:8793/log/dag_id=dags_get_data_python_operator/run_id=manual__2024-12-20T09:11:57.447383+00:00/task_id=refine_data_/attempt=1.log': No host supplied branch에 따른 dag에 작성한 taskflow는 다음과 같습니다 get_data_ >> check_dir_ >> get_yesterday_data_ >> refine_data_ >> delete_data get_data_ >> check_dir_ >> refine_data_ >> delete_data batch 당일 데이터와 전날 데이터를 이용해서 spark를 이용해 정제하는 작업인데, 전날 데이터가 수집되어있지 않다면 수집하고나서 sparksubmit을 하도록 task를 구성했습니다. 전날 데이터가 없는 상태로 dag를 실행하면 전체task가 잘 실행이되고 전날데이터가 존재한다면 원하는 task 까지 skipped이 되고 해당 log가 나오네요 ㅠㅠ task 플로우를 잘못 작성한 이유일까요 ? 추가) BranchPython task에 찍힌 log 입니다.
04 : 08 안녕하세요. C언어로 입력받고 출력하기 문제 - 1 에서 교재의 문제 하단 답에 왜 printf("두 숫자를 입력하세요: ") 이후의 출력이 두 숫자를 입력하세요: 5 10 5 + 10 = 15 (이하 생략) 로 출력되는지 궁금합니다. printf("두 숫자를 입력하세요: ") 의 경우 개행 문자가 없기 때문에 두 숫자를 입력하세요: 5 105 + 10 = 15 이런식으로 붙어서 출력되어야 하는게 아닌가요? 기초적인 질문입니다만, 답변 부탁드립니다. 감사합니다.
롤토체스같은 게임에서 아이템과 증강체 및 시너지 효과 등을 어떻게 구현하면 좋을지 고민하는데 궁금한게 생겨 질문드립니다. 예를 들어, 아이템을 장착하면 8초마다 주변 아군에게 보호막 부여와 같은 것을 구현할 때, 아이템을 장착하면 8초마다 주변 아군에게 보호막을 부여하는 패시브 스킬을 등록하고, 아이템을 해제하면 해당 패시브 스킬을 빼는 방식으로 만들면 될 것 같습니다. 시너지 효과로 3타마다 추가 투사체를 발사하는 효과는 시너지가 발동되면 3타인지 체크하는 UseCondition을 가진 패시브 스킬을 통해 추가 투사체를 발사하게 하면 될 것 같습니다. 그런데, 아이템을 장착하면 해당 캐릭터의 기본 공격 및 스킬이 체력 10% 이하인 적을 처형시키는 효과는 스킬로 구현이 어떻게 될지, 아니면 다른 좋은 방법이 있을지 떠오르지가 않아서 어떻게 구현할 수 있을지 질문드립니다.
안녕하세요. FastAPI로 개발을 하는 중, 로그 저장에 대해서 생각하는 시간을 좀 가져봤습니다. 저는 요청, 응답, 쿼리 이렇게 3가지로 나누어서 일자별로 각각의 파일에 저장을 하려고 하는데요. 혹시 FastAPI에서 자체적으로 지원하는 기능중에 이렇게 로그를 나누어 저장하는 기능이 있을까요? 감사합니다.
학습 중에 fastapi는 get과 post만 지원하기 때문에 별도로 미들웨어를 이용해 put, patch, delete를 구현해야 한다고 이해를 하게 되었습니다. 헌데 다른 학습 웹 문서나, gpt에게 여러 요청을 통해 확인을 하는 과정에서 app. 혹은 @router. 을 사용해 이미 지원되는 put, patch, delete를 사용할 수 있다고 설명을 하는 것을 확인할 수 있었습니다. 제가 학습 영상에 대해 이해를 잘못하고 있는 것인지 혹 놓친게 있는지 알고 싶어 질문을 드립니다.