위와 같이 되어있는 구조에서 FABRIC에 대한 CSS 주소가 없어서 XPATH 주소로 아래와 같이 크롤링 코드를 작성하였습니다. fabric = driver.find_element(By.XPATH, '//*[@id="prod_goods_form"]/div[1]/div/p[3]').text.strip() 그런데 계속해서 오류가 납니다. 왜그런걸까요? 안에 내용이 text인데 뒤에 또 text를 붙여서 그런건가요? 에러는 아래와 같이 나옵니다. return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] Session info: chrome=128.0.6613.138); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exception Stacktrace:
count ++의 의미를 제대로 모르겠네요, count를 썼을 때는 앞의 조건들이 일치하는 값의 갯수를 적어주는 거 같은데, ++면 1씩 더해줘라 이런뜻이니ㅠ 최종 카운트갯수에 1을 더해서 최종 답을 적으란 말도 아니고, count + = i ; 이런 것도 있네요ㅠ 설명 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 2024 버전 최근 소스코드를 복붙해서 javax 부분도 jakarta로 변경했는데 빨간 글자 부분에서 막혀서 어찌해야 할 지 모르겠네요ㅠ
그림에서 main 스레드 안에 CPU 코어 1이 있는데 이 상황을 CPU 코어 1에 main 스레드가 할당 됐고 CPU 코어 1은 main 스레드의 스택 영역과 main 스레드가 속해 있는 프로세스의 코드, 데이터, 힙 영역에 접근해서 값을 가져다가 연산한다 라고 이해를 하면 될까요? CPU 내부에 존재하는 레지스터와 위 이미지의 캐시 메모리는 역할이 다르다고 보면 될까요?
기존 Java의 스레드 모델은 Native Thread로, Java의 유저 스레드를 만들면 Java Native Interface(JNI)를 통해 커널 영역을 호출하여 OS가 커널 스레드를 생성하고 매핑하여 작업을 수행하는 형태로 알고 있습니다. 앞서 얘기 해주신 Thread를 상속해서 만든 스레드와 Runnalbe을 사용해서 만든 스레드가 Java의 유저 스레드인지 궁금합니다. Thread thread1 = new Thread(runnable) 이런식으로 스레드를 생성 했을때 메모리의 힙 영역에 thread1이 저장되고 thread1을 위한 스택 영역이 생성된다고 보면 될까요? OS가 생성한 커널 스레드는 메모리 어디에 저장 되는지 궁금합니다. JVM은 JNI라는 기술을 사용해 자바의 유저 스레드와 커널 스레드를 매핑 해주는 작업만 해주고 이후에 스레드 관리는 OS가 하는건지 궁금합니다. 스레드를 생성할때마다 해당 스레드를 위한 스택 영역이 생성된다고 하셨는데 이때 커널 스레드를 위한 스택도 만들어지는 건지 아니면 커널 스레드가 유저 스레드의 스택 영역을 가져다 쓰는건지 궁금합니다.
강의와 다른 질의응답을 확인하였을 때, 사용자 수준에서 사용자 레벨 스레드 생성을 스레드 라이브러리가 관리하고, 관리의 범위는 스레드의 생성 및 소멸, 스케쥴링, 컨텍스트 스위칭을 할 수 있다고 말씀해주셨습니다! 그런데 다대일 스레드 매핑 모델의 특징에서 한 프로세스에 속해있는 사용자 수준 스레드들 중 하나가 block되면 프로세스 전체가 block이 되는데, 이는 커널에서 프로세스가 가지고 있는 개별적인 스레드를 인지하지 못하고, 그냥 하나의 스레드로 인지해서 대체할 스레드를 찾지 못함이라고 질의응답에서 확인 하였는데요, 강의 내용대로 스레드 라이브러리가 사용자 스레드를 관리하기 위해 많은 작업을 하고 있는데, 사용자 스레드 라이브러리에서 사용자 수준 스레드 중 일부가 블락되었을 때 커널 대신 다른 대기 중인 스레드를 ready > run 상태로 변경할 수는 없는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 켈리어몬트님 꺼 답변을 해주고 나서, 저의 글을 보면서, 어? 라는 의문이 들었고, address을 불변 으로 변경해 보자라는 생각이 들어서, 변경해 보았습니다 근데 만들다 보니 Data 불변으로 바꾸고 싶다는 생각이 들고, 하다 보니 , 네트워크 서비스 클래스를 수정 하게 되던 데요. 네트워크 서비스에 클래스에 객체를 생성 하는게, 옳은 방법인가요? 수정 withMessage가 setter로 되있어서, new Data(@@)으로 변경 수정2 이름 이상해서 사진 변경(어제 바꾼건데, 귀찮아서 지금 올림.) 추가1 MainV0은 똑같습니다. 추가2 불변에 반환 값 꼭 넣으시길 바랍니다.. 변하는지 확인 할려고, 확인 했다가 고생함.. Data , Address NetworkClientV0 , NetworkServiceV0 답변 부탁 드립니다.
선생님 강의를 파트1,2 모두 수강하며 부족하지만 틈틈히 공부하고 있습니다. 바쁜일정을 핑계로 집중적으로 학습하지 못하는 점은 부끄럽습니다. 하지만 학습을 하면서 궁금한 점이 있습니다. ibkr이라는 우량한 브로커를 이용하시는데 들리는 말로는 실계좌 오픈이 까다롭다는 말을 들었습니다. 그리고 페어전략을 구성하려면 매수와 매도가 이루어져야 하는데 실계좌 오픈 후 한국 사용자가 매수매도 모두 이용할수 있나요? 그리고 주식뿐 아니라 외환이나 파생상품도 가능한지 궁금합니다. 그리고 실전적용시 시스템적으로 어떠한 부분을 주의해야하는지도 궁금합니다. 부족한 질문이지만 답변부탁드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] String d = new String("TEST"); String e = new String("TEST"); 각각의 참조값이 다르게 생성되어야 함에도 System.out.println(d.hashCode()); System.out.println(e.hashCode()); 해보면 결과값은 동일한 해쉬값이 나옵니다. 동일성 비교는 false, 동등성 비교는 true가 되고요. 문자열 리터럴일 경우 문자열 풀을 사용하는 것은 이해가 되었는데 객체생성도 문자열에서는 동일한 문자열 풀을 사용하는지 궁금해서 질문드립니다.
순수 객체 상태를 고려하면 멤버의 팀을 A -> B로 변경한다고 했을 때, 팀 B에 멤버를 추가하는 것 뿐만 아니라 팀 A에서 멤버를 제거하는 작업도 동시에 해줘야 하는거 아닌가요..? public void changeTeam(Team team) { this.getTeam().getMembers().remove(this); this.team = team; team.getMembers().add(this); }
Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1806) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at app//org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at app//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at app//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at app//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) at app//org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:954) at app//org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) at app//org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) at app//org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) at app//org.springframework.boot.SpringApplication.run(SpringApplication.java:335) at app//org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) at app//org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at app//org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at app//org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1463) at app//org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) at app//org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at app//org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) at app//org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) at app//org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at app//org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at app//org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:276) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at app//org.hibernate.boot.model.relational.Database.<init>(Database.java:45) at app//org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:221) at app//org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:189) at app//org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:171) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1431) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1502) at app//org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1802) ... 32 more Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:191) at app//org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:87) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentWithDefaults(JdbcEnvironmentInitiator.java:152) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:362) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:123) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:77) at app//org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ... 47 more 에러가 길어서 하나만 붙였습니다.