http://boj.kr/f1072a98c98a404992c7700849705b0c 강의 듣기 전 작성해본 코드입니다. 위치랑 시간 업데이트 for문으로 상하좌우 탐색 이 때 push 시 시간도 같이 저장 시간이 바뀌면 불 업데이트 1~3번 반복 하는 도중 탈출 성공하면 return 코드 시행 시 메모리 초과가 나오는데 어디에서 초과가 되는지 모르겠습니다. 제 생각에는 아마 while 안의 push 부분에서 일어나는 것 같은데 pop을 해주는데도 메모리 초과가 일어날 수 있나요?
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 강의를 열심히 보고 있는 수강자입니다. 다름이 아니라 이번 강의를 보면서 궁금한 점이 있는데요! LocalDateTime을 인자값으로 전달받아 단위테스트하기 좋게 리팩토링하셨는데, 나중에 createOrder를 호출하는 객체의 통합테스트 를 진행할때는 시간에 대한 테스트코드를 어떻게 처리하는지 궁금합니다. 예를 들어 CafeKioskRunner에서 main 메서드를 통합 테스트한다고 했을 때 시간에 따라 createOrder에서 성공 또는 exception이 발생할 것 같아서 이것에 대한 통합테스트를 어떻게 처리하는지 궁금합니다. 감사합니다.
안녕하세요 Github.com/matbi86/sulgyedokhak 으로 접속하면 404가 뜨며 접속이 되지 않아 여쭤봅니다 만일 권한이 필요한 거면 Github 허가 부탁드립니다 Github 아이디 : redstar125@naver.com Github 이름 : henrynam 인프런 아이디 : redstar125@naver.com 인프런 닉네임 : redstar125
회원 기능 테스트 강의 08:50분에 실행하는 테스트 실행하다 제목과 같은 오류가 발생했습니다ㅠㅠ 커뮤니티에 찾아봐도 몰라서 질문 드립니다. 꼭 좀 도와주시면 감사하겠습니다. MemberRepository 입니다. MemberServiceTest입니다. MemberRepository입니다. 아래는 오류 문입니다 antlr.NoViableAltException: unexpected AST node: . at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr( HqlSqlBaseWalker.java:2188 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.whereClause( HqlSqlBaseWalker.java:841 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query( HqlSqlBaseWalker.java:635 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement( HqlSqlBaseWalker.java:339 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement( HqlSqlBaseWalker.java:287 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze( QueryTranslatorImpl.java:276 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile( QueryTranslatorImpl.java:192 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile( QueryTranslatorImpl.java:144 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:112 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:73 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan( QueryPlanCache.java:162 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan( AbstractSharedSessionContract.java:636 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:748 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:848 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:114 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[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:566 ) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:315 ) ~[spring-orm-5.3.26.jar:5.3.26] at com.sun.proxy.$Proxy123.createQuery(Unknown Source) ~[na:na] at jpabook.jpashop.member.MemberRepository.findByName( MemberRepository.java:38 ) ~[main/:na] at jpabook.jpashop.member.MemberRepository$$FastClassBySpringCGLIB$$cf542431.invoke(<generated>) ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ~[spring-tx-5.3.26.jar:5.3.26] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) ~[spring-aop-5.3.26.jar:5.3.26] at jpabook.jpashop.member.MemberRepository$$EnhancerBySpringCGLIB$$22198719.findByName(<generated>) ~[main/:na] at jpabook.jpashop.service.MemberService.validateDUplicateMember( MemberService.java:44 ) ~[main/:na] at jpabook.jpashop.service.MemberService.join( MemberService.java:33 ) ~[main/:na] at jpabook.jpashop.service.MemberService$$FastClassBySpringCGLIB$$560b731b.invoke(<generated>) ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation( TransactionInterceptor.java:123 ) ~[spring-tx-5.3.26.jar:5.3.26] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:388 ) ~[spring-tx-5.3.26.jar:5.3.26] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke( TransactionInterceptor.java:119 ) ~[spring-tx-5.3.26.jar:5.3.26] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.26.jar:5.3.26] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) ~[spring-aop-5.3.26.jar:5.3.26] at jpabook.jpashop.service.MemberService$$EnhancerBySpringCGLIB$$1f95cebf.join(<generated>) ~[main/:na] at jpabook.jpashop.service.MemberServiceTest.MemberSign( MemberServiceTest.java:31 ) ~[test/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[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:566 ) ~[na:na] at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:59 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.internal.runners.model.ReflectiveCallable.run ( ReflectiveCallable.java:12 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:56 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.internal.runners.statements.InvokeMethod.evaluate( InvokeMethod.java:17 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate( RunBeforeTestExecutionCallbacks.java:74 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate( RunAfterTestExecutionCallbacks.java:84 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate( RunBeforeTestMethodCallbacks.java:75 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate( RunAfterTestMethodCallbacks.java:86 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate( SpringRepeat.java:84 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner.runLeaf( ParentRunner.java:366 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:251 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:97 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner$4.run( ParentRunner.java:331 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:79 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.runChildren( ParentRunner.java:329 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.access$100( ParentRunner.java:66 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:293 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate( RunBeforeTestClassCallbacks.java:61 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:70 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner$3.evaluate( ParentRunner.java:306 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.run ( ParentRunner.java:413 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run ( SpringJUnit4ClassRunner.java:190 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runner.JUnitCore.run ( JUnitCore.java:137 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runner.JUnitCore.run ( JUnitCore.java:115 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.vintage.engine.execution.RunnerExecutor.execute( RunnerExecutor.java:42 ) ~[junit-vintage-engine-5.8.2.jar:5.8.2] at org.junit.vintage.engine.VintageTestEngine.executeAllChildren( VintageTestEngine.java:80 ) ~[junit-vintage-engine-5.8.2.jar:5.8.2] at org.junit.vintage.engine.VintageTestEngine.execute( VintageTestEngine.java:72 ) ~[junit-vintage-engine-5.8.2.jar:5.8.2] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:107 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:88 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:54 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:67 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:52 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) ~[na:na] at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) ~[na:na] at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[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:566 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) ~[na:na] at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) ~[na:na] at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) ~[na:na] at com.sun.proxy.$Proxy2.stop(Unknown Source) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) ~[na:na] at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:113 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:65 ) ~[na:na] at worker.org.gradle.process.internal.worker.GradleWorkerMain.run ( GradleWorkerMain.java:69 ) ~[gradle-worker.jar:na] at worker.org .gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) ~[gradle-worker.jar:na] 2023-06-25 19:33:44.563 INFO 23436 --- [ Test worker] p6spy : #1687689224563 | took 0ms | rollback | connection 4| url jdbc:h2:mem:fa852fc9-f2a7-4111-a7ca-8aefa01f2a24 ; 2023-06-25 19:33:44.569 INFO 23436 --- [ Test worker] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@15515c51 testClass = MemberServiceTest, testInstance = jpabook.jpashop.service.MemberServiceTest@363ee411, testMethod = MemberSign@MemberServiceTest, testException = org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ], mergedContextConfiguration = [WebMergedContextConfiguration@36a7abe1 testClass = MemberServiceTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@463b4ac8, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@66b7550d, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@4212a0c8, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@476b0ae6, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@488eb7f2, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@294e5088], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]] org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ] org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ] at app//org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible( EntityManagerFactoryUtils.java:374 ) at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible( HibernateJpaDialect.java:235 ) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible( AbstractEntityManagerFactoryBean.java:551 ) at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible( ChainedPersistenceExceptionTranslator.java:61 ) at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary( DataAccessUtils.java:242 ) at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:152 ) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) at app//jpabook.jpashop.member.MemberRepository$$EnhancerBySpringCGLIB$$22198719.findByName(<generated>) at app//jpabook.jpashop.service.MemberService.validateDUplicateMember( MemberService.java:44 ) at app//jpabook.jpashop.service.MemberService.join( MemberService.java:33 ) at app//jpabook.jpashop.service.MemberService$$FastClassBySpringCGLIB$$560b731b.invoke(<generated>) at app//org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation( TransactionInterceptor.java:123 ) at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:388 ) at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke( TransactionInterceptor.java:119 ) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) at app//jpabook.jpashop.service.MemberService$$EnhancerBySpringCGLIB$$1f95cebf.join(<generated>) at app//jpabook.jpashop.service.MemberServiceTest.MemberSign( MemberServiceTest.java:31 ) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11/java.lang.reflect.Method.invoke( Method.java:566 ) at app//org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:59 ) at app//org.junit.internal.runners.model.ReflectiveCallable.run( ReflectiveCallable.java:12 ) at app//org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:56 ) at app//org.junit.internal.runners.statements.InvokeMethod.evaluate( InvokeMethod.java:17 ) at app//org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate( RunBeforeTestExecutionCallbacks.java:74 ) at app//org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate( RunAfterTestExecutionCallbacks.java:84 ) at app//org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate( RunBeforeTestMethodCallbacks.java:75 ) at app//org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate( RunAfterTestMethodCallbacks.java:86 ) at app//org.springframework.test.context.junit4.statements.SpringRepeat.evaluate( SpringRepeat.java:84 ) at app//org.junit.runners.ParentRunner.runLeaf( ParentRunner.java:366 ) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:251 ) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:97 ) at app//org.junit.runners.ParentRunner$4.run( ParentRunner.java:331 ) at app//org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:79 ) at app//org.junit.runners.ParentRunner.runChildren( ParentRunner.java:329 ) at app//org.junit.runners.ParentRunner.access$100( ParentRunner.java:66 ) at app//org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:293 ) at app//org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate( RunBeforeTestClassCallbacks.java:61 ) at app//org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:70 ) at app//org.junit.runners.ParentRunner$3.evaluate( ParentRunner.java:306 ) at app//org.junit.runners.ParentRunner.run( ParentRunner.java:413 ) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run( SpringJUnit4ClassRunner.java:190 ) at app//org.junit.runner.JUnitCore.run( JUnitCore.java:137 ) at app//org.junit.runner.JUnitCore.run( JUnitCore.java:115 ) at app//org.junit.vintage.engine.execution.RunnerExecutor.execute( RunnerExecutor.java:42 ) at app//org.junit.vintage.engine.VintageTestEngine.executeAllChildren( VintageTestEngine.java:80 ) at app//org.junit.vintage.engine.VintageTestEngine.execute( VintageTestEngine.java:72 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:107 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:88 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:54 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:67 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:52 ) at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:62 ) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11/java.lang.reflect.Method.invoke( Method.java:566 ) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) at com.sun.proxy.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:113 ) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:65 ) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run( GradleWorkerMain.java:69 ) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ] at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:138 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:181 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:188 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:757 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:848 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:114 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:315 ) at com.sun.proxy.$Proxy123.createQuery(Unknown Source) at jpabook.jpashop.member.MemberRepository.findByName( MemberRepository.java:38 ) at jpabook.jpashop.member.MemberRepository$$FastClassBySpringCGLIB$$cf542431.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ... 81 more Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: . near line 1, column 54 [select m from jpabook.jpashop.domain.Member m where m.name ] at app//org.hibernate.hql.internal.ast.QuerySyntaxException.convert( QuerySyntaxException.java:74 ) at app//org.hibernate.hql.internal.ast.ErrorTracker.throwQueryException( ErrorTracker.java:93 ) at app//org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze( QueryTranslatorImpl.java:282 ) at app//org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile( QueryTranslatorImpl.java:192 ) at app//org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile( QueryTranslatorImpl.java:144 ) at app//org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:112 ) at app//org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:73 ) at app//org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan( QueryPlanCache.java:162 ) at app//org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan( AbstractSharedSessionContract.java:636 ) at app//org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:748 ) ... 96 more
강의 잘 듣고 있습니다! 블루프린트에서 Array 타입은 STL의 vector로 동적 배열로 구현이 되고, Set과 Map은 STL의 unordered_set, unordered_map으로 해시 테이블로 구현이 되어있다고 이해했습니다. 그렇다면 궁금한게 STL의 list나 set, map인 연결 리스트, 이진 탐색 트리는 사용하지 못하나요? 못한다면 이유가 뭔지 궁금합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] mv.getModel().put("member",member);에서 mv.getModel()을 해서 model을 불러와 put하는 것까지는 이해가 됩니다. 근데 ("member", member)을 하는 이유를 모르겠습니다. member를 넣어서 map을 넣는건가요? 그리고 제일 이해가 안되는 것이 "member"부분입니다. 이것은 무슨의미인가요?
DriverManagerDataSource를 사용하면 DriverManager를 통해 직접 DB에 접근해서 Connection을 획득하는 것으로 알고 있습니다. HikariDataSource를 사용하면 ConnectionPool에서 얻어오는 것으로 알고 있습니다. 그리고 미리 ConnectionPool 내부의 DriverManager가 직접 DB에 접근해서 Connection을 획득한 후 ConnectionPool에 보관하는 것이 많나요? 맞다면 DrvierManagerDataSource나 HikariDataSource 모두 DB로부터 Connection을 직접 획득하는 주체는 DriverManager인거고 획득 방식은 동일한 것이 맞나요?
안녕하세요,강사님. 질문이 있어 글 남깁니다. 리트코드 문제에서 작성하신 서브쿼리는 Email을 가지고 GROUP BY를 하고 해당 GROUP BY에서 최소값을 가지는 ID를 조회하는 쿼리인데, 그럼 여기서 Email이 중복인지에 대한 조건은 따로 작성할 필요가 없는 것일까요? GROUP BY가 중복은 제외라는 의미도 포함되어 있는걸까요?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
BookService 51번째줄 오류 41번째줄 정상, 51번째줄 오류 51번째줄 오류, 62번째줄 오류, 65번째줄 정상 UserRepository. 오류코드 강사님 안녕하세요! 좋은 강의 잘 듣고 있습니다. 강의를 따라하고 있는데 오류가 나서 더 이상 진행이 안돼서요 ㅠㅠ BookService에서 41번째 줄의 orElseThrow 과 65번째줄 orElseThrow는 오류가 안 나는데 51번째의 orElseThrow , 책 반납하는 62번째의 orElseThrow 는 빨간줄이 뜹니다. 그대로 따라한 것 같은데 BookService orElseThrow이 부분에서 왜 계속 오류가 나는지 모르겠습니다... 뭐 때문일까요??
강의를 따라가다 antMatchers 와 access 관련해서 도움이 되고자 글을 남깁니다. (1) access 스프링 시큐리티에서 authorizeRequests가 deprecate되면서 hasRole('ADMIN') or hasRole('SYS') 에 인자로 문자열만 받을 수 있게 되었습니다. 이로 인해 특정 경로에 대한 인가를 2개 이상의 role에 주고 싶을시 hasAnyRole을 사용해야 합니다. (2) antMatchers deprecate된 authorizeRequests 대신 스프링에서 사용을 권장하는 authorizeHttpRequests를 사용한 사용자별 인가를 설정하는 코드입니다. // 스프링 시큐리티 5.4에 맞춘 강의 예제 http .authorizeHttpRequests(authorizeHttpRequests -> authorizeHttpRequests .requestMatchers("/user").hasRole("USER") .requestMatchers("/admin/pay").hasRole("ADMIN") .requestMatchers("/admin/**").hasAnyRole("ADMIN", "SYS") .anyRequest().authenticated());
a:link, a:visited, a:active { text-decoration: none; color: #3f464d; } [모던HTML/CSS로 상용화도 가능한 반응형 모던 웹페이지 만들기4] 6:00 부분에서 text-decoration 등 중복되는 설정값이 여러 가상클래스에 적용이 되는데 이런식으로 한번에 써도 되나요 ?
[질문 내용] Test 클래스에 findByID를 구현해보려고 했는데 id를 하나 만들때마다 sequence를 하나씩 올려서 저장해야될 거 같은데 Main클래스의 sequence가 private여서 그런가 sequence 자체에 접근이 불가능한 거 같습니다. 구현 어떻게 해야될 지 힌트라도 얻고 싶습니다!!
https://www.inflearn.com/questions/913307/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-mysql-%EC%97%B0%EA%B2%B0%EC%9D%80-%ED%96%88%EB%8A%94%EB%8D%B0%EC%9A%94 전글에 올렸던 내용에서 덧붙이자면, Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 이런 오류가 나서 log4jdbc.log4j2.properties log4jdbc.drivers=com.mysql.cj.jdbc.Driver log4jdbc.auto.load.popular.drivers=false 에 코드 추가했어요. 그래서 지금 밑에 저 오류가 남았는데 저건 어떻게 해결해야하는지 모르겠습니다.. org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:180) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:164) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:554) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:90) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:50) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:79) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:56) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:120) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:56) at org.springframework.boot.SpringApplication.run(SpringApplication.java:298) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) at carrot.app.AppApplication.main(AppApplication.java:13)
강사님 안녕하세요, 7-W 문제 조건 중에 최초 0,0 위치를 제외하고는 양발이 같은 위치에 있을 수 없다고 되어있는데요. 풀이를 보면 왼발을 움직인 경우/오른발을 움직인 경우 각각에 대해서 min 값을 취하긴 하지만, 위에 말씀드린 양발이 같은 위치에 있는 경우에 대해 배제하는 조건이 없는 것 같아서요. 현재 상태에 대한 발의 위치를 아래와 같이 나타낸다고 할 때, (왼발 위치, 오른발 위치) 현재 상태가 (1,2) 이고 다음 밟아야하는 위치가 1 이면 (1,2) 로 그대로 두거나, (1,x) 로 이동하는 경우만 있을 수 있는습니다. 하지만, 풀이의 solve 함수에서, v[target] = 1 이 되니까, int left 의 경우에는 이므로 (1,2) 그대로 있지만, int right 의 경우에는 (1,1) 에 대해 solve 함수가 호출되지 않을까 생각이 됩니다. 어쨋든 움직이지 않는 경우 (1,2) 가 노력이 덜 들어가므로 left 가 선택이 되었을 것으로 추측이 되지만, (1,1) 로 흘러들어간 DFS 가 이후에 어떤 값을 내보낼지 알수가 없을 것 같아서요 문제는 통과했지만, 양발이 같은 위치에 들어오는 경우는 배제해야하지 않을까요? 제 코드는 다음과 같습니다. http://boj.kr/8617c099286e4650b615631a7d5974cb