묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
중급/심화 프로그래밍(예: TDD, 리팩토링, 멀티프로세스/쓰레드, 코루틴, 클로져등) 학습을 위한 교재 및 링크 추천 부탁드립니다.
안녕하세요. 파이썬 초/중급 및 본 강의를 모두 들었는데요, 파이썬 자체에 대해서는 강의내용으로도 충분이 잘 이해가 가게 설명해주셔서, 많은 도움을 받고 있습니다. 진심으로 감사드립니다. 그런데 제가 전산 전공자가 아니고 파이썬을 접하다 보니, 파이썬 자체보다, 중간에 설명해 주신 여러가지 개념들 (예: TDD, 리팩토링, 멀티프로세스/쓰레드 + 레이스컨디션, 데드락 등등, OOP, 코루틴, 클로져등)에 대해 개념에 대해 잘 알지 못해, 해당 개념을 이해하고, 예제코드, 실제 활용예제 등을 공부해 보고 싶습니다. 물론 하나하나 인터넷을 찾아보면 되겠지만, 회사에서 진행하는 정해진 교육일정(1주) 내에 내용을 다 이해해야 하다보니 시간 제약도 있고, 또한 위에 언급한 내용외에도 공부할 것이 있을텐데, 뭘 공부해야 하는지 조차 잘 모르겠습니다. 그래서 관련 내용들을 학습할 수 있는 도서를 몇개 추천해 주시면 감사하겠습니다. (잘 정리된 링크도 같이 공유해 주신다면 더욱 도움이 되겠습니다.) 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
10:22 생성자에서 cout 문장의 포함 여부에 따라서 왜 디버거의 행동이 달라지나요?
처음에 메모리 누수가 일어난 코드에서 cout << "Constructor " << endl; 이 문장을 안 써주면 디버깅이 안되고 쓰니까 디버깅이 되던데, 그냥 보여주는거 없이 메모리 누수만 일어나서 안썼을땐 디버거가 디버깅을 못하게 한건가요?
-
미해결
react 질문입니다. 카카오지도api 사용해서 입력값으로 #123 입력시 마커를 띄어주게 만들고 싶은데
입력으로 #123 입력할때 getXY(#123)함수에 들어가서 제가 정해준 좌표로 마커를 찍게끔 만들었는데....안찍어주네여.. 어떻게 해야하나요.. /*global kakao */ import React, {useState, useEffect } from 'react' function Map({searchPlace}) { useEffect(()=>{ mapscript(); }, []); const mapscript = () =>{ var container = document.getElementById('map'); var options = { center: new kakao.maps.LatLng(37.365264512305174, 127.10676860117488), level: 3 }; var map = new kakao.maps.Map(container, options); var position = new kakao.maps.LatLng(37.365264512305174, 127.10676860117488); var marker = new kakao.maps.Marker({ position: position, clickable: true // 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다 }); function marking(x,y){ var markerPosition = new kakao.maps.LatLng(37.365264512305174, 127.10676860117488); var marker = new kakao.maps.Marker({ position: markerPosition }); marker.setMap(map) } function getXY(state){ if(state === '#123'){ const setX = 37.365264512305174 const setY = 127.10676860117488 marking(setX,setY); } } getXY(pet_id) // input 데이터에 따라 위치 마커 변경 } const [pet_id, setPetId] = useState(''); console.log("hello = " + pet_id) return ( <div> <div id="map" className = 'centerMap' style={{width:"1500px", height:"800px"}}></div> <input type ="text" onChange= {(event) => {setPetId(event.target.value); }} ></input> </div> ); } export default Map;
-
미해결Node.js로 웹 크롤링하기
선택자 관련 질문 드립니다.
안녕하세요. 선택자 관련해서 잘 이해가 안가는점이 있어 문의드립니다. 크롬 console 에서 $$('tr.abc td')[1].textContent 명령어를 칠 경우 100이라는 숫자를 뽑아옵니다. 소스 코드 상에서 아래와 같이 여러 방법을 사용해봤는데요. 100 이라는 데이터를 못가져오더라고요. 관련해서 어떻게 접근해야 100 이라는 데이터를 가져올 수 있을까요? source code const text = await page.evaluate(() => { const num = document.querySelector('tr.abc td')[1]; return num.textContent;});const text = await page.evaluate(() => { const num = document.querySelectorAll('tr.abc td')[1]; return num;});const text = await page.evaluate(() => { const num = document.querySelector('tr.abc td'); return num;}); HTML 태그입니다. <tr class="abc"> <td class="text">숫자</td> <td>100</td> ... ... </tr>
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요. 테스트중에 csrf()에서 에러가 발생하는데 잘모르겠습니다.
안녕하세요. 다름이 아니라 5:44 쯤에 csrf() 추가해줬는데 이런 에러가 발생하는데 구글링 해봐도 잘 모르겠습니다. ㅜ 감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetection관련 질문
강사님, 제가 Pascal VOC형태로 구성된 Custom Dataset에 대해 Object Detection을 수행하려고 합니다. 강의에서 잠깐 이야기 하셨던 것 같은데 mmdetection은 COCO 데이터셋의 형태에 맞춰서 구성이 되어있다고 하셨던 것 같은데 Pascal VOC 데이터셋의 형태로 구성되어 있는 Custom Dataset에 대해서는 kitti 데이터셋을 학습시키듯이 mmdetection의 CustomDataset을 상속 받아서 수행할 수 있는 건가요? 제 Custom Dataset은 data폴더 아래에 여러 폴더들로 구성되어 있고 하나의 폴더는 아래 그림과 같이 여러 이미지들을 저장하고 있는 1폴더와 여러 이미지들에 대해 annotation을 xml형식으로 저장하고 있는 1_annotations_v001_1폴더로 구성되어 있습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
table-per-class 방식에서 Identity 전략 사용에 대하여...
안녕하십니까 영한님. 강의 잘 듣고 있습니다. 강의를 듣던 중 클래스 별로 테이블을 가진다면 Identity 전략일 때 ID를 어떻게 가지게 되는지 궁금해서 실험해봤는데 에러가 발생하였습니다. 혼자서 생각한 바로는 부모 클래스에서 @ID를 사용한다는 것은, 자식별로 테이블을 따로 가져간다 하더라도 id 값은 달라야 하는 것으로 이해했고, Identity 전략을 허용할 경우 몇 번까지 id를 사용했는지 알 수 없기 때문에 같은 값이 들어가는 오류를 막기 위해서 테이블 create 시점에서 부터에 에러가 내는 것으로 이해되었는데 혼자 생각한 내용이기에 틀렸을 수도 있어 확인차 질문 올립니다ㅠㅠ
-
미해결실전! Querydsl
QueryDsl 테스트 작성 질문있습니다.
그냥 데이터베이스는 여러개가 있어서 entityManager가 여러개 생기는 것을 @Qualifier 로 구분할 수 있더라구요그런데 테스트를 작성할 때 서비스용 디비와 테스트용 디비를 구분하면 테스트 디비의 entityManager 로 JPAQueryFactory 를 생성해야 하는데 이 부분을 어떻게 처리할 수 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jpa 테스트시 계속 오류가 나네요;...
IDENTIFY 설정시 insert 시 키값을 자동으로 설정해서 받아오는 걸로 이해했는데 null 에러인지 발생하는거 같아요. 데이터 넣어놓고 읽어오는건 괜찮은거 같은데 insert가 잘 안되네요;.. javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:780) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:760) 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.$Proxy87.persist(Unknown Source) at com.example.demospring.repository.JpaMemberRepository.save(JpaMemberRepository.java:17) at com.example.demospring.service.MemberService.join(MemberService.java:26) at com.example.demospring.service.MemberService$$FastClassBySpringCGLIB$$25787b35.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) at com.example.demospring.service.MemberService$$EnhancerBySpringCGLIB$$972d7024.join(<generated>) at com.example.demospring.service.MemberServiceIntegrationTest.회원가입(MemberServiceIntegrationTest.java:27) 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.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor$$Lambda$165/0x0000000000000000.apply(Unknown Source) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$$Lambda$166/0x0000000000000000.apply(Unknown Source) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.ExecutableInvoker$$Lambda$369/0x0000000000000000.apply(Unknown Source) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor$$Lambda$927/0x0000000000000000.execute(Unknown Source) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$813/0x0000000000000000.execute(Unknown Source) 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.NodeTestTask$$Lambda$255/0x0000000000000000.invoke(Unknown Source) 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.NodeTestTask$$Lambda$254/0x0000000000000000.execute(Unknown Source) 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$$Lambda$240/0x0000000000000000.accept(Unknown Source) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) 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.NodeTestTask$$Lambda$813/0x0000000000000000.execute(Unknown Source) 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.NodeTestTask$$Lambda$255/0x0000000000000000.invoke(Unknown Source) 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.NodeTestTask$$Lambda$254/0x0000000000000000.execute(Unknown Source) 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$$Lambda$240/0x0000000000000000.accept(Unknown Source) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) 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.NodeTestTask$$Lambda$813/0x0000000000000000.execute(Unknown Source) 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.NodeTestTask$$Lambda$255/0x0000000000000000.invoke(Unknown Source) 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.NodeTestTask$$Lambda$254/0x0000000000000000.execute(Unknown Source) 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:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator$$Lambda$216/0x0000000000000000.accept(Unknown Source) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) 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.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:57) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:43) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3279) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3885) at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:84) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645) at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282) at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263) at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317) at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:330) at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287) at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:123) 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.internal.SessionImpl$$Lambda$1709/0x0000000000000000.accept(Unknown Source) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:774) ... 105 more Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "ID"; SQL statement: insert into member (id, name) values (null, ?) [23502-202] at org.h2.message.DbException.getJdbcSQLException(DbException.java:508) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) at org.h2.message.DbException.get(DbException.java:223) at org.h2.message.DbException.get(DbException.java:199) at org.h2.table.Column.validateConvertUpdateSequence(Column.java:365) at org.h2.table.Table.convertInsertRow(Table.java:931) at org.h2.command.dml.Insert.insertRows(Insert.java:167) at org.h2.command.dml.Insert.update(Insert.java:135) at org.h2.command.CommandContainer.executeUpdateWithGeneratedKeys(CommandContainer.java:246) at org.h2.command.CommandContainer.update(CommandContainer.java:167) at org.h2.command.Command.executeUpdate(Command.java:247) at org.h2.server.TcpServerThread.process(TcpServerThread.java:413) at org.h2.server.TcpServerThread.run(TcpServerThread.java:190) at java.base/java.lang.Thread.run(Thread.java:836) at org.h2.message.DbException.getJdbcSQLException(DbException.java:459) at org.h2.engine.SessionRemote.done(SessionRemote.java:611) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:237) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152) at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 124 more
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
TableGenerator 의 경우 롤백이 되어도 시퀀스 값이 롤백되지 않는데 정상인가요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 작성한 엔티티는 다음과 같습니다. @Entity@Getter@Setter@NoArgsConstructor@TableGenerator( // 테이블 제너레이터를 사용하는 경우에는 반드시 @Id 명시되어 있어야 테이블 생성이 됩니다 name = "TABLE_GENERATOR", table = "SEQ_TABLE", pkColumnValue = "COL_GEN_TAB", allocationSize = 1)public class TableType { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "TABLE_GENERATOR") private Long id; private String name; public TableType(String name) { this.name = name; }} 실행 시에 의도적으로 예외를 던져서 롤백을 했지만, SEQ_TABLE 에는 시퀀스가 롤백되지 않고 1로 늘어나 있었는데 왜 그런지 궁금합니다. TableType table = new TableType("테이블");em.persist(table);System.out.println(table);if (table.getName().equals("테이블")) throw new RuntimeException("오류 발생");
-
미해결게임 엔진을 지탱하는 게임 수학
혹시 쉐이더 강의
혹시 쉐이더 강의도 계획하고 계실까요?
-
미해결따라하며 배우는 리액트 테스트 [2023.11 업데이트]
빨간줄질문입니다...!
안녕하세요 선생님 타입스크립트로 따라하면서 배우고 있습니다. Type.test.ts 에서 element에 alt가 없어서 빨간줄로 뜹니다. 테스트는 잘되는거보니 있는 실제로는 요소 같은데 왜 빨간줄이 뜨는 걸까요? summaryPage test 에서도 이런 경우가 있엇는데 checked는 없고 area-checked는 있다고 뜨더라고요... 일단 이렇게 해결하고 넘어가기는 했습니다. 근데 이렇게 계속 오류가 나면 마음이 좀 불편해서 그런데 해결책 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
마이바티스와 JPA 혼용 질문
마이바티스와 JPA 와 같이 사용하는것에 대한 질문이 있습니다. 마이바티스를 사용하려면 JPA 엔티티말고 새로운 도메인(객체)를 생성해서 사용해야 하나요? 혹시나 엔티티를 바로 사용할 수 있다면, @Entity@Getterpublic class Comment { @Id @GeneratedValue @Column(name = "comment_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member;} 이엔티티의 경우 Comment.id는 필드로 사용할 수 있는데멤버의 id를 사용하려면 어떻게 해야하나요??아마 마이바티스용 객체를 만든다 치면 public class Comment2 { private Long comment_id; private Long member_id;} 이렇게 되겠죠.. 즉.. 연관관계 매핑된 객체의 id를 어떻게 사용 할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Model 클래스
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 1. MVC와 템플릿 엔진에 소스코드에는 매개변수로 Model model을 받았는데 API에서는 받지 않는 이유가 HTTP body에 직접 넣어주기 때문인가요? 2. 제가 막 자바 기본 문법을 끝냈는데, 그 다음으로 이 수업을 듣는게 맞을까요? Model 클래스와 같이 이해 안가는 부분들이 있어서요 ㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
inheritanceType.JOINED에 대한 고찰
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요! 먼저 좋은 강의 선보여주셔서 감사합니다. 강의를 듣고 토이 프로젝트를 진행하며 겪은 문제점에 대해 해법이 잘 떠오르지 않아 질문 드립니다. 현재 엔티티는 아래와 같이 설계 하였습니다. @Entity @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn public abstract class Catalog extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer price; private Integer stockQuantity; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "category_id") private Category category; } @Entity @DiscriminatorValue(value = "SUPPLEMENT") public class Supplement extends Catalog { private Integer capacity; // 용량 } @Entity @DiscriminatorValue(value = "SPORT_WEAR") public class SportWear extends Catalog { private SportWearSizeEnum size; // 사이즈 } 위와 같이 설계 되었을 때 컨트롤러와 서비스를 구축하는데 어떻게 접근해야 할지 고민입니다. 제가 생각해본 해결법은 총 2가지 였습니다. 1. 각 서브 엔티티마다 컨트롤러 서비스 리파지토리를 새로 만든다. - 이 방법은 테이블이 생길때 마다 컨트롤러가 추가되며 도메인에 의존적인 것이 아닌 데이터베이스에 의존적인 설계라 생각이 들어 가장 쉬운 설계 였지만 마음에 들지 않았습니다. 2. 자바 제네릭 사용 - 자바의 제네릭을 사용하여 CatalogService를 주입받을 때 CatalogService<SportWear> 의 형식으로 사용해보기로 하였습니다. 하지만 이 방식 또한 카탈로그에 해당하는 테이블이 추가될 때마다 컨트롤러에 CatalogService<Others>의 형식으로 코드가 추가된다는 점이 마음에 들지 않았습니다. 그래서 제가 생각한 마지막 방법은 인터페이스를 사용하는 방식입니다. 이 방식은 부족한 제 지식으로 인해 아직 명확한 설계법은 고안해내지 못한 상태입니다. 또한, 테이블 마다 받게 되는 Request, Response, DTO가 각각 다른 상황에서 어떻게 하면 유연한 설계 방식으로 가져가야할지 많은 고민이 있습니다. inheritanceType.JOINED 을 사용하실 때 어떤 방식으로 Controller, Service, Repository를 설계하시는지 궁금합니다.
-
해결됨진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
온라인주문내역 분석 파일... 도움을 부탁드립니다.
안녕하세요. 이 바로 아래 제가 올린 문의와 연관된 문의를 다시 드리게 되었습니다... 하지만 아래 문의를 다시 보실 필요 없이... 아래와 같이 정리해 봤습니다. (문의할 때 엑셀파일을 업로드할 수 없어서...화면캡처로 대신합니다. 죄송합니다.) raw data를 변경해서 받을 방법이 현재로썬 없다보니 쉽지 않아서 다시 도움을 요청드립니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행은 잘 되는데 localhost 연결이 안 됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 하신대로 그대로 처음부터 따라왔는데 실행은 잘 되는데 크롬에서 localhost:8080치고 들어가니까 연결이 안 된다고 뜹니다 ㅠㅠ
-
미해결실전! Querydsl
Querydsl SQLExpressions에 listagg 질문있습니다...!
안녕하세요, 김영한 선생님. Querydsl SQLExpressions에 listagg 관련하여 질문이 있습니다. 현재 Projections.constructoer 방식으로 조회한 결과를 Dto로 받고있는데요, SQLExpressions.listagg(컬럼, ",").withinGroup().orderBy(컬럼).getValue().as("listaggs") 로 select후 Dto에서 String으로 못받는데 String으로 받으려면 어떻게 해야 될까요?
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
스크립트의 작동 flow에 대해 질문 있습니다.
지금 보면 결론적으로 challenge_06.confirmChall06의 결과를 true로 만들어야 하는 문제 같은데 3번 문제처럼 comfrimchall06을 implement해서 return true를 하는 방법은 불가능할까요? 만약 불가능하다면 이유도 설명해 주실 수 있을까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
10:40에 id값이 어떻게 1이 나오는건가요?
안녕하세요! 다른 분들도 이 부분에 대해서 질문을 하셨고 답변을 봤지만, 여전히 이해가 안돼서 다시 한번 질문을 드립니다. ㅠㅠ 1 em.persist(member) ; 2 3 em.flush(); 4 em.clear(); 5 6 em.getReference(Member.class, member.getId()); 7 8 System.out.println("findMember.id = " + findMember.getId()); em.clear()를 하면 1차 캐시가 전부 비워지고, GeneratedValue로 생성된 id값은 DB에 저장되어 있습니다. em.getReference(id)를 하는 시점에 가짜 프록시 객체가 영속성 컨텍스트에서 관리가 된다고 하셨는데, 여기서 가짜 프록시 객체는 id값을 어떻게 1로 가지고 있는 건가요?? 결국 1이라는 값을 알기 위해서는 DB에서 가져와야 하는게 아닌가요?? 아니라면 혹시 자동으로 SEQUENCE 전략으로 변경되어 메모리에 디폴트로 50까지 가지고 있기 때문에 1을 출력해주는 것일까요?