학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. addPathPatterns을 사용하여 모든 경로에 인터셉터를 추가하고 excludePathPatterns에 제외하고 싶은 경로를 작성하여 제거하여 인터셉터를 특정 URL에만 적용할 수 있다는 점을 배웠습니다. 제가 궁금한 점은 여기서 만약에 서버에서 지원하지 않은 URL 즉, 404 에러를 발생시키는 URL에 접근할 경우에도 로그인 페이지가 나오고 로그인을 완료하면 그 후에 404 페이지가 나옵니다. 이렇게 컨트롤러가 지원하지 않은 URL에는 인터셉터를 적용시키 않으려면 어떻게 설정을 해야하는건가요?
from selenium import webdriver driver = webdriver.Chrome() 강의랑 동일하게 입력하였는데요. Traceback (most recent call last): File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\driver_finder.py", line 38, in get_path path = SeleniumManager().driver_location(options) if path is None else path ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 89, in driver_location args = [str(self.get_binary()), "--browser", browser] ^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 73, in get_binary raise WebDriverException(f"Unable to obtain working Selenium Manager binary; {path}") selenium.common.exceptions.WebDriverException: Message: Unable to obtain working Selenium Manager binary; C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2024.1\plugins\python-ce\helpers\pydev\pydevd.py", line 1535, in _exec pydev_imports.execfile(file, globals, locals) # execute the script ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\JetBrains\PyCharm Community Edition 2024.1\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "C:\Users\tjdwl\PycharmProjects\Selenium\section6\selenium_basic.py", line 3, in <module> driver = webdriver.Chrome() ^^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in init super().__init__( File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 49, in init self.service.path = DriverFinder.get_path(self.service, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\driver_finder.py", line 41, in get_path raise NoSuchDriverException(msg) from err selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location python-BaseException 해당 오류가 발생합니다.
개발자분에게 이벤트 측정을 부탁드렸는데 백엔드에서 수집하는 경우에는 프론트에서 client_id를 받고, 또 비동기적으로 처리될 때에는 이를 저장해놨다가 이벤트를 호출해야하다보니까 client_id를 무조건 보내줘야하는건지 궁금해하시더라구요. (거래내역에 대한 이벤트를 수집한다고 하면 거래내역 전부에 client_id를 달아줘야하는건데 이게 좀 그렇다고..) 측정 프로토콜에서 이벤트를 수집할 때에는 client_id는 무조건 보내줘야하는건지, 아니면 대체할 수 있는 방법이 있는 건지 궁금합니다!
[질문 내용] 강사님이 save를 할때는, 데이터가 디비에서 한번 갔다온(디비에서 조회된) 친구들은 수정시 save호출시 merge가 일어난다고 하셨는데, 영속성 컨텍스트에 그 조회한 데이터가 있으면, merge가 안 일어나지 않나욤?? 디비에서 데이터를 가져왔을 때, 해당 데이터의 변경이 일어나면, 그냥 트랜잭션이 끝날때, flush()가 일어나니까, 놔두면 알아서 더티체킹이 일어나서 업데이트가 되는 것으로 알고있습니다. 그래서, 한번 테스트로 데이터를 변경시키고, 해당 데이터를 save하니 디비에서 한번 더 select가 안 날라가더라고요. 이랬을땐, 아무것도 안 일어나는 건가여? 그리고 트랜잭션이 끝날때 더티체킹이 일어나서 업데이트가 되는 건가여? 영한님이 말하신 건, 영속성 컨텍스트에 해당 데이터를 clear했을 때를 말하는 건가여? 아래 사진 첨부입니다. @Test public void test(){ Member member = memberRepository.findById(2L).orElseThrow(); member.setUsername("ㅎㅎ"); memberRepository.save(member); } @Test public void test(){ Member member = memberRepository.findById(2L).orElseThrow(); member.setUsername("gg"); em.flush(); em.clear(); memberRepository.save(member); }
안녕하세요 선생님 !! 강의 잘보고 있습니다. Provider : 수신측에 변경 사항을 알리지 않음 라고 하셔서 코드를 작성해보았습니다. countprovider안에서 ref.watch(towProvider) 사용해봤는데요 우선 여기서 watch를 써서 상태가 바뀐건 이해합니다. 그래서 "counter 생성자" 가 계속 출력되고요 . 근데 main함수에서 counterProvider 를 ref.watch 했는데 화면이 계속 갱신 되는 건 이해가 가지 않습니다. 수신측에 변경 사항을 알리지 않음 이라고 하셔서 여기서는 호출해도 변함이 없겠구나 라고 생각했습니다... import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; final towProvider= NotifierProvider<Two, int>( (){return Two();} ); final counterProvider = Provider<Counter>((ref) { print("hello"); int num=ref.watch(towProvider); return Counter(num:num);}); class Two extends Notifier<int>{ Two(){ print("Two 생성자"); } @override int build() => 0; int add() => state++; } class Counter { Counter ({required this.num}){ print("Counter 생성자"); } int num; int getIncreasedNumber() => num ++; } void main() { runApp( const ProviderScope( child: MaterialApp( debugShowCheckedModeBanner: false, home: MyApp(), ), ), ); } class MyApp extends ConsumerWidget { const MyApp({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { print("build"); Counter counter = ref.watch(counterProvider); return Scaffold( body: Center( child: Text( "${counter.num}", style: const TextStyle( fontSize: 24, ), ), ), floatingActionButton: FloatingActionButton( onPressed: (){ref.read(towProvider.notifier).add();}, child: const Icon(Icons.add), ), ); } }
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에 예외처리로 0 을 출력하도록 되어 있는데 출력문 대신 return 0; 으로 해도 상관없는지 궁금합니다!
http://boj.kr/1768eef2fba64e16bc9bbbca272a7caa 우선 모든 경우의수가 2*N이니 1~2^2*N까지 반복시킨후에 각 경우의수마다 어떤 행과 열을 뒤집을지 고르는 방식으로 진행했습니다. 이게 경우의수가 너무 커서 틀린거지 로직은 맞을까요?? 아니면 로직도 바꿔야할지 궁금합니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] ( https://www.inflearn.com/blogs/1719 ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [질문 하기] [4.5] - 익스포터의 종류의 데이터베이스 항목에서 MongoDB,MySQL,PostgreSQL,Redis가 있는데, k8s의 Pod형태가 아닌 Dedi 서버로 구축된 경우도 익스포터를 통해 모니터링이 가능할까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 에러 내용 현재 CoreApplicationTests를 돌리면 오류가 나서 질문 올려봅니다. 잘은 모르지만 고치려고 제 코드와 오류를 살펴보니 MemberServiceImpl과, OrderServiceImpl 둘의 클래스 각각 @Autowired 어노테이션이 적용된 생성자에 주입해지는 MemberRepository 타입 객체가? 빈에 등록된게 두개라 둘 중 뭘 넣지 못한다는 형식의 오류 같습니다. (확실하지 않아서 모르겠어서 질문 드립니다). 시도한 부분 자주묻는 질문란에 스프링 부트 3.X 매개변수 이름 인식 문제에 대해서 인식하고 @Autowired 관련 문제 해결방안 3인 인텔리제이의 설정 부분에서 Build and run using를 Gradle로 설정하고 돌려도 똑같더라구요. 그래서 아직까지 문제가 정확히 무엇인지 파악하지 못하겠습니다. 하단에 에러 메세지와 코드 덧붙였습니다. 한번 봐주신다면 정말 감사하겠습니다. ㅠ 코드압축본 https://drive.google.com/file/d/1WdsaN07LSBwaHzlae8WMEj-0wwYnOM5c/view?usp=sharing 에러메세지 (게시글 용량때문에 중요해 보이는 에러만 가지고 와봤습니다) 테스트 실행했을 때 Test Results - CoreApplicationTest - contextLoads의 에러 내용입니다 Failed to load ApplicationContext for [MergedContextConfiguration@36681447 testClass = hello.core.CoreApplicationTests, locations = [], classes = [hello.core.CoreApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@192d74fb, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@66ce957f, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@efde75f, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@7894f09b, org.springframework.boot.test.context.SpringBootTestAnnotation@fd6d726d], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@36681447 testClass = hello.core.CoreApplicationTests, locations = [], classes = [hello.core.CoreApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@192d74fb, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@66ce957f, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@efde75f, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@7894f09b, org.springframework.boot.test.context.SpringBootTestAnnotation@fd6d726d], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepository Error creating bean with name 'memberServiceImpl' defined in file [/Users/sun/workspace/intelliJ/spring/study/core/build/classes/java/main/hello/core/member/MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepository org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [/Users/sun/workspace/intelliJ/spring/study/core/build/classes/java/main/hello/core/member/MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepository Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepository
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 중첩 클래스를 복습하다가, 동영상 강의 에서 여기 있는 코드를 보고, 정적 중첩 클래스랑, 내부 클래스 이렇게 같이 사용된 적이 있을까? 라는 생각을 하게 되었습니다. 실무 에서 정적 중첩 클래스랑, 내부 클래스 이렇게 두가지 경우가 같이 사용하신 적이 있으신가요? 답변 부탁 드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 화면상에 오류메시지가 뜨지 않고 Whitelabel Error Page로 넘어가는데 잘못된 부분을 찾을 수가 없어서 질문드립니다. 이전 강의에서는 제대로 되었다가 안되었다가 했었는데 이제는 아예 Whitelabel로 넘어가버리네요 다음은 코드입니다. https://drive.google.com/file/d/1hLNHWRMH4_SYUxFWYiLkUdg7O6EEWKuy/view?usp=sharing
DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
안녕하세요 강의 항상 잘 보고 있습니다. 처음으로 궁금증이 생겨 질문 드립니다. 멀티 컨테이너 구성 2번 강의를 듣고 있습니다. 여기서 docker run -d -p 8088:8088 --network my-network -e "spring.datasource.url=jdbc:mariadb://my-mariadb:3306/mydb" ...... 이부분에서 -e을 사용할때 이미지에 딱히 옵션을 스프링으로 전달하는 방식이 안나와 있는것 같은데 어떻게 스프링 부트까지 옵션전달이 되는지 궁금합니다.
위젯에서 보통 사용하는 편집가능한 텍스트 박스를 클릭하면 이미 글자가 있을 경우 클릭한 위치에 커서(caret)이 깜빡깜빡 생기는데요. 이 커서의 위치값(혹은 관련 정보)을 얻을 수 있는 방법을 못 찾겠습니다. 분석한 바로는 UEditableTextBox 부터 시작하여 멤버로 타고 타다 보면 FSlateEditableTextLayout 라는 클래스에서 커서 포지션이 있는 걸로 확인은 되는데 여기까지 접근할 방법이 없습니다. 엔진코드를 바꾸지 않는 이상 없어보이는데 혹시 다른 방법이 있을 까요??? 커서가 깜빡깜빡하는 곳의 위치 정보를 얻을 수 있으면 됩니다.
구별이 어려워서 질문드립니다. 그래프문제처럼 dfs로 하는줄알고 n = int(input()) def dfs(s): global cnt if s > n: return if s == n: cnt += 1 else: dfs(s+1) dfs(s+2) cnt = 0 dfs(0) print(cnt) 이렇게 접근했는데 안되더라구여 구별방법이 있는건가요?