묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
"쿠팡 제품 검색 결과 크롤링" 강의를 응용해서 타오바오 사이트에서 해보려고 하는데,,
"쿠팡 제품 검색 결과 크롤링" 강의를 응용해서 타오바오 사이트에서 해보려고 하는데,자꾸 안돼서 아래와 같이 print(html) 했더니뭔가 차단된거 같은 html 막 쭉 뜨네요 이럴때는어떻게 해야하나요?req = requests.get(links, timeout=5, headers=headers, cookies=cookie)html = req.textsoup = BeautifulSoup(html, "html.parser")print(html)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자동 의존 관계 형성 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (에)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 강의를 듣고 혼자 따로 생각해보다가 의문점이 들어 질문드립니다.컴포넌트 스캔과 자동 의존관계 설정 강의의 6분 40초대에서 설명하시는 내용중 Service의 생성자에 의해 의존관계가 형성된다 설명해주셨습니다. 저는 생성자가 의존관계를 형성해주는 것이 아니라 import를 통해 Service 객체가 Controller 객체안에 포함이 되어 의존관계가 되는 것이 아닌가 하는 의문점에 질문 드립니다.아니라면 Service를 import를 왜 하는 건지 잘 모르겠습니다.
-
해결됨클릭만으로 웹페이지 만들기 - 한국인이 좋아하는 속도로 때려넣는 워드프레스
에러 메세지
윈도우에서 설치하는 방법대로 강사님 말씀에 따라 순서대로 하는데 이전까지는 정상으로 설치되었는데sodo docker compose up -d를 입력하며 sudo: docker: command not found라는 에러 메세지가 나옵니다. 뭐가 잘못되었을까요
-
해결됨타입스크립트의 모든 것
화살표 함수에서 this
안녕하세요 :)좋은 강의 제공해주셔서 감사합니다. 덕분에 타입스크립트에 대해 많이 알아가고 있어요.이전 강의와는 달리 화살표 함수를 통해 클래스를 함수로 변환하셨는데 그 과정에서 궁금한 점이 있습니다.화살표 함수에서 this는 상위 컨텍스트의 this(영상 속 add 함수의 경우 전역 객체인 global)를 가리키므로, 작성해주신 add 함수에서의 _this는 IAdd가 아닌 globalThis가 맞는 게 아닌지 의문이 들어 질문드립니다. 제가 모르는 거나 놓치는 게 있어서 이해를 못 하는 것 같은데 알려주시면 감사하겠습니다 ㅠㅠ..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
MouseEvent 형식이 제네릭이 아닙니다.
const onClickSpan = (event: MouseEvent<HTMLSpanElement>) => { alert(event.currentTarget.id + "번 게시물입니다.") console.log(event.currentTarget.id) } const onClickDiv = (event: MouseEvent<HTMLDivElement>) => { alert(event.currentTarget.id + "번 게시물입니다.") console.log(event.currentTarget.id) } const qqq = (event: MouseEvent<HTMLSpanElement>) => { alert("클릭 타이틀") } // map의 특이점 또는 callback함수의 특이점 : 중괄호{} 로 쓰면return 생략 불가능 , () 로 쓰면 return 생략 가능 return( <> <div> {data?.fetchBoards.map((el: any) => ( // 함수타입은 인자 받는 곳에서 타입을 선언해주면됨 <div> <span> <input type='checkbox' /> </span> <span onClick = {() => ( // 안에서 바로 지정해버리는 법 alert(el.number + "번 게시물입니다. 안에서 지정 법") )} style = {mystyle}>{el.number}</span> <span id = {el.number} onClick = {onClickSpan} style = {mystyle}>{el.writer}</span> <span id = {el.number} onClick = {onClickSpan} style = {{margin: "10px"}}>{el.title}</span> <span id = {el.number} onClick = {onClickSpan} style = {{margin: "10px"}}>{el.contents}</span> </div>))} </div> <div> {data?.fetchBoards.map((el: any) => ( // 위에서 처럼 하나하나 지정 말고 한번에 지정하는 법 (이벤트 버블링으로 클릭 이벤트 전파) <div id={el.number} onClick={onClickDiv}> <span> <input type='checkbox' /> </span> <span onClick = {qqq} style = {mystyle}>{el.number}</span> <span style = {mystyle}>{el.writer}</span> <span style = {{margin: "10px"}}>{el.title}</span> <span style = {{margin: "10px"}}>{el.contents}</span> </div>))} </div>위 코드에서 span 태그에는 HTMLSpanElement Div 태그에는 HTMLDivElement 를 적용했는데 'MouseEvent 형식이 제네릭이 아닙니다.' 이 오류가 계속 뜹니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ControllerAdvice의 예외처리 범위
안녕하세요먼저 강사님께서 보여주신 예외처리 흐름 이미지를 보고 ExceptionHandlerrExceptionResolver 는 handler를 통해 올라온 예외만 처리할 수 있다고 이해하였습니다.(호출 주체가 DispatcherServlet이기 때문)질문은 아래와 같습니다.등록된 ExceptionResolver들이가 handler에서 올라온 예외에 대해서만 처리 가능한지? 아니면 DispatcherServlet내부에서 발생하는 에러 전체에 대해 포괄적으로 처리해주는지 @ControllerAdvice에 선언된 @ExceptionHandler도 ExceptionHandlerrExceptionResolver가 처리하는가?controller에 선언된 @ExceptionHandler에 대한 설명은 해주셨는데, @ControllerAdvice에 선언된 @ExceptionHandler의 처리 흐름은 설명을 안 해주셨네요. @ControllerAdvice의 처리 흐름은 고급편 AOP부분을 이해해야할까요? 1번이 맞다면 결국 DispatcherServlet내에서 발생하지 않은 예외는 @ControllerAdvice에 선언된 @ExceptionHandler가 실행되지 않는가?ex) DispatcherServlet이 호출되기 전인 Spring Security filter단계에서 Service레이어 코드를 호출하고 예외가 발생한 경우-> 이 경우 논리대로라면 예외가 발생하더라도 ExceptionHandler가 호출되지 않을 것 같은데 맞나요?
-
미해결PHP 개발자의 최종 테크트리, 라라벨 강의
수정. 휴먼에러인지 뭔지 모르겠습니다..
영상 여러번 돌려봐도 틀린부분을 못찾겠는데 ㅠㅠ다음부턴 해당 강의 소스코드를 깃이나 노션같은곳에 올려주시면 진행하는데 더 도움이 될 거 같아요..
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
setBookmarkItem 함수 내 deleteBookmarkItem 함수 선언 방식에 대하여
효빈님, 안녕하세요. 강의를 들으면서 궁금한 점이 있어서 질문 드립니다.북마크 아이템 추가하기 강의에서 setBookmarkItem 함수 내에서 deleteBookmarkItem 함수를 선언할 때 애로우펑션을 사용하는 이유가 있을까요? 그냥 함수를 호출하면 안되는건지 궁금해서요..애로우펑션을 사용했을 때의 이점이 어떤건지 간략하게나마 알 수 있을까요? // 예제 코드 bookmarkDelBtn.addEventListener("click",()=>{ deleteBookmarkItem(item.createAt); }); // 궁금한 코드 bookmarkDelBtn.addEventListener("click", deleteBookmarkItem(item.createAt));
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
분류 모델 평가 관련
안녕하세요 빠른 답변 주셔서 공부에 많은 도움이 되고 있어 감사드립니다.roc_auc_score 평가 시에만 accuracy, precision, recall, f1 과 다르게 predict_proba를 사용하는 이유 궁금합니다
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 컨슈머 그룹에 대하여
카프카 컨슈머 그룹을 공부하면서 어플리케이션을 만들다가 질문이 있어 글을 썼습니다.컨슈머 그룹 안에 여러개의 컨슈머들이 있고 그 컨슈머들이 토픽 안에 있는 파티션어 각각 붙어서 저장되어 있는 메세지를 받아오고 그 각각의 컨슈머들의 로직은 같다고 하셨는데 그러면 컨슈머 어플리케이션은 그 갯수만큼 서버에 올려서 만들어줘야 하나요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Redisson import
안녕하세요.Build.gradle에 Redisson을 import하는 과정에서 궁금증이 생겨서 질문합니다.처음에 Redisson을 검색해서 import를 했는데 Facade에서 생성자를 만들때 빨간줄이 뜨고, test를 돌려보니 에러가 나더라구요.importimplementation group: 'org.redisson', name: 'redisson', version: '3.2.0'import한 페이지https://mvnrepository.com/artifact/org.redisson/redisson/3.2.0생성자 경고 test errorjava.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@3f908a10 testClass = com.example.stock.facade.RedissonLockFacadeTest, locations = [], classes = [com.example.stock.StockApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@16a0ee18, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@bd4dc25, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@71def8f8, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1da2cb77, org.springframework.boot.test.context.SpringBootTestAnnotation@818c3651], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:142) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:127) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:241) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:377) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:382) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:377) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:376) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:289) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:288) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:278) at java.base/java.util.Optional.orElseGet(Optional.java:364) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:277) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:105) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:104) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:68) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) 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:1511) 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:147) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) 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.UnsatisfiedDependencyException: Error creating bean with name 'redissonLockFacade' defined in file [/Users/jialee/inflearn/stock/out/production/classes/com/example/stock/facade/RedissonLockFacade.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'org.redisson.api.RedissonClient' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) 그래서 다시 검색해서 import 하니 생성자쪽에서 빨간줄은 뜨지 않지만, 테스트를 돌리면 동일한 에러가 나더라구요.importimplementation 'org.redisson:redisson-spring-boot-starter:3.17.4'혹시 두 inport의 차이점은 무엇이며, 왜 계속 테스트가 실패하는건지도 문의드립니다. + 추가로 git 주소도 남깁니다.https://github.com/uiop9900/stock.git
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
AWS에서 Amazon Linux 2023 AMI를 사용 하면 안되나요?
안녕하세요. Amazon Linux 2 AMI를 사용해서 다시 인스턴스 만들기 직전입니다..Amazon Linux 2023이 최신이길래 이걸로 셋팅 했더니 amazon-linux-extras 사용이 안되고어떻게 tomcat 설치 까지는 실습 했는데 ansible 설치가 안되네요. 이건 인스턴스를 Amazon Linux 2 AMI로 새로 만들어야 할 수 밖에 없나요?
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
함수 매개변수 타입의 호환성
함수의 매개변수 타입에서 업캐스팅은 에러가 발생하고, 다운캐스팅은 실행 되는 이유가 슈퍼타입에서 서브타입으로 상속 받았기 때문이라고 이해해도 될까요?
-
미해결유니티 Addressable 을 이용한 패치 시스템 구현
카탈로그 질문..
제가 잘못해서 previous build를 안하고 default build를 해서지금 이렇게 됐고, 앱의 버전은 1.0.7인데, 이 버전의 setting.json은이거인데요...제가 이걸 누르고 previous build를 하고..aws s3 서버에 덮어 씌우기 했는데도...업데이트가 되지 않아요...뭐가 문제인걸까요?...어떻게 해결하면 될까요?ㅠ... 그리고 1.0.1~1.0.6 버전에는 예전 카탈로그를 썼는데,default build 해서 최신 카탈로그로 하고, 1.0.7 버전으로 앱 빌드 하면.1.0.7 버전의 최신 카탈로그로 업데이트 되는거 맞나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
npm run dev 오류
npm run dev 명령어를 실행했을 때 다음과 같은 에러 로그가 생성됩니다.react-boiler-plate@1.0.0 dev> concurrently "npm run backend" "npm run start --prefix client"sh: concurrently: command not found
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
비동기를 동기로 처리하는 이유
비동기 함수를 왜 굳이 동기처럼 실행시키기 위해 await을 사용하는 건가요?처음부터 함수를 만들때 동기로 만들면 되는거 아닌가요?동기, 비동기가 잘이해가 안가네요..
-
미해결확률과 통계 기초
8.4 ex01 random sameple size질문입니다.
Normal distribution일려면 RV size가 30 이상이었던 것으로 기억하는데 ex1처럼 20인 경우에도 적용 가능한가요?제가 놓치는 부분이 있는거 같아서 질문드리게 되었습니다
-
미해결캐글 Advanced 머신러닝 실전 박치기
깃허브 주소 문의드립니다.
안녕하세요! 선생님 강의 열심히 듣고 있는 학생입니다 "Anaconda와 Jupyter notebook 셋업하기"를 보면 선생님 깃허브에 들어가서 DLCV 파일을 다운받으라고 하셨는데, 깃허브 주소가 어떻게 되시나요? 아무리 찾아도 나오지 않아 문의드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 클래스 개발2 h2 db 업데이트 오류 및 intellij 자동 종료
엔티티 클래스 개발2 강의 8분까지의 내용을 따라하는 중인데cmd로 db실행해도 db과 최신화 되어있지 않습니다.그리고 intellij에서 메인 클래스 실행하면 강의와 다르게 자동 종료됩니다.해결 방법 문의 드립니다. https://drive.google.com/drive/folders/1UcqCYHfwffTcVLU7QlbHylGEY2djBH9f?usp=sharing
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
섹션 3에서의 모든 테스트 케이스가 동작하지 않는데 문제점을 모르겠습니다.
안녕하세요.섹션 3의 세 가지 락들을 따라하면서 코드를 작성했습니다.그런데 세 가지 모두 테스트 케이스가 동작하지 않습니다.PessimisticLock과 NamedLock 경우 재고가 감소하지 않습니다.. OptimisticLock의 경우는에서 동작하지 않습니다.사용한 자바 버전은 17입니다.소스코드 주소는https://github.com/torissi/synchronism-issue입니다.