묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 4659 flag =1 관련 조건문 문의
안녕하세요!2-H 4659 에서 flag =1 관련 조건문을 문의드립니다.if(i >= 1 && (prev == idx) && (idx != 'e' && idx != 'o')){flag = 1;}같은 글자가 연속으로 나오면 (i>=1 && prev==idx)flag=1 이해했습니다.(idx != 'e' && idx != 'o') 이 부분이 이해가 되지 않습니다..ㅠㅠee와 oo 연속을 허용한다는 뜻일까요,,그럼 답변 부탁드려요,,
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
vue 소스 실행 안되는 오류 문의
saju-frontend-vuejs 에서 npm install 을 한후 npm run serve 를 하면 ERROR Error: vuetify-loader is only for use with vuetify 2, replace it with webpack-plugin-vuetifyError: vuetify-loader is only for use with vuetify 2, replace it with webpack-plugin-vuetify at module.exports (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\vue-cli-plugin-vuetify\index.js:32:13) at C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\lib\Service.js:78:7 at Array.forEach (<anonymous>) at Service.init (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\lib\Service.js:76:18) at Service.run (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\lib\Service.js:215:10) at Object.<anonymous> (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\bin\vue-cli-service.js:36:9) at Module._compile (internal/modules/cjs/loader.js:1114:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10) at Module.load (internal/modules/cjs/loader.js:979:32) at Function.Module._load (internal/modules/cjs/loader.js:819:12)와 같은 에러가 발생합니다. 2시간 동안 찾아봤지만 해결방법을 찾지 못해 도움을 구해봅니다. ㅠㅠㅠ 감사합니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
웹페이지 F5 하면 일기 내용이 다 사라지는데
페이지 F5 리프레쉬 하면 일기 내용이 다 사라지는데 이럴땐 파일 저장이라던가 다른 방법을 사용해야 하는걸까요?어떤 방법들이 있을까요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5주차 칠무해 질문입니다
http://boj.kr/e996076928334d74bccc1687c148a5e9기존에 priority queue를 직접 vector로 구현했습니다.돌렸을 경우 예제도 맞고 직접 다른 예제를 돌렸을 때도 맞는 답이 나왔습니다.어디에서 틀렸는지 감이 안오네요 ㅠ< 틀렸습니다 > 라고 백준에 표시됩니다. 감사합니다.
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
질문이 있습니다!
파트2 강의를 들을때도 gsap유료버전을 구매하지 않아도 수업을 다 따라갈수 있나용?
-
미해결홍정모의 따라하며 배우는 C++
13:10 IsEven, IsOdd 함수 선언 후 함수포인터 이용한 코드 질문
IsEven, IsOdd 함수 구현 후 함수 포인터 사용해서 my_array 배열의 짝수/홀수 요소만 출력하는데요.IsEven, IsOdd 함수에 강의에서 설명하신 else return false;를 안붙이면 (아래 코드 36, 40째 줄 주석처리) IsOdd를 포인터로 호출하면 정상동작, IsEven을 포인터로 호출하면 모든 요소가 출력됩니다. 둘다 이상동작해야할 것 같은데 IsEven만 이상동작 하는 이유가 뭔가요?? #include <iostream>#include <string>#include <array>#include <limits>#include <vector>#include <algorithm>using namespace std;int func() { return 5;}int goo() { return 10;}void printNumbers(const array<int, 10>& my_array) { for (auto element : my_array) { if (element % 2 == 0) cout << element << " "; } cout << endl;}void printNumber2(const array<int, 10>& my_array, bool Is_even) { for (auto element : my_array) { if (Is_even && element % 2 == 0) cout << element << " "; if (!Is_even && element % 2 == 1) cout << element << " "; } cout << endl;}bool IsEven(const int& number) { if (number % 2 == 0) return true; //else return false;}bool IsOdd(const int& number) { if (number % 2 == 1) return true; //else return false;}void printNumber3(const array<int, 10>& my_array, bool (*check_fcn)(const int&)) {//함수포인터 써서 IsEven, IsOdd 불러움 for (auto element : my_array) { if (check_fcn(element)==true) cout << element << " "; } cout << endl;}int main() { cout << func << endl; /*이렇게 함수를 출력하면(func()가 아님) 메모리 주소값이 나옴. 즉, 함수도 주소를 가지고 있음. 즉, 함수도 포인터 써서 주소만 가지고 이것저것 할 수 있음.*/ func(); int(* fcnptr)() = func; /*func()는 func 함수를 실행시켜서 결과값을 가져온다는 의미. func의 주소값을 fcnptr에 대입하려면 func만 쓰야함.*/ cout << fcnptr() << endl; //변수 카운터를 써서 참조하려면 (변수)를 썼었는데, 함수포인터는 뒤에 앞 말고 뒤괄호인건가? fcnptr = goo; cout << fcnptr() << endl; array<int, 10> my_array = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; printNumbers(my_array); cout << endl; printNumber2(my_array, true); printNumber2(my_array, false); cout << endl; printNumber3(my_array, IsEven); return 0;}
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
버전이 다른데 어떤 식으로 학습하는게 좋을까요?
Nextjs 버전을 내리고 강의 버전과 똑같이 맞춰서 사용할 지, 아니면 문법을 수정하여 학습해야 할 지 모르겠습니다.. index.tsx 구조 다른거부터 머리아프네요 ㅜㅜ... 강의에서 사용하신 버전도 알려주세요!
-
해결됨코딩테스트 [ ALL IN ONE ]
not stack , stack 질문
스택 문제풀이에서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번 코드가 왜 다르게 작동할까요??감사합니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
userRepository null ?
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 causejava.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]
-
미해결홍정모의 따라하며 배우는 C++
4:16 함수포인터 활용 질문입니다.
변수 포인터를 활용하여 변수값을 참조하려면 포인터 앞에 *을 붙였는데요.같은 방식으로 함수 포인터를 활용하여 함수값을 참조하려면 포인터뒤에 괄호()를 붙이는 문법이라고 생각하면 되나요?? 아래 코드에서 주석처리한 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;}
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
플러시 관련 질문
영상에서 보면 플러시가 영속성 컨텍스트에 있는 1차 캐시 정보를 토대로 SQL 쓰기 지연 저장소 내용을 데이터베이스에 반영한다고 말씀해주셨습니다. 그리고 커밋되는 시점에 플러시가 자동으로 반영된다고도 말씀해주셨는데요,그런데 아래 코드를 보면 강제로 플러시를 한번 호출하고 커밋을 반영해서 플러시를 결과적으로 두번 호출한 꼴이 될텐데 왜 데이터베이스에는 데이터가 두개가 아니라 한개만 반영되어 들어간건가요?Member member = new Member(3L, "TEST_JPA"); em.persist(member); em.flush(); tx.commit();
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 비밀번호 발음하기
안녕하세요 큰돌님 강의 보기 전에 제가 한번 풀어서 제출 해보았는데 도저히 어디서 틀린지 잘 모르겠습니다. 혹시 한번 봐주실 수 있나요?http://boj.kr/118b5fa8299d44d19aa64f0e13bb0932
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
볼륨클레임템플릿 생성후에도 공유 파일시스템은 여전하여 문의드립니다.
강사님... 5.7 볼륨클레임템플릿 테스트 관련하여 문의드립니다.1) 해당 볼륨클레임템플렛을 사용하는 이유는 statefulset 파드 각각이 가지는 독립된 고유의 영역의 pv 를 생성하기 위함이다.2) 따라서 sc(스토리지 클래스) 에서 테스트 예제를 위해 마스터노드의 특정 로컬영역을 nfs 로 구현하였어도, 실제 이를 볼륨클레임템플렛을 통해 마운트하는 파드들은 독립된 영역을 가지므로, statefulset 의 다른 파드가 생성한 파일같은것들은 보이지 않을것이다.... 라고 생각을 했습니다만,모든 테스트를 수행하고 나니 여전히 모든 statefulset 파드에서 다른 파드가 생성한게 그대로 보이는 nfs 는 여전한 것으로 보입니다.sc(스토리지 클래스) 가 구현된 것 자체가 nfs 볼륨을 마운트하고 있기 때문에 구조적으로 NAS 형태를 띄는것은 어쩔수 없어서 그런것 같은데요...그럼 애초 강의에서 말씀하신, Statefulset 내 볼륨클레임템플릿을 정의해주면 파드별 독립된 고유의 PV 영역을 갖는다라고 하신 의미가 무엇인지 궁금해집니다...실제 물리pv는 테스트상에서 그저 nfs 와 똑같은데 약간 혼동이 생기네요.
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.01
기초 트위닝 질문
기초 트위닝 진행중인데<div class="orange"></div>라고 적었을때 애니메이션이 작동을 안해요 ㅠㅠ<div class="orange">22</div> 이런식으로 태그 안에 내용이 있을때만 작동을 하는데 왜그러는 걸까용...
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
xml디자인이 보이지 않습니다.
OhJunYoung21/Dating_app (github.com) 위 사진처럼 split했을 때 화면이 보이지 않습니다. 코드는 옳게 친 것 같은데 왜 이러나요....
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
체크박스-단일2 3분 56초(체크박스 등록 폼 중에서 의문점).
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품등록폼 addForm.html 의 내용중 아래부분은 체크박스 관련부분인데.<!-- single checkbox --> <div>판매 여부</div> <div> <div class="form-check"> <input type="checkbox" id="open" th:field="*{open}" class="form-check-input"> <label for="open" class="form-check-label">판매 오픈</label> </div> </div>제가 궁금한건 등록폼에서 체크박스필드이름인 open까지 즉itemName, price, quantity,와 open 이 4가지값이 POST로 보내지는데 받는부분은 아래와같이@PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes) { log.info("item.open={}",item.getOpen()); Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/form/items/{itemId}"; }받게되는데. 여기서 질문:item 객체로 받는데 이게 궁금합니다..이거 넘기는 값전부에 해당하는 생성자가 없어도 객체로 만들어서 받아지는건가요??분명 item 클래스를 봐보면 @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; private Boolean open; //판매 여부 private List<String> regions; //등록 지역 private ItemType itemType; //상품 종류 private String deliveryCode; //배송 방식 public Item() { } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; } }이와 같이 Item클래스는 기본생성자와 itemName,price,quantity 3가지값만 받는 생성자밖에없는데.이와같이 itemName, price, quantity,와 open 이 4가지값을 받는 생성자가 없는데 도 스프링에서 4가지를 받는 생성자를 만들어서 객체를 만들어서 넘겨주는건가요??아래부분처럼 post로 보낸걸 받을때 딱맞는 생성자가없어도 item객체로 만들어지는게 궁금합니다.. 그냥 스프링에서 맞는생성자가 없어도 알아서 만들어서 넣어주는건가요?? 딱맞는 생성자가 없으면 객체를 못만드는거 아닌가요?? 이걸 어떻게 이해해야 하나요????@PostMapping("/add") public String addItem(@ModelAttribute Item item, 질문 : 등록폼에서 4가지 필드값을 보내는데받을때 @PostMapping("/add") 매핑에서@ModelAttribute Item item, 로 받았는데 item클래스를 살펴보면 4가지를 받는 생성자는 없는데도 Item객체로 만들어질수있나요??
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8. 지표 정의 연습 문제
#1. 기능이 잘 동작하고 있는지 확인하려면?"클릭률(CTR) = 클릭수(Click) / 노출된 수(View)"을 주요 지표로 설정한다.배달 서비스의 달성 목표는 많은 매출을 일으키는 것이며, 많은 매출을 일으키기 위해서는 사용자로 하여금 판매 중인 상품에 접근하는 횟수를 증가시켜야 한다. 이를 판단할 수 있는 지표는 클릭률이며, PM은 홈 화면에서 클릭수를 높이기 위한 기획에 초점을 맞춰야 한다. #2. 검색 만족도 지표"Duration Time"을 주요 지표로 설정해야 한다.많은 매출을 일으키기 위한 배달 서비스의 목표 달성을 위해, 사용자가 검색 과정에서 원하는 상품을 쉽고 빠르게 찾을 수 있도록 하며 이탈율을 최소화 할 필요가 있다. 1) 검색 탭 진입 시: 실시간 검색어를 통해 사람들이 많이 주문하는 상품을 간접적으로 노출함으로써 특정 메뉴에 빠르게 진입하도록 한다.2) 특정 검색어 입력 시: '주문많은 순' 필터를 디폴트로 설정하여 특정 가게에 빠르게 진입하도록 한다. #3. 검색 필터 기능의 활성화 지표"각각의 검색 필터 사용에 따른 구매전환율 = 각각의 필터 기능을 활성화 한 후 발생한 구매수 / 각각의 필터 기능을 활성화 한 횟수" 필터 기능이 얼마나 사용자의 구매 전환에 영향을 미치는지를 확인한다. 필터를 사용하는 사용자들은 목적 지향성이 강할 것이라는 가설을 세우고, 구매 시 사용자가 고려하는 주요한 케이스를 필터화 하여 제공했을 때 얼마나 많은 사용자들이 구매 행동을 하는지를 확인한다. #4. 배달 서비스에서 가장 중요한 지표는?"Retention 지표가 중요하다. 국내의 배달 서비스 시장은 이미 성숙도가 높고 출혈경쟁이 심화되어 있다. 이제는 신규 고객을 확보하는 일보다는 기존에 확보한 회원이 이탈하지 않도록 Retention을 높이는 일이 중요하다. 해결책으로써, 재방문 혹은 재구매 고객에게 Benefits을 주는 프로모션 또는 멤버십을 시행하는 전략을 세운다." #5. 추천 알고리즘의 성능 지표"클릭률(CTR) = 알고리즘 상품 클릭수(Click) / 알고리즘 상품 노출된 수(View)"알고리즘의 성능은 사용자가 추천 상품에 얼마나 반응하는지를 통해 확인할 수 있으며, 반응의 기준은 유저의 클릭을 기준으로 한다. 알고리즘이 유저의 로그를 기반으로 고도화 된다고 할 때, 구매하지는 않더라도 클릭을 한다면 사용자는 해당 상품군에 관심이 있다고 볼 수 있으며 해당 상품과 유사한 다른 상품을 추천하여 구매를 유도할 수 있다. 5번까지만 풀어보았습니다. 피드백 부탁드립니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
컴파일 에러 원인
선생님의 풀이말고 다른 풀이로 풀었는데 컴파일 에러가 납니다.혹시 어떤 부분이 잘못된 지 알려주실 수 있을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
섹션 1 관련 강의 노트는 없는지요?
안녕하세요. 강의를 듣고 있는 수강생 입니다. 강의 관련 기본 지식이 부족하다 보니, 여러 번 듣게 되는데요. 섹션 1에 대한 강의노트가 없는 것 같습니다. (draw.io diagram file)혹시 받을 수 있는지 문의 드립니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 메서드와 CASCADE의 관계
//==연관관계 메서드==// 가 주석으로 달린 메서드들이 연관관계에 있는 객체에 값을 넣어줄 때 반대편에도 자동으로 값을 넣어주는 역할을 하는 메서드가 맞나요? 이렇게 따로 메서드를 구현해주는 이유가 있나요? 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 옵션을 준다) 이렇게 이해했는데 맞을까요?