스택 문제풀이에서 return not stack 이나 while stack and stack[-1][1] 는 무엇을 의미하나요? 1. while stack and stack[-1][1] < temp : 2. while temp > stack and stack[-1][1] : 1번과 2번 코드가 왜 다르게 작동할까요?? 감사합니다!
Users Microservice - JPA 수강중입니다. 실습 따라서 작성하고 있는데 오류가 나는데 잘 모르겠습니다. UserServiceImpl 에서 ModelMapper mapper = new ModelMapper(); mapper.getConfiguration().setMatchingStrategy(MatchingStrategies. STRICT ); UserEntity userEntity = mapper.map (userDto, UserEntity.class); userEntity.setEncryptedPwd("encrypted_password"); 여기까지 값이 잘 찍히다가 userRepository.save (userEntity); <-- 여기서 오류가 납니다. 2023-04-24T21:55:59.923+09:00 ERROR 3608 --- [o-auto-1-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke " com.example.userservice.jpa.UserRepository.save (Object)" because "this.userRepository" is null] with root cause java.lang.NullPointerException: Cannot invoke " com.example.userservice.jpa.UserRepository.save (Object)" because "this.userRepository" is null at com.example.userservice.service.UserServiceImpl.createUser( UserServiceImpl.java:32 ) ~[classes/:na] at com.example.userservice.controller.UserController.createUser( UserController.java:45 ) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) ~[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:568 ) ~[na:na] at org.springframework.web.method.support .InvocableHandlerMethod.doInvoke( InvocableHandlerMethod.java:207 ) ~[spring-web-6.0.7.jar:6.0.7] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:152 ) ~[spring-web-6.0.7.jar:6.0.7] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:118 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:884 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:797 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1081 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:974 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1011 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at org.springframework.web.servlet.FrameworkServlet.doPost( FrameworkServlet.java:914 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at jakarta.servlet.http.HttpServlet.service( HttpServlet.java:563 ) ~[tomcat-embed-core-10.1.7.jar:6.0] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:885 ) ~[spring-webmvc-6.0.7.jar:6.0.7] at jakarta.servlet.http.HttpServlet.service( HttpServlet.java:631 ) ~[tomcat-embed-core-10.1.7.jar:6.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:205 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:53 ) ~[tomcat-embed-websocket-10.1.7.jar:10.1.7] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-6.0.7.jar:6.0.7] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) ~[spring-web-6.0.7.jar:6.0.7] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-6.0.7.jar:6.0.7] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) ~[spring-web-6.0.7.jar:6.0.7] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-6.0.7.jar:6.0.7] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) ~[spring-web-6.0.7.jar:6.0.7] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:166 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:90 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:493 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:115 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:93 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:74 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:341 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:390 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:63 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:894 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1741 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:52 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-10.1.7.jar:10.1.7] at java.base/java.lang.Thread.run( Thread.java:833 ) ~[na:na]
변수 포인터를 활용하여 변수값을 참조하려면 포인터 앞에 *을 붙였는데요. 같은 방식으로 함수 포인터를 활용하여 함수값을 참조하려면 포인터뒤에 괄호()를 붙이는 문법이라고 생각하면 되나요?? 아래 코드에서 주석처리한 28번째 줄입니다. #include <iostream> #include <string> #include <array> #include <limits> #include <vector> #include <algorithm> using namespace std; int func() { return 5; } int goo() { return 10; } int main() { cout << func << endl; /*이렇게 함수를 출력하면(func()가 아님) 메모리 주소값이 나옴. 즉, 함수도 주소를 가지고 있음. 즉, 함수도 포인터 써서 주소만 가지고 이것저것 할 수 있음.*/ func(); int(* fcnptr)() = func; /*func()는 func 함수를 실행시켜서 결과값을 가져온다는 의미. func의 주소값을 fcnptr에 대입하려면 func만 쓰야함.*/ cout << fcnptr() << endl; //변수 카운터를 써서 참조하려면 (변수)를 썼었는데, 함수포인터는 뒤에 앞 말고 뒤괄호인건가? fcnptr = goo; cout << fcnptr() << endl; return 0; }
영상에서 보면 플러시가 영속성 컨텍스트에 있는 1차 캐시 정보를 토대로 SQL 쓰기 지연 저장소 내용을 데이터베이스에 반영한다고 말씀해주셨습니다. 그리고 커밋되는 시점에 플러시가 자동으로 반영된다고도 말씀해주셨는데요, 그런데 아래 코드를 보면 강제로 플러시를 한번 호출하고 커밋을 반영해서 플러시를 결과적으로 두번 호출한 꼴이 될텐데 왜 데이터베이스에는 데이터가 두개가 아니라 한개만 반영되어 들어간건가요? Member member = new Member(3L, "TEST_JPA"); em.persist(member); em.flush(); tx.commit();
강사님... 5.7 볼륨클레임템플릿 테스트 관련하여 문의드립니다. 1) 해당 볼륨클레임템플렛을 사용하는 이유는 statefulset 파드 각각이 가지는 독립된 고유의 영역의 pv 를 생성하기 위함이다. 2) 따라서 sc(스토리지 클래스) 에서 테스트 예제를 위해 마스터노드의 특정 로컬영역을 nfs 로 구현하였어도, 실제 이를 볼륨클레임템플렛을 통해 마운트하는 파드들은 독립된 영역을 가지므로, statefulset 의 다른 파드가 생성한 파일같은것들은 보이지 않을것이다.... 라고 생각을 했습니다만, 모든 테스트를 수행하고 나니 여전히 모든 statefulset 파드에서 다른 파드가 생성한게 그대로 보이는 nfs 는 여전한 것으로 보입니다. sc(스토리지 클래스) 가 구현된 것 자체가 nfs 볼륨을 마운트하고 있기 때문에 구조적으로 NAS 형태를 띄는것은 어쩔수 없어서 그런것 같은데요... 그럼 애초 강의에서 말씀하신, Statefulset 내 볼륨클레임템플릿을 정의해주면 파드별 독립된 고유의 PV 영역을 갖는다라고 하신 의미가 무엇인지 궁금해집니다... 실제 물리pv는 테스트상에서 그저 nfs 와 똑같은데 약간 혼동이 생기네요.
#1. 기능이 잘 동작하고 있는지 확인하려면? "클릭률(CTR) = 클릭수(Click) / 노출된 수(View)"을 주요 지표로 설정한다. 배달 서비스의 달성 목표는 많은 매출을 일으키는 것이며, 많은 매출을 일으키기 위해서는 사용자로 하여금 판매 중인 상품에 접근하는 횟수를 증가시켜야 한다. 이를 판단할 수 있는 지표는 클릭률이며, PM은 홈 화면에서 클릭수를 높이기 위한 기획에 초점을 맞춰야 한다. #2. 검색 만족도 지표 "Duration Time"을 주요 지표로 설정해야 한다. 많은 매출을 일으키기 위한 배달 서비스의 목표 달성을 위해, 사용자가 검색 과정에서 원하는 상품을 쉽고 빠르게 찾을 수 있도록 하며 이탈율을 최소화 할 필요가 있다. 1) 검색 탭 진입 시: 실시간 검색어를 통해 사람들이 많이 주문하는 상품을 간접적으로 노출함으로써 특정 메뉴에 빠르게 진입하도록 한다. 2) 특정 검색어 입력 시: '주문많은 순' 필터를 디폴트로 설정하여 특정 가게에 빠르게 진입하도록 한다. #3. 검색 필터 기능의 활성화 지표 "각각의 검색 필터 사용에 따른 구매전환율 = 각각의 필터 기능을 활성화 한 후 발생한 구매수 / 각각의 필터 기능을 활성화 한 횟수" 필터 기능이 얼마나 사용자의 구매 전환에 영향을 미치는지를 확인한다. 필터를 사용하는 사용자들은 목적 지향성이 강할 것이라는 가설을 세우고, 구매 시 사용자가 고려하는 주요한 케이스를 필터화 하여 제공했을 때 얼마나 많은 사용자들이 구매 행동을 하는지를 확인한다. #4. 배달 서비스에서 가장 중요한 지표는? "Retention 지표가 중요하다. 국내의 배달 서비스 시장은 이미 성숙도가 높고 출혈경쟁이 심화되어 있다. 이제는 신규 고객을 확보하는 일보다는 기존에 확보한 회원이 이탈하지 않도록 Retention을 높이는 일이 중요하다. 해결책으로써, 재방문 혹은 재구매 고객에게 Benefits을 주는 프로모션 또는 멤버십을 시행하는 전략을 세운다." #5. 추천 알고리즘의 성능 지표 "클릭률(CTR) = 알고리즘 상품 클릭수(Click) / 알고리즘 상품 노출된 수(View)" 알고리즘의 성능은 사용자가 추천 상품에 얼마나 반응하는지를 통해 확인할 수 있으며, 반응의 기준은 유저의 클릭을 기준으로 한다. 알고리즘이 유저의 로그를 기반으로 고도화 된다고 할 때, 구매하지는 않더라도 클릭을 한다면 사용자는 해당 상품군에 관심이 있다고 볼 수 있으며 해당 상품과 유사한 다른 상품을 추천하여 구매를 유도할 수 있다. 5번까지만 풀어보았습니다. 피드백 부탁드립니다!
//==연관관계 메서드==// 가 주석으로 달린 메서드들이 연관관계에 있는 객체에 값을 넣어줄 때 반대편에도 자동으로 값을 넣어주는 역할을 하는 메서드가 맞나요? 이렇게 따로 메서드를 구현해주는 이유가 있나요? CASCADE 옵션을 사용하면 어차피 알아서 다 해주지 않나요 ?? 기본편에서 설명해주셨다고 했는데 어떤 강의를 다시 수강해보면 될까요 ? 지연로딩에서 ***ToMany의 디폴트는 Lazy고, ***ToOne의 디폴트는 Eager인 이유가 ***ToMany같은 경우 하나만 불러와도 기본적으로 수많은 값이 따라오기 때문에 스프링 측에서 Lazy로 해놓았고, (Member의 Order을 조회하면 수많은 Order이 자동으로 따라오기 때문에 디폴트가 Lazy) ***ToOne의 경우 객체 하나만 조회하면 쿼리문을 하나밖에 더 날리지 않기 때문에 Eager로 해놓았지만, 실무에서는 테이블 전체를 조회할 때가 있기 때문에 디폴트값인 Eager를 쓰지 않고 Lazy를 사용한다 이게 맞을까요? (Order하나만 조회하면 Member 1개만 따라오기때문에 디폴트가 Eager지만, select o from Order o 와 같은 쿼리문으로 Order를 전체 조회했을 때는 Order에 따른 멤버가 전부 따라오므로 그냥 Lazy 옵션을 준다) 이렇게 이해했는데 맞을까요?
안녕하세요~ 교재로 열심히 시험 준비하고 있는 1인입니다. 교재 다운받고 공부하는 중 오타과 수정에 대한 문의사항이 보여서요. 지금 공부 시작하는 단계라 어떤 부분이 수정이 되었는지 알 수가 없어서요. 처음 만드신 교재 이후부터 정오표를 올려주시면 그것만 확인하면 될듯해서요. 교재 처음 올리신 이후 수정사항에 대한 교재 정오표 게재 쫌 부탁드립니다.
기본편에서 관계에 따른 연관관계 설정하는 방법은 공부했는데, 위와 같은 기능 목록을 보고 기능목록을 보고 위와 같이 어떤 도메인을 써야 할지, 도메인끼리 1:N인지, N:N인지, 1:1인지 단방향인지, 양방향인지(실무에서는 N:N과 양방향은 지양하라고 하셨지만) 등 도메인 모델과 테이블 설계가 어렵다면 무엇을 참고하는 것이 좋을까요 ? ( 영한님이 분석해 놓은 회원 엔티티와 회원 테이블을 보고 코드를 작성할 순 있는데 스스로 회원 엔티티와 테이블을 분석하기가 너무 어렵습니다.) Category 클래스 안에서 스스로 일대다 관계를 맺고 있는데 이것은 무엇을 위해 만든건가요 ?
안녕하세요. 선생님! 좋은 강의 열심히 듣고 있습니다. 4-O 질문이 있는데요(백준 15353 큰수 A+B(2) , https://www.acmicpc.net/problem/15353 ). 실수 A,B의 범위가 10의 10000승까지인데, 선생님처럼 문자열의 문자 하나씩 정수로 바꿔서 처리한다면 시간복잡도가 10의 10000승 아닌가요..? 이 문제를 선생님처럼 풀기전에 시간초과에 걸린다고 생각했습니다... 감사합니다!
설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요. Arty-z7-10보드를 사용하여 강의를 수강중입니다. 다름이 아니라 9장 실습을 따라하면서 맛비님께서 미리 만들어 놓으신 IP를 vivado에 올리게 되면 Arty-z7-10의 경우 스위치가 2개이기 때문에 bitstream을 생성하는 과정에서 에러가 발생하게 됩니다,, 이 부분은 어떻게 해결하면 되는지 궁금합니다. ================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================