묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
SQL 설치 오류 질문
SQL 설치 오류가 발생하는데 원인을 모르겠습니다 ㅠㅠ 강의대로 C 드라이브 경로로 넣었고 컴퓨터 용량도 충분합니다.
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8강 지표 정의하기 연습문제 답변
강의 너무 잘 듣고 있습니다!! 4-8강 연습문제에 대한 답변을 조심스레 올려봅니다.. ㅎㅎ냉철하고 날카로운 피드백 부탁드립니다!! 1. 기능이 잘 동작하고 있는지 확인하려면?해당 기능 클릭 이벤트 → 클릭에 맞는 화면의 뷰 이벤트 퍼널을 만들고 그 전환율을 확인해서, 전환율이 99.5% 이상이면 잘 동작한다고 볼 수 있을 것 같습니다.기능이 정상적으로 동작하고 있다면 해당 기능을 클릭하고 그에 맞는 화면이 떠야하기 때문에 기능 클릭 이벤트와 화면 뷰 이벤트는 사실상 100% 전환율이 나와야하지만, 데이터 수집 과정에서 누락이 있을 수 있기 때문에 그것을 감안하여 99.5% 정도의 전환율이라면 기능이 정상 작동한다고 볼 수 있을 것 같습니다. 2. 검색 만족도 지표사이에 아무 이벤트가 존재하지 않는 검색 결과 뷰 → 가게 클릭 퍼널을 만들고 그 전환율을 확인할 것 같습니다.고객이 검색기능에 만족했다는 것은 검색 후 아무런 추가 액션 없이 본인이 원하는 가게를 찾았다는 것을 의미하기에 검색 결과 화면을 확인 후 얼마나 추가 이벤트 없이 가게 클릭을 했는지의 전환율을 확인하면 고객의 검색 기능 만족도를 측정할 수 있다고 생각합니다. 3. 필터 기능의 활검색성화 지표일반적으로 검색할 때 필터를 설정하고 검색하기도 하고, 검색을 하고 필터를 설정하기도 하기 때문에 두 경우를 모두 포괄하기 위해 검색 기능이 있는 페이지 뷰 → 필터 클릭 → 필터 설정 완료 클릭 퍼널을 이벤트 사이에 이벤트 존재를 허용해서 만들어서 각 퍼널 별 전환율을 확인할 것 같습니다.뷰 → 필터 클릭 퍼널의 전환율은 유저가 필터의 필요성을 얼마나 느끼는 지 보여줄 수 있다고 생각하고,필터 클릭 → 필터 설정 퍼널의 전환율은 실제로 필터의 필요성을 느끼는 유저가 실제로 원하는 필터를 찾아서 활용하는 지 확인할 수 있는 지표가 될 수 있다고 생각합니다.이 두 지표를 조합하면 필터의 필요성을 느끼는 유저들의 비율과 필터를 실제 활용하는 유저들의 비율을 알 수있기 때문에 필터 기능의 활성화 여부를 세밀하게 구분하고, 그 결과에 따라 이후 액션 플랜을 수립할 수 있을 것 같습니다. 만약 필터 자체를 클릭을 많이 안한다면, 그 원인이 어디에 있는지 추가 분석을 해봐야 할 것 같고, 클릭은 많이 하지만 설정을 잘 안한다면 유저들이 원하는 필터가 없다는 의미로 해석할 수 있기 때문에 관련되서 추가 분석이나 유저 인터뷰를 진행하면 좋을 듯 합니다. 4. 배달 서비스에서 가장 중요한 지표는?배달 서비스에서 가장 중요한 지표는 배달 건수 & 건당 이익(매출 -비용) 이라고 생각합니다. 결국 기업에서 가장 중요한 것은 이익을 내는 것이고, 이익은 기본적으로 수량 x 한계 이익이기 때문에 배달 건수(수량) x 건당 이익(한계 이익)이 가장 중요하다고 생각합니다. 다만 배달 서비스의 특징을 고려할 때 굉장히 다양한 품목을 배달하고, 유저층도 다양하기 때문에 통합된 하나의 지표로 배달 건수와 건당 이익을 계산하기 보다는 품목별, 유저별 등 서비스 특성에 맞는 코호트를 만들어서 해당 맥락에 맞는 지표들을 구하고 의사결정에 참고할 필요가 있다고 생각합니다. 두 지표를 합쳐서 총 이익으로 보지 않고 구분하는 이유는 전체적인 흐름을 참고해서 의사결정 하기 위함입니다. 예컨데 배달건수는 엄청 많은데 건당 이익이 마이너스라면, 현재 시점에서는 배달 건수가 늘면 늘수록 적자폭이 커지는 구조이기 때문에 수익성 개선이 필요하다는 것을 알 수 있고, 건당 이익은 높은데 배달 건수가 너무 작다면 충분한 유저들이 앱을 사용하고 있지 않다는 것이므로 마케팅에 집중하거나, 유저들을 위한 신규 기능 개발을 목표로 전략을 세우는 등 두 지표를 한꺼번에 확인 함으로써 서비스의 전체적인 흐름을 파악하고 그에 맞는 전략을 도출할 수 있다고 생각합니다.배달 건수와 이익을 높이기 위해서는 사실 당연하지만 기본에 충실해야한다고 생각합니다. 사람들이 배달을 서비스를 이용하는 이유는 맛있는 음식을 편하게 먹고 싶기 때문입니다. 맛있는 음식을 먹기 위해서는 라이더가 잘 배치되서 음식이 식기 전에 배달이 되어야하고, 가격 부담이 적을수록 보다 편하게 음식을 먹을 수 있기 때문에 배달비가 합리적인 수준에 책정이 되어야 할 것입니다. 즉 이런 유저들의 니즈를 충족시켜주기위해 라이더들 확보 및 적절한 배치와 동선 효율화를 이뤄내야하고, 그 과정에서 비용 구조 혁신을 통해 유저들이 배달비에 부담스런 비용을 지불하지 않도록 해야합니다. 5. 추천 알고리즘의 성능 지표기본적으로 이커머스 서비스의 목표는 유저들에게 제품을 판매하는 것이기 때문에, 추천 알고리즘 역시 이 부분에 기여를 해야합니다. 따라서 추천 알고리즘의 성능을 파악하기 위해서는 추천 제품의 클릭율 & 클릭 후 구매 전환율 두 지표를 파악해야 한다고 생각합니다.우선 추천 제품의 클릭율이라는 것은 추천 알고리즘이 유저가 원하는 범주의 제품을 추천해주었다는 것을 의미한다고 생각합니다. 즉 알고리즘이 유저의 성향을 어느정도 파악하는데 성공했다고 볼 수 있습니다.다만, 성향을 파악했다고 해서 유저가 꼭 그 제품을 마음에 들어한다고 볼 수는 없습니다. 예컨데, 알고리즘이 유저에게 폼클렌징을 추천해주어서 유저가 제품을 클릭은 했는데, 실제 구매로 이루어지지 않았다면 추천의 범주는 어느정도 맞췄지만, 구체적인 상품 추천에는 실패했다는 것이기 때문에 결과적으로 판매에는 기여하지 못한 케이스가 됩니다. 이러한 케이스를 파악하기 위해 두 개의 지표로 구분해서 해당 지표들을 바탕으로 이후의 액션플랜을 수립해야 합니다. 6. 자주 사용하는 서비스의 지표저는 Discord 앱을 자주 활용하는데, 이 서비스에서 핵심지표는 활성 유저수 x 활성 유저당 이익 이라고 생각합니다. 그 이유는 4번 문제에 대한 답과 유사한데, 결국 모든 서비스는 이익을 창출해야 존속할 수 있고, 그렇기 위해서는 수량 x 한계 이익이 중요하기 때문입니다. 활성 유저를 기준으로 지표로 보고자 한 이유는 실제 앱을 꾸준히 쓰는 사람들이 얼마나 앱에 돈을 내고 있는지 파악하는 것이 전체 유저를 대상으로 지표를 집계하는 것 보다 더 제품의 현황을 정확하게 보여줄 것이라고 생각하기 때문입니다.추가적으로 확인해야하는 지표 2가지를 뽑는다면 WAU와 Weekly Retention을 뽑겠습니다. 제품과 관련하여 이익적인 부분을 제외하면, 제품 자체의 매력도와 힘을 지표를 통해 확인할 필요가 있다고 생각합니다. Discord의 경우 이를 대표적으로 잘 보여주는 것이 WAU와 Weekly Retention이라고 생각합니다. DAU나 Daily Retention이 아닌 이유는 제가 디스코드를 사용해본 경험상 매일매일 들어가기보다는 일주일에 두어번 정도 앱을 사용하기 때문에 일주일을 기준으로 지표들을 보는게 좀 더 유저 행동을 정확하게 볼 수 있다고 생각 했습니다. 이 두 지표는 기본적으로 유저들이 앱을 얼마나 많이, 자주 쓰는지 확인할 수 있는 지표들이기 때문에 해당 지표들을 바탕으로 앱의 매력도와 힘의 현황을 꾸준히 파악할 것 같습니다. 7.퍼널 개선 프로젝트저라면 A/B Test를 통해 기존 가입 퍼널과 온보딩을 더 진행하는 기능이 추가된 가입퍼널의 최종 가입 전환율을 비교 할 것 같습니다.목표 지표는 최종 가입 전환율이지만, 온보딩을 진행하는 과정에 이벤트들을 심어서 각 온보딩 진행 구간 별로 유저들의 전환율이 어떻게 되는지 확인해서 이후 액션에 참고 할 것 같습니다. 예를 들면, 온보딩을 더 진행하는 것 자체는 유저들이 관심을 가져서 전환이 이루어졌으나, 그게 실제로 가입 전환에는 도움이 안되는 경우 온보딩을 추가하는 기획 자체는 남겨두고 온보딩을 더 발전시키는 형태로 추가 액션을 가져가는 경우가 있을 것 같습니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
lombok 인식이 안됩니다
안녕하세요수강시작으로 프로젝트 세팅중에 있는데 롬북 인식이 안되서 문의드립니다 ㅠplugin 설치하였고아래 사진과 같이 dependencies 세팅도 되어있고상단 이미지처럼 체크하고 restart를 아무리해도.....강의 예제 처럼 Hello class에도 main/java 아래 임으로 생성한 class에서도 롬북이 인식이 안됩니다 ㅠ어떻게 해야할까요?
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
코드 속도가 어디서 차이나는지 궁금합니다!
안녕하세요~ [초미니 프로젝트] 동전 앞뒤 맞추기 프로젝트를 내 나름대로 바꿔서 팀 정하는 프로그램으로 작성했습니다. 궁금한 것은 아래에 있는 코드를 실행소요 시간입니다.import random import time start = time.time() n = 500000 while(n > 0): random_number = random.randint(1,12) mod = random_number % 3 ## 처음 작성한 방법 # if mod == 0: # print("Red Team!") # elif mod == 1: # print("Blue Team!") # else: # print("Green Team!") ## 더 빠를거라 예상한 방법 team_list = ["Red", "Blue", "Green"] print('{} Team!'.format(team_list[mod])) n -= 1 end = time.time() print(end - start)랜덤으로 뽑은 숫자로부터 빨강, 파랑, 초록 팀을 출력해주는 코드입니다. 반복문이 여러번 나와서 더 간단하게 만들수 없을까 생각했습니다. 그래서 mod 변수를 인덱스로 사용하여 리스트에 접근하면 더 간단하게 표현할 수 있겠다고 생각했습니다. 그리고 어떤게 더 효율적일지 실험해봤습니다.처음 작성한 코드는 3.348072052001953,리스트로 작성한 코드는 4.024623870849609 가 걸렸습니다. 제 생각에는 리스트가 더 효율적일거라 생각했는데 왜 더 시간이 오래 걸렸을까요?반복문도 mod 값에 맞는 조건을 찾을때까지 순차적으로 접근하고, 리스트도 순차적으로 접근하는 자료구조라 적어도 비슷해야할거라 생각이 듭니다.
-
미해결김영한의 실전 자바 - 기본편
equals method
저는 강의를 듣고 문제를 풀다가 이러한 equals 메서드를 보게 되었습니다.제가 생각 하기로는 public boolean equals( Date obj){ } 로 하는게 다운 캐스팅을 할 필요도 없고, 더 편할 것 같은데 특별한 이유가 있나요 ?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션2-2. Hello 서블릿 진행 중 WhiteLabel 에러 관련 질문입니다.
섹션 2-2. Hello 서블릿 강의 진행중에 /hello 접근 시 WhiteLabel 에러가 발생합니다.업데이트된 매뉴얼에 따라 현재 Build and Run 항목은 모두 Gradle으로 설정되어 있으며, 자바 21, 17 버전 모두 같은 문제가 발생하고 있습니다.@ServletComponentScan //서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } }@WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("HelloServlet.service"); } }같은 문제 관련하여 질문 글들 확인 및 시도해봤습니다만 해결이 되지 않았습니다.콘솔창에도 아무것도 출력되지 않네요.답변주시면 감사하겠습니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Activator 질문있습니다
안녕하세요, 루키스님강의 항상 잘 보고있습니다. 항상 감사합니다. 다름이 아니라,스킬 데이터를 Json 형식으로 저장한 뒤 Dictionary로 파싱하여 저장하고각 스킬 이름에 해당하는 클래스의 인스턴스를 만들어 저장하는 방식을 사용한 적이 있고, 이번에도 같은 방식을 필요한 상황이 생겼는데(인스턴스를 직접 선언해 저장하는 방식은 노가다라고 생각해서 이렇게 했었습니다)코드는 아래와 같습니다.리플렉션으로 스킬 타입을 가져온 뒤, Activator로 인스턴스를 생성했습니다.Type type = Type.GetType(skill.skillName);Skill newSkill = (Skill)Activator.CreateInstance(type);newSkill.skillData = skill;skillDictionary.Add(newSkill.skillData.id, newSkill); 처음 해당 코드를 사용할 때에는 별 생각이 없었는데,추가적으로 리플렉션에 대해 구글에 검색하다보니 굉장히 다양한 의견들이 있더군요.성능에 안좋다, 테스트용이다, 빌드 후에는 리플렉션 관련 코드는 사용하지 말아야한다.. 등등 제가 Reflection과 Activator를 사용한 부분은 게임 실행 직후에만 Json으로부터 데이터를 파싱하여 해당 타입의 인스턴스를 만들어 저장하기만 하는데, 그렇더라도 성능에 영향을 미치는지 궁금합니다. 혹은 위와 같이 수많은 데이터를 인스턴스화하고, 초기화 하는 다른 좋은 방법이 있을까요?
-
미해결대세는 쿠버네티스 (초급~중급편)
window 환경 vagrant up 에러 문의드립니다
https://kubetm.github.io/k8s/02-beginner/cluster-install-case6/기존에 실습하던 환경과 컴퓨터가 바뀌어위 링크 참조하여 다시 설치를 진행했는데 위와 같은 에러가 발생합니다램16기가, disk 공간 여유롭습니다다른 에러들은 구글링 하면서 고쳤는데 위 에러는좋은 해답을 못찾아서 질문 드립니다 -- 해결했습니다 --윈도우 계정명이 한글이어서 발생한 호환성 이슈인 것 같습니다신규로 윈도우 로컬 계정 생성하여 동일한 환경에서 진행하니정상적으로 설치 되었습니다
-
미해결Next + React Query로 SNS 서비스 만들기
제로초님 안녕하세요 ㅎㅎ
저스탠드 관련해서 하다가 안풀려서 여쭤 봅니다 백엔드와 통신을 하여 값을 받아 온 객체의 값을 저스탠드에 set으로 저장 하려고 하는데 이렇게 계속 나오더라구여 ..제가 지금 하려고 했던건 인터페이스를 만들어주고 각 타입을 주려고 했는데 안되더라구여 ㅠㅠ 어떤 걸 수정을 해야 될까요 ㅠㅠ타입을 any로 하니 되긴 하던데 any는 사용 하지 말라고 하셔서 되도록 ㅠㅠ
-
해결됨
스프링 오류 질문
package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; @RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() { Member member = new Member(); member.setUsername("memberA"); Long savedId = memberRepository.save(member); Member findMember = memberRepository.find(savedId); Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); Assertions.assertThat(findMember).isEqualTo(member); //JPA 엔티티 동일성 보장 } } 김영한 강사님의 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 강의를 수강중입니다. C:\study\jpashop\src\test\java\jpabook\jpashop\MemberRepositoryTest.java:4: error: package org.junit does not existimport org.junit.Test; 위와같은 오류가 나왔는데 어떻게 해결하나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
temp질문
제가 이해하고있는게 맞나해서 강의 듣고 질문드립니다EnterLobby()함수에서Statinfo player라는 지역변수를 할당하고그 player라는 값안에다가 CreatePlayer()의 값을 넣는데 여기서 CreatePlayer()함수의 내부코드는마찬가지로 지역변수 ret생성후 ret.hp.. 이렇게 값을 할당해서 그값들을 리턴해주는데 그 리턴되는 값들이 바로 player값에 들어가는게 아니라 EnterLobby()함수에 지역변수(player와 temp?라는 메모장같은 변수가 있다고 할때)ret값이 temp에 옮겨지고 그 temp값이 player로 들어가는 과정이 맞는지 질문드립니다temp가 생성되는 이유하고 시점을 모르겠어서 정확히 이해한건지 모르겠네요그리고 또 하나 질문이 있는데temp라는건 저희가 알아듣기 편하게 임의로 지정한 변수 이름인건가요? 사실상 스택프레임의 할당된 어느 구역일 뿐인지 궁금합니다
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
멀티 선택 단축키
2분 50초쯤에서 멀티선택 하는 방법 알려주시면 감사하겠습니다!!
-
해결됨홍정모의 따라하며 배우는 C++
강의 8:07 질문
안녕하세요. 8:07에서 반환값의 자료형이 int&이니getValue 함수 안의 value를 선언할 때도 int&로 선언해야 하는 것 아닌가요?즉, 함수의 반환값과 변수의 자료형을 맞춰야 하는 것이 아닌지 궁금합니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
장바구니 컨트롤러 처리 @PreAuthorize 부분 오류
@PreAuthorize("(#itemDTO.email == authentication.name)") @PostMapping("/change") public List<CartItemListDTO> changeCart(@RequestBody(required = true) CartItemDTO itemDTO) { log.info("itemDTO : {}", itemDTO); if (itemDTO.getQuantity() <= 0) { return cartService.remove(itemDTO.getCino()); } return cartService.addOrModify(itemDTO); }위코드에서 #ItemDTo 값이 null 설정되는것같습니다.아무리 찿아봐도 원일을 알수없는데 확인좀 부탁드릴수 있을까요? 우선 오류로그는 아래와 같습니다.jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)' at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022) ~[spring-webmvc-6.1.5.jar:6.1.5] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.5.jar:6.1.5] Caused by: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)' Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'email' cannot be found on null at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:224) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:111) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorValueRef.getValue(PropertyOrFieldReference.java:416) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:98) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:42) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:32) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:119) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:309) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:30) ~[spring-security-core-6.2.3.jar:6.2.3]
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 질문있습니다!
안녕하세요! 수업 너무 잘들었어요 ~이번 수업 프로젝트를 수동 배포를 해보고 CI/CD 공부를 하고싶어서 찾아보던중EC2서버에 docker를 사용해서 JENKINS를 설치하고 CI/CD작업을 하던 와중에 백엔드 코드는 빌드하고 배포를 하였습니다.1. JENKINS포트를 9090 으로 변경하고(스프링 부트 서버가 8080이라 )맞는걸까요?2. 화면도 나오게 배포를 하려면 따로 리액트도 배포를 해줘야 할까요? 같은 서버에 있어서 안해줘도 된다고 생각했는데... 조언부탁드려요 ㅠㅠ!많은 블로그들을 보면 ec2서버를 여러대 사용하고 배치하고 있던데 어떨때 ec2서버를 여러대 사용해야하고 mysql mastr-slave구조도.. redis 서버도 어디다 배치하고 감이 안잡혀서 강사님께 조언부탁드렸습니다 ㅠㅠ!저의 질문이 강의와 맞지 않아서 무례할지 고민하다가.. 조언을 부탁드렸습니다 . 감사합니다
-
미해결
react - router-dom 사용 후 로딩된 페이지에 컴포넌트 안뜸
/*global kakao*/ //지우면 안됌 api 사용불가함 import "./kakaomap.css"; import React, { useEffect } from "react"; import {Route,Routes } from 'react-router-dom'; import {Link} from 'react-router-dom'; import Info from './helpinfo'; //import Swal from "sweetalert2"; //import dummy from "..data.json" const MypageMap = () => { // 더미 데이터 이곳!!!!!!!!!!!!!!!!!!!!! // 마커를 표시할 위치와 내용을 가지고 있는 객체 배열입니다 var positions = [ { content: '카카오', money1 : '300', money2 : '30' , stair : '6', size : '23', latlng: new kakao.maps.LatLng(33.450705, 126.570677) }, { content: '생태연못', money1 : '300', money2 : '30' , stair : '6', size : '23', latlng: new kakao.maps.LatLng(33.450936, 126.569477) }, { content: '텃밭', money1 : '300', money2 : '30' , stair : '6', size : '23', latlng: new kakao.maps.LatLng(33.450879, 126.569940) }, { content: '근린공원', money1 : '300', money2 : '30' , stair : '6', size : '23', latlng: new kakao.maps.LatLng(33.451393, 126.570738) } ]; useEffect(() => { // 마커를 담을 배열입니다 try { var markers = []; var mapContainer = document.getElementById("map"); // 지도를 표시할 div var mapOption = { center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표 level: 3, // 지도의 확대 레벨 }; // 지도를 생성합니다 var map = new kakao.maps.Map(mapContainer, mapOption); // 일반 지도와 스카이뷰로 지도 타입을 전환할 수 있는 지도타입 컨트롤을 생성합니다 var mapTypeControl = new kakao.maps.MapTypeControl(); // 지도에 컨트롤을 추가해야 지도위에 표시됩니다 // kakao.maps.ControlPosition은 컨트롤이 표시될 위치를 정의하는데 TOPRIGHT는 오른쪽 위를 의미합니다 map.addControl(mapTypeControl, kakao.maps.ControlPosition.TOPRIGHT); // 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다 var zoomControl = new kakao.maps.ZoomControl(); map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT); for (var i = 0; i < positions.length; i ++) { // 마커를 생성합니다 var marker = new kakao.maps.Marker({ map: map, // 마커를 표시할 지도 position: positions[i].latlng // 마커의 위치 }); // 마커에 표시할 인포윈도우를 생성합니다 var infowindow = new kakao.maps.InfoWindow({ content: positions[i].content // 인포윈도우에 표시할 내용 }); // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록 // 이벤트 리스너로는 클로저를 만들어 등록 // for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다 kakao.maps.event.addListener(marker, 'mouseover', makeOverListener(map, marker, infowindow)); kakao.maps.event.addListener(marker, 'mouseout', makeOutListener(infowindow)); } // 인포윈도우를 표시하는 클로저를 만드는 함수 function makeOverListener(map, marker, infowindow) { return function() { infowindow.open(map, marker); }; } // 인포윈도우를 닫는 클로저를 만드는 함수 function makeOutListener(infowindow) { return function() { infowindow.close(); }; } } catch (err) { console.log(err); } }, []); return ( <div className="map_wrap"> <div id="map"></div> <div id="menu_wrap" className="bg_white"> <ul id="placesList"> {positions.map((position, index) => ( <li key={index}> <h4 id="housename"><Link to={`/helpinfo/${index}`}>{position.content}</Link></h4> <p>월세:{Number(position.money1)}/{Number(position.money2)}</p> <p>층수:{Number(position.stair)}층</p> <p>평수:{Number(position.size)}m3</p> </li> ))} </ul> <Routes> <Route path="/helpinfo/*" element={<Info />} /> </Routes> <div id="pagination"></div> </div> </div> ); }; export default MypageMap;이게 kakaomap.js 파일이고 여기서 <li key={index}> <h4 id="housename"><Link to={`/helpinfo/${index}`}>{position.content}</Link></h4> <p>월세:{Number(position.money1)}/{Number(position.money2)}</p> <p>층수:{Number(position.stair)}층</p> <p>평수:{Number(position.size)}m3</p> </li> ))} </ul> <Routes> <Route path="/helpinfo/*" element={<Info />} /> </Routes>이 부분의 코드에서 route를 써서 페이지 이동은 되는데import { useParams } from 'react-router-dom'; const Info = () => { return ( <div> {/* 정보 렌더링 */} <p>This is Info component for item </p> </div> ); }; export default Info;helpinfo.js의 Info 컴포넌트가 화면에 나타나질 않아요... 왜그런지 아시나요ㅜㅠ
-
해결됨Next + React Query로 SNS 서비스 만들기
제로초님 안녕하세요 ㅎㅎ
궁금 한게 있어서 여쭤 봅니다 ㅎㅎ useMutation을 사용 하였을때 prefetchQuery의 queryKey에 데이터를 저장해 놓고 useQueryClient에 데이터를 넣어 두둣이 onSuccess를 했을때 queryKey처럼 데이터를 저장 할 수 있을까요? 저스탠드와 같은 라이브러리 없이 혹시 쿼리에서 uuseMutation을 했을때 캐쉬 값을 가지고 있을 수 있을까요?!
-
미해결스프링부트 시큐리티 & JWT 강의
mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데
mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데config의 WebMvcConfig의 configureViewResolvers도 작성해야 하나요? 참고로 스프링 부트 사용 중입니다!
-
해결됨팀 개발을 위한 Git, GitHub 입문
강의 자료 부탁드립니다.
강의를 듣다 보면 이전 강의 내용을 보고 싶을 때가 있어요.참고할 수 있도록 강의 자료를 부탁드립니다. hnc329@daum.net
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
Spine animation에서 Sprite Animation으로 변경가능여부
안녕하세요. 루키스님 열심히 강의 따라가며 게임 개발에 매진하고 있습니다.다름아니라 spine animation말고 sprite animation을 적용해보려고 하는데요. creature.cs 스크립트에서 // Spine SkeletonAnim.skeletonDataAsset = Managers.Resource.Load<SkeletonDataAsset>(CreatureData.SkeletonDataID); 이렇게 해서 json에서 데이터를 load하잖아요? spine-unity 라이브러리가 별도로 있는 것 같은데, sprite도 이에 상응하는 라이브러리?나 방법이 있을까요?ㅠㅠ sprite자원들이 있는데 이걸 갖고 본 게임 처럼 반영을 하고 싶은데 걸리는게 많네요 ㅠㅠ