묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
dispatcher.forward 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? - 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? - 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? - 예forward 인자 값으로 request와 response를 주는 이유가 궁금합니다. forward를 통해 jsp로 이동할때 request와 response를 인자로 넘겨주지 않으면 안되는건가요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
봉우리 문제 문의드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int[][] arr=new int[n][n]; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ arr[i][j]=kb.nextInt(); } } System.out.print(solution(n, arr));}public static int solution(int n, int[][] arr) { int answer = 0; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { int cur = arr[i][j]; if(j-1 >= 0 && cur < arr[i][j-1]) continue; if(i+1 < n && cur < arr[i+1][j]) continue; if(j+1 < n && cur < arr[i][j+1]) continue; if(i-1 >= 0 && cur < arr[i-1][j]) continue; answer++; arr[i][j] = 10; } } return answer; }문의하기를 이용해주세요. 봉우리를 잘 탐색한것 같은데 5문제중 2문제만 정답으로 표시되요. 제가 빼먹은 조건이 있을까요?
-
미해결윈도우 리버싱 (window reversing) 완벽 이해 - 레나 챌린지 풀이
강의 내용을 문서로 작성한 자료가 있나요?
윈도우즈 리버싱 완벽한 이해" 강의를 잘 듣고 있습니다 올라온 강의 자료에는 모두 실습에 필요한 툴만 들어 있습니다 혹시 강의 내용을 문서로 만들 강의 자료가 있는지요? 강의 자료가 있다면 받아 볼수 있을까요? 교육 수강하는데 많은 도움이 될것 같습니다 좋은 하루 되세요
-
미해결대세는 쿠버네티스 (초급~중급편)
k8s service ; load balancer
Service - ClusterIP, NodePort, LoadBalancer을 학습하다가 궁금한점이 있어 문의 드립니다. AWS, Google Cloud, AWS에서 제공하는 k8s 서비스은 제공하는 Load balancer가 있어서 External IP가 할당되어 사용이 된다는 것은 이해했습니다. Openstack은 일반적으로 Private Cloud 로 생각을 하는데요, 그리고 k8s을 Openstack 자체 지원은 하지 않는것으로 알고 있습니다. 그런데, 강의에서 Openstack이 설치된 환경에서 "External 지원 IP Plugin" 으로 설명을 하는데요, 이 Plugin이 무었인지 궁금합니다.
-
미해결Vue로 Nodebird SNS 만들기
인덱스 비교로 삭제해도 될까요?
<v-list> <v-list-item v-for="(item, index) in list" :key="index"> <span>{{ item.nickname }}</span> <v-icon @click="delFollower(index, name, item)">mdi-minus-circle-outline</v-icon> </v-list-item> </v-list> props:{ // eslint-disable-next-line vue/require-default-prop list:{ type:Array, }, // eslint-disable-next-line vue/require-default-prop name: { type: String } }, methods:{ delFollower(index,name,item){ if(window.confirm(`정말 ${name}목록에서 ${item.nickname}님을 삭제 하시겠습니까?`)) { this.$store.dispatch('users/remove', { index, name }); alert('삭제되었습니다.') } }, } removeFollowerList(state, payload) { if(payload.name === "팔로워"){ const index = state.followerList.findIndex((v,i) => i === payload.index); state.followerList.splice(payload.index, 1); } else if(payload.name === "팔로잉"){ const index = state.followingList.findIndex((v,i) => i === payload.index); state.followingList.splice(payload.index, 1); } }, 안녕하세요 선생님 간단한거 질문하나 드리겠습니당 이런식으로 그냥 인덱스로 비교했었는데 이런식으로하면 혹시 나중에 데이터 추가되고 하면 문제가된다라던지 실무에선 고유값인 id값으로 해야한다던지 문제가 될수있을까요?
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인 후 Error가 alert 되는 것은 계정의 문제인가요?
DB에 있는 계정으로 로그인을 시도했는데 Error가 뜹니다. react v.6을 사용하고 있어서 navigate로 코드 변경해서 props를 사용하지 않으면 function LoginPage()의 파라미터를 어떻게 설정해두어야 하는지도 궁금합니다 import React, { useState } from 'react' import { useDispatch } from 'react-redux'; import { loginUser } from '../../../_actions/user_action'; import { useNavigate } from 'react-router-dom'; function LoginPage(props) { let navigate = useNavigate(); //dispatch const dispatch = useDispatch(); //state, 처음state = "" const [Email, setEmail] = useState("") const [Password, setPassword] = useState("") //event 발생할 때 state를 변경 const onEmailHandler = (event) => { setEmail(event.currentTarget.value) } const onPasswordHandler = (event) => { setPassword(event.currentTarget.value) } //login 버튼 const onSubmitHandler = (event) => { //페이지 refresh 방지 event.preventDefault(); // console.log('Email', Email) // console.log('Password', Password) //보내줄 data let body = { email: Email, password: Password } //'loginUser'라는 action dispatch(loginUser(body)) .then(response => { if(response.payload.loginSuccess) { navigate('/'); //v.6 // props.history.push('/') //v.5 } else { alert('Error'); } })
-
미해결함수형 프로그래밍과 JavaScript ES6+
안녕하세요. 강의 도중 질문사항이 있습니다!
저는 이상하게 결과가 range가 더 빠르게 나타나고 있어서, 혹시 제가 어느 부분을 잘못 작성한 것인지가 궁금해서 질문 남기게 되었습니다. (저의 경우에는 range 든 L.range 든 먼저 test를 먼저 실행하는 쪽이 소요시간이 적게 나옵니다 ㅜ) (혹시 cpu의 차이가 있을까요? 위 테스트를 진행한 컴퓨터는 amd 입니다. 혹시나해서 인텔 컴퓨터로 테스트 했을 때는 L.range가 위치에 상관없이 적은 시간을 소요합니다!)
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
GET BODY 지원
안녕하세요! 궁금한 점이 있어 질문합니다. GET 메서드로 Body를 쓸 수는 있지만 지원하지 않는 곳도 있다고 하셨는데 여기서 지원은 어디서 지원하는 것을 말씀하시는 건가요?! 웹 브라우저 종류를 말씀하시는건가요?
-
미해결홍정모의 따라하며 배우는 C언어
gcc는 extrenal linkage init 할 때 문제가 발생합니다
18:02 VS2019에선 문제가 없어 보이지만 gcc 6.3.0 기준 warning 발생합니다 경고문: warning: 'g_int' initialized and declared 'extern' 근데 또 찾아보니 IBM 컴파일러에선 문제가 없는 것 같습니다. 컴파일러마다 문법이 다른 듯하니 웬만하면 안 쓰는 게 좋을 것 같습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepository, MemberRepositoryTest
회원 리포지토리 개발 부분에서 repository 패키지를 생성하여 MemberRepository를 작성한 후 MemberRepositoryTest 쪽에 빨간 글씨로 오류가 나서 찾아보던 중 초기화 시켜야 된다는 글을 보고 file > open > build.gradle > Open as project 하여 똑같이 진행하였습니다. 그 후 아래 이미지 처럼 MemberRepository 에 있는 save 메소드와 findOne메소드가 아래 이미지처럼 변경이 되었지만 MemberRepositoryTest 의 setUsername , find, getUsername 빨간 글씨는 그대로 있습니다 ㅜㅜ 어떻게 해결 해야 할까요? 도움 부탁드립니다. 혹시 MemberRepositoryTest 클래스를 삭제해도 무방한가요?
-
미해결웹 게임을 만들며 배우는 Vue
webpack 문제 질문드립니다.
안녕하세요. npm run build 를 하면 dist 파일에 app.js가 생성되지 않습니다. 혼자 해결해 보려고 했는데 초보라서 그런지 해결하기가 쉽지 않네요ㅠㅠ 어떤 게 문제인건지 전혀 모르겠습니다. 도와주시면 감사하겠습니다.
-
미해결플러터(Flutter) 앱 개발 입문부터 프로젝트 완성까지
Streambuilder의 ListView 에러
코드와 오류화면인데요. 이전 질문에 강사님 버전과 맞춰서 하라고 하셨는데 버전 낮춰서 하려다가 뭐가 잘 안되어서 그냥 최신버전으로 다시 깔고 하고있습니다... 이렇게 나는 오류도 버전 차이로 나는 오류겠죠? 근데 최신버전에서 프로젝트를 계속 하고 싶습니다. 방법을 알려주세요. 플러터에서 제공하는 오류 메세지들을 여러게 풀어보려고 시도했는데 풀기가 쉽지 않네요. 도와주세요 강사님
-
미해결배달앱 클론코딩 [with React Native]
안녕하세요 다이나믹하게 foreground 알림 조절 관련 질문드립니다.
안녕하세요. <meta-data android:name="com.dieam.reactnativepushnotification.notification_foreground" android:value="true"/> 이 부분에서 react native 단에서 토글로 끄고 키면서 저 값을 다이나믹하게 이용할 수 있을까요?
-
해결됨그림으로 쉽게 배우는 운영체제
쓰레드 질문있습니다.
안녕하세요. 이번에 새로 운영체제 강의를 듣게 된 사람입니다. 프로세스와 쓰레드 챕터에서 쓰레드 강의 내에서 0:45초 에서는 웹 브라우저(정확히는 chrome.exe)를 실행 할때 마다 프로세스 하나가 생성된다고 하셨습니다. 그리고 1:33초 이후에는 쓰레드의 관해서 설명해주시고 2:32초 에서는 다시 웹 브라우저를 예로 설명해주셨는데 웹 브라우저가 하나 실행될 때마다 프로세스 내의 쓰레드가 하나씩 생성된다고 하셨습니다. 이 예시는 단순히 프로세스와 쓰레드의 개념을 구분해주시기 위해서 이렇게 설명해주신건가요?? 둘의 개념은 이해가 되지만 실제로 어떤 때는 웹 브라우저를 실행할 때마다 프로세스가 추가되고 어떤 때는 쓰레드가 추가되고 그런 경우는 없나요??
-
미해결부트스트랩(BOOTSTRAP)3을 활용한 반응형 웹페이지 만들기
글리피콘
글리피콘 수업을 듣고 실행하는 중에 글리피콘이 실행 창에 엑스박스로 뜨는데 이럴 때는 어떻게 해결해야 하나요?
-
미해결Vue.js + TypeScript 완벽 가이드
nom run serve를 하면 오류가 납니다.
vue-advancded의 vue-news에 있는 파일을 새로 만든 news의 디렉토리로 옮기고npm run serve를 실행하면아래처럼 routes/index.js와 store/index.js를 찾을 수 없다는 오류가 납니다.모두 파일은 위치해 있지만 이렇게 됩니다.어떻게 해결해야 하는지 좀 알려 주세요. webpack compiled with 1 error ERROR in src/main.ts:3:20 TS7016: Could not find a declaration file for module './routes/index.js'. '/Users/jungkyungsuk/Workspaces/inflearn/learn-vue-typescript/vue-news/src/routes/index.js' implicitly has an 'any' type. 1 | import Vue from "vue"; 2 | import App from "./App.vue"; > 3 | import router from "./routes/index.js"; | ^^^^^^^^^^^^^^^^^^^ 4 | import store from "./store/index.js"; 5 | 6 | Vue.config.productionTip = false; ERROR in src/main.ts:4:19 TS7016: Could not find a declaration file for module './store/index.js'. '/Users/jungkyungsuk/Workspaces/inflearn/learn-vue-typescript/vue-news/src/store/index.js' implicitly has an 'any' type. 2 | import App from "./App.vue"; 3 | import router from "./routes/index.js"; > 4 | import store from "./store/index.js"; | ^^^^^^^^^^^^^^^^^^ 5 | 6 | Vue.config.productionTip = false; 7 |
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest 디버깅 오류관련
제 코드에 문제가 있나 싶어서 강의자료에 있는 코드를 그대로 가져와서 실행을 해보았는데도 테스트가 계속 실패하게 됩니다... 혹시 원인을 알수 있을까요?? 오류코드 java.lang.Exception: Unexpected exception, expected<java.lang.IllegalStateException> but was<java.lang.NullPointerException> at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:30) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) 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: java.lang.NullPointerException: Cannot invoke "javax.persistence.EntityManager.createQuery(String, java.lang.Class)" because "this.em" is null at jpabook.jpashop.repository.MemberRepository.findByName(MemberRepository.java:33) at jpabook.jpashop.repository.MemberRepository$$FastClassBySpringCGLIB$$97f1c501.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.repository.MemberRepository$$EnhancerBySpringCGLIB$$81016634.findByName(<generated>) at jpabook.jpashop.service.MemberService.validateDuplicateMember(MemberService.java:33) at jpabook.jpashop.service.MemberService.join(MemberService.java:26) at jpabook.jpashop.service.MemberService$$FastClassBySpringCGLIB$$560b731b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.service.MemberService$$EnhancerBySpringCGLIB$$41ee91e0.join(<generated>) at jpabook.jpashop.service.MemberServiceTest.중복_회원_예외(MemberServiceTest.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) ---------------------------------------------------- java.lang.NullPointerException: Cannot invoke "javax.persistence.EntityManager.createQuery(String, java.lang.Class)" because "this.em" is null at jpabook.jpashop.repository.MemberRepository.findByName(MemberRepository.java:33) at jpabook.jpashop.repository.MemberRepository$$FastClassBySpringCGLIB$$97f1c501.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.repository.MemberRepository$$EnhancerBySpringCGLIB$$81016634.findByName(<generated>) at jpabook.jpashop.service.MemberService.validateDuplicateMember(MemberService.java:33) at jpabook.jpashop.service.MemberService.join(MemberService.java:26) at jpabook.jpashop.service.MemberService$$FastClassBySpringCGLIB$$560b731b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.service.MemberService$$EnhancerBySpringCGLIB$$41ee91e0.join(<generated>) at jpabook.jpashop.service.MemberServiceTest.회원가입(MemberServiceTest.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) 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) 소스코드 package jpabook.jpashop.service;import jpabook.jpashop.domain.Member;import jpabook.jpashop.repository.MemberRepository;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.annotation.Rollback;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.transaction.annotation.Transactional;import javax.persistence.EntityManager;import static org.junit.Assert.assertEquals;import static org.junit.Assert.fail;@RunWith(SpringRunner.class)@SpringBootTest@Transactionalpublic class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Autowired EntityManager em; @Test public void 회원가입() throws Exception { //Given Member member = new Member(); member.setName("kim"); //When Long saveId = memberService.join(member); //Then assertEquals(member, memberRepository.findOne(saveId)); } @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception { //Given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //When memberService.join(member1); memberService.join(member2); //Then fail("예외가 발생해야 한다."); }}
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
매개변수를 넘겨받는다는 것이...
정확히 어떤 의미인가요? 매개변수와 인수에 대해서 검색하니 매개변수(인자) - 함수 원형 작성 시 사용되는 변수 인수 (전달인자) - 함수를 실행할 때 매개변수로 넘겨주는 값으로 나왔는데 이 정의대로라면 '매개변수가 인수를 넘겨받는다'는 이해가 되도 '매개변수를 넘겨받는다'라는 말은 무슨 뜻인지 이해가 잘 되지 않습니다...
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
애니메이션 샘플파일
show/hide 기능마스터 강의를 듣고있는데 시작하실때 애니메이션 샘플파일을 그대로 드린다고 해주셧는데 다운받아야 하는 건가요? 어디서 다운받아야 하나요? 그전강의까지는 따라하는방식인데 이부분 이후부터는 샘플파일을 다운받아 진행하시는거죠?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring API Gateway 에서 feign client
API Gateway 에 AuthorizationHeaderFilter를 구현중에 있습니다. 1. token을 parsing 해서 나온 subject가 user service에 있는 username 이라서 gateway service에서 user service를 호출하기 위한 feign client를 구현하고, 이를 AuthorizationheaderFilter에서 주입하려고 했는데요. circular reference에러가 발생합니다. 구글에 찾아보니 spring bug로 gateway filter에서는 feign client를 사용할 수 없다는 얘기가 있던데, 실제로 사용할 수 없는건가요? 2. ApiGateway에 application.yaml를 만들어놓고, 특정 method에 filter 항목에 AuthorizationHeaderFilter를 지정해서 그 method 요청이 오면 filter가 걸리는 것을 확인했습니다. 그런데, 제가 구상하는 시스템에서는 실제로 Front end에서 gateway로 요청이 오는 것에는 filter를 걸고, 내부적으로 service 간 통신할 때 gateway로 들어오는 request에 대해서는 token이 필요하지 않기 때문에 filter를 걸고싶지 않은데요. 이를 구현하기 위한 아이디어를 얻고 싶습니다.