묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
finance-datareader==0.9.1 로 같은 버전의 라이브러리를 설치 문제
교수님, 12월 4일에 질문을 남긴 학생입니다. 댓글 달아주신 것처럼 했는데, 안 되어서 다시 질문 올립니다. (질문 제목 : (2.6 reindex() 관련 예제) 2.4.3.2. 예제에서 df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30')를 실행하면 에러가 뜹니다.) --------------------------------------------------------------------------------------------------------------------------- <교수님 댓글> 안녕하세요! 혹시 finance-datareader==0.9.1 로 같은 버전의 라이브러리를 설치를 하셨을까요? jupyter노트북을 완전히 종료하고, anaconda prompt에서 pip install finance-datareader==0.9.1 실행 후 jupyter 재실행해서 확인해보시겠어요? ------------------------------------------------------------------------------------------------------------------------------------- 말씀대로 anaconda prompt에서 pip install finance-datareader==0.9.1 실행 후 jupyter 재실행해 봤는데, 아래와 같이 됩니다. 무엇이 문제일까요..ㅠ (base) C:\Users\Ilhalm\Desktop\python_class>pip install finance-datareader==0.9.1 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1108: The handshake operation timed out'))': /simple/finance-datareader/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1108: The handshake operation timed out'))': /simple/finance-datareader/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1108: The handshake operation timed out'))': /simple/finance-datareader/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1108: The handshake operation timed out'))': /simple/finance-datareader/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1108: The handshake operation timed out'))': /simple/finance-datareader/ ERROR: Could not find a version that satisfies the requirement finance-datareader==0.9.1 ERROR: No matching distribution found for finance-datareader==0.9.1 그래서 교수님께서 앞 강의에서 !pip install -r requirements.txt를 통해 모든 library를 한꺼번에 설치하는 방법을 가르쳐주셔서 여기를 통해 다시 해봤는데, 아래와 같이 뜹니다. 판다스를 다시 깔아야 하는 건가요?
-
미해결홍정모의 따라하며 배우는 C언어
배열이 매개 변수로 사용 될 때 포인터로 바뀔 때 내부 상황이 궁금합니다.
포인터에 배열이름으로 배열의 첫 주소를 저장할 때와 같은 배열이름이 포인터처럼 작동할 때는 메모리를 사용하는 게 아니라 단순히 컴파일러가 변환시켜주는 것으로 알고 있습니다. 그런데 매개변수로 사용할 때는 그 크기가 포인터의 크기로 나오면 메모리에 실제로 포인터 변수가 만들어진 건가요? 그게 아니라면 어떻게 sizeof연산자를 사용했을 때 포인터의 크기가 나오는지 잘 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
Nginix
Ngnix서버라는것이 있다고 아는데 여기 있는 내용과 어떻게 연결되는것으로 이해해야하나요. 여기 나온 내용이 구현된 다른형태의 솔루션같은건가요 개념이 안서네요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버 프레임워크
여기서 배운 웹서버와 api서버하고 많이 다른가요 그리고 코딩한 내용이 프레임워크와 같이 된것이 c# 에도 있는지요
-
미해결게임 프로그래머 취업 전략 가이드
현업자 입장에서 좋은 게임 회사란 어디인가요?
항상 좋은 강의 잘 듣고 있습니다. 업계에서도 좋은 회사는 입소문을 많이 탈것 같다는 생각에 질문드립니다. 개발자 처우나, 회사 복지 등을 기준으로 현재 상위급 회사가 어디일가요? 업계 밖에 입장에서는 펄어비스나 데브시스터즈가 평이 좋은 상태입니다. 현업자 입장에서 어떤 회사가 평이 좋은곳 인가요?
-
미해결IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z
빌드
빌드라는 것을하면 apk파일이 생성되는것을 알고있습니다. 빌드라는 것이 구체적으로 무엇을하는 과정일까요
-
미해결스프링 부트 업데이트
application 이 실행되지 않습니다... .m2/repository 에러 발생
서버실행시 에러 로그입니다. Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' available project structure 설정 repository 에러 발생 !! .m2/repository 폴더를 삭제하고 의존성 파일들을 다시 받아도 에러가 사라지지 않습니다. spring boot version 을 2.5 까지 낮춰보았는데도 현상은 같습니다. 원인을 알려주실수 있을까요? 원본 파일은 github https://github.com/castinglife/springboot-oauth-test 에 있습니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키안녕하세요. 강의를 듣고있는 수강생입니다. 아침에(2021.12.09)에 gist 권한을 요청했는데 승인됐는지 확인할 수 없습니다. 인프런 아이디 : 한병식 인프런 이메일 : bskhan912@gmail.com 깃헙 아이디 : bskhan 깃헙 Username : bskhan -- 수강생 맞는데 자동 로그인 되서 ID가 맞는지 모르겠습니다. 틀리면 알려주세요
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
time.deltatime 질문드립니다.
강사님 포지션은 방향 , 거리(시간*속도)로 델타타임을 곱해주어 거리를 구하고 프레임 속도를 1프레임 2프레임으로 비교해서 결국은 1초에 1이라는 값을 가져서 뚝뚝끊길지라도 동일한 거리를 이동하는걸로 아는데요 이 델타타임을 왜 로테이션이나 럴프계열함수에도 다 곱해주는지 이해가가지않아서 질문드립니다. ㅇ
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
chrome개발자도구에서 재선언/재할당 관련 질의 (Chrome 버전 96.0.4664.93(공식 빌드) (64비트), Windows 10)
ㅇ 테스트 환경 : Chrome 버전 96.0.4664.93(공식 빌드) (64비트), Windows 10ㅇ 테스트 내용 - 같은 선언자로 선언한것은 재선언/재할당 가능 (즉, var로 선언한것은 var로 재선언 /재할당 가능, let으로 선언한 것은 let으로 재선언/재할당 가능, 심지어 const도 const로는 재선언/재할당 가능) - 다른 선언자로 선언/재할당은 안됨 (예를 들어, var로 선언/값할당 후 let으로 재선언/할당은 안됨) 처럼 되네요. const도 재선언/재할당이 가능하던데요. 이건 chrome 개발자 툴의 특성인가요? 감사합니다.
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
Batch Normalization 질문 드립니다
안녕하세요 딥러닝호형님! 궁금한 점이 생겨 질문드립니다. 1. Image Data Normalization과 Batch Normalization의 차이가 어떻게 되나요? 2. Image Data Normalization을 해준 데이터를 모델에 넣어 Batch Normalization을 해주게 될 경우 데이터는 중복으로 normalization되는 것인가요? 우문일 수도 있지만 너무 궁금해서 질문드립니다. ㅠㅠ 그럼 답변 기다리겠습니다. 감사합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 단원에서 말씀하신 프록시 객체와 실제 객체
안녕하세요 강사님 질문에 앞서 토이 프로젝트 진행 중에 회원 정보 수정에서 트랜잭션을 사용하지 않아 이틀 동안 고민했다가 해결했습니다.. 두 번째 날에 이거 진짜 답이 없다 생각했는데 그 순간 영한님이 말씀해주신 JPA는 트랜잭션 단위로 돌아간다는 말씀이 떠올라서 해결했습니다.. 별 게 아닐 수 있지만 이제 저에게는 JPA == 트랜잭션 단위 를 잊을 수가 없게 됐습니다.. 가르침에 감사하다는 말씀드리고 싶었습니다 ! ================================= 이제 질문입니다!! 프록시 강의 부분에서 프록시 객체와 실제 객체에 구애받지 않는 코드를 작성하는 것이 좋다라고 말씀해주셨습니다. 프록시가 Member를 상속하는데 당연히 코드를 작성하면서 어느 누가 프록시를 사용한다고 해놓을까? 이런 생각이 들면서.. 혹시 둘의 차이로 인해 생긴 버그를 하나 예로 들을 수 있을까요?? 처음에 듣고 너무 궁금해서 질문을 올리려 했는데, 강의 끝 부분에 말씀해주실 것 같아서 아껴놨다가 해당 챕터를 다 듣고 난 뒤에 질문드립니다!! 물론 구글링을 해봤지만 제가 원하는 답을 찾지 못했습니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 영한님 스프링 부트 관련 질문 드립니다.
이번 강의를 들으면서 H2데이터베이스가 아닌 MySQL에 적용을 해보고 싶어서 시도를 해봤는데요, 도커에 MySQL을 띄우고 실행을 하였는데 궁금증이 생겨 질문 드립니다. 스프링 부트의 application.properties에 적는 MySQL환경 설정과 docker-compose.yml에 적는 MySQL환경 설정을 둘다 입력해 줘야 하나요?? 한곳만 입력해줘도 괜찮은가요? 좋은 강의 감사합니다 ㅎㅎ
-
미해결스프링 핵심 원리 - 기본편
의존관계 주입시 구현체 변경?
추상화 클래스를 바라보고 짜는 설계를 보다가 궁금한게 구현체를 손쉽게 갈아 끼울수 있다고 하셨는데 생성자 주입을 통해 자동 주입을 하게되면 예제코드에서 할인정책에 대한 구현 객체를 애플리케이션 실행중에 바꿔서 쓸 방법이 있는건가요? 중간중간에 구현체를 바꿔서 주입시켜 쓰고싶다면 수정자 메서드를 만들어서 호출해야하는건지 잘 모르겠네요,,
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
HP 연동 질문있습니다
유익한 강의 감사드립니다. 플레이어가 게임을 나갈 때 DB에 저장하는 Job이 불리어지고 이 Job이 처리되기 전에 플레이어가 재 로그인에 성공한다면 이전에 DB에 저장된 HP로 로그인이 가능할 수 있지않은가요.
-
미해결
C++ Thread 사용시 문법 관련 질문입니다.
안녕하세요 저가 서버쪽 공부하려고 책을 보는데 Thread사용시의 문법이 이해가 안되어 서요. C++ 문법중에 1번.thread t([&] { result = 1 + 2; });2번. shared_ptr<thread> thread(new thread([&]() { while (true) { int n; { lock_guard<recursive_mutex> num_lock(num_mutex); n = num; num++; } if (n >= MaxCount) break; if (IsPrimeNumber(n)) { lock_guard<recursive_mutex> primes_lock(primes_mutex); primes.push_back(n); } } })); 위처럼 ([]{}) 이런식으로 사용했는데... 이게 어디서 온 문법인지 아니면 F3을 눌러봐도 함수내에 이런 내용이 있는지 찾을수가 없어서요. 위처럼 사용하는것도 함수포인터의 일종인가요?? 저가 아는 함수 포인터는 void(*bp2)() 이런 형태인데... ([]{}) 형태가 되니까 어떤 문법인지 궁금합니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Sequence & generated by default as identity 질문 입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 요즘 강의 보면서 많이 배우고 있는 수강생입니다! MemoryMemberRepository에 등록된 sequence가 없어도 DB에서 generated by default as identity 를 통해서 숫자를 자동으로 증가 시킬 수 있는건가요? 그렇다면, 2개를 같이 적용하는 이유가 있을까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
갑자기 중복_회원_예외가 Tests failed 떠서 질문드립니다.
안녕하세요 스프링 데이터 JPA를 수강하던 중에 @Test 중복_회원_예외 부분에서 Tests가 failed 되어 질문합니다. 분명 setName으로 설정해준 값도 같은데 말이죠.. 왜 failed가 됐고 성공하려면 어떻게 해야할까요? 다음은 에러 코드입니다. 2021-12-09 22:56:32.154 INFO 5676 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@37052337 testClass = MemberServiceIntegrationTest, testInstance = com.example.hellospring.service.MemberServiceIntegrationTest@4ba1f425, testMethod = 중복_회원_예외@MemberServiceIntegrationTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@2320fa6f testClass = MemberServiceIntegrationTest, locations = '{}', classes = '{class com.example.hellospring.HelloSpringApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@51891008, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@9816741, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@2f67a4d3, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@49b2a47d, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1a5a4e19, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@5e955596], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]; transaction manager [org.springframework.orm.jpa.JpaTransactionManager@2b4954a4]; rollback [true] Hibernate: select member0_.id as id1_0_, member0_.name as name2_0_ from member member0_ where member0_.name=? Hibernate: insert into member (id, name) values (null, ?) Hibernate: select member0_.id as id1_0_, member0_.name as name2_0_ from member member0_ where member0_.name=? 2021-12-09 22:56:33.381 INFO 5676 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@37052337 testClass = MemberServiceIntegrationTest, testInstance = com.example.hellospring.service.MemberServiceIntegrationTest@4ba1f425, testMethod = 중복_회원_예외@MemberServiceIntegrationTest, testException = org.opentest4j.AssertionFailedError: Expecting: <"~~~ 이미 존재하는 회원입니다. validateDuplicateMember"> to be equal to: <"이미 존재하는 회원입니다."> but was not., mergedContextConfiguration = [WebMergedContextConfiguration@2320fa6f testClass = MemberServiceIntegrationTest, locations = '{}', classes = '{class com.example.hellospring.HelloSpringApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@51891008, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@9816741, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@2f67a4d3, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@49b2a47d, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1a5a4e19, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@5e955596], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]] org.opentest4j.AssertionFailedError: Expecting: <"~~~ 이미 존재하는 회원입니다. validateDuplicateMember"> to be equal to: <"이미 존재하는 회원입니다."> but was not. Expected :"이미 존재하는 회원입니다." Actual :"~~~ 이미 존재하는 회원입니다. validateDuplicateMember" <Click to see difference> at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at com.example.hellospring.service.MemberServiceIntegrationTest.중복_회원_예외(MemberServiceIntegrationTest.java:55) 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:688) 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$6(TestMethodTestDescriptor.java:210) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) 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 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) 다음은 MemberServiceIntegrationTest의 중복_회원_예외 부분입니다. @Testpublic void 중복_회원_예외() throws Exception { //Given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //When memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2));//예외가 발생해야 한다. assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");} 다음은 MemberService의 join부분입니다. @Transactionalpublic class MemberService { //private final MemberRepository memberRepository = new MemoryMemberRepository(); private final MemberRepository memberRepository; // 외부에서 memberRepository를 넣어준다. ★★(DI : Dependency Injection) @Autowired public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } /** * 회원가입 */ public Long join(Member member){ validateDuplicateMember(member); // 중복회원 검증 //System.out.println("~~~ MemberService join save 직전"); memberRepository.save(member); //System.out.println("~~~ MemberService join save 직후"); return member.getId(); } private void validateDuplicateMember(Member member) { memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("~~~ 이미 존재하는 회원입니다. validateDuplicateMember"); }); } /** * 전체 회원 조회 */ public List<Member> findMembers(){ return memberRepository.findAll(); } public Optional<Member> findOne(Long memberId){ return memberRepository.findById(memberId); }} 감사합니다 갑자기 잘 되던 부분이 안돼서 당황스럽네요..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
nil 이 const면 안 되나요?
항상 '없음' 상태를 나타내는거라면 그 편이 더 나을 것 같아서요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MySQL 사용 시 In-Memory DB 사용법
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] MySQL이나 ORACLE DB를 사용하는 환경일 때 만약 강의처럼 In-Memory DB를 사용하려고 하면 매번 의존성을 H2로 바꿔주고 DB를 H2로 사용해야하는 건가요? 다른 방법은 없을까요?