묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
테스트DB를 PostgreSQL 로 전환 후 테스트 수행시 오류
안녕하세요. 강의에 나온대로 진행 후 테스트 수행하니 아래와 같이 오류가 납니다. 무슨 문제일까요? java.lang.ExceptionInInitializerError 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 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.junit.platform.commons.util.ReflectionUtils.newInstance(ReflectionUtils.java:511) at org.junit.jupiter.engine.execution.ConstructorInvocation.proceed(ConstructorInvocation.java:56) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:72) 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:77) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:333) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:280) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:77) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:262) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:256) at java.base/java.util.Optional.orElseGet(Optional.java:369) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:255) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:108) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:107) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:71) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) 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: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:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) 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: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:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) 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.DefaultLauncher.execute(DefaultLauncher.java:248) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58) Caused by: org.testcontainers.containers.ContainerLaunchException: Container startup failed at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:322) at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:302) at com.etopia.studyolle.infra.AbstractContainerBaseTest.<clinit>(AbstractContainerBaseTest.java:10) ... 63 more Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageNameFuture=java.util.concurrent.CompletableFuture@28486680[Completed normally], imagePullPolicy=DefaultPullPolicy(), dockerClient=LazyDockerClient.INSTANCE) at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1265) at org.testcontainers.containers.GenericContainer.logger(GenericContainer.java:600) at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:311) ... 65 more Caused by: java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$3(DockerClientProviderStrategy.java:163) at java.base/java.util.Optional.orElseThrow(Optional.java:408) at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:155) at org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:113) at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:134) at org.testcontainers.LazyDockerClient.getDockerClient(LazyDockerClient.java:14) at org.testcontainers.LazyDockerClient.listImagesCmd(LazyDockerClient.java:12) at org.testcontainers.images.LocalImagesCache.maybeInitCache(LocalImagesCache.java:68) at org.testcontainers.images.LocalImagesCache.get(LocalImagesCache.java:32) at org.testcontainers.images.AbstractImagePullPolicy.shouldPull(AbstractImagePullPolicy.java:18) at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:62) at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:25) at org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:20) at org.testcontainers.utility.LazyFuture.get(LazyFuture.java:27) at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1263) ... 67 more
-
미해결Redux vs MobX (둘 다 배우자!)
payload 는 정확히 어떤 역할을 하는건가요?
payload에 대한 자세한 설명해주시면 감사하겠습니다. 검색을 해도 정확히 이해가 되지 않아서요~
-
미해결홍정모의 따라하며 배우는 C++
std::move
std::move는 l value 를 영구히 r value로 변환시키나요 아님 l value라는 사실은 변하지 않고 딱 쓰이는 그 순간에만 컴파일러가 l value임에도 r value로 인식하게 만드는건가요?
-
미해결홍정모의 따라하며 배우는 C++
4:10 res1->setAll()
4:10 경에 res1->print() / res1->setAll() 의 두가지 함수를 사용하고 있는데요 res1은 print()와 setAll()이 정의된 클래스가 아니고 (상속구조도 아닐뿐더러) 단지 두함수가 정의되있는 클래스의 포인터 변수만을 지니고있는데 어떻게 res1-> 으로 하여 res1의 주소로 두 함수를 접근할 수 있나요?
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
xhr 링크를 가져오기가 어려워요
예제에 없는부분이라 혼자 학습하려했지만 3일째 답을 찾지못해 질문을 남깁니다... https://www.k-startup.go.kr/common/announcement/announcementList.do?mid=30004&bid=701&searchAppAt=A 해당 링크는 k-startup 사업공고 홈페이지입니다. 아래에 보이는 코드대로 사업이름과 마감일자는 학습한대로 크롤링 했으나 가장 중요한 사업별 '링크(href)'가 'javascript'로 되어있어서 포기했습니다. selenium까지 사용해서 해당링크를 클릭하고 들어가 url가져오기 탭을 눌러 xhr신호를 받아 링크를 생성하는것을 확인했지만 xhr 주소가 너무나도 길어 특정한 규칙을 찾기가 어렵습니다. 제 질문은 다음과 같습니다. 직방사이트 크롤링 예제를 보면 선생님이 네트워크탭에서 xhr 신호를 찾아 해당 링크를 직접 파이썬 코드에 복사 붙여넣기 하셨습니다. 저는 반복문을 통해 여러페이지에서 xhr 주소를 손으로 붙여넣는게 아니라 코드를 통해 자동으로 가져오게 하고싶습니다. 해당 페이지에서 발생하는 xhr 신호를 확인하고 크롤링하는 방법이 있을까요? 제 지식이 앝아 추측한 내용이 이정도이지만 링크를 가져올 수 있는 더 나은방법이 있다면 답변 부탁드립니다. 감사합니다. import requests from bs4 import BeautifulSoup from requests_html import HTMLSession # find와 find_all로 크롤링 해오기 r = requests.get("https://www.k-startup.go.kr/common/announcement/announcementList.do?mid=30004&bid=701&searchAppAt=A") bs = BeautifulSoup(r.text, 'html.parser') lists = bs.select("ul.ann_list_impor > li > h4 > a") detail = bs.select("ul.ann_list_impor > li#liArea0 > ul > li") impor = bs.select("ul.ann_list_impor > li") data = [] # 게시물 수 만큼 반복문 돌려서 게시글의 마감일자, 제목 크롤링하기 for impo in range(0,len(impor)): info = {} raw = bs.select("ul.ann_list_impor> li#liArea%s > ul > li" % impo) for i in raw: # print(i) if i == raw[0]: info["출처"] = i.text elif i == raw[1]: info["구분"] = i.text elif i == raw[2]: info["마감일자"] = i.text.replace("마감일자\xa0\xa0","") elif i == raw[-1]: continue data.append(info) # print(data) title = [] for li in lists: title.append(li["title"].replace("상세내용으로 이동", "")) # print(title) message = [] for i in range(len(data)): titles = data[i]["마감일자"]+"\n"+ title[i] message.append(titles) print(message)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Board에서 Player 선언에 대한 질문입니다
Program의 static Main 내부에 선언된 Player player = new Player();가 새로운 플레이어로 생성된 것은 이해했습니다. 하지만 Board에서 Player _player = new Player();라고 선언하지 않고 짧게 Player _player;라고 선언하셨는데, Player _player = new Player();와 Player _player;를 둘 다 써봤는데 프로그램이 문제없이 작동합니다 new를 쓰고 안쓰고의 차이점이 궁금합니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
MappedSuperClass 와 TABLE_PER_CLASS의 차이점을 잘 모르겠습니다.
상속관계 매핑에서 TABLE_PER_CLASS 전략이랑 MappedSuperClass 가 추상 클래스를 extends한다는 점이나, 테이블이 자식 테이블만 생긴다는 점이나 비슷한거 같은데, 차이점이 잘 와닿지가 않습니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
다운로드한 엑셀 파일 위치를 바꿀때 질문이 있습니다.
1. %mv 이후에 ~/download 하고 탭을 치면, 선생님처럼 나오지 않고, 양쪽에 큰 따옴표가 묶여서 나옵니다. ㅠㅠ 2. 그리고 파일 이름인 주택보증 치고 탭을 쳐도 파일 이름이 자동으로 완성되지않습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
선수지식으로 자바어디까지 공부를 해야 하는지요?
안녕하세요? 팀장님! 너무 좋은 강의를 오픈해주셔서 감사드립니다. 선수지식으로 자바, 데이터베이스라고 표시되어 있는데요 본 강의를 수강하기위해서 자바 어디까지 공부를 해야하는지요 가이드 부탁드려요^^ 그리고 혹시 자바기초강의는 계획이 없으신지요^^ 궁금합니다. 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
선수과목은 꼭 필수인가요?
강의만 바로 봐도 되는건지 선수과목을 다 마친 후에 학습하는게 좋은지 궁금합니다.
-
미해결[입문] 예민한 UX 디자인
UX.UI
UX와 UI의 차이점도 이해가 가고 UX는 UI보다 더 큰 개념이라는 것은 이해가 가는데 UX는 유용성에 더 가까운 것을 제공하는 것이고 UI는 편의성 즉 사용성에 더 가까운 것을 제공하는 것이라고 생각해도 될까요?
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
가장 작은 공이 밑으로 사라져버려요
정상작동은 되는데 공을 쏴서 제일 작은공으로 만들면 그 공이 스테이지에 닿아 사라져버려요 그래서 공을 다 없앤 경우 게임 종료하는 미션 컴플리트를 할수가 없어요
-
미해결홍정모의 따라하며 배우는 C언어
변환지정자 수식어 질문
1. .을 기준으로 .뒤는 precision이라는 것은 알겠는데 %0.8f나 %0i같이 .앞의 0은 flag인지 width인지 어떻게 구별하나요? 2. width와 .precision은 각각 자리수를 지정, 정밀도 보장하는데 정수일 때 둘의 차이를 모르겠습니다. 예제를 보면 실수일 때는 둘의 기능이 명확히 구분이되는데 정수일 때는 둘 다 자리수를 지정하는 기능으로 보여 구분이 잘 안됩니다. 3. 앞강의에서 배웠던 %g를 사용했을때 백만자리가 넘어가면 자동으로 과학적 표기법 형태로 바뀌던데 원래 그런가요? 부동 소수점 수에 사용이 되고 값에 따라서 %e나 %f중 짧은 표현에 사용하고 지수가 –4보다 작거나 정밀도보다 크거나 같을 경우에는 %e 사용 이라고 말씀하신 교수님의 설명만으로는 이해가 잘 가지않아서 그렇습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
페북 생활코딩에서 보고 왔습니다.
스프링 공부할까 고민중이였는데 무료로 좋은 강의 공개해 주셔서 감사합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
backend강의를 다보고 나서 질문드립니다.
강의는 잘 봤는데요. 궁금한게 있어서 질문드릴게용 userSchema.methods.generateToken = function (cb) { let user = this; // jsonwebtoken을 이용해서 token을 생성하기 let token = jwt.sign(user._id.toHexString(), "secretToken"); 여기서 갑자기 user._id가 나왓는데 user._id는 userSchema에 없는데 user._id에 대해서 설명해 줄 수 있나요? /* user._id + 'secretToken' = token => 'secretToken' => user._id */ user.token = token; user.save(function (err, user) { if (err) return cb(err); cb(null, user); }); }; //그리고 여기서는 statics를 쓰셧는데 // methods를 쓰다가 갑자기 static를 쓰신 이유도 궁금합니다. // 알긴 알겠는데 선생님의 의견이 궁금해서요 userSchema.statics.findByToken = function (token, cb) { let user = this; // 토큰을 decode 한다. jwt.verify(token, "secretToken", function (err, decoded) { // 유저 아이디를 이용해서 유저를 찾은 다음에 // 클라이언트에서 가져온 token과 DB에 보관된 토큰이 일치하는지 확인 user.findOne({ _id: decoded, token: token }, function (err, user) { if (err) return cb(err); cb(null, user); }); }); };
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
저는 지난날 스프링 로깅을 log4j 로 배웠는데 과거 유물급을 배운건가요?
세세한 설명 감사드립니다.이클립스 + spring MVC lagacy + MyBatis + Oracle조합으로 프로젝트를 진행했었는데Log4j 또는 Log4j2 는 과거 유물이 된건가요?로깅에 어떤 lib을 써야 현업에 맞추어 공부할지에 대해 약간 혼란스러워 여쭈어 봅니다.logback 과 slf4j 가 Log4j를 쓰기위해 꼭있어야 되는걸로 알고있긴한데...딱 거기까지만 알구요..로깅을 위한 최고의 라이브러리를 추천해주시면 안될까요?
-
미해결실전! 스프링 데이터 JPA
CollectionTable사용시 fetch 조인에 대해서
안녕하세요! 기본 빼고는 전부 완강했습니다. 좋은 강의 감사합니다! 강의를 다듣고 여러가지 실습을 해보고 있는데요. OneToMany 일대다 fetch조인은 하나의 테이블에 대해서 밖에 안되는데 일대다 관계의 CollectionTable조인은 여러 테이블에 대해서도 에러가 안나고 N+1 문제도 발생하지 않더군요. CollectionTable도 결국은 테이블에 대한 조인인데 왜 문제 없이 테이터를 가지고 올 수 있는지 궁금합니다.
-
미해결디지털 포렌식 (Digital Forensic) 전문가 과정
1강 관련 질문입니다.
안녕하세요 디지털 포렌식 강의를 듣고있는데 1강에서 "3ffd089204f376de5050d82a5a4713ef" 이 파일이 무엇인지 알고 바로 vmdk 파일로 변환한건가요..? hxd로 보니까 "33 C0 8E D0" 로 시작하는거는 img convert 가 가능한건가요>? 궁금해서 질문을 남깁니다.
-
미해결실전! Querydsl
condition 만들어지는 과정 이어서 질문드립니다!
안녕하세요 영한님! 지난 질문에서 "pathvariable을 이용해주지 않았는데 자동으로 MemberSearchCondition안에 어떻게 들어가게 되는지 궁금합니다." 다 라고 질문을 드렸었는데, 이 부분이 정확히는 스프링 데이터 JPA 에서 배운 queryString으로 파라미터를 넘겨서 그 값이 도메인 클래스 컨버터 기술로 인해 바로 들어가는 것이 맞나요 ?
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
섹션 9의 강의중에 질문있습니다
안녕하세요 알기쉽고 꼼꼼하게 강의준비해주셔서 편하게 강의 잘 듣고 있습니다 감사합니다~ 다름아니라 섹션 9 이커머스 분석에서 고객이 주로사는 지역에 대해 분석하는 파트에서 명령어를 입력하면 하얀 백지만 보이고 시각화자료가 보이지 않습니다... 제가 설치를 안하고 넘어간 부분이 있어서 그런지 잘모르겠습니다 ㅠㅠ 다른 명령어는 잘 수행되는데 시각화 라이브러리만 동작을 안하는 것 같습니다... 확인 부탁드립니다 ㅠㅠ 감사합니다.