묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8 지표 정하기 연습 문제 답변
안녕하세요. 카일스쿨님연습문제 푼 것 올려봅니다! 문제 1답: 서비스의 클릭률, 체류시간, 결제 성사율 확인이유:기능이 잘 동작하고 있는지 확인하는 가장 직접적인 지표이기 때문버튼을 크게 만들어서 클릭율이 높은 것일 수 있으니 체류 시간 확인'메뉴 카테고리'와 '이런 음식 어때요', '동네 맛집'은 사용자가 배달음식을 편하고 쉽게 잘 시켜 먹을 수 있게 통로를 전달하는 것이기 때문에 각 기능에서 실질적으로 '구매'로 연결 되는지 확인할 필요가 있음 문제 2답: 1) 검색창 클릭율 지표 확인 2) 노출되는 식당 리스트 클릭율 확인3) 결제 완료율 확인이유:검색 플로우뭐 먹을까? 고민 > 실시간 검색어 클릭 > '치킨' 검색 > 가격 낮은 순으로 필터링 > 여러가지 순에서 '순살 치킨'클릭 > 결제 완료위 검색 플로우에서 '검색창 버튼 클릭'과 '식당 리스트 클릭' 후 결제까지 잘 이루어지는지 확인이 된다면 만족도가 높은 것이라 생각합니다.추가로 궁금한 점이 있습니다.문제를 풀 때 제 기준에서도 생각하다보니 아래와 같은 플로우도 고민해볼 수 있겠다 생각이 들었는데요. 이런 변수들은 고민 과정에서 제외하는게 맞겠죠?순살치킨 말고 뼈 치킨을 좋아해서 이탈 > '후라이드 치킨' 클릭그렇다면 부수적인것은 제외한 완전한 플로우로만 생각해야하는지 궁금합니다. 고민>검색>선택>결제 순으로요!문제3답: 필터 버튼 클릭 이벤트, 필터 선택 완료 이벤트이유:플로우 : 검색 > 필터 버튼 클릭 > 필터 선택 후 클릭필터 기능의 활성화 지표를 정의하려면 클릭해서 사용하는지 확인한다.문제4답:1. 공급 : 배달 가능한 식당 - 업체 수 증가 지표2. 수요 : 사용자 - 신규 사용자, 리텐션, 결제 완료 지표공급: 배달 가능한 식당수요: 배달을 이용하는 사용자어떻게 늘리는가?공급 : 업체를 어떻게 늘리는가?홍보가 잘 되는가?낮은 수수료로 이익을 전달할 수 있는가?어플 이용이 가게 수익에 실질적 도움이 되는가?수요 : 사용자를 어떻게 늘리는가? 이벤트가 많은가?배달팁이 없거나 적은가?주문가능한 업체의 수가 많은가?문제5답:사용자가 추천한 상품을 클릭하는가클릭이 구매로 이어지는가이유:추천 알고리즘의 본질은 결국 사용자에게 맞는 제품 추천하고, 빠른 구매로 이어지게끔 하는 것이기 때문입니다.문제6답:내가 자주 사용하는 앱 ‘인스타그램’가장 중요한 지표 : 리텐션이유 : 일기처럼 이용하는, 정보를 확인하는, 소통하는 SNS이기 때문이다.추가 확인 지표 1 : 신규 이용자 수추가 확인 지표 2 : 새 콘텐츠 업로드 수문제7답:가입 프로세스 전체 이탈율 확인온보딩 추가 전/후 이탈율 확인이상입니다. 아직 클릭율이나 이탈율, 결제 완료 정도로 밖에 생각이 안들고 어떤 것을 더 확인하면 좋을지 확장이 어려운 것 같아요.강의 복습 더 해보겠습니다.좋은 강의 감사합니다!
-
해결됨그림으로 쉽게 배우는 운영체제
임계구역 궁금증
-수업을 듣다가 궁금한 점이 생겨서 문의드립니다.임계구역에은 하나의 프로세스만 진입하고, 최대한 빠르게 나와야 된다고 말씀하셨는데, 만약 임계구역 안에서 컨텍스트 스위칭이 이루어질 경우에는 어떻게 되나요? 해당 프로세스가 대기상태이지만 여전히 임계구역에서 나온건 아니니, 다른 프로세스는 진입할 수 없나요? 만약 진입할 수 없는 경우에는 이 임계구역에 대한 요청이 쌓이게될텐데 이런 경우 어떻게 해결해야하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Confidence score가 높을수록 많은 Box가 제거된다?
"NMS의 이해" 편 5:40에서 "Confidence score가 높을수록, IoU Threshold가 낮을수록 많은 Box가 제거된다"라고 말씀하셨는데,Confidence score가 아닌, Confidence threshold가 아닌지 질문 드립니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
애니메이션 변환 행렬에 대해 질문이 있습니다.
제가 이해한 바로는애니메이션 변환 행렬은 T-pose 에서 root를 기준으로 하는 SRT의 역행렬 x 애니메이션이 움직인 로컬 SRT x 애니메이션이 움직인 root를 기준으로 하는 SRT로 구성되어 있다고 이해했습니다. 그래서 T-pose 에서 root를 기준으로 하는 좌표를 위의 변환 행렬에 곱을 하게되면 애니메이션이 동작한 root를 기준으로 하는 좌표로 변환된다고 이해했습니다. 그런데 VS 단계인MeshOutput VS(VertexTextureNormalTangentBlend input) 에서 애초에 input은 제가 지금까지 수업을 들으면서 이해한 바로는 이미 T-pose에서 로컬 좌표인 것으로 알고 있습니다.그러면 애니메이션 변환 행렬에서 굳이 T-pose 에서 root를 기준으로 하는 좌표계의 역행렬을 곱해줄 필요가 있는지 궁금합니다! T-pose 에서 root를 기준으로 하는 좌표계의 역행렬을 곱하는 이유는 T-pose의 로컬 좌표로 변환하기 위함인데 이미 input이 로컬이니까요!AI 답변으로 이해가 가는 경우도 있지만 아닌 경우가 많아서 답변을 해주셨으면 감사하겠습니다! 항상 잘 보고 있어요!
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
프로젝트 생성 오류
❗질문 작성시 꼭 참고해주세요최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.맥/윈도우, 안드로이드/iOS, ReactNative 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. (일부만 잘라서 올리지 말아주세요.) 안녕하세요 강의 중 프로젝트 생성 명령어를 입력하면 아래와 같은 오류가 발생합니다 ㅠ 왜이런걸까요?gongmyeong@Huns-Pro documents % npx react-native@0.72.6 init MatzipApp --version 0.72.6Need to install the following packages:react-native@0.72.6Ok to proceed? (y) y npm warn ERESOLVE overriding peer dependencynpm warn While resolving: react-native@0.72.6npm warn Found: react@undefinednpm warn node_modules/reactnpm warnnpm warn Could not resolve dependency:npm warn peer react@"18.2.0" from react-native@0.72.6npm warn node_modules/react-nativenpm warn react-native@"0.72.6" from the root projectnpm warn 1 more (@react-native/virtualized-lists)npm error code EEXISTnpm error syscall mkdirnpm error path /Users/gongmyeong/.npm/_cacache/content-v2/sha512/85/78npm error errno EEXISTnpm error Invalid response body while trying to fetch https://registry.npmjs.org/@react-native%2fcodegen: EACCES: permission denied, mkdir '/Users/gongmyeong/.npm/_cacache/content-v2/sha512/85/78'npm error File exists: /Users/gongmyeong/.npm/_cacache/content-v2/sha512/85/78npm error Remove the existing file and try again, or run npmnpm error with --force to overwrite files recklessly.npm error A complete log of this run can be found in: /Users/gongmyeong/.npm/_logs/2024-10-08T11_51_49_358Z-debug-0.log
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
projectRepository assertion 오류 질문입니다.
projectRepositoryTest.kt 파일을 아래와 같이 작성했는데 assertion 오류가 나서 원인을 모르겠어서 해당 파일 코드 첨부합니다. 94줄과 111줄 오류인 걸로 보아 skills를 assert할 때 뭐가 잘못된 것 같은데 어떻게 고쳐야 하는지 잘 모르겠습니다..!package com.yewon.portfolio.domain.repository import com.yewon.portfolio.domain.constant.SkillType import com.yewon.portfolio.domain.entity.Project import com.yewon.portfolio.domain.entity.ProjectDetail import com.yewon.portfolio.domain.entity.ProjectSkill import com.yewon.portfolio.domain.entity.Skill import org.assertj.core.api.Assertions import org.assertj.core.api.Assertions.* //import com.yewon.portfolio.domain.entity.* //import org.assertj.core.api.Assertions.* import org.junit.jupiter.api.BeforeAll import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest @DataJpaTest @TestInstance(TestInstance.Lifecycle.PER_CLASS) class ProjectRepositoryTest( @Autowired val projectRepository: ProjectRepository, @Autowired val skillRepository: SkillRepository ) { val DATA_SIZE = 10 private fun createProject(n: Int): Project { val project = Project( name = "${n}", description = "테스트 설명 {n}", startYear = 2023, startMonth = 9, endYear = 2023, endMonth = 9, isActive = true ) val details = mutableListOf<ProjectDetail>() for (i in 1..n) { val projectDetail = ProjectDetail(content = "테스트 ${i}", url = null, isActive = true) details.add(projectDetail) } project.addDetails(details) val skills = skillRepository.findAll() val skillsUsedInProject = skills.subList(0, n) for (skill in skillsUsedInProject) { val projectSkill = ProjectSkill(project = project, skill = skill) project.skills.add(projectSkill) } return project } @BeforeAll fun beforeAll() { println("----- 스킬 데이터 초기화 시작 -----") val skills = mutableListOf<Skill>() for (i in 1..DATA_SIZE) { val skillTypes = SkillType.values() val skill = Skill(name = "테스트 ${i}", type = skillTypes[i%skillTypes.size].name, isActive = true) skills.add(skill) } skillRepository.saveAll(skills) println("----- 스킬 데이터 초기화 종료 -----") // println("----- 데이터 초기화 이전 조회 시작 -----") // val beforeInsert = projectRepository.findAll() // assertThat(beforeInsert).hasSize(0) // println("----- 데이터 초기화 이전 조회 종료 -----") println("----- 테스트 데이터 초기화 시작 -----") val projects = mutableListOf<Project>() for (i in 1..DATA_SIZE) { val project = createProject(i) projects.add(project) } projectRepository.saveAll(projects) println("----- 테스트 데이터 초기화 종료 -----") } @Test fun testFindAll() { println("----- findAll 테스트 시작 -----") val projects = projectRepository.findAll() assertThat(projects).hasSize(DATA_SIZE) println("projects.size: ${projects.size}") for (project in projects) { assertThat(project.details).hasSize(project.name.toInt()) println("project.details.size: ${project.details.size}") assertThat(project.skills).hasSize(project.name.toInt()) println("project.skills.size: ${project.skills.size}") } println("----- findAll 테스트 종료 -----") } @Test fun testFindAllByIsActive() { println("----- findAllByIsActive 테스트 시작 -----") val projects = projectRepository.findAllByIsActive(true) assertThat(projects).hasSize(DATA_SIZE) println("projects.size: ${projects.size}") for (project in projects) { assertThat(project.details).hasSize(project.name.toInt()) println("project.details.size: ${project.details.size}") assertThat(project.skills).hasSize(project.name.toInt()) println("project.skills.size: ${project.skills.size}") } println("----- findAllByIsActive 테스트 종료 -----") } }
-
미해결코로나맵 개발자가 알려주는 React + Express로 지도서비스 만들기 (Typescript)
수업자료 오류
보일러플레이트 코드 소개에 있는 수업자료를 다운받았는데 압축해제하려고 보니까 해제도 안되고 압축폴더에는 파일이 아무것도 없네요
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 요청드립니다. gangkorea1@gmail.com
안녕하세요? 수강시작한지는 1년되었는데.. 이제서야 시작합니다. 개발과는 전혀 상관 없는 일을 하고 있지만 그래도.. 하고 싶어서요~ gangkorea1@gmail.com 강의자료 부탁드립니다!!!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp인식오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.jsp인식 오류입니다new-form.jsp회원목록 누르면 어런식으로 나옵니다
-
해결됨코딩으로 학습하는 리팩토링
함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.
의도와 구현이 잘 이해가 가지 않아 예전에 작성 했던 코드를 가져와 아래와 같이 이해를 해볼려고 했는데 맞게 이해를 한건지 궁금합니다. save라는 네이밍으로 저장한다는 의미를 뜻함 -> 의도 코드 내부에는 DTO를 받아와 엔티티 객체로 변환하고 DB에 저장 로직 -> 구현save 메서드@Override public ServerMessageDto save(ServerMessageCreateRequest createRequest) { ServerMessage serverMessage = ServerMessage.builder() .serverId(createRequest.getServerId()) .channelId(createRequest.getChannelId()) .userId(createRequest.getUserId()) .parentId(createRequest.getParentId()) .profileImage(createRequest.getProfileImage()) .content(createRequest.getContent()) .writer(createRequest.getWriter()) .chatType(ChatType.SERVER) .actionType(ActionType.SEND) .files(createRequest.getFiles()) .build(); serverMessage.generateSequence(sequenceGenerator.generateSequence(ServerMessage.SEQUENCE_NAME)); return ServerMessageDto.from(messageRepository.save(serverMessage)); }postSend 라는 네이밍으로 ~ 후의 전송이라는 의미 -> 의도 코드 내부에는 특정 조건에 따라 함수 호출 로직 -> 구현postSend 메서드@Override public void postSend(Message<?> message, MessageChannel channel, boolean sent) { StompHeaderAccessor headerAccessor = StompHeaderAccessor.wrap(message); if (StompCommand.CONNECT.equals(headerAccessor.getCommand())) { Long userId = sendConnectionStateInfo(headerAccessor); sendConnectionStateEvent(userId); } if (StompCommand.DISCONNECT.equals(headerAccessor.getCommand())) { Long userId = saveDisconnectionState(headerAccessor); if (userId != null) { sendDisConnectionStateEvent(userId); } } }
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-4 ARRY ,STRUCT 연습문제
어느 부분에서 오류 났는지 모르겠어요!
-
해결됨Next + React Query로 SNS 서비스 만들기
postgreSQL에 register server 할때마다 zcom db가 같이 생성됩니다
전공자따라잡기 데이터베이스 공부중에 mysql 대신 이 강의 할때 깔았던 postgreSQL로 연습해보려고 하다가 질문드립니다서버그룹 우클릭 -> register -> server 하면 사용자 이름으로 된 기본db와 함께 zcom이 항상 같이 생성되는데 이 zcom db 생성안되게 하려면 어떻게 해야하나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
rtl_v.txt 에 대해 궁금합니다
안녕하세요 🙂[1. 질문 챕터] : 14상 파이프라인 (실습편) 9:23[2. 질문 내용] : vi 명령어를 통해 rtl_v.txt 파일을 들어가서 결과값을 확인하는데 rtl_v.txt파일이 정확이 어떤것이고 어떻게 생겨났는지, 파일의 result값이 어떻게 power_of_8 값이 나오는지 잘모르겠습니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : tb를 코드를 찾아봤습니다. 이유는 tb쪽에 result 값으로 power_of_8을 불러오는것이 있을거라 생각했기 떄문입니다
-
미해결Flutter로 SNS 앱 만들기
8:18 저는 왜이리 이해가 안될까요. 보고 또보고 해도 포기해야 되겠죠...
Future<List<FeedModel>> getFeedList() async { QuerySnapshot<Map<String, dynamic>> snapshot = await firebaseFirestore .collection('feeds') .orderBy('createAt', descending: true) .get(); return await Future.wait(snapshot.docs.map((e) async { Map<String, dynamic> data = e.data(); DocumentReference<Map<String, dynamic>> writerDocRef = data['writer']; DocumentSnapshot<Map<String, dynamic>> writerSnapshot = await writerDocRef.get(); UserModel userModel = UserModel.fromMap(writerSnapshot.data()!); data['writer'] = userModel; return FeedModel.fromMap(data); }).toList()); }이부분에서 return await Future.wait(snapshot.docs.map((e) async { Map<String, dynamic> data = e.data(); DocumentReference<Map<String, dynamic>> writerDocRef = data['writer']; DocumentSnapshot<Map<String, dynamic>> writerSnapshot = await writerDocRef.get(); UserModel userModel = UserModel.fromMap(writerSnapshot.data()!); data['writer'] = userModel; return FeedModel.fromMap(data);이부분을 왜 이리 이해하기가 어려운지 모르겠어요..저만 그런가요...돌려봐도 싶지 않네요..
-
미해결블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편
강의내용 질문입니다 메타마스크
로컬호스트8545가 떠야하는데 테스트넷에 호스트가 뜨질 않아요 그래서 직접추가로 넣을려했는데 체인 ID를 가져올 수 없습니다. RPC URL이 올바른가요?라고 뜹니다 해결좀 해주세요 ㅠㅠㅠ
-
미해결
api gateway 실행시 bootstrap.yml파일의 profiles.active.dev 설정을 하면 api gw 포트가 8080으로 변경됩니다.
api gateway 실행시 bootstrap.yml파일의 profiles.active.dev 설정을 하면 아래와 같이 에러가 발생하면서 api gw 포트가 8080으로 변경됩니다.spring: cloud: config: uri: http://127.0.0.1:8888 name: ecommerce profiles: active: dev실행 로그[nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_UNKNOWN/localhost: registering service...[nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_UNKNOWN/localhost - registration status: 204[ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080[ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8080profiles.active.dev 설정을 주석처리하면 정상적으로 동작하구요. ecommerce-dev.yml파일은 강사님이 작성하신 내용과 동일합니다.포트가 8080으로 바뀌는 원인을 알수 있을까요?
-
미해결
모바일 UI 기준 크기
모바일 앱 작업을 할 때 맨 처음 기준이 되는 페이지는 보통 몇 px로 작업하시나요? (혹은 기준이 되는 기종이 있나요?) 아이폰 미니와 같이 가장 작은 화면으로 작업해놓고 늘려서 쓰는 게 더 낫나요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
API 구축시 인텔리제이
안녕하세요 이제 시작해보려구하는데 ㅎㅎAPI 구축시 인텔리제이 사용해도 문제없나요??
-
해결됨실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
이벤트 설정
안녕하세요!이벤트이 매개변수 설정 관련해서 질문 드립니다.목적: 홈페이지 내의 다양한 회원 가입 버튼을 하나의 클릭으로 잡되, 매개변수 값을 통해 어디에 위치한 회원가입 버튼인지 식별 가능하도록 셋팅하고자 함. 홈페이지 내부의 서브 페이지 별로 '회원 가입' 버튼이 존재합니다.회원 가입 버튼이 클릭 시 'click_signup'이 뜰 수 있도록 설정하고자 하여 위와 같이 설계했습니다.매개변수는 page로 두고, 매개변수 값으로 각 서브 페이지를 의미하는 이름을 설정하였는데막상 어디에 넣어야 의도 한대로 정보가 수집 될지 헷갈립니다. 1. 각 페이지 별 '회원가입' 버튼의(위치는 모두 동일) class 이름을 파악하여 총 5개의 트리거를 만든 뒤, click_signup 태그를 만들어 5개의 트리거를 건다.2. '회원가입 클릭 트리거'를 만들어서 트리거 실행 조건을 5개로 셋팅하고, 해당 트리거를 태그와 연결어떤 방법으로 접근해야 할지 답변 주시면 감사드리겠습니다.
-
해결됨오브젝트 - 기초편
Movie 객체와 Screening 객체의 순환참조?
안녕하세요 😀, 강의가 너무 재밌어서 2회차 돌고 있는 학습자 인사 드립니다. 🙇복습하고 있는 중 궁금한 게 있어 글 올리게 되었습니다. 일단, 두 객체가 서로를 참조하는 상황이면 순환참조의 가능성이 있다고 알고 있습니다.Member, Team에서 두 객체가 서로 참조하고 있는 것을 예로써 이 상황을 설명하는 것을 많이 봐 왔습니다.class Team { private long id; private String name; private List<Member> members; } class Member { private long id; private String name; private Team myTeam; } 강좌의 Movie 객체와 Screening 객체도 위 처럼 필드로서 서로 참조하는 것은 아니지만, 아래와 같이 Movie는 Screening을 calculateFee 메소드의 인수로 전달받아 참조하고 있고, Screening은 필드로서 movie를 참조하고 있습니다.public class Movie { private Money fee; private DiscountPolicy discountPolicy; public Movie(Money fee, DiscountPolicy discountPolicy) { this.fee = fee; this.discountPolicy = discountPolicy; } // Movie가 Screening 참조 public Money calculateFee(Screening screening) { return fee.minus(discountPolicy.calculateDiscount(screening)); } public Money getFee() { return fee; } } public class Screening { // Screening이 Movie 참조 private Movie movie; private int sequence; private LocalDateTime whenScreened; public Screening(Movie movie, int sequence, LocalDateTime whenScreened) { this.movie = movie; this.sequence = sequence; this.whenScreened = whenScreened; } public Reservation reserve(Customer customer, int audienceCount) { Money fee = movie.calculateFee(this).times(audienceCount); return new Reservation(customer, this, audienceCount, fee); } public Money getFixedFee() { return movie.getFee(); } public boolean isSequence(int sequence) { return this.sequence == sequence; } public LocalDateTime getStartTime() { return whenScreened; } } 서로 참조하는 것은 당장은 아니더라도 추후에 순환참조를 만들 길을 열어 두게 되어 왠만하면 배제해야 하는 것으로 알고 있습니다. 여기서 질문이 있습니다! 예제에 사용된 Movie와 Screening도 두 객체가 서로를 참조하고 있는 것으로 볼 수 있나요?만약 그렇다면 이 경우에도 순환참조의 가능성이 있는 것인가요? 감사합니다. 😃