- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 보고 왔습니다. 저는 이 문제를 큐가 아닌 스택으로 풀었습니다. 강사님의 솔루션과 비교하자면 제 코드는 처음에 reverse() 연산이 한 번 들어가지만 shift() 연산이 모두 pop()으로 변해서 데이터의 크기가 커질수록 더 좋은 성능을 보일 거 같은데 맞나요? shift()연산이 앞의 원소 하나빼고 뒤에 있는 원소들을 한칸씩 땡기는 개념이라 한 번의 shift()가 O(N)이 걸린다해서 가급적이면 큐를 직접 구현하는 방법이 아니면 스택을 사용할 수 있으면 사용하는게 낫다고 배워서요 function solution(requiredSubject, curriculum) { let stack = [...requiredSubject.split('').reverse()]; for (const char of curriculum) { if (char === stack[stack.length - 1]) { stack.pop(); if (stack.length === 0) return 'YES'; } } return 'NO'; }
https://github.com/BomUlUL/NodeReact/commit/dea7495e633062b58f7afe7959c3974fb34a27d6 가장 최근의 커밋입니다. 위 커밋을 완료하고 실행해보니 아래와 같은 에러가 떴습니다.. 이전 커밋까지는 정상적으로 작동했습니다. <Component /> 형식으로 리턴해야 하는데 제가 뭘 잘못 리턴한 것 같은데 찾기 힘드네요.. 혹시 도움 주실 수 있으신가요? 참고로 강의 후반에 나오는 것처럼 return(<SpecificComponent />) 추가해도 계속 에러가 뜹니다..
ShowPopupUI 를 이용하여 5개의 UI_Button 을 만들고, 다시 ClosePopup을 이용하여 3개 UI_Button을 삭제 하였습니다. 그런데 sort order 값을 보니 -2 -1 가 남았어요 코드는 강사님 코드와 같습니다. 원래대로라면 1, 2 가 남아야 하는거 아닌가여?? _order 은 초기값이 1 입니다.
예제에서 나온 str(result.done) str(result.not_done) 에 관해서 질문드립니다. concurrent.futures.wait()를 사용할 때는 2개의 튜플이 반환되고 각각 done과 not_done 이라는 이름이 붙어서 반환이 된다고 공식 문서에서 설명하고 있는데, result.done과 result.not_done 과 같은 형식으로 함수나 메소드처럼 사용할 수 있는 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 node 10.16.3 버전으로 설치하라고 하셔서 했는데 npm이 해당 node를 지원하지 않는다고 나옵니다. npm 버전 좀 알려주실수 있나요? 전 지금 npm 8.1.4 로 하니깐 안되네요.
안녕하세요. 앞에 있는 컴파일러 강좌를 다시 듣고와도 잘 모르겠는 부분이 있어서 질문 드립니다. 소스파일 하나당 obj파일이 하나 만들어지니까 함수의 본체를 없앤 소스코드를 빌드 할 때도 obj파일이 하나, 함수의 본체가 제대로 있는 소스 코드를 빌드 할 때도 obj 파일이 하나 만들어지잖아요. 이 때 본체를 없앤 소스코드를 빌드할 때 링킹 단계에서 오류가 난다는 건 obj 파일에 본체가 없다는 걸 링킹 단계에서 안다는 걸로 이해하는 게 맞을까요? 그러니까 링킹 단계에서 쓰여진 함수들의 참조를 가져오려고 라이브러리 파일도 가져오고 하는데 여기서는 print_multiple_chars라는 함수의 참조를 가져올 수 없어서 오류가 발생한다고 이해하는 게 맞을까요? 그러면 컴파일 할 때는 로직만 보고 신경안쓰고 obj파일을 만들었더라도 함수의 본체가 제대로 있는 소스코드를 빌드할 때 본체가 다른 obj파일에 있는 게 아니라 컴파일 할 때 만들어진 obj파일에 있는 게 맞는 거죠? 읽어주셔서 감사합니다.
안녕하세요! 항상 좋은 답변 감사드립니다. 강의를 복습하다가, 헷갈리는 부분이 있어 여쭤보고자 글을 작성했습니다. @Entity public class Member { @Id @GeneratedValue @Column (name = "MEMBER_ID" ) private Long id ; @Column (name = "USER_NAME" ) private String userName ; @ManyToOne @JoinColumn (name = "TEAM_ID" ) private Team team ; 위와 같은 코드가 있습니다. 위 코드에서 @ManyToOne의 역할이 너무너무 헷갈려서 문의드리게 되었습니다. @ManyToOne은 아래 내용 중 어떤 것에 해당하는 것인지 알려주실 수 있으실까요? 1. DB 테이블에서 MEMBER와 TEAM의 관계가 다대일인 것을 명시해준 것이다. 2. MEMBER 객체와 TEAM 객체가 MEMBER 기준으로 다대일 관계인 것을 명시해준 것이다. 제 개인적인 생각으로는 1번일 가능성이 더 높은 것 같습니다만... 정확한 내용이 찾아봐도 잘 나오지 않아... 알려주시면 너무 감사드리겠습니다!
안녕하세요. 항상 좋은 답변해주셔서 감사합니다! 오늘 또 질문이 있어 이렇게 글을 작성하게 되었습니다. 영한님 강의에서 프록시 엔티티 관련 궁금한 것이 있습니다! 프록시 엔티티를 em.getReference()로 가져온다면, 이 프록시 인스턴스도 영속화되었다고 보면 될까요? 초기화되면, 실제 엔티티도 영속화 되는데 영속화 된 프록시 엔티티 안에 있는 필드 참조에 실제 영속화된 엔티티가 연결되는 형태로... 이해를 하면 될까요?! 항상 감사합니다!
@Test (expected = IllegalStateException. class ) public void 중복 _ 회원 _ 예외 () throws Exception { Member member1 = new Member() ; member1.setName( "kim" ) ; Member member2 = new Member() ; member2.setName( "kim" ) ; memberService .join(member1) ; memberService .join(member2) ; fail ( " 예외가 발생해야 한다 ." ) ; } 위와 같이 작성하고 테스트 케이스를 실행시킨 경우에, pass 표시가 떠야하지만 java.lang.Exception: Unexpected exception, expected<java.lang.IllegalStateException> but was<org.springframework.dao.InvalidDataAccessApiUsageException> at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:30) 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.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: 이미 존재하는 ID입니다.; nested exception is java.lang.IllegalStateException: 이미 존재하는 ID입니다. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) 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: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 icpbl2.module2.service.CustomerService$$EnhancerBySpringCGLIB$$582d39c5.join(<generated>) at icpbl2.module2.service.CustomerServiceTest.중복_회원_예외(CustomerServiceTest.java:44) 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.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) ... 21 more Caused by: java.lang.IllegalStateException: 이미 존재하는 ID입니다. at icpbl2.module2.service.CustomerService.validateDuplicateCustomer(CustomerService.java:38) at icpbl2.module2.service.CustomerService.join(CustomerService.java:25) at icpbl2.module2.service.CustomerService$$FastClassBySpringCGLIB$$c9e25da.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.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 42 more 와 같은 오류메세지가 나오며 fail처리가 됩니다. 예외는 정상적으로 작동하는 것 같은데, (expected = IllegalStateException.class) 문구 및 직접 try catch 문구를 작성해도 저렇게 예외가 터집니다. 뭐가 문제일까요?
안녕하세요 팀장님. 저는 신입 개발자입니다. 싱글톤 스코프 타입을 스프링컨테이너에 요청했을 때 컨테이너가 관리하는 빈을 반환한다고 들었습니다. 그렇다면 많은 요청이 왔을 때 빈을 쉬지 않고 계속 반환할 수 있나요? 또한, 빈을 반환하는일도 쓰레드가 하는 일인지 궁금합니다. 정말 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강의 잘 듣고 있습니다. 수업 듣고 조금 더 변형해서 공부하고 있는데요, 하다가 궁금한 것이 생겨서 질문드립니다. 만약 현재 조회하려는 엔티티와 그 엔티티의 연관관계가 toOne관계라면 어떻게 조회해야 최적화가 될 수 있을까요? 그러니까 예로 Product라는 엔티티와 Seller라는 엔티티가 ManyToOne관계를 가지고 있는 경우(한명의 Seller가 여러 개의 Product를 쇼핑몰에 등록할 수 있다는 비즈니스 로직인 경우) 에도 패치 조인을 사용해야 하나요? 물론 김영한 님의 강의에도 이러한 연관관계를 조회하는 로직이 있었지만 그때는 ( 현재 제가 변형한 예시에서는) 모든 Product들을 조회하는 경우였고, 저는 하나의 findById()로 하나의 Product만을 조회하고 싶습니다. 하여 생각해 본 것이 아래와 같은 쿼리입니다. 그런데 위와 같은 쿼리를 사용하면 DBMS 내에서 Join이 먼저 되서 하나의 Product 조회를 위해 너무 지나치게 많은 join이 실행되는 것으로 아는데.. 쿼리는 한번 나가겠지만 너무 비효율적인 것이 아닌가 싶어서 잘 모르겠습니다. 긴 질문 읽어 주셔어 감사합니다!!!
안녕하세요. 선생님 좋은 강의 만들어 주셔서 정말 잘듣고 있습니다. 제가 궁금한점은 하나의 브라우저에서 여러개의 계정으로 로그인 하고 싶어서 http.sessionManagement().maximumSessions(-1); 위와 같이 하였을때 하나의 브라우저에서 여러 계정에 접속을 했을 경우 접속은 가능하나 만들어 놓은 메뉴를 클릭하면 마지막으로 접속한 계정으로 변경되는데 각자 유지하기 위해 설정해줘야 하는 부분이 있을까요?