안녕하세요~4강 보다가 min_samples_split / min_samples_leaf 차이가 뭔지 잘 모르겠어서요. min_samples_split=10으로 한다고 가정하면 샘플이 10개 남았을 때 split하고, min_samples_leaf =10으로 한다고 가정하면 샘플이 10개 남았을 때 split하지 않는 그 차이 뿐인건가요??
안녕하세요! ReaderWriterLock을 고정 데이터 테이블이 운영툴 등에 의해 변경될 수 있기 때문에 사용한다고 하셨는데요. 그래서 실제로 해당 사용하게 되는 상황을 가정해 봤습니다. 예를 들어 데이터 테이블 클래스 내부의 Dictionary<int, ItemInfoClass>로부터 ItemInfoClass 정보를 얻기 위해 GetItemInfoClassByID(int id)라는 함수를 만들고, 함수 안에서는 ReaderLock을 걸었다가 ItemInfoClass를 찾은 후 return과 동시에 ReaderLock을 해제하는 식으로 함수를 꾸미려고 합니다. 하지만 얻어온 ItemInfoClass 값은 참조 값이기 때문에 컨텐츠에서 사용하는 도중 언제든지 운영툴에 의해 값이 변경 될수 있다고 생각되는데요. (이미 Get을 해온 상태여서 ReaderLock이 해제 됐기 때문입니다) 그래서 저대로 쓰면 안된다는 생각이 들어서 제가 생각해본 해결방법은 1. Get함수가 return 시에 값을 복사해서 넘겨준다. 2. 컨텐츠 단에서 ReaderLock을 걸어서 값을 얻어간 컨텐츠에서 사용이 완료될때까지 ReaderLock을 풀지 않는다. 위 두개입니다. 1번은 복사하는 데이터의 양이 너무 커지거나 매번하게 되는 복사에 대한 퍼포먼스가 염려되고, 2번은 ReadLock을 해제하지 않는 실수를 범할까봐 고민이 됩니다. 실제로 실무에서는 보통 이런 경우 어떻게 처리하는지 궁금합니다. 혹은 좋은 아이디가 있으면 가르침 좀 부탁드리겠습니다 ㅠ
안녕하세요 강사님 강의 시청중 궁금한 부분이 생겨서 질문을 드리게 되었습니다. 섹션 6. 실무 활용 - 스프링 데이터 JPA와 Querydsl - 사용자 정의 리포지토리 부분 입니다. 질문 드립니다. 사용자 정의 리포지토리를 같은 패지키안에 생성 하고 테스트(@DataJpaTest)를 동작하면 정상 동작이 됩니다. 관련 테스트 코드 @DataJpaTest class PostsRepositoryTest { @Autowired private PostsRepository postsRepository ; @Test @DisplayName ( "커스텀 리포지토리 테스트 해보기" ) void custom_repository_test () { postsRepository .search() ; } } infra 패키지를 생성 후 PostsRepositoryImpl 를 구현하고 단위 테스트(@DataJpaTest)를 동작하면 postsRepository 관련 에러가 출력이 되서요 에러 로그---- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'postsRepository': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract void com.springboottest.www.springboottest.domain.posts.PostsRepositoryCustom.search()! No property search found for type Posts! 에러 로그---- @SpringBootTest 통합 테스트로 진행하면 정상 동작을 합니다. 그리고 컨트롤러를 생성 후 브라우저에서 직접 호출을 해도 정상 동작을 합니다. 단위 테스트(@DataJpaTest)로 테스트시 구글링 해봤는데요 @DataJpaTest(includeFilters = { @ComponentScan.Filter(Service.class), @ComponentScan.Filter(Component.class), @ComponentScan.Filter(Repository.class) }) 위와 같이 지정을 해주면 정상 동작은 합니다. 다른분들이 질문하신 목록은 모두 보았는데 저랑 비슷하게 고민하시는 분들은 없는것 같아서요 혹시 강사님은 어떻게 패키지 구조를 사용하시는지와 @DataJpaTest 어노테이션만 활용해서 테스트 진행할 방법이 없는지 궁금해서요 최근 DDD 관련 책을 읽어 보고 있는데 도메인과 인프라스트럭처 영역을 구분해서 패키지 구조를 나누는 부분을 실습해 보고 있어서요 제가 코드 구성하는 부분은 Spring Data Mongo로 구성을 하고 있는데 사용자 정의 리포지토리 부분은 비슷한 부분이 많아서 많은 도움이 되었습니다! 시간 되시면.. Spring Data Mongo 강의도 만들어 주시면 좋을것 같습니다 ㅜ 읽어 주셔서 감사합니다.
[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
강의 완강하고 수강평 남겼습니다! 알찬 강의에 감사드립니다. plotly 그래프로 시각화를 할 때 문법에 관해서 질문 드립니다! 질문에 대한 이해를 돕기 위해서 아래와 같은 데이터프레임이 있다고 할 때, 지역별로 업종에 따른 매출금액을 한 그래프에 표시하거나 아니면 subgroup을 이용해서 그래프를 여러개로 표출하는 방법은 따로 없나요!? 제가 원하는 그래프 형태는 밑의 형태와 비슷합니다..! 밑의 그림처럼 위 데이터프레임을 예시로 든다면 x축에는 지역, y축에는 매출, 레전드값 종류에는 업종, 이렇게 한 그래프에 여러가지 정보를 줄 수 있는 그래프 형태를 어떻게 만들 수 있을까요..!?
안녕하세요 강사님. 머신러닝 하다가 궁금한 점이 있어 질문 남깁니다. 각 피쳐가 타겟값을 예측하는데 얼마나 영향을 미치는지를 선형모델로 확인하고 있습니다. 비교하기 위해선 데이터를 표준화 시키는게 좋을거 같아서 표준화를 진행하는데, 데이터세트에 category 데이터들도 포함돼있습니다. 그럼 이런 상황에서는 수치형 데이터만 표준화를 시키고 category데이터와 concat하여 인코딩을 진행해야 할까요 아님 원핫인코딩을 한 뒤에 인코딩된 데이터도 같이 표준화를 시켜야 하나요? 인코딩 한 데이터에 표준화를 시키면 1과 0으로만 표준화가 돼서 이상할거같은데...
db테이블간에 관계로 인해 자동으로 생성되는 foreign key 컬럼은 UserId 이런 파스칼케이스이고, 직접 만들어준 컬럼은 userName 이런식으로 카멜케이스인데요. db . Pet . belongsTo ( db . User , { foreignKey : 'userId' }); 이렇게 foreignKey도 카멜케이스로 생성되도록해도 문제 없는건가요?
이상하게 4번에서만 오류가 나서 반례가 있는지 계속 생각해봤는데 생각이 잘 안되서 질문드립니다! aRes 는 a의 해당 a[i]번 값의 갯수를 저장하고 bRes는 b의 해당 b[j]번 값을 저장합니다. 그리고 그 값이 같을때 flag를 flase로 해줍니다. c++ 에서도 강사님과 같은 방법을 써야하나요? 제 코드와 차이점이 뭔가요? 시간 측면에서 더 효율적인건가요? #include #include int main(){ using namespace std; //freopen("input.txt", "rt", stdin); string a,b; int i,j; int aRes,bRes; bool flag=true; cin>>a>>b; if(a.length()==b.length()){ flag=true; for(i=0; i<a.length(); i++){ aRes=1,bRes=1; for(j=0;j<a.length();j++){ if(a[i]==b[j]) bRes++; } for(j=i+1;j<a.length();j++){ if(a[i]==a[j]){ aRes++; } } if(aRes!=bRes) flag=false; } if(flag) cout<<"NO"; else cout<<"YES"; } return 0; }
로그인을 해야되는데 저의 정보를 못받아와서 그런지 postman이 헛도는거 같아요 현재 클라우드 서버와 포스트맨 post 양식이구여 login관련 index 부분입니다 개인적으로 에러 부분을 찾을려구 console.log을 찍었봤는데 문구가 user.comparePassword 를 밑으로는 가는 순간 콘솔이 안찍히게 되더라고여 제 개인적 생각은 comparepassword나 그 이외을 것이 받아오지 못하여서 생기는 문제가 아닐까 추측을 하고 있습니다 이 문제와 관련화여 User.js가 문제 일수도 있을거 같아 전체 코들 올립니다 이거 때문에 멘붕터져서 몇일 동안 손 놓고 있었는데 어떻게 해야 하는지 알려주시면 감사하겠습니다 ㅜㅠ github 주소 https://github.com/Kimwonjin1/react-node.git
안녕하세요. 강의에 나온대로 진행 후 테스트 수행하니 아래와 같이 오류가 납니다. 무슨 문제일까요? 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
4:10 경에 res1->print() / res1->setAll() 의 두가지 함수를 사용하고 있는데요 res1은 print()와 setAll()이 정의된 클래스가 아니고 (상속구조도 아닐뿐더러) 단지 두함수가 정의되있는 클래스의 포인터 변수만을 지니고있는데 어떻게 res1-> 으로 하여 res1의 주소로 두 함수를 접근할 수 있나요?
예제에 없는부분이라 혼자 학습하려했지만 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)
Program의 static Main 내부에 선언된 Player player = new Player();가 새로운 플레이어로 생성된 것은 이해했습니다. 하지만 Board에서 Player _player = new Player();라고 선언하지 않고 짧게 Player _player;라고 선언하셨는데, Player _player = new Player();와 Player _player;를 둘 다 써봤는데 프로그램이 문제없이 작동합니다 new를 쓰고 안쓰고의 차이점이 궁금합니다