묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
0:25 콘솔 앱 프로젝트가 없는데 어떡하나요?
강의에 나온 콘솔 앱(.NET Framework) 템플릿이 없는데 어떻게 해야하나요?
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
기타 질문
범위에서 벗어나는 질문이나 제가 이곳에서 프로그래밍을 처음으로 제대로 배우기 시작했고 강사님 만큼 쉽게 설명하는 분이 없어 실례를 무릅쓰고 물어봅니다. 1. apk로 빌드하게 되면 실제 서비스에서는 apk로 되는 앱 과 서버가 데이터를 주고 받는 모습으로 게임이 운영되나요? 2. 함수형 프로그래밍이라는 것의 개념을 처음 들었는데 이 방식으로 하면 무엇이 좋고 나쁜가요? c#도 함수형 프로그램의 요소가 있나요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
도커 이미지
도커 이미지라는 것의 개념이 잘 안서는데 이미지가 파일형태로 존재할까요 아니면 이것은 일종의 폴더 안에 내용 전체를 말하는 것일까요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
클라이언트 서버 폴더
환경준비 시간에 서버 폴더는 게임서버에 들어가는 것이라고 언급하셨는데 그러면 클라이언트 폴더는 별도의 서버로 들어가나요? 이런 서버를 무엇이라고 부르나요? 구조 질문 드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
client폴더 vs server 폴더
환경준비 부분에서 server는 게임서버 부분이라고 설명주셨는데요 그러면 client 폴더는 다른 별도의 서버로 가게 되나요? 그 서버는 보통 무엇이라고 부르나요? 감사합니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
webpack-dev-server 핫리로딩 관련 질문입니다.
안녕하세요 저도 CRA로 무작정 만드는 것 보다는 한번쯤은 실제로 만들어보면서 에러도 만나보고 구글링해서 해결해보는 경험을 쌓는 것이 정말 중요하다고 생각합니다. 그래서 실제로 따라해보면서 build까지는 완료했는데 마지막에 문제가 생겨서 질문을 드립니다. 일단 bulid는 정상적으로 동작합니다. 핫리로딩을 적용하려고 해보니까 실행은 정상적으로 되는데 404오류가 떠서 질문드립니다. ( devMiddleware: { publicPath: '/dist/' }는 실행은 되는데 404오류 ) (publicPath: "/dist/"는 실행 자체에서 문제 ) http://localhost:3090, http://localhost:3090/dist 등 해볼만한건 다 해봐도 아무 파일을 받아오지 못하는데 뭐때문일까요...? index.html의 <script>도 /dist/app.js 랑 ./dist/app.js모두 실행해봤고, 다른 설정파일들은 모두 setting에 있던 파일들을 그대로 복사해서 붙여넣었기때문에 오타는 없습니다. package.json { "name": "sleact-front", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack-config.json\" webpack", "dev": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack-config.json\" webpack serve --env development" }, "author": "1-blue", "license": "ISC", "dependencies": { "@types/react": "^17.0.27", "@types/react-dom": "^17.0.9", "cross-env": "^7.0.3", "react": "^17.0.2", "react-dom": "^17.0.2", "typescript": "^4.4.3" }, "devDependencies": { "@babel/core": "^7.15.8", "@babel/preset-env": "^7.15.8", "@babel/preset-react": "^7.14.5", "@babel/preset-typescript": "^7.15.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1", "@types/node": "^16.10.3", "@types/webpack": "^5.28.0", "@types/webpack-dev-server": "^4.3.1", "babel-loader": "^8.2.2", "css-loader": "^6.3.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "fork-ts-checker-webpack-plugin": "^6.3.4", "prettier": "^2.4.1", "react-refresh": "^0.10.0", "style-loader": "^3.3.0", "ts-node": "^10.2.1", "webpack": "^5.58.1", "webpack-cli": "^4.9.0", "webpack-dev-server": "^4.3.1" } } 아래는 webpack.config.ts 파일내용입니다. import path from 'path'; import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin'; import webpack, { Configuration as WebpackConfiguration } from "webpack"; import { Configuration as WebpackDevServerConfiguration } from "webpack-dev-server"; import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin"; interface Configuration extends WebpackConfiguration { devServer?: WebpackDevServerConfiguration; } const isDevelopment = process.env.NODE_ENV !== 'production'; const config: Configuration = { name: 'sleact', mode: isDevelopment ? 'development' : 'production', devtool: isDevelopment ? 'hidden-source-map' : 'inline-source-map', resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], alias: { '@hooks': path.resolve(__dirname, 'hooks'), '@components': path.resolve(__dirname, 'components'), '@layouts': path.resolve(__dirname, 'layouts'), '@pages': path.resolve(__dirname, 'pages'), '@utils': path.resolve(__dirname, 'utils'), '@typings': path.resolve(__dirname, 'typings'), }, }, entry: { app: './client', }, module: { rules: [ { test: /\.tsx?$/, loader: 'babel-loader', options: { presets: [ [ '@babel/preset-env', { targets: { browsers: ['last 2 chrome versions'] }, debug: isDevelopment, }, ], '@babel/preset-react', '@babel/preset-typescript', ], env: { development: { plugins: [require.resolve('react-refresh/babel')], }, }, }, exclude: path.join(__dirname, 'node_modules'), }, { test: /\.css?$/, use: ['style-loader', 'css-loader'], }, ], }, plugins: [ new ForkTsCheckerWebpackPlugin({ async: false, // eslint: { // files: "./src/**/*", // }, }), new webpack.EnvironmentPlugin({ NODE_ENV: isDevelopment ? 'development' : 'production' }), ], output: { path: path.join(__dirname, 'dist'), filename: '[name].js', publicPath: '/dist/', }, devServer: { historyApiFallback: true, port: 3090, // devMiddleware: { publicPath: '/dist/' }, // 이거는 실행은 되는데 404오류입니다... publicPath: '/dist/', // 여기서 오류 ( 아래는 오류 문구입니다. ) /** * '{ historyApiFallback: true; port: number; publicPath: string; }' 형식은 'Configuration' 형식에 할당할 수 없습니다. * 개체 리터럴은 알려진 속성만 지정할 수 있으며 'Configuration' 형식에 'publicPath'이(가) 없습니다.ts(2322) */ }, }; if (isDevelopment && config.plugins) { config.plugins.push(new webpack.HotModuleReplacementPlugin()); config.plugins.push(new ReactRefreshWebpackPlugin({ overlay: { useURLPolyfill: true } })); } if (!isDevelopment && config.plugins) { } export default config;
-
미해결Slack 클론 코딩[실시간 채팅 with React]
webpack 설정 질문있습니다!
devMiddleware 1.해당 설정은 버전이 올라가면서 바뀐 거 같은데 해석을 읽어봐도 이해가 잘 안돼서요 혹시 devMiddleware 와 static 과 다른점이 있을까요 ? 2. 꼭 2개 다 설정해주어야하나요 ?? 더하여, 3.해당 오류 메시지들은 해당 패키지를 다 다운받아야하는걸까요? 4.pakage.json에서 script트 부분에 해당 라인이 어떤걸 의미하는지 궁금합니다. TS_NODE_PROJECT
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
취약점 존재여부를 확인하는 방법관련하여
인젝션 취약점 존재여부를 확인하는 방법들 (연산자 이용하거나 te' 'st 로 검색해보거나 ..) 은 결국 인젝션이 가능한 특수문자를 예외처리 한 상탠지를 확인하기 위한 것이 맞나요?
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
Unique Paths Integer 질문입니다
안녕하세요, Unique Paths 문제를 풀다가 궁금한 점이 있어서 질문 올립니다. map을 선언할 때 Integer[][] map = new Integer[m][n]으로 int가 아닌 Integer를 쓰셨는데요. 왜 int[][]가 아닌 래핑한 클래스를 쓰셨는지 궁금합니다
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
npm start 부분에서 error가 뜹니다!
앞에 npm install -g create-react-app 명령어, create-react-app. 명령어 작성으로 잘 설치 되었구요!! npm start 명령어 입력하니 이렇게 에러가 뜨네요!! 봐주시면 감사하겠습니다...!! 혹시 문자간 간격이 큰 이유도 아시나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류가 뜹니다..
자꾸 에러가 뜹니다.. 강의 내용과 똑같이 했는데 무엇이 문제인지 모르겠습니다 ㅠㅠ
-
미해결PHP 7+ 프로그래밍
<==> 이게 무슨말인가요?
폰트가 자동변환되서 보기가 이해하는게 넘 힘듭니다 ㅠ 소리도 잘안들리구요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
배열과 주소 질문 있습니다.
xor ecx, ecx LABEL_PRINT_B: PRINT_HEX 2, [b+ecx] NEWLINE inc ecx cmp ecx, 5 jne LABEL_PRINT_B xor rax, rax ret section .data a db 0x01, 0x02, 0x03, 0x04, 0x05 ; 5 * 1 = 5바이트 b times 5 dw 1 ; 5 * 2 = 10바이트 강의에 나온 코드입니다. 여기서 b가 0x1, 0x0, 0x1, 0x0, 0x1.... 바이너리로 봤을때 이런식으로 저장이 돼있었잖아요. 근데 왜 출력할때 1, 0, 1, 0, 1이 아니라 1, 100, 1, 100, 1인지 잘 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Gradle 테스트와 빌드 질문
Gradle에서 build를 할 경우 특별한 설정을 하지 않으면 test 코드를 사용하여 test가 통과해야만 build를 하더라구요. 그런데 본 강의에서 사용한 테스트 코드 같이 Mock 객체를 쓰지 않고 Spring 기능을 포함한 테스트 코드의 경우는 DB가 동작 중이거나 하지 않으면 test를 통과하지 못하고 build에 실패하는 문제가 있네요. Build를 할 때에는 이런 test 코드를 제외하는 것이 맞나요? 그런데 test 코드를 넣어야 잘못된 코드가 배포되는 것을 막을 수 있을 것이고 테스트 코드의 필요성은 있다고 생각합니다. 그렇다면 Mock 객체 등을 사용하여 외부 환경에 의존하지 않는 test 코드를 새로 짜는 것이 맞나요? Jenkins 등으로 배포를 할 때에도 프로젝트 내의 test 코드를 돌리는 것으로 알고 있는데 실제 업무 시에는 테스트 코드를 어떻게 짜고 있는지도 알려주시면 감사하겠습니다.
-
미해결실전! 스프링 데이터 JPA
fetch join과 join
안녕하세요, 김영한님! @Query 안에 JPQL을 명시해주며 페이징/정렬 파트를 공부하고 있습니다. 해당 강의 21:42 쯤 강사님과 다르게 fetch join을 사용하였는데요, 이때 다음과 같은 예외가 발생하였습니다. java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:350) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:355) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$7(ClassBasedTestDescriptor.java:350) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:349) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$4(ClassBasedTestDescriptor.java:270) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:269) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:259) at java.base/java.util.Optional.orElseGet(Optional.java:369) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:258) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:101) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:100) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:111) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:111) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:79) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) 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:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'memberRepository' defined in study.datajpa.repository.MemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)! Reason: Count query validation failed for method public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)!; nested exception is java.lang.IllegalArgumentException: Count query validation failed for method public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)! at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:925) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:123) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ... 67 more Caused by: org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)! Reason: Count query validation failed for method public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)!; nested exception is java.lang.IllegalArgumentException: Count query validation failed for method public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)! at org.springframework.data.repository.query.QueryCreationException.create(QueryCreationException.java:101) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:106) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lambda$mapMethodsToQuery$1(QueryExecutorMethodInterceptor.java:94) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Collections.java:1054) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.mapMethodsToQuery(QueryExecutorMethodInterceptor.java:96) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lambda$new$0(QueryExecutorMethodInterceptor.java:86) at java.base/java.util.Optional.map(Optional.java:265) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.<init>(QueryExecutorMethodInterceptor.java:86) at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:360) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:323) at org.springframework.data.util.Lazy.getNullable(Lazy.java:230) at org.springframework.data.util.Lazy.get(Lazy.java:114) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:329) at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:144) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ... 82 more Caused by: java.lang.IllegalArgumentException: Count query validation failed for method public abstract org.springframework.data.domain.Page study.datajpa.repository.MemberRepository.findMembersWithTeamByUsername(java.lang.String,org.springframework.data.domain.Pageable)! at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:93) at org.springframework.data.jpa.repository.query.SimpleJpaQuery.<init>(SimpleJpaQuery.java:66) at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromMethodWithQueryString(JpaQueryFactory.java:76) at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromQueryAnnotation(JpaQueryFactory.java:56) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$DeclaredQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:146) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:216) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:81) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:102) ... 104 more Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=null,role=study.datajpa.entity.Member.team,tableName=team,tableAlias=team1_,origin=member member0_,columns={member0_.team_id,className=study.datajpa.entity.Team}}] [select count(m) from study.datajpa.entity.Member m left join fetch m.team where m.username = :username] 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:734) 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.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:362) at com.sun.proxy.$Proxy89.createQuery(Unknown Source) at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:87) ... 111 more Caused by: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=null,role=study.datajpa.entity.Member.team,tableName=team,tableAlias=team1_,origin=member member0_,columns={member0_.team_id,className=study.datajpa.entity.Team}}] [select count(m) from study.datajpa.entity.Member m left join fetch m.team where m.username = :username] at org.hibernate.QueryException.generateQueryException(QueryException.java:120) at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:220) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144) at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113) at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73) at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:162) at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:613) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:725) ... 119 more Caused by: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=null,role=study.datajpa.entity.Member.team,tableName=team,tableAlias=team1_,origin=member member0_,columns={member0_.team_id,className=study.datajpa.entity.Team}}] at org.hibernate.hql.internal.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:215) at org.hibernate.hql.internal.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:1028) at org.hibernate.hql.internal.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:796) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:694) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:330) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:278) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:276) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192) ... 125 more 사용된 JPQL은 다음과 같습니다. @Query("select m from Member m left join fetch m.team where m.username = :username") Page<Member> findMembersWithTeamByUsername(@Param("username") String username, Pageable pageable); 여기서 countQuery를 구현하였더니 정상적으로 작동하였습니다. @Query(value = "select m from Member m join fetch m.team where m.username = :username", countQuery = "select count(m) from Member m") Page<Member> findMembersWithTeamByUsername(@Param("username") String username, Pageable pageable); 질문1) @Query() 안에 join fetch를 넣으면 countQuery를 반드시 정의 해주어야하나요? 질문2) 위와 같은 예외가 왜 발생했는지 궁금합니다. 감사합니다!
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
질문드립니다 ㅠㅠ
안녕하세요 , 수업 제공 정말 감사합니다! 따라하던중 버튼을 누르면 index파일에서 begin을 정의하지않았다며 오류가 뜨네요 ㅠㅠ start.js const main= document.querySelector("#main"); const qna= document.querySelector("#qna"); function begin(){ main.style.display = "none"; qna.style.display = "block"; } index button~~html부분 <button type="button" class="btn btn-danger mt-3" onclick="js:begin()"> 시작하기 </button> </section> <section id="qna"> <p>test!</p> </section> <section id="result"> </section> <script scr="./js/start.js" charset="utf-8"></script>
-
미해결[개념부터 실습까지] 추천 시스템 입문편
1:50에 나오는 주석?처리 단축키가 뭔가요?
1:50 초에 나오는 주석처리 단축키가 어떻게 되나요?? Shift + Enter 로는 당연히 안되고, +텍스트로 해도 영상과 같은 처리가 안되는데 어떻게 해야하나요?
-
미해결모던 자바스크립트(ES6+) 기본
clear() 메소드 관련 질문
안녕하세요. 강사님 clear() 메소드를 사용하면 모든 엘리먼트를 지운다고 하셨는데, 엘리먼트와 entry가 같은 의미인가요?
-
미해결처음 배우는 리액트 네이티브
type 에러가 납니다..
TypeError: Cannot read properties of undefined (reading 'background') 라고 뜨는데 이거는 어떻게 해결하면 되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
test 에러입니다..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 안녕하세요. 강의를 들으며 실습을 따라 진행해보고 있습니다. 제가 군 복무 중이라 이클립스나 인텔리제이, vscode 등의 개발 환경을 사용하지 못하고 웹 개발환경인 구름ide에서 실습을 진행하고 있습니다. 테스트 케이스 작성을 위해 test/java 에서 main과 동일한 hello 패키지를 만드려는데 아래 사진과 같이 동일한 패키지 명이 존재한다고 생성할 수 없었습니다. 동일한 패키지 명이어도 다른 디렉토리에서 만들면 상관없다고 알고 있었는데, 개발 환경 차이일까요.... 제가 구글링해본 결과 다른 패키지를 사용하려면 import하면 된다하여 아래 사진과 같이 import를 한 후 실행해보니 에러가 발생하였습니다. 혹시 어떻게 해결할 수 있을까요..? 제가 아직 자바가 익숙치 않아 문제점을 정확히 파악하지 못하는 것 같습니다. 자바 언어를 좀 더 공부해보겠습니다ㅠㅠㅠ