[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 안녕하세요 학습 중 궁금한게 생겨서 질문 드리게 되었습니다. PGR설명하신 강의 7분 53초 경에서 return "redirect:/basic/items/" + item.getId(); 를 하셨는데 item의 ID는 요청을 받아서 save한 이후에 생성되는 것 같은데 왜 item에서 바로 getId가 가능한지 궁금합니다 save한 후 다시 리턴되는 item을 다른 변수에 담아서 getid를 할거라 생각했어서요
Invalid property 'dataSourse' of bean class [org.mybatis.spring.SqlSessionFactoryBean]: Bean property 'dataSourse' is not writable or has an invalid setter method. Did you mean 'dataSource'? 해당 오류가 떠서 구글링 막 검색하고 했는데 스프링 jdbc pom에 코드 복사해서 삽입하고 라이브러리에 잘 등록된것 까지 확인했는데도 서버 실행시 같은 오류가 뜨는데 뭐가 문제일까요? ㅠㅠ 마리아db 데이터베이스 -> 테이블까지 다 해놓은 상태인데 원인 해결이 안됩니다 ㅠㅠ
/* SELECT salary*months as earnings , count(*) FROM Employee GROUP BY earnings ORDER BY earnings DESC LIMIT 1 */ 위 코드에서 질문이있습니다 Alias 사용에 관한 질문인데요 sql 문법 실행 순서를 보면 group by 다음에 select 문이 실행이 되는것으로 알고있는데 group by에 earnings을 쓰면 애초에 정의되어있지않은 컬럼(earnings)이기때문에 오류가 뜨는게 맞지않나요? 오류가 안뜨고 제대로 작동이 되어서 제가 무엇을 잘못알고있는지 헷갈려서 질문남깁니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] MemberRepositotyTest 실행을하면 아래와 같은 코드가 나오면서 오류가 나옵니다. h2관련 로그가 나오는거보면 h2 db관련 문제인거같은데 1.4.200버전으로 깔고 build.gradle도 강의와 동일하게했는데 이유를 모르겠네요ㅠㅠ application.yml도 복붙하고 동일하게 설정했습니다. org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException( HibernateJpaDialect.java:259 ) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible( HibernateJpaDialect.java:233 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible( AbstractEntityManagerFactoryBean.java:551 ) at org.springframework.dao.support .ChainedPersistenceExceptionTranslator.translateExceptionIfPossible( ChainedPersistenceExceptionTranslator.java:61 ) at org.springframework.dao.support .DataAccessUtils.translateIfNecessary( DataAccessUtils.java:242 ) at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:152 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:749 ) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:691 ) at jpabook.jpashop.MemberRepository$$EnhancerBySpringCGLIB$$6fbf6af2.save(<generated>) at jpabook.jpashop.MemberRepositoryTest.testMember( MemberRepositoryTest.java:28 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:59 ) at org.junit.internal.runners.model.ReflectiveCallable.run ( ReflectiveCallable.java:12 ) at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:56 ) at org.junit.internal.runners.statements.InvokeMethod.evaluate( InvokeMethod.java:17 ) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate( RunBeforeTestExecutionCallbacks.java:74 ) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate( RunAfterTestExecutionCallbacks.java:84 ) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate( RunBeforeTestMethodCallbacks.java:75 ) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate( RunAfterTestMethodCallbacks.java:86 ) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate( SpringRepeat.java:84 ) at org.junit.runners.ParentRunner.runLeaf( ParentRunner.java:366 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:251 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:97 ) at org.junit.runners.ParentRunner$4.run( ParentRunner.java:331 ) at org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:79 ) at org.junit.runners.ParentRunner.runChildren( ParentRunner.java:329 ) at org.junit.runners.ParentRunner.access$100( ParentRunner.java:66 ) at org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:293 ) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate( RunBeforeTestClassCallbacks.java:61 ) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:70 ) at org.junit.runners.ParentRunner$3.evaluate( ParentRunner.java:306 ) at org.junit.runners.ParentRunner.run ( ParentRunner.java:413 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run ( SpringJUnit4ClassRunner.java:190 ) at org.junit.runner.JUnitCore.run ( JUnitCore.java:137 ) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs( JUnit4IdeaTestRunner.java:69 ) 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.hibernate.exception.SQLGrammarException: could not prepare statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert( SQLExceptionTypeDelegate.java:63 ) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert( StandardSQLExceptionConverter.java:42 ) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert( SqlExceptionHelper.java:113 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement( StatementPreparerImpl.java:186 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement( StatementPreparerImpl.java:75 ) at org.hibernate.id .enhanced.SequenceStructure$1.getNextValue( SequenceStructure.java:93 ) at org.hibernate.id .enhanced.NoopOptimizer.generate( NoopOptimizer.java:40 ) at org.hibernate.id .enhanced.SequenceStyleGenerator.generate( SequenceStyleGenerator.java:523 ) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId( AbstractSaveEventListener.java:115 ) at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient( DefaultPersistEventListener.java:185 ) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist( DefaultPersistEventListener.java:128 ) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist( DefaultPersistEventListener.java:55 ) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener( EventListenerGroupImpl.java:102 ) at org.hibernate.internal.SessionImpl.firePersist( SessionImpl.java:720 ) at org.hibernate.internal.SessionImpl.persist( SessionImpl.java:706 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) at com.sun.proxy.$Proxy84.persist(Unknown Source) at jpabook.jpashop.MemberRepository.save ( MemberRepository.java:16 ) at jpabook.jpashop.MemberRepository$$FastClassBySpringCGLIB$$a3e1a60b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:771 ) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:749 ) at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ... 38 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "HIBERNATE_SEQUENCE" not found; SQL statement: call next value for hibernate_sequence [90036-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:576 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.message.DbException.get( DbException.java:181 ) at org.h2.command.Parser.readSequence( Parser.java:7678 ) at org.h2.command.Parser.readTermWithIdentifier( Parser.java:4593 ) at org.h2.command.Parser.readTerm( Parser.java:4311 ) at org.h2.command.Parser.readFactor( Parser.java:3343 ) at org.h2.command.Parser.readSum( Parser.java:3330 ) at org.h2.command.Parser.readConcat( Parser.java:3305 ) at org.h2.command.Parser.readCondition( Parser.java:3108 ) at org.h2.command.Parser.readExpression( Parser.java:3059 ) at org.h2.command.Parser.parseCall( Parser.java:6480 ) at org.h2.command.Parser.parsePrepared( Parser.java:905 ) at org.h2.command.Parser.parse( Parser.java:843 ) at org.h2.command.Parser.parse( Parser.java:815 ) at org.h2.command.Parser.prepareCommand( Parser.java:738 ) at org.h2.engine.Session.prepareLocal( Session.java:657 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:278 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:750 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:576 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.prepare( CommandRemote.java:85 ) at org.h2.command.CommandRemote.<init>( CommandRemote.java:51 ) at org.h2.engine.SessionRemote.prepareCommand( SessionRemote.java:481 ) at org.h2.jdbc.JdbcConnection.prepareCommand( JdbcConnection.java:1235 ) at org.h2.jdbc.JdbcPreparedStatement.<init>( JdbcPreparedStatement.java:76 ) at org.h2.jdbc.JdbcConnection.prepareStatement( JdbcConnection.java:352 ) at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement( ProxyConnection.java:337 ) at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement( HikariProxyConnection.java ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare( StatementPreparerImpl.java:90 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement( StatementPreparerImpl.java:176 ) ... 62 more
항상 좋은 강의를 만들기위해 노력해주셔서 감사합니다! 덕분에 매일 매일 성장하는걸 느낄 수 있어 뿌듯합니다 ㅎㅎ localhost:8080/log-demo 에 접속하면 정상적으로 초기화 콜백이 출력되고, Log 도 정상적으로 출력됩니다. 궁금한 점은 소멸 콜백 method 인 close() 가 url 을 종료하지않아도 출력되는 부분입니다. 제가 이해하기로는 request 스코프의 생명주기는 url 접속부터 종료할 때 깍지인데요 제가 잘못 이해하고 있는것일까요? 아니면 다른 이유가 있는걸까요??
안녕하세요. user-service application.yml spring: application: name: user-service cloud: config: name: ecommerce config: import: optional:configserver:http://localhost:8888 포스트맨에서, POST방식으로 actuator/refresh를 실행했을 때, org.springframework.cloud.config.server.environment.NoSuchLabelException: No such label: main 위와 같은 에러가 발생해서 main 브랜치를 추가했더니, actuator/refresh를 실행했을 때 에러가 발생하지 않게 되었습니다. 예를 들어, token.secret 값을 변경하고 main브랜치에 커밋한 후, actuator/refresh를 실행하면 정상적으로 refresh가 되는 것 같습니다. [ "config.client.version" ] http://localhost:8888/ecommerce/default 에서도 값이 변경되는 것을 확인했습니다. "source": { "token.expiration_time": 86400000, "token.secret": "user_token2", "gateway.ip": "192.168.0.8" } 그런데, /health_check를 실행해보면 새로운 값으로 변경되지 않습니다. It's working in user service, port(local.server.port)=61250, port(server.port)=0, token secret=user_token1, token expiration time=86400000 어디가 잘못된 건지 혹시 알 수 있을까요?
유튜브를 보니까 일단 언어를 한달동안 공부후에 보면 좋다고 하셔서 현재 [하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문 - 판다코딩 님의 강의를 듣고 있는데 이 강의를 다 본 이후라면 큰돌님의 코딩테스트 강의를 수강할만 할까요? 현재 아무 지식없는 초보입니다
안녕하세요, 책을 먼저 사고, RL 커뮤니티 페이스북 페이지에서 인프런 강의 있다는 말 듣고 바로 사서 듣고 있는 중입니다. 강화학습 입문자에겐 빛과같은 존재이십니다. 감사합니다. GridWorld 환경 만들고, DQN으로 학습을 시킨뒤 저장된 모델 불러와서 학습된 결과를 볼 때 애들이 너무 빨리 움직입니다. 학습할때는 time_scale이 12이고 test_step으로 들어가면 time_scale이 1이 되어야 하는데, 반대인 느낌이 듭니다. 코드는 깃허브에서 다운 받은거에서 load_model 부분만 False에서 True로 바꾸고 train_model를 False로 바꿨습니다. 처음 학습할때도 처음 50000번 step을 돌고 나서 test 에 들어갈때 갑자기 확 빨라지는 걸 느꼈는데요, 이게 원래 그런건가 싶어서요, 어떻게 손을 봐야 할지 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 새해 복 많이 받으세요 ! 열심히 강의를 수강중인 학생 입니다. updateItemDTO 관련하여 궁금한게 생겨서 문의 남깁니다. 영한님이 말씀해주신 의견에 따라 소스를 변경해보았습니다. Controller updateItemDto (service package안에 뒀습니다) Service Item book 소스는 이런식으로 변경해서 잘 동작 하는 것 확인 했습니다. 궁금점 영한님이 다른 분에게 남겨 준 글을 봤을 때 DTO가 생성되는 계층에 dto class를 작성하라고 쓰여있었습니다. 저의 소스 같은 경우 Controller 에서 인스턴스화 되고 있는데 이럴 때는 Controller 밑에 dto package를 만들었어야 하는건가요? Service 쪽에서 Item findItem = itemRepository.findOne(itemId); findItem.changeItem(updateItemDto); 이 로직을 실행하게 되면 Book, Album , Movie 다 똑같이 changeItem override 해주었습니다. 이후에 Controller에서 Album , Movie 에 필요한 필드 값 세팅 후 Service로 넘겼습니다. 3개의 자식 중에 Book 호출 되게 되는데 이 점이 궁금합니다 (기본적인 자바 지식 일수도 있지만, 구글링을 하여도 적합한 글을 찾지 못해서 글 남겼습니다) 3. 2번과 이어지는 질문인데, 혹시 movie , album , book 을 다 수정할 수 있게 된다면 어떤 식으로 구성해야 좋은지 궁금합니다! 4.처음 view에서 넘겨 받은 BookForm을 itemService.updateItem() 인자로 넘기지 않고 중간에 변환해서 넘긴 이유가 궁금합니다! 5번 질문과 같은 맥락일까요 5.service 계층에서 dto를 의존하게 되는 경우는 어떤 경우인지도 궁금합니다 ! 좋은 강의 잘 보고 있습니다. 항상 감사합니다!
https://www.inflearn.com/course/%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-1/unit/122327?category=questionDetail&q=664606&tab=community 이 글 보고 질문드립니다. interface myArray<T> { myForEach(callback: (v: T) => void): void; } const a: myArray<number> = [1, 2, 3] as myArray<number>; // 에러 발생 a.myForEach((v) => console.log(v)); 이렇게만 작성할 경우, Property 'myForEach' is missing in type 'number[]' but required in type 'myArray<number>' 에러가 발생합니다. a의 타입을 myArray<number>로 지정했음에도 Array<number>를 참고하는 이유가 뭔가요? Array<number>를 참고하기 때문에 밑의 댓글에 interface myArray<T> extends Array<T> 로 적으셨던 건가요? 강의에서 forEach 메서드가 에러가 안났던 이유는 Array<T>에 이미 forEach 메서드가 있었기 때문인가요?
제가 reactDOM.render가 더이상 18v에서 작동안한다해서 root.render로 방식을 바꾸었는데 이제 딱 이에러 하나만 남았습니다.. 해결을 못하겠습니다 react-dom.development.js:25417 Uncaught TypeError: Cannot create property '_updatedFibers' on number '0' at requestUpdateLane ( react-dom.development.js:25417:1 ) at updateContainer ( react-dom.development.js:28815:1 ) at ReactDOMHydrationRoot.render.ReactDOMRoot.render ( react-dom.development.js:29314:1 ) at ./src/index.js ( index.js:9:1 ) at options.factory ( react refresh:6:1 ) at __webpack_require__ ( bootstrap:24:1 ) at startup:7:1 at startup:7:1 requestUpdateLane@ react-dom.development.js:25417 updateContainer@ react-dom.development.js:28815 ReactDOMHydrationRoot.render.ReactDOMRoot.render@ react-dom.development.js:29314 ./src/index.js@ index.js:9