안녕하세요 수업 잘 듣고 있습니다. 양질의 수업 감사합니다. 수업 내용중 dll에 관해 질문이 있습니다. lib형태의 라이브러리는 실행파일에 같이 묶이기 때문에 실행파일의 메모리구조(힙,스텍,데이터등)를 참조할 것이라 생각합니다. dll의 경우 하나의 라이브러리를 여러 프로세스에서 가져와서 사용하는 형태인데 이경우 각 프로세스 마다 dll을 위한 메모리가 할당되는것인지 아니면 dll을 위한 메모리 공간이 할당되고 그것을 공유해서 사용하게 되는것인지 궁금합니다. (혹 잘못 이해하고 있으면 지도 부탁드립니다.)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] persistence.xml에 그대로 복붙해서 넣었는데 Cannot resolve class 'org.h2.Driver' 에러가 뜨면서 아래 코드의 org.h2.Driver에 빨간줄이 뜹니다. 서칭해도 나오지 않아 여쭤봅니다. <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
2. 배달 서비스를 담당하는 PM입니다. 고객이 검색 기능에 만족했는지 확인하려면 어떤 지표를 봐야 할까요? 검색하는 흐름을 떠올리면서 그 안에 있는 이벤트를 조합해보세요. 검색 기능의 목적: 내가 원하는 음식을 파는 식당에 빠르게 접근/도달 목적 달성시, 고객은 식당 프로필을 클릭 목적 달성 실패시, 재검색 또는 홈화면 등으로 이탈 => 지표: 식당 프로필 전환율 (검색 버튼 클릭한 유저 중 -> 즉각 식당 프로필 클릭한 유저의 비중) 3. 검색 필터 기능은 잘 사용되고 있을까요? 필터 기능의 활성화 지표를 정의하면 어떻게 할 수 있을까요? 검색 필터를 사용하는 흐름을 떠올려보면서 그 안에 있는 이벤트를 조합해보세요. 필터 기능의 목적: 디테일한 조건에 맞는 식당을 빠르게 찾기 위함 목적 달성시: 필터 기능을 재사용함 목적 미달성시: 필터 기능을 다시 사용하지 않음. 불필요한 필터가 있지는 않은지, 어울리는 필터 방식(토글, 드롭다운)형식이 적용됐는지, 유저가 원하는 필터가 추가로 있지는 않는지 후속 확인 필요. => 지표: 검색 기능 사용 유저중 필터 사용율 4. 배달 서비스에서 가장 중요한 지표는 무엇일까요? 왜 그 지표가 중요할까요? 그것을 어떻게 늘릴 수 있을까요? Background knowledge 서비스의 퍼널 지표중 중요 순서대로 나열하면 RARRA로, 리텐션이 가장 중요하다. 하지만 서비스 상황에 따라 더 중요한 지표가 있을 수 있으나 (예를들면 이미 리텐션은 높은 수준을 유지하고 있다면 activation, referral이 더 중요할 수 있음), 이 문제에서는 리텐션이 중요하다고 가정함 리텐션을 나타내는 지표 WAU/MAU (*active의 기준은 구매) 코호트 리텐션 (weekly, monthly) Churn rate (탈퇴자+장기미이용고객(3개월+)) -> 배달앱에 경우 대체 서비스가 많아 로열티가 중요할 것 같아 로열티 지표인 DAU or WAU / MAU지표를 보는 것이 좋을 것 같다. 하지만 배달앱의 사용빈도를 고려했을 때 weekly단위로 activation된 유저수를 보는게 유용할 것으로 추측함, 즉 wau/mau가 가장 중요할 것 같음. WAU/MAU 증가 방안 -> wau는 [weekly unique visitors * conversion rate]로 쪼갤 수 있다. 주간 방문자를 늘리기 위해서는 요일별 방문 습관을 만들어 주는 프로모션을 기획하는 것이 도움이 될 것, conversion rate을 늘리기 위해서는 유저의 앱내 구매경험을 개선할 필요가 있음. 5. 여러분은 이커머스 서비스에서 추천 알고리즘을 만드는 조직의 PO입니다. 추천 알고리즘은 유저의 정보와 유저로그를 토대로 구매할 것 같은 제품을 보여줍니다. 추천 알고리즘의 성능을 확인하기 위해 어떤 지표를 파악해야 할까요? 왜 해당 지표일까요? 목적: 추천 알고리즘의 목적은 고객이 관심 가져할 만한 제품을 추천해 Conversion rate과 ARPU를 높이는 것입니다. 우선 유저가 관심가질만한 제품과 매칭되었는지 확인하기 위해 CTR을 확인해야 합니다. 또, 매칭된 제품이 실제로 구매까지 이어지는지 (CVR), 추천을 통해 인당 구매 단가가 높아지거나 낮아지지는 않았는지(ARPU) 확인해야 합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Autowired 오류는 나는데 테스트 성공해서 결과값이 나왔을때 어떻게해야되나요? 질문1. 오류는 나는데 테스트 성공해서 결과값이 나왔을때 어떻게해야되나요? 다른사람 문제는같은데 그냥 highlight allProblems -> none 바꾸라고 하는데 그렇게 하고싶지 않고 원인을 알아야 나중에 같은 문제 생겨도 스스로 해결 하고싶어서요 구글에 찾아봐도 해결이 안되네요 빨간줄나는 오류 원인 질문 2. @Autowired(required = true)을 했을때 멤버가 스프링빈을 찾을 수없다고 나오는데 @Autowired(required = false)일때도 같은 오류가 나요 의존관계주입을 잘못 된건가요?
FE 서버 기동시(yarn start) 사전에 정의한 설정 정보를 읽어서 사용하는 방법이 있을까요? 예를 들어, 아래 apollo의 uploadLink 생성 코드의 경우, 만약 graphql 서버 주소가 바뀌었다면 uri 부분을 변경해서 다시 빌드를 해야 되는데요. 빌드없이 yarn start 시에 FE 서버 로컬 설정파일에서 uri를 읽어와서 적용하는 방식으로 하고 싶은데 어떤식으로 하면 좋을지요? .env 파일은 빌드 이후에 변경은 반영되지 않는것 같고.. SSR 같은 방법으로 해야 할까요? 아니면, 기동시에 accessToken 처럼 backend에 uri 정보를 조회해서 적용해야 할까요? const uploadLink = createUploadLink({ uri: "https://backendonline.codebootcamp.co.kr/graphql", headers: { Authorization: `Bearer ${accessToken}` }, credentials: "include", });
저는 n!에서 10이 나오려면 무조건 5가 몇갠지만 체크하면 된다고 생각했습니다. 왜냐하면 우선 5!일 때 5의 갯수가 1개 있기 때문에 10이 나오기 때문입니다. 이미 5!일 때부터 5의 갯수는 1개, 2의 갯수는 3개니까요. 5의 제곱인 25!이라고 해도 5의 갯수는 겨우 5개인 반면 2의 갯수는 2~8까지만 봐도 이미 5개를 넘겼으니까요. 그래서 저는 그냥 5의 갯수만 세서 5의 갯수가 뒤에 붙는 0의 숫자라고 풀었습니다만 정말 만에 하나 예외가 있을 수도 있으니까요... 예외가 있는지 궁금합니다!
안녕하세요. 첫 강의때 부터 cypress를 이용한 프론트 테스트를 하려고 하는데 일단 여기까진 잘 따라왔으나, 터미널을 찾지 못해서 좀 쩔쩔매네요. 깃허브 내에서 터미널을 가져오면 됩니까? 그리고 제가 현재 QA 재직자인데 프론트 테스트라는 점에서 수강신청을 했는데, QA도 이 강의를 듣는데 상관이 없나요? 또한 QA도 Test Code를 작성해야 하는거 맞죠? 저는 맥북을 한번도 써본적이 없고 지금까지 쭉 윈도우로만 써서 그런지 맥북 방식이 굉장히 서툽니다 ㅜ 윈도우 이용자도 이 강의를 듣고 프론트 테스트하는데 지장이 없는지요?
-코드- import 'core-js/stable'; import 'regenerator-runtime/runtime'; import React from 'react'; import { render } from 'react-dom'; import { BrowserRouter } from 'react-router-dom'; import axios from 'axios'; import App from './layouts/App'; axios.defaults.withCredentials = true; axios.defaults.baseURL = process.env.NODE_ENV === 'production' ? 'https://sleact.nodebird.com' : 'http://localhost:3090'; render( <BrowserRouter> //오류발생구간 <App /> </BrowserRouter>, document.querySelector('#app'), ); -오류내용- ERROR in ./client.tsx:15:4 TS2786: 'BrowserRouter' cannot be used as a JSX component. Its instance type 'BrowserRouter' is not a valid JSX element. The types returned by 'render()' are incompatible between these types. Type 'React.ReactNode' is not assignable to type 'import("C:/Users/LG gram 15/node_modules/@types/react/index").ReactNode'. Type '{}' is not assignable to type 'ReactNode'. 13 | 14 | render( > 15 | <BrowserRouter> | ^^^^^^^^^^^^^ 16 | <App /> 17 | </BrowserRouter>, 18 | document.querySelector('#app'), sleact (webpack 5.74.0) compiled with 1 error in 9547 ms 백엔드 서버를 킨 상태에서, npm i 실행하였고 npm run build를 실행하게되면 위에 오류가 발생됩니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 영한 선생님의 강의를 듣고 난 후에 혼자서 상품 등록에 대한 부분을 책만 하지 않고 영화와 앨범까지 가능하도록 카테고리 부분을 도입하려고 하고 있습니다. 헌데 막상 값을 save해서 persist를 진행하면 hibernate sequence만 증가하고 새롭게 등록한 상품에 대한 insert문이 생성되지 않더군요 강의에서 세터를 열어두는 것보다 메서드를 만들어서 상품을 등록하는 것이 좋다고 해서 그런식으로 해봤습니다. 근데 컨트롤러 레벨에서 상품 엔티티를 생성하고 서비스로 넘기면 등록이 되는데 파라미터를 서비스쪽으로 넘겨서 상품엔티티를 서비스레벨에서 생성한 뒤에 saveItem을 호출하면 영속화가 되지 않더라구요. 결론적으로는 service레벨에 있는 saveItem메서드에는 Transactional(readonly = false)가 적용되어 있는데 서비스 레벨에서 상품 엔티티를 생성해서 강제로 플러시를 해보았더니 읽기 전용이라서 수정권한이 없다고 나옵니다. 이 둘의 차이점이 뭔가요? 코드 비교(ItemController) ItemService ItemRepository 강제로 플러시를 진행한 경우 발생한 에러 java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:129 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:97 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:89 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:63 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal( ClientPreparedStatement.java:1033 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal( ClientPreparedStatement.java:1009 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate( ClientPreparedStatement.java:1320 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate( ClientPreparedStatement.java:994 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate( ProxyPreparedStatement.java:61 ) ~[HikariCP-4.0.3.jar:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate( HikariProxyPreparedStatement.java ) ~[HikariCP-4.0.3.jar:na] at com.p6spy.engine.wrapper.PreparedStatementWrapper.executeUpdate( PreparedStatementWrapper.java:94 ) ~[p6spy-3.8.2.jar:na] at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate( ResultSetReturnImpl.java:197 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch( NonBatchingBatch.java:46 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.persister.entity.AbstractEntityPersister.insert( AbstractEntityPersister.java:3375 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.persister.entity.AbstractEntityPersister.insert( AbstractEntityPersister.java:3937 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.action.internal.EntityInsertAction.execute( EntityInsertAction.java:107 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.spi.ActionQueue.executeActions( ActionQueue.java:604 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1( ActionQueue.java:478 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at java.base/java.util.LinkedHashMap.forEach( LinkedHashMap.java:684 ) ~[na:na] at org.hibernate.engine.spi.ActionQueue.executeActions( ActionQueue.java:475 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions( AbstractFlushingEventListener.java:344 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.event.internal.DefaultFlushEventListener.onFlush( DefaultFlushEventListener.java:40 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener( EventListenerGroupImpl.java:107 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.SessionImpl.doFlush( SessionImpl.java:1407 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.SessionImpl.flush( SessionImpl.java:1394 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke( ExtendedEntityManagerCreator.java:362 ) ~[spring-orm-5.3.25.jar:5.3.25] at com.sun.proxy.$Proxy115.flush(Unknown Source) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) ~[spring-orm-5.3.25.jar:5.3.25] at com.sun.proxy.$Proxy115.flush(Unknown Source) ~[na:na] at jpabook.jpashop.repository.ItemRepository.save ( ItemRepository.java:19 ) ~[classes/:na] at jpabook.jpashop.repository.ItemRepository$$FastClassBySpringCGLIB$$dc3fed7a.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) ~[spring-aop-5.3.25.jar:5.3.25] at jpabook.jpashop.repository.ItemRepository$$EnhancerBySpringCGLIB$$d6faf657.save(<generated>) ~[classes/:na] at jpabook.jpashop.service.ItemService.saveItem( ItemService.java:22 ) ~[classes/:na] at jpabook.jpashop.service.ItemService.saveBook( ItemService.java:35 ) ~[classes/:na] at jpabook.jpashop.service.ItemService$$FastClassBySpringCGLIB$$b9995082.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation( TransactionInterceptor.java:123 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:388 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke( TransactionInterceptor.java:119 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) ~[spring-aop-5.3.25.jar:5.3.25] at jpabook.jpashop.service.ItemService$$EnhancerBySpringCGLIB$$bb01a48c.saveBook(<generated>) ~[classes/:na] at jpabook.jpashop.controller.ItemController.create( ItemController.java:35 ) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.web.method.support .InvocableHandlerMethod.doInvoke( InvocableHandlerMethod.java:205 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:150 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:117 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:895 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:808 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1071 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:964 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1006 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.FrameworkServlet.doPost( FrameworkServlet.java:909 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at javax.servlet.http.HttpServlet.service( HttpServlet.java:696 ) ~[tomcat-embed-core-9.0.71.jar: 4.0.FR ] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:883 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at javax.servlet.http.HttpServlet.service( HttpServlet.java:779 ) ~[tomcat-embed-core-9.0.71.jar: 4.0.FR ] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:227 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:53 ) ~[tomcat-embed-websocket-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.25.jar:5.3.25] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.25.jar:5.3.25] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.25.jar:5.3.25] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:177 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:97 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:541 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:135 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:92 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:78 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:360 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:399 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na]
public class JpaServicde { ........... @Transactional public void jpaMethod() { ExEntity exEntity = jpaRepository.save (); if (exEntity .getNo() == 1) { jdbcService.jdbcMethod(); } ................ } } public class JdbcServicde { ........... public void jdbcMethod() { ExEntity2 exEntity2 = jdbcRepository.save (); } } 위와같이 JPATransaction 안에서 JDBC서비스의 메소드를 호출했는데, jdbcMethod에서 트랜젝션이 적용되지 않습니다. 무엇이 잘못된 건가요? * 최대한 이해하기 쉽게 예제를 짜려고 필요한 부분만 코딩했습니다.
스태킹 모델 소개 - 기본 스태킹 3:25 즈음 예측 데이터 셋 생성시 keepdims 관련 warning이 떠서 검색해본 결과, 대충 2 dimension을 유지해야 한다는 걸로 보여서 대수롭지 않게 넘겼습니다. 그런데 스태킹 모델 소개 - 교차검증 스태킹 15:55 즈음 모델별 학습을 할 때는 한 페이지를 잡아먹을 정도로 warning 문구가 도배됩니다. 내용을 보니 Scipy 1.11.0 이후 keepdims default 값이 False이기 때문에 편의에 따라 keepdims를 True든 False든 지정해두라는 것 같은데, 어느 부분에 추가해야할지 잘 모르겠습니다. 어떻게 해결해야 할까요?
안녕하세요 영한님 강의 너무 잘 들었습니다. 저희 팀에서 스프링 데이터 jpa, querydsl을 사용해서 프로젝트를 할 예정입니다. db는 오라클을 사용할 건데요 jpa나 querydsl에서 오라클 함수나 프로시저등을 사용 할 수 있는 방법이 있을까요? jpa, querydsl을 제가 해야 될 것 같아서 조금 긴장되네요 답변부탁드립니다. 찾아보니 가능한것 같습니다~
void Start() { Bind<Button>(typeof(Buttons)); Bind<TextMeshProUGUI>(typeof(Texts)); Get<TextMeshProUGUI>((int)Texts.ScoreText).text = "Bind Test"; } void Bind<T>(Type type) where T : UnityEngine.Object //reflection 사용 { string[]names = Enum.GetNames(type); UnityEngine.Object[] objects = new UnityEngine.Object[names.Length]; _objects.Add(typeof(T), objects); for (int i = 0; i<names.Length;i++) { objects[i] = Util.FindChild<T>(gameObject, names[i], true); } } T Get<T>(int idx) where T : UnityEngine.Object { UnityEngine.Object[] objects = null; if (_objects.TryGetValue(typeof(T), out objects)==false) return null; return objects[idx] as T; } 기존에 Text를 TextMeshProUGUI로 바꾸고 using TMPro;도 추가했는데도 계속해서 해당 오류가 발생하네요...도저히 원인을 못찾겠습니다 ㅠㅠ
안녕하세요 해당 수업 덕분에 한글을 좀 더 잘 쓸수 있게 되었습니다. 여러문서를 이리저리 합치다 보니 스타일이 막 뒤죽박죽으로 섞여서 예를 들어 바탕체, 바탕체사본1, 바탕체사본2 이렇게 섞여있어서 스타일을 좀 정리하고 싶은데 기존에 보니 모든 스타일을 바탕글로 바꾸는 코드는 있던데 표 안에는 적용이 안되고 서식복사기능을 사용하다보니 글씨 모양(볼드체나 색등)이 바뀌게 되던데 본문에 모든 글씨의 글씨모양이나 문단모양, 자간은 그대로 하고 스타일 정보만 바꾸고 싶은데 방법이 있을까요? 생각중인건 한 글자씩 글씨의 모든 정보 조회-> 각 정보를 변수에 저장 -> 원하는 스타일 변경 -> 복사한 변수정보로 대치 하면 될 꺼 같긴 한데, 보통 액션 자체에 변수초기화가 디폴트로 들어가다보니 이렇게 코드를 만드는게 맞는지 궁금합니다. 아니면 스타일값만 바꾸는(글자는 현재보이는 그대로) 다른 액션이나 파라미터셋이 있는지 궁금합니다. 내용이 복잡하긴하지만 조금 힌트라도 주시면 감사하겠습니다
선장님 안녕하세요! 자바 언어가 플랫폼에 독립적이다 에 대해 제가 옳게 이해했는지 궁금해서 질문드립니다! 강의 자료의 JDK부분에, 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적 이라는 설명이 있습니다. 이것에 대해 저는 JVM 은 바이트 코드를 OS에 맞게 기계어로 변환해야하므로 플랫폼에 종속적 이고(JRE, JDK역시 JVM을 포함하므로 플랫폼에 종속적), Java 언어 는 소스코드를 작성해서 바이트 코드로 변환하는 컴파일하는 과정 자체는 어떤 플랫폼에서도 동일하므로 플랫폼에 독립적 이다.(바이트 코드는 어떤 플랫폼이든 동일하기 때문에) 라고 이해했습니다. 혹시 제가 이해한 것이 맞을까요? 항상 좋은 강의 제공해주셔서 감사합니닷!