vscode 터미널에 index.js 콘솔을 출력하려고 따라 작성했는데 node : 'node' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인 식되지 않습니 다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십 시오. 위치 줄:1 문자:1 + node index.js + ~~~~ + CategoryInfo : ObjectNotFound: (node:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 이런 오류가 나면서 콘솔이 나타나지 않는데 이유 알 수 있을까요?
with temp_01 as ( select a.sess_id, a.page _path, hit_seq, hit_time , lead(hit_time) over (partition by a.sess_id order by hit_seq) as next_hit_time , row_number() over (partition by a.sess_id, page_path order by hit_seq) as rnum from ga.ga _sess_hits a join ga_sess b on a.sess_id = b.sess_id where visit_stime >= (:current_date - interval '30 days') and visit_stime < :current_date and a.hit_type = 'PAGE' ) select page_path,count(*) as page_cnt , count(case when rnum = 1 then '1' else null end) as unique_page_cnt , round(avg(next_hit_time - hit_time)/1000.0, 2) as avg_elapsed_sec from temp_01 group by page_path order by 2 desc; >강의에서 설명한 위의 코드를 아래의 코드로 사용해도 괜찮을까요? 순페이지 조회수 구할 때 row_number로 안하고 distinct sess_id로 해도 괜찮을까요? with temp_01 as ( select a.sess_id, a.page _path, hit_seq, hit_time , lead(hit_time) over (partition by a.sess_id order by hit_seq) as next_hit_time from ga.ga _sess_hits a join ga_sess b on a.sess_id = b.sess_id where visit_stime >= (:current_date - interval '30 days') and visit_stime < :current_date and a.hit_type = 'PAGE' ) select page_path,count(*) as page_cnt , count( distinct sess_id) as unique_page_cnt , round(avg(next_hit_time - hit_time)/1000.0, 2) as avg_elapsed_sec from temp_01 group by page_path order by 2 desc;
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 듣다가 의문점이 생겨서 질문 드립니다. ClientBean에 이미 로직을 실행해서 prototypeBean을 생성하고 나중에 로직을 한번 더 실행할때 Provider에서 prototypeBean으로 불러오는 것과 Logic() 메서드에서 getBean()으로 prototypeBean 불러오는것 둘다 ClientBean에 있는 기존의 prototypeBean을 스프링에서 새로운 prototypeBean을 생성해서 기존꺼를 덮어쓴다고 이해하면 맞을까요?? 제가 나름대로 테스트해본결과 로직을 실행 시킬때마다 ClientBean이 가지고 있던 prototypeBean의 객체 주소값이 달라져서 제가 이해 한 내용이 맞는지 궁금합니다.
gradle 세팅부터 잘못된 점이 없다고 생각하는데 해당 에러가 계속 발생하네요. bulid.gradle 정보 : plugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } test { useJUnitPlatform() } 에러 내용 : [chris@ChrisJangui-MacBookAir jpashop % ./gradlew clean bulid --stacktrace FAILURE: Build failed with an exception. * What went wrong: Task 'bulid' not found in root project 'jpashop'. Some candidates are: 'build'. * Try: > Run gradlew tasks to get a list of available tasks. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Exception is: org.gradle.execution.TaskSelectionException: Task 'bulid' not found in root project 'jpashop'. Some candidates are: 'build'. at org.gradle.execution.DefaultTaskSelector.getSelection( DefaultTaskSelector.java:86 ) at org.gradle.execution.selection.DefaultBuildTaskSelector.resolveTaskName( DefaultBuildTaskSelector.java:97 ) at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks( CommandLineTaskParser.java:49 ) at org.gradle.execution.TaskNameResolvingBuildTaskScheduler.scheduleRequestedTasks( TaskNameResolvingBuildTaskScheduler.java:50 ) at org.gradle.execution.DefaultTasksBuildTaskScheduler.scheduleRequestedTasks( DefaultTasksBuildTaskScheduler.java:72 ) at org.gradle.initialization.DefaultTaskExecutionPreparer.lambda$scheduleRequestedTasks$0( DefaultTaskExecutionPreparer.java:46 ) at org.gradle.internal.Factories$1.create( Factories.java:31 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withReplacedLocks( DefaultWorkerLeaseService.java:345 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects( DefaultProjectStateRegistry.java:205 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects( DefaultProjectStateRegistry.java:198 ) at org.gradle.initialization.DefaultTaskExecutionPreparer.scheduleRequestedTasks( DefaultTaskExecutionPreparer.java:45 ) at org.gradle.initialization.VintageBuildModelController.lambda$scheduleRequestedTasks$0( VintageBuildModelController.java:76 ) at org.gradle.internal.model.StateTransitionController.lambda$inState$1( StateTransitionController.java:110 ) at org.gradle.internal.model.StateTransitionController.lambda$inState$2( StateTransitionController.java:125 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.inState( StateTransitionController.java:121 ) at org.gradle.internal.model.StateTransitionController.inState( StateTransitionController.java:109 ) at org.gradle.initialization.VintageBuildModelController.scheduleRequestedTasks( VintageBuildModelController.java:76 ) at org.gradle.internal.build .DefaultBuildLifecycleController$DefaultWorkGraphBuilder.addRequestedTasks( DefaultBuildLifecycleController.java:255 ) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$0( DefaultBuildTreeWorkPreparer.java:38 ) at org.gradle.internal.build .DefaultBuildLifecycleController.lambda$populateWorkGraph$3( DefaultBuildLifecycleController.java:143 ) at org.gradle.internal.build .DefaultBuildWorkPreparer.populateWorkGraph( DefaultBuildWorkPreparer.java:42 ) at org.gradle.internal.build .BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph( BuildOperationFiringBuildWorkPreparer.java:120 ) at org.gradle.internal.build .BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run( BuildOperationFiringBuildWorkPreparer.java:91 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.internal.build .BuildOperationFiringBuildWorkPreparer.populateWorkGraph( BuildOperationFiringBuildWorkPreparer.java:68 ) at org.gradle.internal.build .DefaultBuildLifecycleController.lambda$populateWorkGraph$4( DefaultBuildLifecycleController.java:143 ) at org.gradle.internal.model.StateTransitionController.lambda$inState$1( StateTransitionController.java:110 ) at org.gradle.internal.model.StateTransitionController.lambda$inState$2( StateTransitionController.java:125 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.inState( StateTransitionController.java:121 ) at org.gradle.internal.model.StateTransitionController.inState( StateTransitionController.java:109 ) at org.gradle.internal.build .DefaultBuildLifecycleController.populateWorkGraph( DefaultBuildLifecycleController.java:143 ) at org.gradle.internal.build .DefaultBuildWorkGraphController$DefaultBuildWorkGraph.populateWorkGraph( DefaultBuildWorkGraphController.java:148 ) at org.gradle.composite.internal.DefaultBuildController.populateWorkGraph( DefaultBuildController.java:73 ) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraphBuilder.withWorkGraph( DefaultIncludedBuildTaskGraph.java:150 ) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$1( DefaultBuildTreeWorkPreparer.java:38 ) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run( DefaultIncludedBuildTaskGraph.java:197 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork( DefaultIncludedBuildTaskGraph.java:192 ) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks( DefaultBuildTreeWorkPreparer.java:37 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$doScheduleAndRunTasks$3( DefaultBuildTreeLifecycleController.java:96 ) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph( DefaultIncludedBuildTaskGraph.java:109 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.doScheduleAndRunTasks( DefaultBuildTreeLifecycleController.java:95 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$scheduleAndRunTasks$1( DefaultBuildTreeLifecycleController.java:76 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$5( DefaultBuildTreeLifecycleController.java:113 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$5( StateTransitionController.java:166 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$6( StateTransitionController.java:166 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.transition( StateTransitionController.java:166 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild( DefaultBuildTreeLifecycleController.java:110 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks( DefaultBuildTreeLifecycleController.java:76 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks( DefaultBuildTreeLifecycleController.java:71 ) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run ( ExecuteBuildActionRunner.java:31 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run ( ProblemReportingBuildActionRunner.java:49 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:65 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:136 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:122 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute( DefaultBuildTreeContext.java:40 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:61 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:204 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:53 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:73 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:249 ) at org.gradle.internal.work .DefaultWorkerLeaseService.runAsWorkerThread( DefaultWorkerLeaseService.java:109 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute( ContinuousBuildActionExecutor.java:110 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute( SubscribableBuildActionExecutor.java:64 ) at org.gradle.internal.session.DefaultBuildSessionContext.execute( DefaultBuildSessionContext.java:46 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:100 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:88 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:69 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:62 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:63 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:52 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:40 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:47 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:31 ) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild( ExecuteBuild.java:65 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute( WatchForDisconnection.java:39 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute( ResetDeprecationLogger.java:29 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute( RequestStopIfSingleUsedDaemon.java:35 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:78 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:75 ) at org.gradle.util.internal.Swapper.swap( Swapper.java:38 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute( ForwardClientInput.java:75 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute( LogAndCheckHealth.java:55 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild( LogToClient.java:63 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild( EstablishBuildEnvironment.java:84 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run( StartBuildOrRespondWithBusy.java:52 ) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run( DaemonStateCoordinator.java:297 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:49 ) * Get more help at https://help.gradle.org BUILD FAILED in 1s
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 질문들 찾아봤는데 안나와서 직접 질문올립니다!! 현재 순수 JDBC 강의를 보고있는데 강의자료를 보면 JdbcMemberRepository에 JdbcTemplateMemberRepository에 대한 내용이 없는데 springconfig파일에 JdbcTemplateMemberRepository을 import하라고 나와있는데 import에서 계속 오류가 납니다! gradle 리프레쉬도 했는데 안되는데 import문을 삭제해도 정상적으로 돌아가는건가요?
안녕하세요. 강의 수강하기 전에 VM 설치하려고 합니다. 처음에 강사님께서 적어놓으신 ip로 설정했는데 yum 업데이트에서 문제가 발생하여 찾다보니 본인의 환경에 맞게 ip를 설정해야 한다는 것을 알게 되었습니다. 하지만 /etc/sysconfig/network-scripts/ifcfg-enp0s3에 있는 IPADDR와 GATEWAY값을 이더넷과 wifi에 명시되어있는 ip에서 맨 뒤만 각각 30과 0으로 설정하였는데 ping 8.8.8.8에서 network is unreachable 에러가 발생합니다. 현재는 가상머신을 삭제하고 처음부터 다시 설치하고자 하고 있습니다. 혹시 이에 대한 간략한 설명과 ip를 어떻게 설정해야 하는지 도와주셨으면 합니다.
안녕하세요 영한님! memberId 를 간접 참고 하도록 설정한 후 조회 기능을 구현하다가 궁금증이 생겼습니다. 글 (Article) 과 댓글 (Comment) 은 양방향 연관관계로 설정되어 있는 상태이고, Member 는 Article 과 Comment 에 각각 Long createdBy 에 memberId 가 들어가도록 간접 참조로 설정 되어있는 상황인데요. 영한님께 배운 방식을 적용해보자면, Article 과 Comment 를 엔티티로 조회하고, Member 도 createdBy 의 id 값을 in 으로 조회해서 값을 Article 과 Comment 에 넣어주는 방식 join 을 이용하여 dto 로 조회하는 방식 이렇게 두 가지 경우가 있을 것 같은데요. 영한님께서는 간접 참고의 값을 조회해야 하는 경우에 두 가지 방식 중 어떤 방식을 더 선호하시는지 궁금합니다! 밑은 코드 첨부입니다. 아래와 같이 response 를 보내주고 싶습니다. { "article_id": 1, "title": "JPA 질문", "content": "조회 쿼리 질문입니다", "creatorEmail": "jpa", "creatorName": "noob", "comments": [ { "content": "첫 번째 댓글", "creatorEmail": "q1", "creatorName": "questioner1" }, { "content": "두 번째 댓글", "creatorEmail": "q2", "creatorName": "questioner2" } ] }
Vector<WSABUF> wsaBufs; wsaBufs.reserve(_sendEvent.sendBuffers.size()); for (SendBufferRef sendBuffer : _sendEvent.sendBuffers) { WSABUF wsaBuf; wsaBuf.buf = reinterpret_cast<char*>(sendBuffer->Buffer()); wsaBuf.len = static_cast<LONG>(sendBuffer->WriteSize()); wsaBufs.push_back(wsaBuf); } 강의의 코드는 위와 같이 작성되어 있습니다. 이렇게 할 경우 wsaBufs.push_back(wsaBuf) 가 복사 연산으로 수행되는 건가요? 만약 그렇다면 복사 연산을 거치지 않고 바로 객체를 벡터에 넣을 수 있는 방법은 없을까요?