묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
공 쪼개기 문제
import os import pygame pygame.init() screen_x=1920 screen_y=1020 screen=pygame.display.set_mode((screen_x,screen_y)) pygame.display.set_caption("pygame") clock=pygame.time.Clock() current_path=os.path.dirname(__file__) image_path=os.path.join(current_path,"images") background=pygame.image.load(os.path.join(image_path,"background.png")) stage=pygame.image.load(os.path.join(image_path,"stage.png")) stage_size=stage.get_rect().size stage_y=stage_size[1] character=pygame.image.load(os.path.join(image_path,"character.png")) character_size=character.get_rect().size character_x=character_size[0] character_y=character_size[1] character_x_pos=(screen_x/2)-(character_x/2) character_y_pos=screen_y-character_y-stage_y character_to_x=0 character_speed=15 weapon1=pygame.image.load(os.path.join(image_path,"weapon1.png")) weapon1_size=weapon1 . get_rect().size weapon1_x=weapon1_size[0] weapon1s=[] weapon1_speed=22.5 weapon2=pygame.image.load(os.path.join(image_path,"weapon2.png")) weapon2_size=weapon2.get_rect().size weapon2_x=weapon2_size[0] weapon2s=[] weapon2_speed=10 weapon3=pygame.image.load(os.path.join(image_path,"weapon3.png")) weapon3_size=weapon3.get_rect().size weapon3_x=weapon3_size[0] weapon3s=[] weapon3_speed=2 weapon_select=0 ball_images=[pygame.image.load(os.path.join(image_path,"ball1.png")),pygame.image.load(os.path.join(image_path,"ball2.png")),pygame.image.load(os.path.join(image_path,"ball3.png")),pygame.image.load(os.path.join(image_path,"ball4.png"))] ball_speed_y=[-40,-35,-30,-25] balls=[] balls.append({"pos_x":50,"pos_y":50,"image_index":0,"to_x":5 ,"to_y" :- 10,"init_speed_y":ball_speed_y[0]}) weapon1_to_remove=-1 weapon2_to_remove=-1 weapon3_to_remove=-1 ball_to_remove=-1 running=True while running: dt=clock.tick(150) for event in pygame.event.get(): if event.type==pygame.QUIT: running=False if event.type==pygame.KEYDOWN: if event.key==pygame.K_LEFT: character_to_x+=-1*character_speed if event.key==pygame.K_RIGHT: character_to_x+=character_speed if event.key==pygame.K_w: weapon_select=0 if event.key==pygame.K_a: weapon_select=1 if event.key==pygame.K_d: weapon_select=2 if event.key==pygame.K_SPACE: if weapon_select==0: weapon1_x_pos=character_x_pos+character_x/2-weapon1_x/2 weapon1_y_pos=character_y_pos weapon1s.append([weapon1_x_pos,weapon1_y_pos]) if weapon_select==1: weapon2_x_pos=character_x_pos+character_x/2-weapon2_x/2 weapon2_y_pos=character_y_pos weapon2s.append([weapon2_x_pos,weapon2_y_pos]) if weapon_select==2: weapon3_x_pos=character_x_pos+character_x/2-weapon3_x/2 weapon3_y_pos=character_y_pos weapon3s.append([weapon3_x_pos,weapon3_y_pos]) if event.type==pygame.KEYUP: if event.key==pygame.K_LEFT: character_to_x=0 if event.key==pygame.K_RIGHT: character_to_x=0 character_x_pos+=character_to_x if character_x_pos<0: character_x_pos=0 if character_x_pos>screen_x-character_x: character_x_pos=screen_x-character_x weapon1s=[[w1[0],w1[1]-weapon1_speed]for w1 in weapon1s] weapon1s=[[w1[0],w1[1]]for w1 in weapon1s if w1[1]>0] weapon2s=[[w2[0],w2[1]-weapon2_speed]for w2 in weapon2s] weapon2s=[[w2[0],w2[1]]for w2 in weapon2s if w2[1]>250] weapon3s=[[w3[0],w3[1]-weapon3_speed]for w3 in weapon3s] weapon3s=[[w3[0],w3[1]]for w3 in weapon3s if w3[1]>600] for ball_index,ball_value in enumerate(balls): ball_x_pos=ball_value["pos_x"] ball_y_pos=ball_value["pos_y"] ball_image_index=ball_value["image_index"] ball_size=ball_images[ball_image_index].get_rect().size ball_x=ball_size[0] ball_y=ball_size[1] if ball_x_pos<0 or ball_x_pos>screen_x-ball_x: ball_value["to_x"]=-1*ball_value["to_x"] if ball_y_pos>screen_y-stage_y-ball_y: ball_value["to_y"]=ball_value["init_speed_y"] else: ball_value["to_y"]+=0.5 ball_value["pos_x"]+=ball_value["to_x"] ball_value["pos_y"]+=ball_value["to_y"] character_rect=character.get_rect() character_rect.left=character_x_pos character_rect.top=character_y_pos for ball_index,ball_value in enumerate(balls): ball_x_pos=ball_value["pos_x"] ball_y_pos=ball_value["pos_y"] ball_image_index=ball_value["image_index"] ball_rect=ball_images[ball_image_index].get_rect() ball_rect.left=ball_x_pos ball_rect.top=ball_y_pos if character_rect.colliderect(ball_rect): running=False break for weapon1_index,weapon1_value in enumerate(weapon1s): weapon1_x_pos=weapon1_value[0] weapon1_x_pos=weapon1_value[1] weapon1_rect=weapon1.get_rect() weapon1_rect.left=weapon1_x_pos weapon1_rect.top=weapon1_y_pos if weapon1_rect.colliderect(ball_rect): weapon1_to_remove=weapon1_index ball_to_remove=ball_index if ball_image_index<3: ball_width=ball_rect.size[0] ball_height=ball_rect.size[1] small_ball_rect=ball_images[ball_image_index+1].get_rect() small_ball_width=small_ball_rect.size[0] small_ball_height=small_ball_rect.size[1] balls.append({"pos_x":ball_x_pos+ball_width/2-small_ball_width/2,"pos_y":ball_y_pos+ball_height/2-small_ball_height/2,"image_index":ball_image_index+1,"to_x":-5,"to_y":-10,"init_speed_y":ball_speed_y[ball_image_index+1]}) balls.append({"pos_x":ball_x_pos+ball_width/2-small_ball_width/2,"pos_y":ball_y_pos+ball_height/2-small_ball_height/2,"image_index":ball_image_index+1,"to_x":5,"to_y":-10,"init_speed_y":ball_speed_y[ball_image_index+1]}) break for weapon2_index,weapon2_value in enumerate(weapon2s): weapon2_x_pos=weapon2_value[0] weapon2_x_pos=weapon2_value[1] weapon2_rect=weapon2.get_rect() weapon2_rect.left=weapon2_x_pos weapon2_rect.top=weapon2_y_pos if weapon2_rect.colliderect(ball_rect): weapon2_to_remove=weapon2_index ball_to_remove=ball_index if ball_image_index<3: ball_width=ball_rect.size[0] ball_height=ball_rect.size[1] small_ball_rect=ball_images[ball_image_index+1].get_rect() small_ball_width=small_ball_rect.size[0] small_ball_height=small_ball_rect.size[1] balls.append({"pos_x":ball_x_pos+ball_width/2-small_ball_width/2,"pos_y":ball_y_pos+ball_height/2-small_ball_height/2,"image_index":ball_image_index+1,"to_x":-5,"to_y":-10,"init_speed_y":ball_speed_y[ball_image_index+1]}) balls.append({"pos_x":ball_x_pos+ball_width/2-small_ball_width/2,"pos_y":ball_y_pos+ball_height/2-small_ball_height/2,"image_index":ball_image_index+1,"to_x":5,"to_y":-10,"init_speed_y":ball_speed_y[ball_image_index+1]}) break for weapon3_index,weapon3_value in enumerate(weapon3s): weapon3_x_pos=weapon3_value[0] weapon3_x_pos=weapon3_value[1] weapon3_rect=weapon3.get_rect() weapon3_rect.left=weapon3_x_pos weapon3_rect.top=weapon3_y_pos if weapon3_rect.colliderect(ball_rect): weapon3_to_remove=weapon3_index ball_to_remove=ball_index if ball_image_index<3: ball_width=ball_rect.size[0] ball_height=ball_rect.size[1] small_ball_rect=ball_images[ball_image_index+1].get_rect() small_ball_width=small_ball_rect.size[0] small_ball_height=small_ball_rect.size[1] balls.append({"pos_x":ball_x_pos+ball_width/2-small_ball_width/2,"pos_y":ball_y_pos+ball_height/2-small_ball_height/2,"image_index":ball_image_index+1,"to_x":-5,"to_y":-10,"init_speed_y":ball_speed_y[ball_image_index+1]}) balls.append({"pos_x":ball_x_pos+ball_width/2-small_ball_width/2,"pos_y":ball_y_pos+ball_height/2-small_ball_height/2,"image_index":ball_image_index+1,"to_x":5,"to_y":-10,"init_speed_y":ball_speed_y[ball_image_index+1]}) break if ball_to_remove>-1: del balls[ball_to_remove] ball_to_remove=-1 if weapon1_to_remove>-1: del weapon1s[weapon1_to_remove] weapon1_to_remove=-1 if weapon2_to_remove>-1: del weapon2s[weapon2_to_remove] weapon2_to_remove=-1 if weapon3_to_remove>-1: del weapon3s[weapon3_to_remove] weapon3_to_remove=-1 screen.blit(background,(0,0)) for index,value in enumerate(balls): ball_x_pos=value["pos_x"] ball_y_pos=value["pos_y"] ball_image_index=value["image_index"] screen.blit(ball_images[ball_image_index],(ball_x_pos,ball_y_pos)) for weapon1_x_pos,weapon1_y_pos in weapon1s: screen.blit(weapon1,(weapon1_x_pos,weapon1_y_pos)) for weapon2_x_pos,weapon2_y_pos in weapon2s: screen.blit(weapon2,(weapon2_x_pos,weapon2_y_pos)) for weapon3_x_pos,weapon3_y_pos in weapon3s: screen.blit(weapon3,(weapon3_x_pos,weapon3_y_pos)) screen.blit(stage,(0,screen_y-stage_y)) screen.blit(character,(character_x_pos,character_y_pos)) pygame.display.update() pygame.quit() 무기를 추가해서 다음과 같은 코드를 짰는데 정작 공이 무기에 닿았을 때는 아무일도 없고 다른 데 있을 때 발사하면 쪼개지네요......왜이러는걸까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
파이썬 설치 문의 드립니다.
파이썬 설치하려고 오른쪽 버튼 눌러서 관리자 권한으로 실행 누르면 강의와 다르게 Modify Setup이라는 화면이 뜨면서 Modify, Repair, Uninstall 이렇게 세개의 선택지가 뜨는데 어떻게 진행해야 하나요?
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
미리보기 할 때 보여지는 프레임의 순서를 정할 수는 없나요?
미리보기 할 때 보여지는 프레임의 순서를 정할 수는 없나요? 인터렉션을 하나도 연결하지 않았을 때요. 예를 들어 1,2,3,4,5 프레임을 만들었다고 가정하면 1부터 시작이 아닌 2부터 2,3,4,5,1 이런식으로요. 또한 2,4,5,1,3 이런식으로도 가능한지 궁금하내요.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
fetch join에 관련하여 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 fetch join 과 join에 관련하여 문의드립니다. fetch join 시 fetch join 뒤에 붙은 엔티티객체에 별칭을 사용 할 수 없는 걸로 알고 있습니다. ex) select o from Order o join fetch o.member m 에서 o.member 뒤에 m 사용 불가로 알고 있습니다. 그럼 만약 Member Entity에서 name이 userA라는 사람이라는 조건을 주고 싶은 경우 select o from Order o join fetch o.member m where m.member_id = 'userA' 와 같이 사용 하면 안되고 join 쿼리로 SELECT o from Order o join o.member where m.member_id = 'userA' 와 같이 사용 해야 되는지 문의드립니다. select o from Order o join o.member where m.meber_id = 'userA' 와 같이 사용 하는 경우 order 엔티티에 있는 member 단일 연관 관계에서 name 을 가져오는 경우 초기화가 되어 쿼리문이 다시 나가는 걸로 알고 있습니다. 그래서 한번쿼리문과 조건을 같이 사용하기위해서 DTO로 직접 받아오는게 맞는지도 궁금합니다. 감사합니다.
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
파일 업로드와 완료까지 기다림 부분 질문입니다.
강의 영상을 따라가다가 StorageMetadata와 onComplete 메서드를 찾지 못하는 에러 때문에 질문 드립니다. 이렇게 에러 메세지가 나오네요..
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
오브젝트
윗 질문이랑 비슷한거 같은데 빌트인 오브젝트에서는 var obj = {}을 할당하는 것과 var = new Object() 로 인스턴스를 만드는게 둘다 인스턴스를 만들기 때문에 같다라고 했는데 마찬가지로 var = 1 var = new Object(1) 도 빌트인 Object와 같이 할당만하면 인스턴스가 되는건가요? 이게 아니라면 빌트인 오브젝트만 예외적으로 그런건가요? 아니면 var = {}은 할당이라고 부르지 않나요?..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Category - Item 매핑 시 주인 설정 질문
Category - Item 다대다 매핑 시 FK가 존재하는 Category 테이블 내 'items'를 주인으로 잡는 것은 알겠는데 제가 생각하기에는 Category보다 Item 테이블을 더 주도적으로 열람할 것 같은데 반대로 설정하신 이유가 뭘까요?
-
미해결C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
UWP작동하지 않음
<Image Source="assets/robot.png" HeightRequest="150" Aspect="AspectFit"/> 4:19분 UWP로 실행했을때 robot이미지가 나오지 않습니다. 모바일로 실행했을때 정상작동합니다. Assets폴더아래에 robot.png가 있는 상태입니다. 안되는 이유가 뭘까요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
updateItem PostMapping 질문
안녕하세요. 영한님 강의 중에 http 도 들었어서 궁금함이 생겨 질문합니다. 데이터 수정을 하시는 부분에서 @PostMapping을 쓰셨는데 이건 그냥 회사 규율이나 개발자 취향에 따라 쓰는 건가요? 리소스의 일부분을 수정하는 것으로 Patch가 있는 걸로 알고 있고 이때 @PatchMapping 을 사용해도 되는 것인지 잘 모르겠어서요. 감사합니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
학습내용 정리
안녕하세요, 강의 감사합니다! :D 혹시 학습한 내용 정리글이나 코드를 공개로 작성해도 되는지 여쭤보고 싶습니다
-
미해결홍정모의 따라하며 배우는 C++
casting 원리 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. casting 에 대해서 궁금한게 생겼습니다. 모든 date 는 메모리에 1과0으로 저장이 되는데 date type 의 차이는 저장된 메모리를 어떤 방식으로 출력하냐의 차이인가요? 예를들면 65라는 수는 char type, int type 모두 0000 0000 0100 0001 로 저장이 되지만 이를 출력할때 char type 으로 선언하면 아스키테이블을 거쳐서 A로 출력되는거고 int type 으로 선언하면 이진수계산을 통해 65로 출력되는 그런 형식인지 생각이 되서 casting 이라는게 강제로 메모리출력방식을 바꿔주는건가 궁금합니다. *1 00001011 000 1010 1011 0100 0000 0000 이렇게 저장된 long type 의 변수가 이진수로 저장이되던게 double type 으로 casting 하면 부호,지수,가수부분을 계산한 부동소수점수로 표현이되는지..?
-
미해결스프링 핵심 원리 - 고급편
AnnotationAwareAspectJAutoProxyCreator 적용 오류
package InflearnSpringCoreAdvanced.CoreProxy.proxy.config.v5_autoproxy;import InflearnSpringCoreAdvanced.CoreProxy.proxy.config.AppV1Config;import InflearnSpringCoreAdvanced.CoreProxy.proxy.config.AppV2Config;import InflearnSpringCoreAdvanced.CoreProxy.proxy.config.v3_proxyfactory.advice.LogTraceAdvice;import InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.logtrace.LogTrace;import org.springframework.aop.Advisor;import org.springframework.aop.support.DefaultPointcutAdvisor;import org.springframework.aop.support.NameMatchMethodPointcut;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Import;@Configuration@Import({AppV1Config.class, AppV2Config.class})public class AutoProxyConfig { @Bean public Advisor advisor1(LogTrace logTrace) { // Pointcut NameMatchMethodPointcut pointcut = new NameMatchMethodPointcut(); pointcut.setMappedNames("request*", "order*", "save*"); // Advice LogTraceAdvice advice = new LogTraceAdvice(logTrace); // Advisor return new DefaultPointcutAdvisor(pointcut, advice); }} package InflearnSpringCoreAdvanced.CoreProxy;import InflearnSpringCoreAdvanced.CoreProxy.proxy.config.v5_autoproxy.AutoProxyConfig;import InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.logtrace.LogTrace;import InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.logtrace.ThreadLocalLogTrace;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Import;//@Import({AppV1Config.class, AppV2Config.class})//@Import(InterfaceProxyConfig.class)//@Import(ConcreteProxyConfig.class)//@Import(DynamicProxyBasicConfig.class)//@Import(DynamicProxyFilterConfig.class)//@Import(ProxyFactoryConfigV1.class)//@Import(ProxyFactoryConfigV2.class)//@Import(BeanPostProcessorConfig.class)@Import(AutoProxyConfig.class)@SpringBootApplication(scanBasePackages = "InflearnSpringCoreAdvanced.CoreProxy.proxy.app")public class CoreProxyApplication { public static void main(String[] args) { SpringApplication.run(CoreProxyApplication.class, args); } @Bean public LogTrace logTrace() { return new ThreadLocalLogTrace(); }} 현재 AutoProxyConfig, main의 코드는 위와 같고 이를 실행하면 다음과 같은 오류가 발생합니다 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderControllerV1' defined in InflearnSpringCoreAdvanced.CoreProxy.proxy.config.AppV1Config: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [InflearnSpringCoreAdvanced.CoreProxy.proxy.app.v1.OrderControllerV1]: Factory method 'orderControllerV1' threw exception; nested exception is java.lang.NullPointerException: Cannot invoke "InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.TraceStatus.getTraceId()" because "status" is null at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar:2.7.3] at InflearnSpringCoreAdvanced.CoreProxy.CoreProxyApplication.main(CoreProxyApplication.java:24) ~[classes/:na] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [InflearnSpringCoreAdvanced.CoreProxy.proxy.app.v1.OrderControllerV1]: Factory method 'orderControllerV1' threw exception; nested exception is java.lang.NullPointerException: Cannot invoke "InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.TraceStatus.getTraceId()" because "status" is null at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.22.jar:5.3.22] ... 19 common frames omitted Caused by: java.lang.NullPointerException: Cannot invoke "InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.TraceStatus.getTraceId()" because "status" is null at InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.logtrace.ThreadLocalLogTrace.response(ThreadLocalLogTrace.java:45) ~[classes/:na] at InflearnSpringCoreAdvanced.CoreProxy.proxy.trace.logtrace.ThreadLocalLogTrace.exception(ThreadLocalLogTrace.java:41) ~[classes/:na] at InflearnSpringCoreAdvanced.CoreProxy.proxy.config.v3_proxyfactory.advice.LogTraceAdvice.invoke(LogTraceAdvice.java:33) ~[classes/:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.22.jar:5.3.22] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.22.jar:5.3.22] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.22.jar:5.3.22] at InflearnSpringCoreAdvanced.CoreProxy.proxy.config.AppV1Config$$EnhancerBySpringCGLIB$$f7cc6e87.orderControllerV1(<generated>) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.22.jar:5.3.22] ... 20 common frames omitted 결국 ThreadLocalLogTrace에서 response에서의 TraceStatus가 null값이 들어가서 생긴 NPE 오류라고 나오는데 이전에 AnnotationAwareAspectJAutoProxyCreator가 아닌 직접 빈 후처리기를 만들고 등록할때까지는 아무런 오류가 없었는데 AnnotationAwareAspectJAutoProxyCreator를 등록하고 난 후에 main자체가 띄워지지가 않는데 어디가 문제인가요?? build.gradle에는 aop적용하였고 버전을 낮춰봤는데도 버전문제가 아닌거 같습니다
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
마지막에 Goods E를 추가해서 검산할 때
마지막에 Goods E를 추가할 때 왜 Goods E 데이터가 끝부분이 아닌 Goods C와 Goods D 사이에 들어가게 되나요 ?? 따로 이유가 있는것인지 궁금합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 제로초님 자바스크립트 애로우 함수 문법 질문 드려봐요
안녕하세요. 자바스크립트 애로우함수에 대해 질문드립니다.let a = [1, 2, 3, 4, 5];let b = 3;a = a.filter((x) => {if (b !== x) {return x} });이것과 a = a.filter(x => b !== x);이것이 같다는것은 알고 있습니다. 그렇다면a = a.filter(x => b !== x);a = a.filter((x) => b !== x);이 차이점은 무엇인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Root Parameter 를 정의하는데 있어서 질문있습니다.
안녕하세요. 강좌 잘 듣고 있습니다. 수강중 잘 이해가 안가는 부분들이 있어서 질문드립니다. [질문 1] 영상 2 분 무렵에 디스크립터 테이블에 관한 설명중 "테이블을 여러개 만들수가 있는데, 디스크립터 테이블 여러개를 동시에 활성화 할수는 없고 1번을 켜고 사용하고 2번을 켜고 사용한다" Root Signature 의 N개의 Root Params 들은 배타적으로 쓸수 있는게 아니고동시에 모두 쉐이더로 전달되는 게 아닌가요? 잘이해가 안가서 디스크립터 테이블 2개를 만들어서 각각 Root Param 0, 1로 지정한후 쉐이더로 전달해 보았는데 잘 되는거 같습니다.제가 해당 내용을 잘못 이해한건지 질문드립니다. [질문 2] 강좌내용에서 Descriptor Heap 을 두개(각각 HEAP_FLAG_NONE, HEAP_FLAG_SHADER_VISIBLE) 를 만들던데 HEAP_FLAG_SHADER_VISIBLE 하나만 만들어도 되지 않나요? 혹시나 해서 테스트 해보니 Descriptor Heap(HEAP_FLAG_SHADER_VISIBLE) 하나만 만들어도잘되는거 같은데, 이 역시 제가 잘못 이해하고 있는지 질문드립니다.
-
미해결[최신 React 버전 반영] 초보자도 쉽게 만드는 React 웹 서비스 만들기
오류생김
Warning: The tag <hello> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.at hello 코드 그대로 따라 쳤는데 이렇게 오류가 생기네여ㅠㅠ 뭐가 문제일까요 ㅠㅠ
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
test에서 Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain 오류 발생
안녕하세요 호돌맨님? 호돌맨님 강의로 아주 재밌게 공부중이었습니다. 어제까지 괜찮던 테스트코드가 오늘 다시 실행해보니 Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain 오류가 테스트 중 발생하였고 구글링해서 찾은 해결 방법으로 몇가지 시도해 보았습니다. 1. 폴더명 내에 한글 존재 - c드라이브로 옮김 -> 그대로 (아마 여기에 문제가 있지 않나 싶긴 합니다.) 2. Build Tool - Gradle(Default)에서 Intelij IDEA로 변경 -> 그대로 3. cmd 명령어 gradlew --stop 이용 -> 그대로 혹시나 소스코드 문제일까 싶어서 공유받은 깃허브 소스코드를 테스트코드에 진행중인 부분까지 복붙 해 보았는데요, 이 문제는 아닌 것 같습니다. 또 다른 프로젝트의 테스트 파일로 가서 실행 해 보았을때는 문제 없이 잘 동작합니다. 무엇이 문제일까요? 읽어주셔서 감사합니다. 캡처본 올립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
org.hibernate.type: trace 작동이 잘 안되는 것 같아요
외부 라이브러리 p6spy 추가 전에 application.yml 에 logging.level.org.hibernate.type: trace 만 추가했을 때 MemberRepositoryTest.java를 실행 시 sql 로그가 안 떠요...
-
미해결스프링 핵심 원리 - 기본편
객체 DI
이 예제에서는 생성자 주입이 아닌, 메서드(setter) 주입을 사용하였는데 따로 @Autowird가 쓰이지 않았으니까 bean을 등록하고, 객체로 DI를 집어넣었다 다시말해 DI를 사용했지만 스프링이 넣어주는 DI는 아니라고 생각해도 되나요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
65번 미로탐색 질문있습니다!
#include<iostream> #include<algorithm> #include<vector> using namespace std; #define size 8 int cnt = 0; int dx[4] = { 0,1,0,-1 };//12시 3시 6시 9시 방향 순 int dy[4] = { 1,0,-1,0 }; int dfs(int mtrx[][size], vector<vector<int> > visit, int x, int y) { int xx, yy; if (x==size-1&&y==size-1) { cnt++; } else { visit[x][y] = 1; for (int i = 0; i < 4; i++) { xx = x + dx[i];//x축으로 갈좌표 yy = y + dy[i];//y축으로 갈 좌표 if (xx < 1 || xx>7 || yy < 1 || yy>7)//행렬을 벗어나는 경우 continue; if (mtrx[xx][yy] == 0 && visit[xx][yy] != 1) { dfs(mtrx,visit,xx,yy); } } } return cnt; } int main() { int mtrx[size][size]; vector<vector<int> > visit(size,vector<int>(size, 0)); for (int i = 1; i < size; i++) { for (int j = 1; j < size; j++) { cin>>mtrx[i][j]; } } int count = dfs(mtrx,visit, 1, 1); cout << count; } 65번 미로탐색 질문있습니다! 저는 전역변수를 사용하는 것보다 함수의 인수로 전달하는게 더 익숙하여 함수의 인수로 visit 벡터 즉 방문한 길인지 아닌지 판별하는 2차원 벡터를 넘겨주었습니다. 이렇게 할 경우 정확한 답이 나옵니다. 그러나 인수로 메인문에서 선언된 배열 자체 int visit[][size], 를 넘기거나 int** visit 처럼 동적생성을해서 배열을 넘기면 답이 정상적으로 나오지 않습니다. 저는 벡터가 동적생성되었기 때문에 int** visit으로 넘기면 정상작으로 동작할 것으로 생각했으나 실제로 그렇지 않아 의문이 생기게되어 질문드립니다. 함수의 인수로 벡터와 배열을 넘길때와 동적생성한 배열을 넘길때의 차이를 알고 싶습니다!