묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
안녕하세요 . 파일배포하기 재 질문드립니다.
안녕하세요. 남박사님 우선 답변 감사드립니다. 다음이 아니라 처음 알려주신 답변대로 spec 파일에서 'pkg-resources.py2_warn' 을 치고 cmd 창에서 pyinstaller --onefile 파일명.spec를 다시 인스톨 하였는데도 아래와 같이 뜹니다.. 혹시 몰라 환경변수 path에 pkg-resources 해당 경로까지 추가 했는데도 이러한 에러가 뜹니다.. 구글링을 해도 따로 안나와서 이렇게 다시 남박사님께 질문드립니다. 감사합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
강의 학습 순서가 궁금합니다!
강사님! 강의가 인프런에 총 4개가올라와 있는데 지금 노드리액트 강의 기초를 먼저 듣고 유튜브보일러프로젝트 강의를 듣는것이 나을까요 아니면 유튜브보일러프로젝트를 먼저 들어도 상관없을까요??! 참고로 리액트는 아직 한번도 다뤄본적이 없습니다... ㅠㅠ 노드도 이제 막 입문단계이구요!
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
탱크 시즈모드에서 공격력 2배가 실행이 안됩니다.
안녕하세요. 제가 영상을 보고 이해하면서 교수님이 주신 코드를 그대로 따라 적었는데 다른 부분에는 문제가 없지만, 탱크 시즈모드 전환되는게 오류가 나는것 같습니다. 공격 모드 준비 과정에서 마린은 스팀팩을 쓰고, 탱크는 시즈모드로 전환하고, 레이스는 클로킹 모드로 전환해야 하는데 그중 탱크만 모드 전환이 안되는것 같습니다. 어디가 문제인 건가요? # 스타크래프트 프로젝트 from random import * # 일반 유닛 class Unit: def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed print("{0} 유닛이 생성되었습니다.".format(name)) # 이 format에서는 그냥 name을 받아도 self.name을 받아도 상관없다. # 이동 시 def move(self, location): print("{0} : {1} 방향으로 이동합니다. [속도 {2}]".format(self.name, location, self.speed)) # 피격 시 (일반 유닛도 피해를 입을 수 있기에 제일 부모 클래스인 Unit으로 메소드를 이동하였다.) def damaged(self, damage): print("{0} : {1} 데미지를 입었습니다.".format(self.name, damage)) self.hp -= damage print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) if self.hp <= 0: print("{0} : 파괴되었습니다.".format(self.name)) # 공중 유닛 class Flyable: def __init__(self, flying_speed): self.flying_speed = flying_speed def fly(self, name, location): print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]".format(name, location, self.flying_speed)) # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, speed, damage): Unit.__init__(self, name, hp, speed) self.damage = damage # 공격 시 def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 {2}]".format(self.name, location, self.damage)) # 공중 공격 유닛 class FlyableAttackUnit(AttackUnit, Flyable): def __init__(self, name, hp, damage, flying_speed): AttackUnit.__init__(self, name, hp, 0, damage) Flyable.__init__(self, flying_speed) def move(self, location): self.fly(self.name, location) # ------------------------------ # 마린 클래스 생성 class Marine(AttackUnit): def __init__(self): AttackUnit.__init__(self, "마린", 40, 1, 5) # 스팀팩 : 일정 시간 동안 공격 속도 증가, 자신의 체력을 10 희생 def stimpack(self): if self.hp > 10: self.hp -= 10 print("{0} : 스팀팩을 사용합니다. (Hp 10 감소)".format(self.name)) else: print("{0} : 체력이 부족하여 스팀팩을 사용하지 않습니다.".format(self.name)) # 탱크 클래스 생성 class Tank(AttackUnit): def __init__(self): AttackUnit.__init__(self, "탱크", 150, 1, 35) self.seize_mode = False # 시즈 모드 : 탱크를 지상에 고정시켜, 더 높은 공격력으로 공격 가능 seize_developed = False # 시즈모드 개발여부 def set_seize_mode(self): if Tank.seize_developed == False: return # 현재 시즈모드가 아닐 때 -> 시즈모드 if self.seize_mode == False: print("{0} : 시즈모드로 전환합니다.".format(self.name)) self.damage *= 2 self.seize_mode = True # 현재 시즈모드일 때 -> 시즈모드 해제 else: print("{0} : 시즈모드를 해제합니다.".format(self.name)) self.damage /= 2 self.seize_mode = False # 레이스 클래스 생성 class Wraith(FlyableAttackUnit): def __init__(self): FlyableAttackUnit.__init__(self, "레이스", 80, 20, 5) self.cloaked = False # 처음 생성되었을 때 클로킹 모드 해제 상태 # 클로킹 모드 : 적의 시야에서 보이지 않음 def cloaking(self): if self.cloaked == True: print("{0} : 클로킹 모드 해제합니다.".format(self.name)) self.cloaked == False else: print("{0} : 클로킹 모드 실행합니다.".format(self.name)) self.cloaked == True # 게임 안내 def game_start(): print("[알림] 새로운 게임을 시작합니다.") def game_over(): print("Player : GG") print("[Player} 님이 게임에서 퇴장하셨습니다.") # -------------------------------------------- # 실제 게임 시작 game_start() # 마린 3기 생성 m1 = Marine() m2 = Marine() m3 = Marine() # 탱크 2기 생성 t1 = Tank() t2 = Tank() # 레이스 1기 생성 w1 = Wraith() # 유닛 일괄 관리 # 다중 선택이 용이하게 되게 하기 위해서 리스트를 만들어서 다 집어넣는다. attack_units = [] attack_units.append(m1) attack_units.append(m2) attack_units.append(m3) attack_units.append(t1) attack_units.append(t2) attack_units.append(w1) # 전군 이동 for unit in attack_units: unit.move("1시") # 탱크 시즈모드 개발 Tank.seize_developed == True print("[알림] 탱크 시즈 모드 개발이 완료되었습니다.") # 공격 모드 준비 (마린 : 스팀팩, 탱크 : 시즈모드, 레이스 : 클로킹) for unit in attack_units: if isinstance(unit, Marine): # 만들어진 개체가 어떤 클래스의 개체인지 확인하는 작업이다. unit.stimpack() elif isinstance(unit, Tank): unit.set_seize_mode() elif isinstance(unit, Wraith): unit.cloaking() # 전군 공격 for unit in attack_units: unit.attack("1시") # 전군 피해 for unit in attack_units: unit.damaged(randint(5, 21)) # 공격은 5 ~ 20의 난수로 피해를 입음 # 게임 종료 game_over() ------------------------------------------ [알림] 새로운 게임을 시작합니다. 마린 유닛이 생성되었습니다. 마린 유닛이 생성되었습니다. 마린 유닛이 생성되었습니다. 탱크 유닛이 생성되었습니다. 탱크 유닛이 생성되었습니다. 레이스 유닛이 생성되었습니다. 마린 : 1시 방향으로 이동합니다. [속도 1] 마린 : 1시 방향으로 이동합니다. [속도 1] 마린 : 1시 방향으로 이동합니다. [속도 1] 탱크 : 1시 방향으로 이동합니다. [속도 1] 탱크 : 1시 방향으로 이동합니다. [속도 1] 레이스 : 1시 방향으로 날아갑니다. [속도 5] [알림] 탱크 시즈 모드 개발이 완료되었습니다. 마린 : 스팀팩을 사용합니다. (Hp 10 감소) 마린 : 스팀팩을 사용합니다. (Hp 10 감소) 마린 : 스팀팩을 사용합니다. (Hp 10 감소) 레이스 : 클로킹 모드 실행합니다. 마린 : 1시 방향으로 적군을 공격 합니다. [공격력 5] 마린 : 1시 방향으로 적군을 공격 합니다. [공격력 5] 마린 : 1시 방향으로 적군을 공격 합니다. [공격력 5] 탱크 : 1시 방향으로 적군을 공격 합니다. [공격력 35] 탱크 : 1시 방향으로 적군을 공격 합니다. [공격력 35] 레이스 : 1시 방향으로 적군을 공격 합니다. [공격력 20] 마린 : 5 데미지를 입었습니다. 마린 : 현재 체력은 25입니다. 마린 : 14 데미지를 입었습니다. 마린 : 현재 체력은 16입니다. 마린 : 15 데미지를 입었습니다. 마린 : 현재 체력은 15입니다. 탱크 : 12 데미지를 입었습니다. 탱크 : 현재 체력은 138입니다. 탱크 : 16 데미지를 입었습니다. 탱크 : 현재 체력은 134입니다. 레이스 : 14 데미지를 입었습니다. 레이스 : 현재 체력은 66입니다. Player : GG [Player} 님이 게임에서 퇴장하셨습니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
간단한 질문인데요
DFS 최대점수구하기 문제에서 저는 이것을 time 값도 가지치기하고 바둑이 승차문제같이 tsum 매개변수 넣어서 total값에 빼서 가지치기를 했는데 정답시간속도가 빨라졌거든요.. 제가 코테를 한번도 안해봐서 혹시 코테 때 가지치기가 많아질수록 좋다고 판단하나요??
-
미해결실전! Querydsl
querydsl select 절에 상수 가능 여부
안녕하세요 영한님! JPA 강의부터 시작해서 querydsl 강의까지 잘 들었습니다. 아무것도 모르는 상태에서 실무에 적용해야하는 상황이었는데 도움이 많이 되었어요. 다름이 아니라, 기존의 sql쿼리를 querydsl로 바꾸는 과정에서 어려움을 겪은 부분이 있어 질문드립니다. SELECT 0 as col1 , 'HI' as col2 FROM table; 와 같이 select 절에 상수를 넣은 조회가 가능한지 궁금합니다. Expressions.constant() 부터 시작해서 stringTemplate(), asString 등 시도해봐도 'parameter is only used in SELECT DML clause ...' 와 같은 에러가 나네요ㅠㅠ!! querydsl 레퍼런스 문서에서도 'select literals' 라고 된 부분이 있는데 단순히 Expressions.constant() 라고 쓰여있어서 해보면 에러가 납니다. 혹시 아얘 불가능한 것인지, 아니면 다른 방법이 있는건지? 궁금합니다 +++) 추가로 SELECT ~ FROM DUAL 처럼 dual 조회도 가능한가요? 몇몇 글에서 from절을 생략하면 된다고 하는데 저는 왜 'No source given' 에러가 뜨는지 모르겠습니다. 답변 주시면 감사하겠습니다ㅠㅠ!!!~~!!
-
미해결C++ Let's Make Games
iStar 초기화
int iStar1 = 0, iStar2 = 0; for (int i = 0; i < 5; ++i) { iStar1 = iStar2 = 0; for (int j = 0; j < 5; ++j) { if (iNumber[i * 5 + j] == INT_MAX) ++iStar1; } if (iStar1 == 5) ++iBingo; } 맨 위에 iBingo를 0으로 초기화 하는 이유는 직접 실행해보고 알았습니다. 그런데 iStar1, 2를 0으로 초기화 안하면 어떻게 되는지 궁금해서 저 라인을 지우고 실행해 봤더니 첫줄 *이 5개가 채워지기 전까지 **iii iiiii iiiii iiiii 이런 상황에선 빙고라인이 0이었다가 5개가 채워지는 순간 ***** iiiii iiiii iiiii iiiii 빙고라인이 5가 되고 그 이후 *이 추가되는 순간 ***** *iiii iiiii iiiii iiiii 빙고라인이 1이 되서 아무리 *을 늘려도 ***** ***** ***** ****i iiiii 빙고라인이 1에서 변하지 않던데요. 이부분이 논리적으로 왜그렇게 되는건지 이해가 가질 않아서요...iStar를 매번 초기화 하는것과 않는것에 프로그램상 어떤 차이가 생기는 건가요? 저 코드의 순서가 for i 문에 들어가서 i는 0일때 j 는 0~4까지 실행하고 ++bingo까지 실행한뒤 다시 i=1일때로 반복하는 구조라서 그런건지. 그렇다고 해도 빙고가 5가 되었다가 다시 1로 바뀌는 이유를 도저히 모르겠습니다.
-
미해결왕초보를 위한 스위프트 프로그래밍 강좌 (iOS app with xcode&swift)
xcode 최신 버전이신 분들은
user interface에서 story board로 설정하시면 됩니다
-
미해결생활코딩 - HTML 기초
스페이서에서 궁금한점
왜 맨처음에 &를 써야하나요?
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
질문있습니당
삭제된 글입니다
-
해결됨IntelliJ를 시작하시는 분들을 위한 IntelliJ 가이드
5초만에 답변 가능한 질문 드립니다^^
안녕하세요 ^^ 동욱님 인텔리제이 유료 강의 들으면서 따라해보는데 궁금한점이 있어서요~ (스프링 부트와 aws로 혼자 구현하는 웹 서비스 책도 구매한건 안비밀 ㅎㅎ) 제가 윈도우만 사용하다가 맥북을 처음 사용해보는데요 인텔리제이로 작업할때 동욱님께서 계신 우형의 맥북을 사용하는 개발자들은 보통 한글/영어 전환 키를 어떻게 해서 사용하시는요? 코딩할때 편한 한글/영어 전환키의 대세는 무엇인지 궁금합니다. 저는 지금 ctrl+space로 한영전환을 하고 있는데 코딩에 적합한 사용인지 그리고 제가 잘하고 있는건지 해서요 ㅎㅎ (윈도우 사용자였기에 우측커맨드로 변환해서 사용하는걸 추천해주시기 보다는 대세로 사람들은 어떤걸 사용하는지가 궁금합니다) 정말 궁금한거라 시간나실때 답변주시면 매우 감사드리겠습니다^^ 감사합니다!
-
미해결홍정모의 따라하며 배우는 C언어
파일입출력 문제 질문드립니다.
선생님, 강의 열심히 잘 듣고 있습니다. 파일 입출력 부분에서 위와같이 코드를 작성하였는데 콘솔창에 아래와 같은 글자가 네모모양으로 변형된 결과가 나옵니다. txt파일에는 abc 엔터 Hello C World!를 저장하였습니다. 무슨 문제인지 모르겠습니다.. 감사합니다.
-
공공데이터로 파이썬 데이터 분석 시작하기
import seaborn 했는데 아무것도 실행이 안돼요
삭제된 글입니다
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
checkAnimal은, 초기화를 안했는데 쓰레기값이 저장되는 것 아닌가요??
checkAnimal[4][5] 배열은 초기화를 안했는데 그러면 쓰레기값이 저장되는 것 아닌가요? checkAnimal[i][j]이 0이면 아직 뒤집어지지 않은 것이고, 0이 아니면 뒤집어 진 카드라고 하여 코드를 짜셨던데, 문제 없이 돌아가서 여쭤봅니다...
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
콘솔 질문입니다.
이런 메시지들만 출력되고 선생님처럼 쿼리는 보이지가 않습니다ㅠㅠ 어떤 설정을 건드려야 할지 모르겠네요
-
해결됨예제로 배우는 스프링 입문 (개정판)
다른 분들 참고하세요
씨퀄 파일 수정하러 가실 때application.properties 파일 2번째 line에서database 폴더 확인하고 이동하세용.언제인지 확인은 안 해봤습니다만, hsqldb에서 h2로 변경된 듯 합니다.
-
미해결리버스쿨 Level2 - 리버싱 분석 초급과정
리눅스 실습 환경은 어디에 있나요???
윈도우 이미지만 있는 것 같아서요....
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
윈도우
윈도우는없나요 ..ㅠ
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
Folium을 import 했는데 Choropleth module이 없다고 에러가 뜹니다..
folium도 0.10.1 버전으로 업데이트 했고 folium을 import 했는데 왜 Choropleth 모듈이 없다고 에러가 뜨는걸까요... 모르겠습니다 도와주세요 ㅜㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
실제 메모리 해제 시점이 궁금합니다.
Object 에서 == Operator Overloading 을 통하여 Destroy 가 호출된 객체를 null 로 리턴을 해준다고 설명을 주셨는데요. 그럼 실제 객체는 메모리에 할당된 상태인 것이 맞나요? 그럼 이 객체는 어느 시점이 메모리 할당이 해제되는 것인지, 계속 메모리를 잡아먹는 상태에 있는 것인지 궁금합니다.
-
미해결React로 NodeBird SNS 만들기
map 사용할때 key값 중복
map 쓸때 key값에 createdAt을 쓰고 있는데요, ex) post.map(v=> key={+v.createdAt}) 구글 콘솔에 계속 Warning: Encountered two children with the same key 이 떠서요. 해당 key 적용방법으로 충분한가요?