22강 jpa 보면서 했는데 오류가 이렇게 나요 ㅠㅠ 아래는 오류 내용 입니다 ㅠㅠ OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended java.lang.IllegalArgumentException: org.hibernate.query.sqm.ParsingException: line 1:14 mismatched input 'Member' expecting {<EOF>, ',', FROM, GROUP, ORDER, WHERE} at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:138 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:162 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:168 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:795 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:120 ) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) at java.base/java.lang.reflect.Method.invoke( Method.java:578 ) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) at jdk.proxy2/jdk.proxy2.$Proxy96.createQuery(Unknown Source) at hello.hellospring.repasitory.JpaMemberRepository.findByName( JpaMemberRepository.java:34 ) at hello.hellospring.service.MemberService.validateDuplicateMember( MemberService.java:37 ) at hello.hellospring.service.MemberService.join( MemberService.java:31 ) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) at java.base/java.lang.reflect.Method.invoke( Method.java:578 ) at org.springframework.aop.support .AopUtils.invokeJoinpointUsingReflection( AopUtils.java:343 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint( ReflectiveMethodInvocation.java:196 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:756 ) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation( TransactionInterceptor.java:123 ) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:391 ) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke( TransactionInterceptor.java:119 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:184 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:756 ) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) at hello.hellospring.service.MemberService$$SpringCGLIB$$0.join(<generated>) at hello.hellospring.service.MemberServiceIntegrationTest.회원가입( MemberServiceIntegrationTest.java:35 ) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) at java.base/java.lang.reflect.Method.invoke( Method.java:578 ) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:727 ) at org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:156 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:147 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:86 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( InterceptingExecutableInvoker.java:103 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0( InterceptingExecutableInvoker.java:93 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:92 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:86 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:217 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:213 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:138 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:68 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:147 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:127 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:90 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:55 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:102 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:54 ) 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 com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs( JUnit5IdeaTestRunner.java:57 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:232 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:55 ) Caused by: org.hibernate.query.sqm.ParsingException: line 1:14 mismatched input 'Member' expecting {<EOF>, ',', FROM, GROUP, ORDER, WHERE} at org.hibernate.query.hql.internal.StandardHqlTranslator$1.syntaxError( StandardHqlTranslator.java:46 ) at org.antlr.v4.runtime.ProxyErrorListener.syntaxError( ProxyErrorListener.java:41 ) at org.antlr.v4.runtime.Parser.notifyErrorListeners( Parser.java:543 ) at org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch( DefaultErrorStrategy.java:327 ) at org.antlr.v4.runtime.DefaultErrorStrategy.reportError( DefaultErrorStrategy.java:139 ) at org.hibernate.grammars.hql.HqlParser.statement( HqlParser.java:361 ) at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql( StandardHqlTranslator.java:127 ) at org.hibernate.query.hql.internal.StandardHqlTranslator.translate( StandardHqlTranslator.java:77 ) at org.hibernate.internal.AbstractSharedSessionContract.lambda$interpretHql$2( AbstractSharedSessionContract.java:744 ) at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation( QueryInterpretationCacheStandardImpl.java:141 ) at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation( QueryInterpretationCacheStandardImpl.java:128 ) at org.hibernate.internal.AbstractSharedSessionContract.interpretHql( AbstractSharedSessionContract.java:741 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:786 ) ... 90 more
안녕하세요 . 시리즈 01 첫 번째 게임을 풀고 있는 와중에 질문이 있어서 글을씁니다 시리즈 01 이니 가벼운 마음으로 수업을 듣고 있었는데요 수학 관련 영상 부터 맨붕이 왔습니다 ㅜ 어쨋든 이부분들을 그냥 코드만 따라 써서 "어 잘돌아가네 " 가 아닌 저의것으로 만들어서 다른게임을 만들때나 혹은 혼자서 만들때 활용할수있게 하고 싶습니다. 씨샵 강의도 다 들었는데 어려우니 빨리 제것으로 만들어보고싶습니다 . 어떤식으로 강의를 듣는게 좋을까요
public static MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables) { return MockMvcRequestBuilders.get(urlTemplate, urlVariables) .requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate); } 위의 코드는 RestDocumentationRequestBuilders의 get()입니다. Spring REST Docs2 - 요청, 응답필드의 9:27에서 하신 말씀 듣고 상속 관계이지 않을까하는 생각이 들었고 궁금해서 들어가보니 상속이 아닌 RestDocumentationRequestBuilders의 get()에서 내부적으로 MockMvcRequestBuilders의 get()를 호출해주더라구요. MockMvcRequestBuilders가 추상클래스지만 get()이 static으로 선언되어 있어 상속을 해도 오버라이드를 할 수 없기에 저런 식으로 만들었지 않았을까? 라고 추측을 해봤습니다. 그러면서 추가적으로 위의 클래스들이 추상클래스로 만들어져 있고 메소드가 전부 static으로 선언되어 있는 것에 대해 이유가 궁금했습니다. 추상클래스는 추상 메소드를 선언하고 상속을 하면서 오버라이드를 통한 다형성을 위해 사용한다고 알고 있었는데 여기서는 다른 목적과 방식으로 사용하고 있는 것처럼 보였기 때문입니다. 그래서 검색을 해봤지만 키워드를 잘못 선택했는지 명확하게 답을 찾지는 못했고, 추상 클래스와 스태틱 메소드에 대해 각각 찾아보면서 "객체 생성 제한과 메모리 이득 때문인가?" 라는 생각이 들더라구요. 하지만 추상클래스도 익명객체를 사용하면 객체 생성이 가능해지는 걸로 아는데 그래서인지RestDocumentationRequestBuilders는 생성자도 private으로 선언해 익명 객체로도 생성이 안되게 막아 놨지만 MockMvcRequestBuilders같은 경우는 생성자를 따로 막아 놓지 않아서 익명 객체로 생성이 가능하더라구요. 이렇게 차이를 두는 이유는 뭔가요?? 그리고 위의 클래스들처럼 선언한 이유도 궁금합니다.
안녕하세요, 시나리오 1(Autopsy) 내에서 아래 파일에 대한 해쉬값이 Autopsy에서 확인되지 않는 것을 알게됐습니다. 혹시 제가 설정을 잘못한 것일지요? 답안 파일에서는 해시값이 모두 기록되어 있어 확인차 문의드립니다. 신한은행_거래내역_E1235436844.xlsx
안녕하세요 소셜로그인 강의 듣다가 질문드립니다. 소셜로그인을 했을때 네트워크에는 쿠키가 들어오는데 어플리케이션에는 쿠키가 들어가지 않더라구요. 검색해보니 credential 문제인 것같아서 아래와 같이 추가 시켜줬는데도 안들어왔습니다. 밑에 @Get부분에도 추가시켜주려고 했는데 방법을 잘모르겠습니다. 어떻게 하면 쿠키가 들어오게 할 수있을까요??
args.connectedSocket을 socket으로 줄여쓰고 싶어서 이렇게 코드를 짜면 계속 disposed object 에러가 난다. 해결법 : socket변수를 따로 만들지 말고 루키스 선생님의 코드처럼 그냥 args에서 connectsocket을 가져와야된다. https://stackoverflow.com/questions/71450166/when-is-an-object-disposed-if-it-uses-using-and-it-is-being-used-in-a-few-meth 영어가 미숙해서 정확히 이해는 못했지만 { }를 나갔다가 오면 문제가 생기는 듯하다
22강 jpa 강의 보면서 따라했는데 오류가 나요 어떻게 고쳐야 할지 알려주세요 ㅠㅠ OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended java.lang.IllegalArgumentException: org.hibernate.query.sqm.ParsingException: line 1:14 mismatched input 'Member' expecting {<EOF>, ',', FROM, GROUP, ORDER, WHERE} at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:138 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:162 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:168 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:795 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:120 ) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) at java.base/java.lang.reflect.Method.invoke( Method.java:578 ) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) at jdk.proxy2/jdk.proxy2.$Proxy96.createQuery(Unknown Source) at hello.hellospring.repasitory.JpaMemberRepository.findByName( JpaMemberRepository.java:34 ) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) at java.base/java.lang.reflect.Method.invoke( Method.java:578 ) at org.springframework.aop.support .AopUtils.invokeJoinpointUsingReflection( AopUtils.java:343 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint( ReflectiveMethodInvocation.java:196 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:756 ) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation( TransactionInterceptor.java:123 ) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:391 ) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke( TransactionInterceptor.java:119 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:184 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:756 ) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) at hello.hellospring.repasitory.JpaMemberRepository$$SpringCGLIB$$0.findByName(<generated>) at hello.hellospring.service.MemberService.validateDuplicateMember( MemberService.java:36 ) at hello.hellospring.service.MemberService.join( MemberService.java:30 ) at hello.hellospring.service.MemberServiceIntegrationTest.회원가입( MemberServiceIntegrationTest.java:35 ) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) at java.base/java.lang.reflect.Method.invoke( Method.java:578 ) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:727 ) at org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:156 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:147 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:86 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( InterceptingExecutableInvoker.java:103 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0( InterceptingExecutableInvoker.java:93 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:92 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:86 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:217 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:213 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:138 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:68 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:147 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:127 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:90 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:55 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:102 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:54 ) 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 com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs( JUnit5IdeaTestRunner.java:57 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:232 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:55 ) Caused by: org.hibernate.query.sqm.ParsingException: line 1:14 mismatched input 'Member' expecting {<EOF>, ',', FROM, GROUP, ORDER, WHERE} at org.hibernate.query.hql.internal.StandardHqlTranslator$1.syntaxError( StandardHqlTranslator.java:46 ) at org.antlr.v4.runtime.ProxyErrorListener.syntaxError( ProxyErrorListener.java:41 ) at org.antlr.v4.runtime.Parser.notifyErrorListeners( Parser.java:543 ) at org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch( DefaultErrorStrategy.java:327 ) at org.antlr.v4.runtime.DefaultErrorStrategy.reportError( DefaultErrorStrategy.java:139 ) at org.hibernate.grammars.hql.HqlParser.statement( HqlParser.java:361 ) at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql( StandardHqlTranslator.java:127 ) at org.hibernate.query.hql.internal.StandardHqlTranslator.translate( StandardHqlTranslator.java:77 ) at org.hibernate.internal.AbstractSharedSessionContract.lambda$interpretHql$2( AbstractSharedSessionContract.java:744 ) at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation( QueryInterpretationCacheStandardImpl.java:141 ) at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation( QueryInterpretationCacheStandardImpl.java:128 ) at org.hibernate.internal.AbstractSharedSessionContract.interpretHql( AbstractSharedSessionContract.java:741 ) at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:786 ) ... 90 more
이 강의에 있는 소스코드를 조금 수정해서 제가 원하는 서비스를 구현하고 있어요 이 강의에선 상품 모델만 있지만, 상품에 대한 옵션이 있는 서비스이거든요 구체적으로 청소 서비스인데, 청소 옵션으로 "이불빨래, 30분 추가 청소, 등등..." 처음에는 옵션이라는 ,별도의 테이블을 만드는 것을 생각했는데 재사용성에 있어서 그렇게 멋지다는 생각이 안들었어요. 템플릿에서 조회할 때 옵션 테이블을 따로 조회하는 것보다는 product라는 것을 조회하면 그것에 딸린 옵션들을 조회하게끔 설계하고 싶었거든요 부모 class --> Product 자식 클래스 ---> CleanProduct, OptionProduct 이렇게 테이블을 구현하고 템플릿에서는 product = Product테이블 인스턴스 이렇게 한 뒤, if ( product==CleanProduct) then 청소 상품임 elif (product ==OptionsProduct) then 옵션 상품임 이렇게 하려고 했거든요. Abstract는 이럴 때 쓰는 건 아닌 것 같고 찾아보니 멀티테이블 상속으로 처리를 하더군요. 근데 그것은 오버로딩을 하려면 별도의 유틸을 설치하고 그런 곤란함이 있고... 위 관점이 객체지향적인 관점에선 바람직해보이지만 SQL 관점에선 없는 개념(?)이라 좀 거시기 했습니다. 그래서 아래처럼 구현을 했는데 이게 바람직한 방향인지 궁금합니다 //모델 class Category(models.Model): name = models.CharField(max_length=100, unique=True) class Product(models.Model): class Type(models.TextChoices): SERVICE = "s", "용역" OPTION = "o", "상품옵션" PRODUCT = "p", "실물상품" category = models.ForeignKey(Category, on_delete=models.CASCADE, db_constraint=False, related_name="product_set") related_product = models.ForeignKey("Product", on_delete=models.CASCADE, db_constraint=False, null=True, blank=True) type = models.CharField(choices=Type.choices, max_length=20, default="s") name = models.CharField(max_length=100, db_index=True) description = models.TextField(blank=True) price1 = models.PositiveIntegerField() # 0 포함 price2 = models.PositiveIntegerField() # 0 포함 photo = models.ImageField(upload_to="store/product/photo/%Y/%m/%d", null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class CartProduct(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, db_constraint=False, related_name="cart_product_set") product = models.ForeignKey(Product, on_delete=models.CASCADE, db_constraint=False) quantity = models.PositiveIntegerField( default=0) //뷰 def cart(request, pk): product = get_object_or_404(Product, pk=pk) option_qs= Product.objects.filter(related_product=product) context={"product":product, "option_qs":option_qs} return render(request, 'store/cart.html', context) //템플릿 {{ product }}<hr> {% for i in option_qs.all %} {{ i }}<br> {% endfor %} Product안에 타입이라는 필드를 넣었고, Product가 자기 자신을 외래키로 활용하게끔 했어요(related_product) 그래서 A라는 상품과 b,c,d라는 옵션이 있다면 (1)A라는 상품을 얻어온다 (2)A라는 상품을 외래키로 갖고 있는 Product를 얻어온다. 하기 위해서요. 제가 너무 복잡하고 이상하게 구현하고 있는 건 아닌 지 궁금해요. (1) 이렇게 외래키로 스스로를 참조해도 되는 것인지 (2) 멀티테이블 상속 방식으로 구현하는 게 나을 것인지? (3) 더 멋진 방법이 있는 지? (상품 옵션 테이블 설계 관점에서) 너무 세세한 것 까지 여쭤봐서 죄송합니다. 근데 진석님 아니면 물어볼 곳이 없어요 ㅠ.ㅠ
안녕하세요, 강사님 "댓글구현하기"편을 보던 중 기존 업무에서도 궁금했던 점이 생각나 질문 남깁니다. 예를들어 부모요소에서 하위요소에 post객체에 속한 id값 하나만 전달하고자 합니다. 그럴 때 <하위요소 post = {post}/> 와 <하위요소 postId = {post.id}/> 중에 어떤 방식을 선호하시나요? 단, 이때 자식요소에서 post의 id외에는 필요가 없습니다. 개인적으로는 다른 사람도 저의 코드를 보고 이해할때 '아! 이 자식 요소에서는 post의 id만 사용하는 구나' 딱 알수 있기 때문에 <하위요소 postId = {post.id}/> 가 더 좋을 것 같다 생각했습니다. 강사님의 의견 여쭤보고 싶습니다. 답변 기다리겠습니다. 감사합니다.
안녕하세요, 대전에서 아주 잘 듣고 있는 수강생입니다 ㅎ 템플릿에서 db에 뭔가 요청을 할 때 {% url '주소' id %} 이런식으로 요청하면 url에서 '주소'/<int:pk>로 넘어가서 view에서 def 주소(request, pk): a = get_object_or_404(Product, pk=pk) 이런식으로 조회를 하잖아요? 근데 우리가 모델에서 pk라는 필드를 정의한 적이 없는데 get object or 404 함수는 어떻게 pk인자를 받아서 id인자를 알아서 찾아오나요? 혹시나해서 모델에서 기본적으로 id 필드말고 pk 필드가 있는 지 봤는데 그런 것 같진 않더군요. primary key가 되는 필드를 알아서 매핑하는건가요? 아니면 제가 모르는 장고의 동작이 별도로 있나요?
안녕하세요. 멘토님. 강의를 듣다 보니 react 18이 아닌 17버전을 쓰는 이유가 궁금해져서 질문 드립니다. 18 버전을 사용하게 된다면 다른 라이브러리와 호환이 안되는 이슈가 생겨서 17버전을 쓰는 것일까요? 18버전을 쓸때 어떤 이슈가 생길 수 있는지 궁금해서 질문 드립니다..!
동일한 쓰레드 내에서 WriteLock을 잡은 상태에서 ReadLock도 잡을 수 있는 것은 이해를 했습니다. 그래서 한 쓰레드가 WriteLock도 잡고 ReadLock도 잡은 상태에서 WriteLock를 통해 데이터 수정을 한다면 ReadLock에서는 수정이 되기 전에 데이터를 읽게 되는 것이 아닌가요?? 예를 들면, WriteLock에서 잡은 데이터가 1이고 그 후에 ReadLock을 잡으면 Read부분에서는 1에 데이터를 읽는데 이 상태에서 WriteLock에서 1에 데이터를 2로 수정을 한다면 ReadLock에서 잡은 데이터가 2로 수정이 안되지 않나요??
warning과 함께 return1로 나옵니다. 어떻게 function address를 출력할 수 있을까요? compiler 문제같고 stackoverflow 찾아보니 매우 코드가 복잡해지던데 그런 방법들밖에 없겠죠?ㅠㅠ warning: address of function 'func' will always evaluate to 'true' [-Wpointer-bool-conversion] #include <iostream> using namespace std; int func() { return 5; } int main() { printf("%p \n", func); // 잘나옴 cout << func << endl; // 안나옴 return 0; }
두 사진에서 바닥으로 보이는 부분은 총 3개의 오브젝트로 이루어져있습니다. Scene화면에서 볼 때는 분명 첫번째 사진과 같은 틈이 없는데 Game화면으로 넘어가면 저렇게 틈이 벌어지더라구요. 이상한 점은 첫번째 사진과 두번째 사진 모두 바닥을 이루고 있는 오브젝트 사이의 간격은 동일합니다. 동일한 간격을 가지고 있는데 왜 어떤 경우엔 틈이 벌어진 것처럼 보이고 어떤 경우엔 문제없이 잘 붙어있는 것 처럼 보이는걸까요? 몇가지 실험을 해보니까 특정 좌표에서만 저렇게 틈이 벌어지고, Main Camera의 Size를 변경하면 틈이 벌어지는 좌표도 바뀝니다.