묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
aws ec2 배포 목표 토이 프로젝트 개발시 jar/war?
안녕하세요. mvc2편 끝나고 토이 프로젝트 진행하라고 추천하셔서 시작할려고 합니다. jar는 로컬 개발떄 쓰이는거고 war는 서버 배포시 쓰이는걸로 알고있습니다. aws ec2 배포 목표인 제 토이 프로젝트는 start.spring.io에서 뭘 선택해야 되나요? war선택하면 jar처럼 서버 배포전 로컬 개발을 원활하게 할수있나요? 인터넷에서는 확답이 없어서 여쭤봅니다. 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
언리얼 연동 질문드립니다
언리얼이랑 서버 연동하실 때 언리얼에 래핑되어 있는 Fsocket을 사용하셨나요 아니면 윈속의 Socket을 사용하셨나요? 언리얼이랑 IOCP 연동 자료가 별로 없는데 혹시 참고 할만한 곳이 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
코드팩토리 디스코드 초대장
코드팩토리 디스코드 초대링크로 접속하면 유효하지 않은 초대링크라고 나옵니다. ahn5748@gmail.com 초대 부탁 드립니다.
-
미해결코어 자바스크립트
선생님 질문있습니다~
안녕하세요 선생님:) 4분 30초 주변 내용중에서 질문이 있습니다. 스택에 inner outer 전역 이렇게 쌓이면 inner -> outer -> 전역 순으로 스택을 비운다고 이해하였습니다. (제일 마지막에 들어온게 제일 먼저 빠지고..) 제 생각에는 실행 순서가 inner에 있는 콘솔로그 실행 -> outer에 있는 콘솔로그 실행 -> 전역에 있는 콘솔로그 실행 순이어야 할 것 같은데 outer에 있는 콘솔로그가 제일먼저 출력되는것을 어떻게 이해하면 될까요? 스택이 비워지는 순서가 단순히 코드가 실행되는 순서가 아니기 때문인가요?
-
미해결크롤링으로 웹, 텔레그램봇, REST API, 모바일 앱 만들기
런서버해도 안되는데 왜그럴까요
포트가 안나오고 그냥 파이썬이라고만 출력이 나오네요?
-
미해결C# 프로그래밍 기초
double 소문자와 대문자 차이가 뭔가요?
어쩔땐 double을 사용하고 어쩔 땐 대문자 Double을 이용하시던데 혹시 차이가 있을까요? 아니면 사용하는 기준이 있을까요?
-
미해결배달앱 클론코딩 [with React Native]
mac Android Studio 질문이요
mac에서 Intel x86 Emulator Accelerator(HAXM installer) Version 7.6.5 을 설치하면 실패가 뜹니다. 찾아보니 macOS최신버전에서는 지원하지 않는다 하는데 안깔아도 무방한가요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
ppt공유
강의에서쓰이는 ppt공유가능한가요? 개인적으로 정말좋은거같아서 ppt자료 얻고싶습니다
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
HtmlWebpackPlugin - templateParameters 관련 질문
안녕하세요, 선생님의 강의 열심히 듣고 있는 직장인입니다 :) 항상 친절하고 디테일 하신 설명에 감명 받고 있습니다. 다름이 아니라 Webpack-plugin 강의를 듣다가 궁금한 점이 생겨서 처음 질문글을 남기게 되었는데요. HtmlWebpackPlugin 의 templateParameters 설정할 때, 이미 webpack.config.js에서 상단에 mode :'development'를 설정하고 npm run build 시 앞에 NODE_ENV=development 라고 명시하지 않아도 app.js에서 process.env.NODE_ENV 출력 시 development가 나오는 것을 확인할 수 있었는데, 왜 templateParameters를 통해 env 값을 유동적으로 title로 나타내주고 싶을 땐 꼭 앞에 NODE_ENV=development로 값을 명시해야하는건가요?? 그냥 npm run build만 하면 안나오더라고요.. 궁금해서 여쭤봅니다!! 미리 답변에 감사드립니다 ㅎㅎ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
마지막쯤에 템플릿엔진을 모델,뷰,컨트롤러로 쪼갠다는 말이 무슨말이죠?
템플릿엔진은 뷰에 해당되는거 아닌가요?그리고 mvc패턴을 사용하는것은 api방식이나 정적컨텐츠나 다 mvc패턴을사용하는거아닌가요? 템플릿엔진부분에만 mvc라는 단어가 들어간 이유를 모르겠어요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관 관계에서의 setter 사용
안녕하세요. 도메인 내에서 비즈니스 로직을 작성하는 것이 객체지향적이다 라는 말씀을 듣고 생각해보다가, 양방향 연관 관계 편의 메서드에서의 setter 사용이 생각났습니다. public class Order { public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); }} 이와 같이 양방향 연관 관계에서는 한쪽에 setter 함수가 불가필 할듯 한데, setter 함수를 무조건적으로 사용하면 안되는 것은 아니고 지양한다는 정도로만 받아들여도 될까요 ? 감사합니다.
-
미해결Svelte.js [Core API] 완벽 가이드
scss를 사용하기 위한 sveltePreprocess() 실행 위치가?
rollup.config.js 파일에 preprocess: sveltePreprocess()를 실행하는 위치가 어떻게 되는지요? config.js 파일의 구조가 약간 달라졌습니다. package.json 파일에서 @rollup/plugin-commonjs:^15.1.0 @rollup/plugin-node-resolve: ^9.0.0 추가로 설치된 node-sass: ^7.0.1 svelte-preprocess: ^4.10.7 rollup.config.js 파일에서 import svelte from 'rollup-plugin-svelte'; import commonjs from '@rollup/plugin-commonjs'; import resolve from '@rollup/plugin-node-resolve'; import livereload from 'rollup-plugin-livereload'; import { terser } from 'rollup-plugin-terser'; import css from 'rollup-plugin-css-only'; // 강의에는 없는 행 // svlete-preprocessor import 한다. import sveltePreprocess from 'svelte-preprocess'; 아래 plugins 블록에서는 강의에서와는 블록의 구조가 달라져 있습니다. plugins: [ // 여기 블록의 구조가 달라 정확하게 어디에서 sveltePreporcess()를 실행해야 // 하는지요. 아래 기술된 위치에 넣으니까 중첩 스타일에서 오류가 발생합니다. svelte({ compilerOptions: { // enable run-time checks when not in production dev: !production } }), // we'll extract any component CSS out into // a separate file - better for performance css({ output: 'bundle.css' }), sveltePreprocess(), // scss를 추가하기 위해 여기서 실행... ??? // If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'] }), commonjs(), 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결애플 웹사이트 인터랙션 클론!
각 scene의 컨텐츠 증가 또는 감소에서의 show-scene 반응
function setLayout() { // 각 스크롤 섹션의 높이 세팅 for (let i = 0; i < sceneInfo.length; i++) { if (sceneInfo[i].type === 'sticky') { sceneInfo[i].scrollHeight = sceneInfo[i].heightNum * window.innerHeight; } else if (sceneInfo[i].type === 'normal') { sceneInfo[i].scrollHeight = sceneInfo[i].objs.content.offsetHeight + window.innerHeight * 0.5; } sceneInfo[i].objs.container.style.height = `${sceneInfo[i].scrollHeight}px`; } yOffset = window.pageYOffset; let totalScrollHeight = 0; for (let i = 0; i < sceneInfo.length; i++) { totalScrollHeight += sceneInfo[i].scrollHeight; if (totalScrollHeight >= yOffset) { currentScene = i; break; } } document.body.setAttribute('id', `show-scene-${currentScene}`); 여기서 컨텐츠 증가 또는 해당하는 섹션에서만 동작하게 하고싶은데 아무리 수정해봐도 잘 모르겠습니다. 몇가지 씬을 지워버리면 아예 동작을하지 않는 현상도 있구요 * 궁금한사항은 scroll-section-0이 중간쯤 있을때, show-scene-0 을 추가하고 다시 올라갔을때 없애고 싶습니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
트러블 슈팅 질문입니다.
안녕하세요! 다름아니라 쿠버네티스를 통해서 파드를 잘사용하고 있었는데 갑자기 kubectl get pod 시 아래와 같은 내용이 발생했습니다. kubelet 문제일까 싶어서 확인해봤는데 정확히 어떤문제인지 파악이 어려워서요.. 이런 상황일때 혹시 제가 추가적으로 확인해봐야할 내용이 있을까요?? systemctl daemon-reload systemctl restart kubelet 진행해봐도 똑같습니다. --flag 문제일지도 모른다고 생각해서 /var/lib/kubelet/kubeadm-flags.env에서 --network-plugin=cni 를 제거하고 kubelet 재시작을 해보아도 똑같았습니다. journalctl -u kubelet
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
강의 완강 문의 :)
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출! 강의는 완강이 된 걸까요? :) 추가로 보강해서 업로드해주시는 영상이 남아있는지 궁굼합니다. 문의글 읽어주셔서 감사합니다.
-
미해결AWS(Amazon Web Service) 입문자를 위한 강의
터미널 여기서 무슨 키를 눌러야하나요?
여기서 무슨 키를 눌러야하나요? 저 상태에서 페이지 열면 연결이 안됩니다
-
미해결Slack 클론 코딩[실시간 채팅 with React]
react-router 6버전 질문입니다 !
안녕하세요 먼저 바쁘신데 바보같은 질문글 올려 죄송합니다. 저는 강의(라우터 주소 설계 중반까지 강의를 들었습니다)를 보는 도중 children을 사용하다가 중첩라우터 사용을 시도를 하였는데요, 코드를 잘못쓴 덕분에 이런 웹페이지의 형태로 보이게 되었습니다. 그래서 제로초님께서 올려주신 공지사항의 유튜브와 구글링을 참고하여 layout>Workspace>index.js //중략 <Chats> <Routes> <Route path="/channel/:channel" element={<Channel />} /> <Route path="/dm/:id" element={<DirectMessage />} /> </Routes> </Chats> //중략 기존의 코드를 //중략 <Chats> <Routes> <Route path="/:channel" element={<Channel />} /> <Route path="/:id" element={<DirectMessage />} /> </Routes> </Chats> //중략 이렇게 수정하였습니다 웹페이지를 확인해보니 정상적으로 돌아오긴 하였으나 제가 올바르게 수정했는지 아닌지 몰라 이렇게 질문글 올립니다. 그리고 로그아웃후 로그인을 하면 기존의 워크스페이스가 안뜨지만 새로고침을 누르면 기존의 워크스페이스들이 뜨는 버그?가 발생하게 되었습니다. 콘솔에 에러는 전혀 나지 않는 상황이고 제가 어느부분의 설정을 잘못했는지 파악하려 시도했지만 서버코드까지 살펴보아도 대체 어느부분을 놓치고있는지 감도 오지 않아서 코드부분을 올리지 못하였습니다..ㅠㅠ 저런 현상이 혹시 SWR옵션과 관련있을까요 ..? 😭
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
CQS에 대해 질문 드립니다.
CQS 관점으로 상품 서비스를 조회 서비스와 명령 서비스를 구분했습니다. 근데 1안, 2안, 3안 중 어느것이 나은지 모르겠습니다. 또는 1~3안이 아니더라도 더 좋은 방법이 있으면 알려주실 수 있나요? 1안 📌 ItemCommandService public Long save(Item item) { if (itemJpaRepository.existsByInfoCode(item.getCode())) { throw new IllegalStateException(ErrorCode.ITEM_DUPLICATE_CHECK_ERROR.getMessage()); } return itemJpaRepository.save(item).getId();} 📌 Item 컨트롤러 @PostMappingpublic ResponseEntity<ItemResponse> register( @Valid @RequestBody ItemRequest request) { Item item = request.toEntity(); Long itemId = itemCommandService.save(item); Item findItem = itemFindService.findOne(itemId); ItemResponse response = ItemResponse.toDto(findItem); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(response.getId()) .toUri(); return ResponseEntity.created(location) .body(response);} 1안은 저장할 때 반환 타입을 Long으로 하는데 대신 컨트롤러에서 저장도 하고 조회도 하니깐 뭔가 비즈니스 로직이 컨트롤러쪽에도 있는 듯한 느낌이 듭니다. 2안 📌 ItemCommandService public Item save(Item item) { if (itemJpaRepository.existsByInfoCode(item.getCode())) { throw new IllegalStateException(ErrorCode.ITEM_DUPLICATE_CHECK_ERROR.getMessage()); } return itemJpaRepository.save(item);} 📌 Item 컨트롤러 @PostMappingpublic ResponseEntity<ItemResponse> register( @Valid @RequestBody ItemRequest request) { Item item = request.toEntity(); Item savedItem = itemCommandService.save(item); ItemResponse response = ItemResponse.toDto(savedItem); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(response.getId()) .toUri(); return ResponseEntity.created(location) .body(response);} 2안은 상품 저장 메서드의 반환 값을 Item으로 하니깐 컨트롤러가 간단해보여서 좋은데 대신 저장하는 save() 메서드의 반환값이 Item이니깐 저장도 되고, 조회도 되는 것 같아서 CQS가 잘 안지켜지는 것 같습니다. 3안 📌 ItemCommandService public Long save(Item item) { if (itemJpaRepository.existsByInfoCode(item.getCode())) { throw new IllegalStateException(ErrorCode.ITEM_DUPLICATE_CHECK_ERROR.getMessage()); } return itemJpaRepository.save(item).getId();}public Item register(Item item) { Long itemId = save(item); return itemFindService.findOne(itemId);} 📌 Item 컨트롤러 @PostMapping public ResponseEntity<ItemResponse> register( @Valid @RequestBody ItemRequest request ) { Item item = request.toEntity(); Item savedItem = itemCommandService.register(item); ItemResponse response = ItemResponse.toDto(savedItem); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(response.getId()) .toUri(); return ResponseEntity.created(location) .body(response); } 3안은 상품을 저장하는 save() 메서드의 반환 값을 Long 타입으로 하고 register() 메서드를 만들어서 저장 및 조회를 할 수 있게 했습니다. 근데 3안도 뭔가 마음에 드는 것 같진 않아요... 더 좋은 방법이 어떤게 있을까요,,?
-
미해결스프링 핵심 원리 - 기본편
AutoAppConfigTest 실행할 때 이런 오류가 뜹니다.
똑같이 실행해보니 orderserviceImpl에 어떤 부분에서 잘못됐는지 알고싶습니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [C:\Users\zzang\Downloads\java\core\out\production\classes\hello\core\order\OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) 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:944) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:93) at hello.core.scan.AutoAppConfigTest.basicScan(AutoAppConfigTest.java:14) 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.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) 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:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) 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.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) 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:1540) 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:1540) 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:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) 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:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1790) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1346) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 83 more
-
미해결대세는 쿠버네티스 (초급~중급편)
ServiceAccount에 사용자를 어떻게 매핑을 하는지 알수있을가요?
안녕하세요. ServiceAccount와 role간에는 RoleBinding을 통해서 하는거는 설명을 잘 해주셔서 이해가 잘 됩니다. 그런데, ServiceAccount에 사용자들을 어떻게 할당하는지 모르겠습니다. (ServiceAccount에 있는 token을 사용자 pc에서 kubectl접속이 가능하게 세팅을 할때, 입력하는 토큰을 통해서는 하는걸가요?)