안녕하세요, 좋은 강의 감사합니다. 이 강의 덕분에 무사히 캡스톤 과제를 진행하고 있습니다. 서버 배포를 진행하면서 제가 노드js 대신 스프링으로 작업을 하고 있습니다. 스프링 resource파일에 static에는 css 파일과 templates에는 index.html을 넣고 서버에 넣은 다음 배포를 했는데 css파일 깨지는 현상이 발생했는데 혹시 nginx에 static 설정을 해야하는지 궁금하여 질문 글을 작성하게 되었습니다. 읽어주셔서 감사합니다.
ddl-auto=create 옵션으로 테이블을 생성해서 사용중인데 이게 컬럼순서가 abc순서로 생성되더라구요 이걸 sql단에서 alter table 명령어로 임의로 변경하려고 하는데요 코드상으로는 컬럼순서가 바뀌어도 별 문제가 안될것같은데 테스트용 프로젝트에서는 500에러가 뜨네요 이런경우 ddl-auto옵션을 create로 바꾸고 새 테이블을 생성한 후 마이그레이션 하는 방법 외에 다른 방법은 없을까요?
안녕하세요 강사님 수업 잘 듣고 있는 수강생입니다. 작년, 강사님의 굉장한 강의로 사내(KT) AI분야 CEO 상을 받았고 굉장한 믿음으로, 현재 이 강의또한 수강하고 있습니다. 현재 저는 '22 인공지능 온라인 경진대회를 준비중입니다. Segmentaion 문제를 참여하려하는데, 아래와 같은 조건이 있습니다. ' 모든 이미지 픽셀에 대하여 값을 표기하는 방식 대신, 마스크를 1차원으로 변환한 뒤, 물체가 존재하는 픽셀들에 대하여 (시작점) (그로부터 연속되는 점의 개수) (다음 시작점) (그로부터 연속되는 점의 개수) 의 형태로 표기' 제가 아직 MaskRCNN 강의는 듣지 못하였는데, 혹시, MaskRCNN 결과로 나온 Segmentation 부분을 1차원으로 변환하는 방법이 따로 있을까요? 'segmentation to polygon convert' 로 구글검색을 해봤는데, 아직 정보를 못찾았습니다. 마지막으로, (시작점) (그로부터 연속되는 점의 개수) (다음 시작점) (그로부터 연속되는 점의 개수) 의 형태로 표기' 이 키워드는 제가 풀어야 할 숙제 인데, 혹시 위 문제를 지혜롭게 해결하기 위해 참고할만한 문서라던가 사이트 혹시 있으신지 문의드립니다. 항상 수고해주셔서 감사드립니다.
C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
장난감 판매 리스트에서 체크박스로 되어 있습니다 체크박스 대신에 스테퍼 같은걸로 수량라벨을 바인딩해서 다음창에 리스트뷰의 모든 내용을 한번에 넘길수 있는 방법이 있을까요? 로봇1 100원 1개 로봇3 200원 2개 비행기2 500원 1개 총액 1000원 <버튼>결제하기<버튼> 이런 느낌 입니다 장바구니 담기 라던지 결제 를 바로 하던지 이런식으루요
안녕하세요! 1. 만약 리밸런싱 기반 포트폴리오에서, 주식은 SPY로 하고 채권은 한국 10년물로 한다면 서로 영업일이 다르기 때문에 두 종가 데이터를 concat하면 분명 결측치가 생길탠데, 이럴때는 그냥 merge해서 inner join된 부분만 사용해도 결과엔 지장이 없는건가요? 2. 현금을 포트폴리오에 넣는다고 하면 그냥 현금은 가격을 어떤 시점에서든 1로 보면되는건가요?
3-4 브랜치로 체크아웃을 하여 테스트해봐도 source의 srcset 속성에 {props.webp + 's'}를 줬을 때 이미지가 엑박이 뜹니다. previousSibling.srcset = previousSibling.dataset.srcset; 위 소스 한 줄을 지울 때는 정상동작 되는데 이유가 있을까요?
안녕하세요 이력서 작성시 기술 용어 사용에 대해 질문 드리고 싶습니다. 이력서를 읽는 사람이 개발자 뿐 아니라 인사팀 역시도 보게 된다는 생각에 기술을 최대한 풀어 썼습니다. Reaplication -> 데이터 복제 이런식으로 썼는데 피드백 영상을 보니 다들 원 용어 그대로 사용하는걸 보았습니다. 혹시 이력서 작성때 독자를 개발자로만 한정지어도 괜찮을까요?? 답변 부탁드립니다. 감사합니다.
ChriP님 안녕하세요. 질문 있습니다. 강의에서 싱글 PID만으로 부드럽고 빠른 제어가 불가능해서 각속도 데이터까지 포함하여 더블 PID를 사용한다고 하셨는데, 센서 한 개로도 가능할 것 같은데 왜 ChrisP님은 센서를 두 개 사용하셨는지 궁금합니다. 예를 들어, 제가 MPU6050(6축 센서)과 HMC5883L(지자기)을 사용하여 각도를 계산하고, MPU6050으로 측정한 각속도를 사용하는 경우처럼 한 개의 센서만 사용할 때 문제가 생기는가요? 아니면 보다 정확한 제어를 위해 센서 두 개를 사용한 것인가요?
위처럼 제가 만드려는 사이트에 슬릭 슬라이더를 적용하니 원래 크기는 320px인데 394px 이나 늘어났습니다 ㅠㅠ 검색해보니 슬릭 슬라이더 고유 style이 먹히는 바람에 저렇게 된 것 같은데 제가 커스텀한 css로 슬라이더 적용하는 방법 찾고 싶습니다... 버튼도 설정한 적 없는데 가운데로 와서 수정도 잘 안 돼 도움 남겨봐요... + 수정 위의 상황을 고치면 이런식으로 화살표 오류는 여전한 채 slidesToShow 가 안 먹힙니다ㅠㅠ 반응형인 responsive도 전혀 안 먹히고 있어요,,,
안녕하세요 현재 간단한 주문조회 V4 : JPA에서 DTO로 바로조회 부분을 수강 중에 생긴 오류입니다. 아래 그림과 같이 오류가 뜨는데, 서버가 실행 되지 않아 생긴 오류는 아닌 것 같습니다. package jpabook.jpashop.api ; import jpabook.jpashop.domain.Address ; import jpabook.jpashop.domain.Order ; import jpabook.jpashop.domain.OrderStatus ; import jpabook.jpashop.repository.OrderRepository ; import jpabook.jpashop.repository.OrderSearch ; import jpabook.jpashop.repository.OrderSimpleQueryDto ; import lombok. Data ; import lombok. RequiredArgsConstructor ; import org.springframework.web.bind.annotation. GetMapping ; import org.springframework.web.bind.annotation. RestController ; import java.time.LocalDateTime ; import java.util.List ; import java.util.stream.Collectors ; import static java.util.stream.Collectors. toList ; /** * xToOne * Order * Order -> Member * Order -> Delivery */ @RestController @RequiredArgsConstructor public class OrderSimpleApiController { private final OrderRepository orderRepository ; @GetMapping ( "/api/v1/simple-orders" ) public List<Order> ordersV1 () { List<Order> all = orderRepository .findAllByString( new OrderSearch()) ; for (Order order : all) { order.getMember().getName() ; //Lazy 강제 초기화 order.getDelivery().getAddress() ; //Lazy 강제 초기화 } return all ; } @GetMapping ( "/api/v2/simple-orders" ) public List<SimpleOrderDto> ordersV2 () { //ORDER 2 개 //N + 1 -> 1 + 회원 N(2) + 배송 N List<Order> orders = orderRepository .findAllByString( new OrderSearch()) ; List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) .collect( toList ()) ; return result ; } @GetMapping ( "/api/v3/simple-orders" ) public List<SimpleOrderDto> ordersV3 () { List<Order> orders = orderRepository .findAllWithMemberDelivery() ; List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) .collect(Collectors. toList ()) ; return result ; } @GetMapping ( "/api/v4/simple-orders" ) public List<OrderSimpleQueryDto> ordersV4 () { return orderRepository .findOrderDtos() ; } @Data static class SimpleOrderDto { private Long orderId ; private String name ; private LocalDateTime orderDate ; private OrderStatus orderStatus ; private Address address ; public SimpleOrderDto (Order order) { orderId = order.getId() ; name = order.getMember().getName() ; orderDate = order.getOrderDate() ; orderStatus = order.getStatus() ; address = order.getDelivery().getAddress() ; } } } package jpabook.jpashop.repository ; import jpabook.jpashop.domain.Order ; import lombok.RequiredArgsConstructor ; import org.springframework.stereotype.Repository ; import org.springframework.util.StringUtils ; import javax.persistence.EntityManager ; import javax.persistence.TypedQuery ; import javax.persistence.criteria.* ; import java.util.ArrayList ; import java.util.List ; @Repository @RequiredArgsConstructor public class OrderRepository { private final EntityManager em ; public void save(Order order) { em.persist(order) ; } public Order findOne(Long id) { return em.find(Order. class, id) ; } public List<Order> findAllByString(OrderSearch orderSearch) { //language=JPAQL String jpql = "select o From Order o join o.member m" ; boolean isFirstCondition = true; // 주문 상태 검색 if (orderSearch.getOrderStatus() != null ) { if (isFirstCondition) { jpql += " where" ; isFirstCondition = false; } else { jpql += " and" ; } jpql += " o.status = :status" ; } // 회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { if (isFirstCondition) { jpql += " where" ; isFirstCondition = false; } else { jpql += " and" ; } jpql += " m.name like :name" ; } TypedQuery<Order> query = em.createQuery(jpql , Order. class ) .setMaxResults( 1000 ) ; // 최대 1000 건 if (orderSearch.getOrderStatus() != null ) { query = query.setParameter( "status" , orderSearch.getOrderStatus()) ; } if (StringUtils.hasText(orderSearch.getMemberName())) { query = query.setParameter( "name" , orderSearch.getMemberName()) ; } return query.getResultList() ; } /** * JPA Criteria */ public List<Order> findAllByCriteria(OrderSearch orderSearch) { CriteriaBuilder cb = em.getCriteriaBuilder() ; CriteriaQuery<Order> cq = cb.createQuery(Order. class ) ; Root<Order> o = cq.from(Order. class ) ; Join<Object , Object> m = o.join( "member" , JoinType.INNER) ; List<Predicate> criteria = new ArrayList<>() ; // 주문 상태 검색 if (orderSearch.getOrderStatus() != null ) { Predicate status = cb.equal(o.get( "status" ) , orderSearch.getOrderStatus()) ; criteria.add(status) ; } // 회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { Predicate name = cb.like(m.<String>get( "name" ) , "%" + orderSearch.getMemberName() + "%" ) ; criteria.add(name) ; } cq.where(cb.and(criteria.toArray( new Predicate[criteria.size()]))) ; TypedQuery<Order> query = em.createQuery(cq).setMaxResults( 1000 ) ; // 최대 1000 건 return query.getResultList() ; } public List<Order> findAllWithMemberDelivery() { return em.createQuery( "select o from Order o" + " join fetch o.member m" + " join fetch o.delivery d" , Order. class ) .getResultList() ; } public List<OrderSimpleQueryDto> findOrderDtos() { return em.createQuery( "select new jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto(o.id, m.name, o.orderDate, o.status, d.address)" + " from Order o" + " join o.member m" + " join o.delivery d" , OrderSimpleQueryDto. class ) .getResultList() ; } } package jpabook.jpashop.repository ; import jpabook.jpashop.domain.Address ; import jpabook.jpashop.domain.OrderStatus ; import lombok. Data ; import java.time.LocalDateTime ; @Data public class OrderSimpleQueryDto { private Long orderId ; private String name ; private LocalDateTime orderDate ; private OrderStatus orderStatus ; private Address address ; public OrderSimpleQueryDto (Long orderId , String name , LocalDateTime orderDate , OrderStatus orderStatus , Address address) { this . orderId = orderId ; this . name = name ; this . orderDate = orderDate ; this . orderStatus = orderStatus ; this . address = address ; } } 2022-05-31 02:13:36.433 ERROR 1563 --- [nio-8080-exec-4] o.h.hql.internal.ast.ErrorTracker : Unable to locate class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto] [cause=org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto]] 2022-05-31 02:13:36.436 ERROR 1563 --- [nio-8080-exec-4] o.h.hql.internal.ast.ErrorTracker : Unable to locate class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto] [cause=org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto]] org.hibernate.hql.internal.ast.DetailedSemanticException: Unable to locate class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto] at org.hibernate.hql.internal.ast.tree.ConstructorNode.resolveConstructor(ConstructorNode.java:177) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.tree.ConstructorNode.prepare(ConstructorNode.java:144) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.HqlSqlWalker.processConstructor(HqlSqlWalker.java:1271) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectExpr(HqlSqlBaseWalker.java:2409) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectExprList(HqlSqlBaseWalker.java:2275) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectClause(HqlSqlBaseWalker.java:1534) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:611) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:339) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:287) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:276) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:162) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:636) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:748) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:848) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:114) ~[hibernate-core-5.6.8.Final.jar:5.6.8.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.19.jar:5.3.19] at com.sun.proxy.$Proxy110.createQuery(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.19.jar:5.3.19] at com.sun.proxy.$Proxy110.createQuery(Unknown Source) ~[na:na] at jpabook.jpashop.repository.OrderRepository.findOrderDtos(OrderRepository.java:105) ~[classes/:na] at jpabook.jpashop.repository.OrderRepository$$FastClassBySpringCGLIB$$9808961b.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.19.jar:5.3.19] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.19.jar:5.3.19] at jpabook.jpashop.repository.OrderRepository$$EnhancerBySpringCGLIB$$3bdf9949.findOrderDtos(<generated>) ~[classes/:na] at jpabook.jpashop.api.OrderSimpleApiController.ordersV4(OrderSimpleApiController.java:70) ~[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.19.jar:5.3.19] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.19.jar:5.3.19] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) ~[tomcat-embed-core-9.0.62.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.19.jar:5.3.19] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.62.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.19.jar:5.3.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.19.jar:5.3.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.19.jar:5.3.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] 2022-05-31 02:13:36.441 ERROR 1563 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto] [select new jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto(o.id, m.name, o.orderDate, o.status, d.address) from jpabook.jpashop.domain.Order o join o.member m join o.delivery d]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto] [select new jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto(o.id, m.name, o.orderDate, o.status, d.address) from jpabook.jpashop.domain.Order o join o.member m join o.delivery d]] with root cause org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate class [jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto] [select new jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto(o.id, m.name, o.orderDate, o.status, d.address) from jpabook.jpashop.domain.Order o join o.member m join o.delivery d] at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:74) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.ErrorTracker.throwQueryException(ErrorTracker.java:93) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:282) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:162) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:636) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:748) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:848) ~[hibernate-core-5.6.8.Final.jar:5.6.8.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:114) ~[hibernate-core-5.6.8.Final.jar:5.6.8.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.19.jar:5.3.19] at com.sun.proxy.$Proxy110.createQuery(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.19.jar:5.3.19] at com.sun.proxy.$Proxy110.createQuery(Unknown Source) ~[na:na] at jpabook.jpashop.repository.OrderRepository.findOrderDtos(OrderRepository.java:105) ~[classes/:na] at jpabook.jpashop.repository.OrderRepository$$FastClassBySpringCGLIB$$9808961b.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.19.jar:5.3.19] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.19.jar:5.3.19] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.19.jar:5.3.19] at jpabook.jpashop.repository.OrderRepository$$EnhancerBySpringCGLIB$$3bdf9949.findOrderDtos(<generated>) ~[classes/:na] at jpabook.jpashop.api.OrderSimpleApiController.ordersV4(OrderSimpleApiController.java:70) ~[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.19.jar:5.3.19] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.19.jar:5.3.19] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.19.jar:5.3.19] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) ~[tomcat-embed-core-9.0.62.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.19.jar:5.3.19] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.62.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.19.jar:5.3.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.19.jar:5.3.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.19.jar:5.3.19] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.19.jar:5.3.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.62.jar:9.0.62] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] 오류내용은 이러합니다. OrderSimpleApiController 클래스에 @GetMapping ( "/api/v4/simple-orders" ) public List<OrderSimpleQueryDto> ordersV4 () { return orderRepository .findOrderDtos() ; } orderRepository 가 잘못된 것일까요?.. 오류 내용을 보면 저 부분을 얘기하는 것 같은데 어떤 부분이 잘못되었는지 이해가 잘 안됩니다 ㅜㅠ 도움 부탁드립니다!!!!..
function length(){ console.log(products.length); return; } length(products) 2 저는 문제만 보고 그냥 생각나는 대로 만들어봤는데 뭔가 제가 return 이나 함수 값을 잘 못 이해해서 다른 엉뚱한 답이 나온거 아닌가 싶은 의문이 듭니다..! 위에 답이 1번 문제의 답이 될 수는 없나요? 1번 문제의 답이 될 수 없다면 어느 부분에서 오류가 있을까요?? +(추가질문) 2번의 getproductsseller(products[0]); 라는 답에 products[0] 대신 '농구공' 을 넣는 것 만으로 '민수' 라는 seller가 나오도록 할려면 어떻게 코드를 바꿔야 하나요?
안녕하세요 궁금한게 있어서 질문드립니다. Session 이라는 인스턴스가 연결된 클라이언트 갯수만큼 만들어지는 걸로 이해했습니다. 저 상황에서 만약 server에 연결된 client가 100개라면 Server에 100개의 Session 인스턴스 각 client는 1개의 Session 인스턴스 일텐데 서버 입장에서 A라는 클라와 B라는 클라가 동시에 값을 보내어서 동시에 Send를 해야하는 상황를 생각한다면 서버에서 A 클라에서 받은 값과 B클라에서 받은 값은 각각 다른 Session 인스턴스로 받기 때문에 서로 아무리 멤버변수라고 해도 정적이 아닌 이상 서로 공유하고 있지 않을텐데 Lock를 사용하는 이유가 궁금합니다. send 할때 lock을 이용하는건 하나의 인스턴스 안에서 여러개의 Thread가 생기는것을 고려해서 만들어준건가요??
npm ERR! syscall open npm ERR! path C:\Nodejs-master/package.json npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'C:\Nodejs-master\package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: 어떻게 해결을 해야할까요