묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
주문 내역 조회 관련하여 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다른건 다 잘 동작하는데 주문 내역 조회를 하면Whitelabel Error PageThis application has no configured error view, so you are seeing this as a fallback.Thu Feb 09 17:10:38 KST 2023[80f6a090-2] There was an unexpected error (type=Internal Server Error, status=500).An error happened during template parsing (template: "class path resource [templates/order/orderList.html]")org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Error has been observed at the following site(s): checkpoint ⇢ Handler jpaBook.jpaShop.controller.OrderController#orderList(OrderSearch, Model) [DispatcherHandler] checkpoint ⇢ HTTP GET "/orders" [ExceptionHandlingWebHandler] Original Stack Trace: at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:666) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.SpringWebFluxTemplateEngine.lambda$createFullStream$0(SpringWebFluxTemplateEngine.java:198) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:58) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:236) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.MonoWhen$WhenCoordinator.signal(MonoWhen.java:211) at reactor.core.publisher.MonoWhen$WhenInner.onComplete(MonoWhen.java:427) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1840) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "item.member.name" (template: "order/orderList" - line 45, col 21) at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:393) at org.attoparser.MarkupParser.parse(MarkupParser.java:257) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:666) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.SpringWebFluxTemplateEngine.lambda$createFullStream$0(SpringWebFluxTemplateEngine.java:198) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:58) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:236) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.MonoWhen$WhenCoordinator.signal(MonoWhen.java:211) at reactor.core.publisher.MonoWhen$WhenInner.onComplete(MonoWhen.java:427) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1840) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "item.member.name" (template: "order/orderList" - line 45, col 21) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:292) at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression(VariableExpression.java:166) at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:66) at org.thymeleaf.standard.expression.Expression.execute(Expression.java:109) at org.thymeleaf.standard.expression.Expression.execute(Expression.java:138) at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess(AbstractStandardExpressionAttributeTagProcessor.java:144) at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) at org.thymeleaf.engine.ProcessorTemplateHandler.handleOpenElement(ProcessorTemplateHandler.java:1314) at org.thymeleaf.engine.OpenElementTag.beHandled(OpenElementTag.java:205) at org.thymeleaf.engine.Model.process(Model.java:282) at org.thymeleaf.engine.Model.process(Model.java:290) at org.thymeleaf.engine.IteratedGatheringModelProcessable.processIterationModel(IteratedGatheringModelProcessable.java:368) at org.thymeleaf.engine.IteratedGatheringModelProcessable.process(IteratedGatheringModelProcessable.java:222) at org.thymeleaf.engine.ProcessorTemplateHandler.handleCloseElement(ProcessorTemplateHandler.java:1640) at org.thymeleaf.engine.TemplateHandlerAdapterMarkupHandler.handleCloseElementEnd(TemplateHandlerAdapterMarkupHandler.java:388) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler$InlineMarkupAdapterPreProcessorHandler.handleCloseElementEnd(InlinedOutputExpressionMarkupHandler.java:322) at org.thymeleaf.standard.inline.OutputExpressionInlinePreProcessorHandler.handleCloseElementEnd(OutputExpressionInlinePreProcessorHandler.java:220) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler.handleCloseElementEnd(InlinedOutputExpressionMarkupHandler.java:164) at org.attoparser.HtmlElement.handleCloseElementEnd(HtmlElement.java:169) at org.attoparser.HtmlMarkupHandler.handleCloseElementEnd(HtmlMarkupHandler.java:412) at org.attoparser.MarkupEventProcessorHandler.handleCloseElementEnd(MarkupEventProcessorHandler.java:473) at org.attoparser.ParsingElementMarkupUtil.parseCloseElement(ParsingElementMarkupUtil.java:201) at org.attoparser.MarkupParser.parseBuffer(MarkupParser.java:725) at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:301) ... 32 more Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1021E: A problem occurred whilst attempting to access the property 'name': 'Unable to access property 'name' through getter method' at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:209) at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:104) at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.getValue(PropertyOrFieldReference.java:405) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:92) at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:112) at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:338) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:265) ... 57 more Caused by: org.springframework.expression.AccessException: Unable to access property 'name' through getter method at org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor.read(ReflectivePropertyAccessor.java:685) at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:204) ... 63 more Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119) at java.base/java.lang.reflect.Method.invoke(Method.java:577) at org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor.read(ReflectivePropertyAccessor.java:681) ... 64 more Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [jpaBook.jpaShop.domain.Member#1] - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:164) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:309) at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:44) at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:102) at jpaBook.jpaShop.domain.Member$HibernateProxy$qF4ptgCa.getName(Unknown Source) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ... 66 more이러한 오류가 뜹니다.orderList.html 에서 item.member.name에 접근하려다가 오류가 나는 것 같은데 잘 모르겠어서 질문드립니다.
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
WinSCP 연결 에러
"PM2를 활용한 무중단 배포"까지 진행하고 인스턴스는 현재 실행 중입니다.이 상태를 모르고 로컬에서 VSCode로 node index.js명령을 실행했습니다.그 후에 인스턴스를 중지할려고 WinSCP를 접속할려고 하는데 연결이 계속 거부되고 있습니다.. 서브에 연결할 수 있는 다른 방법은 없을까요?일시적인 현상인 줄 알고 몇 일 기다렸다가 다시 시도해도 연결이 안됩니다,,
-
해결됨홍정모의 따라하며 배우는 C++
int getvalue() const에서 const는 왜 뒤에 붙는건가요?
안녕하세요!본 강의에서 attribute에 const를 사용할 때 제일 뒤에 const를 붙이셨잖아요. 다른데서는 const가 다 앞에 붙는데 attribute에만 뒤에 붙이는 이유가 따로 있을까요?
-
해결됨홍정모의 따라하며 배우는 C++
const Something &st에서 const를 빼면 안되나요?
안녕하세요!수업시간 11분 20초에서요.void print(const Something &st)에서 const와 &를 넣는 이유가 instance를 복사하지 않고 referance로 가져와서 사용하기 위한 것이고 그렇게 하면 main에 만들어진 instance와 print 함수 안에 사용되어진 instance가 주소가 같다고 설명해주셨잖아요.그런데 이렇게 &를 사용하는거면 앞에 const가 없어도 되지 않나요? 여기에 const가 들어가는 이유는 뭔가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
인텔리제이 에러 Syntax error in SQL statement 도와주세요.
안녕하세요. 최태현 강사님. 설명도 친절하게 잘 해주셔서 재밌게 따라가고 있는데 실습하려고 실행시켜보니까 이런 에러가 뜹니다. 어떻게 해결해야하는지 잘 모르겠어요ㅠㅠㅠ도와주세요.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
bts앱 가상실행기 작동이 않됩니다.
코드작성을 완료했는데 우측상단에 paly버튼 활성화가 않됩니다.
-
미해결따라하며 배우는 NestJS
강의자료 다운로드 관련
안녕하세요! 강의 잘 듣고 있는 수강생입니다.강의자료 다운 받으면 pdf, xml 모두 폴더가 비어 있습니다.(DS_store 파일만 있어서요..)혹시 제가 모르는 부분이 있으면 알려주시면 감사하겠습니다!
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
34강 얕은 복사 깊은 복사 관련 문의
안녕하세요 34강에서 Assignment, Shallow Copy, Deep Copy 강좌의 마지막 부분에 링크를 통해 블록도로 설명해주신 부분이 쉽게 이해가 됐는데요. 관련 링크 좀 공유해주실 수 있을까요?
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
Unit
고차함수 강의에서 Unit이 짧게 나왔는데Unit은 아무것도 리턴하지 않는다 라는 의미라고 설명해주셨는데 무슨 뜻인지 와닿지가 않습니다ㅠㅠ개발자 스타일에 따라서 Unit을 사용할 수도 있으니까 당황하지 말라고 알려주신다고 하셨는데 간단한 예시인fun test1() : Unit { println("abc")}에서는 fun test1() { println("abc")}처럼 Unit을 생략해도 오류가 나지 않는데 fun highPrintTest(operation : (String) -> Unit) { operation("bbb")여기서는 fun highPrintTest(operation : (String)) { operation("bbb")이렇게 Unit을 생략하면 오류가 나는 것 같은데 여기선 Unit이 꼭 필요한 생략할 수가 없는 상황인가요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
bts 3번그림 튕김
MainActivity3번 layoutmainlayout 이렇게 코드 작성했는데 이상하게 3번그림만 누르면 토스트는 되는데 인텐트할때 3번 화면이 아니라 바탕화면으로 튕기면서 저렇게 됩니다 ㅠㅠ
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
parquet read시 partition 개수
안녕하세요parquet을 read할때, 파티션 개수는 저장할때의 partition으로 고정될까요??parquet을 read 할때 partiton 1개당 size가 너무 커서, partiton 개수를 늘려서 read 하고 싶습니다. 혹시 방법이 있을까용? 감사합니다.
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
안녕하세요
안녕하세요 궁금한 점이 있어 질문 드립니다.아래 두 코드가 있는데 둘 다 알수 없는 구조의 객체를 매개변수로 받는 함수입니다.첫번째는 매개변수의 값을 인덱스드 시그니처로 받았고 두번째는 객체 타입 그 자체로 받았습니다.첫번째 코드는 문제없이 통과 되고 두번째 코드는 o[key] 부분에 오류가 나는데 에러 내용을 봐도 잘 모르겠어서 질문 드립니다.제가 이해한건 object가 {}라고 하셨는데 {}는 전체타입(집합?)에서 null과 undefined를 제외한 나머지를 말한다 하셨습니다. 이때 object는 객체 뿐 아니라 문자열이나 숫자가 될수도 있기 때문에 에러가 난다 생각했습니다.다른 글을 보니 코드에서 에러가 발생한 이유는 string literal 타입만 허용되는 곳에 string 타입을 사용했기 때문이라는데 object의 키는 문자열 리터럴 타입인데 반복문을 도는 key는 스트링 타입이라 그런건가요?마지막으로 string으로 {}를 인덱싱 할수 없는데 왜 any 타입을 가지는 건지도 궁금합니다.감사합니다!function hasTwelveLetterKey(o: { [key: string]: any }) { for (const key in o) { if (key.length === 12) { return true; } } return false; }function hasTwelveLetterKey(o: object) { for (const key in o) { if (key.length === 12) { console.log(key, o); console.log(key, o[key]); // Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}' // No index signature with a parameter of type 'string' was found on type '{}'. return true; } } return false; }
-
미해결코딩테스트 [ ALL IN ONE ]
동적배열 8:23
안녕하세요. 그림부분에서 이해가 가지않아 질문 드립니다.a =[1,2,3] 으로 초기화를하면 array는 0,1,2 즉 배열 그림이 3칸([][][])만 있어야 하는게 아닌가요? 하지만 강의의 그림에서는 [1][2][3][][] 으로 0,1,2,3,4 까지 그려져 있습니다. (size가 3인데 말이죠)a.append(4) 를 했을때, 동적배열은 array로 구현이 돼어있기때문에 random access 가 가능하여 마지막 index를 찾을 수 있다고 하셨는데, 선언및 초기화a = [1,2,3] // 그림 -> [1][2][3]접근 a[0] // O(1) 수정 a[1] = 9 // 그림 [1],[9],[3]추가 a.append(4) // 이때 Resizing 이 일어나/* 그림 [1][9][3] // 값을 옮긴 후 삭제[1][9][3][4][][] // 복잡도 O(n) */의 모양이 돼야하는게 아닌가요?즉, 궁굼한 점은 선언 및 초기화 할때 배열의 size 는 3인데그림의 배열 size는 [][][][][] 5칸이냐는 것입니다.
-
미해결홍정모의 따라하며 배우는 C++
friend함수는 다른 클래스의 멤버함수로 쓸 수 없나요??
#include <iostream> #include <string> using namespace std; class Friend1 { private: string name; friend void Friend2::set_name(Friend1& f, string s); friend void Friend2::show_name(Friend1& f); }; class Friend2 { public: void set_name(Friend1& f, string s) { f.name = s; } void show_name(Friend1& f) { cout << f.name << endl; } }; int main(void) { Friend1 f1; Friend2 f2; f2.set_name(f1, "abc"); f2.show_name(f1); return 0; }Friend2 의 멤버함수인 set_name과 show_name을 클래스 Friend1에 friend선언을 해 주려 합니다. 하지만 private한 name 변수에 접근할 수 없다는 이유로 작동하지 않습니다.이런 구조로 코드를 작성하는 방법은 없을까요? 아니면 전역함수만 friend 선언이 가능한 걸 까요?
-
미해결
넥서스에 대해 공부하고 싶습니다.
회사에서 넥서스를 사용하는데 하나도 모르겠습니다.혹시 넥서스 관련 강좌가 있을까요?없다면 어떤 방식으로 공부해야할지 궁금해서 문의 남깁니다.
-
해결됨배달앱 클론코딩 [with React Native]
패키지명 변경 시 오류
안녕하세요.현재 패키지명을 바꾸려고 하고 있는데 다른 파일들은 다 있는 buck 파일이 없어서 패키지명을 바꾸는데 애를 먹고 있습니다. 혹시 buck 파일이 없는 이유를 아실까요? 처음부터 보면서 따라갔고 다시 돌려보았으나 혹시 제가 놓친 부분이 있어서 그러한 것인지 알고 싶습니다.
-
미해결스프링 핵심 원리 - 기본편
빈 이름으로 조회 테스트 관련 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]빈 이름으로 조회하는 test를 작성할 때 강사님께서 "memberService가 MemberServiceImpl의 인스턴스 이면 성공" 이라고 하셨는데1. AppConfig의 memberService 메소드가 실행되고 반환된 MemberServiceImpl이 memberService 객체에 저장됨그러므로 memberService가 MemberServiceImpl의 인스턴스임 성공의 의미가 맞을까요?아니면 AppConfig의 memberService 메소드가 MemberServiceImpl의 인스턴스라는 걸까요..? 이건 말이 안 된다고 생각해서요..
-
미해결Slack 클론 코딩[실시간 채팅 with React]
dist 폴더 안에 js파일 네임이 달라요
6:00 에 dist 파일이제 파일이랑 구조가 다른데 따로 설정을 해주신건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
dto에서 strip 사용방법
RequestDto로 데이터를 받을 때 strip을 사용해서 공백제거를 하고싶은데Dto에서 setter를 사용해도 strip적용이 안되네요ㅜㅜ좋은방법알려주세요
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
저번에 이어 질문드립니다.
강의 잘보고 있습니다. ThreeJS 관련해서는 이강좌 만한게 없네요^^ 저번에 ThreeJS를 이용한 그래프만들기를 문의 했습니다. https://www.inflearn.com/questions/499689/%EA%B0%95%EC%9D%98-%EB%84%88%EB%AC%B4-%EC%9E%98%EB%93%A3%EA%B3%A0-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 제가 구성해야할 Bar가 256*60개여서 해당부분으로 해보니 프레임이 너무 안나와서 geometry를 합쳐서 하나의 mesh로 구성해 보았습니다. let geometrys = []; class Bar { constructor(info = {}) { this.container = info.container; this.value = info.value || 0; const heightValue = (this.value / maxValue) * maxBarHeight; this.x = info.x || 0; this.y = heightValue / 2; this.z = info.z || 0; const geometry = new THREE.BoxGeometry(1, 1, 1); originHelper.position.set(this.x, this.y, this.z); originHelper.scale.set(1, heightValue, 4); originHelper.updateMatrixWorld(true, false); geometry.applyMatrix4(originHelper.matrixWorld); geometrys.push(geometry); } } for (let i = 0; i < 256 * 60; i++) { const value = Math.random() * 255; new Bar({ value, x: (i % 255) * barDistance + 1, y: 0, z: parseInt(i / 256) * 4, }); } // 생성한 geometry를 전부 합침 let mergedGeometry = mergeBufferGeometries(geometrys, false); let mesh = new THREE.Mesh(mergedGeometry, basicMaterial); scene.add(mesh); // 그리기 const clock = new THREE.Clock(); function draw() { /////////////////////////////////////// for (let i = 0; i < 256 * 60; i++) { const value = Math.random() * 255; const heightValue = (value / maxValue) * maxBarHeight; const y = heightValue / 2; originHelper.position.set( (i % 255) * barDistance + 1, y, parseInt(i / 256) * 4 ); originHelper.scale.set(1, heightValue, 4); originHelper.updateMatrixWorld(true, false); geometrys[i].applyMatrix4(originHelper.matrixWorld); } renderer.render(scene, camera); renderer.setAnimationLoop(draw); // requestAnimationFrame(draw); }이렇게 구성해보고 프레임마다 난수를 발생해서 그래프가 갱신하게 구성하고 싶은데 mesh와 다르게 geometry의 matrix를 업데이트 해도 변하지가 않습니다. 혹시 해당부분을 해결할 방법이 있나요?