묻고 답해요
139만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-9. 퍼널 SQL 쿼리 작성하기
강의 보면서 '퍼널별 유저 수 집계' 쿼리 작성했는데 결과값이 올바르게 나오지 않아요... 어디서 잘못 되었을까요?WITH base AS( SELECT event_date, event_name, DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul') as event_timestamp, event_param, user_id, user_pseudo_id, platform, -- event_parma.key PIVOT MAX(IF(event_param.key='firebase_screen',event_param.value.string_value,null)) AS firebase_screen, -- MAX(IF(event_param.key='food_id',event_param.value.int_value,null)) AS food_id, MAX(IF(event_param.key='session_id',event_param.value.string_value,null)) AS session_id FROM advanced.app_logs CROSS JOIN UNNEST(event_params) as event_param GROUP BY ALL) -- event_name + screen (필요한 이벤트만 where 조건에 걸어서 사용) ,filter_event as( SELECT * except(event_name,firebase_screen), concat(event_name,'-',firebase_screen) AS event_name_with_screen FROM base WHERE event_name in ('screen_view','click_payment')) SELECT event_name_with_screen, -- step_number case when event_name_with_screen='screen_view-welcome' then 1 when event_name_with_screen='screen_view-home' then 2 when event_name_with_screen='screen_view-food_category' then 3 when event_name_with_screen='screen_view-restaurant' then 4 when event_name_with_screen='screen_view-cart' then 5 when event_name_with_screen='click_pavement-cart' then 6 else null end AS Step_number, count(DISTINCT user_pseudo_id) as cnt FROM filter_event GROUP BY ALL HAVING step_number IS NOT NULL
-
미해결Flutter로 SNS 앱 만들기
섹션8에서 게시글 정보 가져오기에서 timeStamp에러 입니다.
섹션8에서 게시글 정보 가져오기에서16:00WidgetsBinding.instance.addPostFrameCallback(callback) 나봅니다. 강의처럼 timeStamp가 나오지 않고,그래서 그냥 진행했습니다.WidgetsBinding.instance.addPostFrameCallback((_) async {그런데 다음과 같이 에러가 뜨네요.이런 메세지가 뜨는 이유가 뭔가요
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
[과제] 퍼널 쿼리(피벗테이블 적용) 작성
# base 쿼리 작성 전 생각 흐름 ---------------------------------------------------- ## 1. 테이블 내 데이터 구조 파악 -- select -- * -- from advanced.app_logs -- where -- event_date = '2022-08-01' -- 목적에 맞는 쿼리를 기존 데이터로 구현할 수 있는지 여부 확인 -- 연습문제 결과물 컬럼인 'event_name_with_screen', 'step_number', 'cnt'는 기존 컬럼에 없음. -- 기존 컬럼에 없기 때문에 해당 컬럼을 어떻게 구현해내야 할 지 생각해보기 ## 2. event_name_with_screen 컬럼 구현 순서 및 방법 -- event_name_with_screen는 다음과 같은 value를 가짐 -- 1. screen_view-welcome -- 2. screen_view-home -- 3. screen_view-food_vategory -- 4. screen_view-restaurant -- 5. screen_view-cart -- 6. click_payment-cart -- 위 6가지 value가 기존 컬럼에 있는지 확인해보기 -- 있는 경우 -- 기존 컬럼 활용 -- 없는 경우 -- concat 등으로 새롭게 구현 -- 연습문제에서는 event_name과 event_params.key에 있는 value를 concat 했음. -- event_params.key는 데이터타입이 struct이기 때문에 unnest 필요. -- select -- event_name, -- unnest_event_params -- from advanced.app_logs -- cross join unnest(event_params) as unnest_event_params -- where -- event_date = '2022-08-01' -- unnest 결과물에 피봇테이블 적용하기 -- 피봇테이블로 만들면 직관적으로 event_name과 concat 하기가 용이해서. -- select -- event_name, -- event_date, -- event_timestamp, -- user_pseudo_id, -- max(if(unnest_event_params.key = 'firebase_screen', unnest_event_params.value.string_value, null)) as firebase_screen, -- max(if(unnest_event_params.key = 'food_id', unnest_event_params.value.int_value, null)) as food_id, -- max(if(unnest_event_params.key = 'session_id', unnest_event_params.value.string_value, null)) as session_id -- from advanced.app_logs -- cross join unnest(event_params) as unnest_event_params -- where event_date between '2022-08-01' and '2022-08-18' -- group by 1, 2, 3, 4 ---------------------------------------------------- with base as ( select event_name, event_date, event_timestamp, user_pseudo_id, max(if(unnest_event_params.key = 'firebase_screen', unnest_event_params.value.string_value, null)) as firebase_screen, max(if(unnest_event_params.key = 'food_id', unnest_event_params.value.int_value, null)) as food_id, max(if(unnest_event_params.key = 'session_id', unnest_event_params.value.string_value, null)) as session_id from advanced.app_logs cross join unnest(event_params) as unnest_event_params where event_date between '2022-08-01' and '2022-08-18' group by 1, 2, 3, 4 ), base2 as ( select *, concat(event_name, '-', firebase_screen) as event_name_with_screen from base ) ## 일자별 퍼널 쿼리 , base3 as (select event_date, event_name_with_screen, # 2개 이상 조건을 한 개 컬럼에 적용해야 하기 때문에 case when 사용 case when event_name_with_screen = 'screen_view-welcome' then 1 when event_name_with_screen = 'screen_view-home' then 2 when event_name_with_screen = 'screen_view-food_category' then 3 when event_name_with_screen = 'screen_view-restaurant' then 4 when event_name_with_screen = 'screen_view-cart' then 5 when event_name_with_screen = 'click_payment-cart' then 6 else null end as step_number, # 중복되지 않은 사용자수(비로그인 이용자까지)를 파악하기 위해서 count(distinct 컬럼명) 사용 count(distinct user_pseudo_id) as cnt from base2 group by all # null 값 제외하기 위해서 그룹에 필터링 거는 having 사용 having step_number is not null # 1일부터 보고 싶기 때문에 오름차순(asc) 적용 order by 1 asc) ## 일자별 쿼리 (피벗테이블 적용) select event_date, max(if(event_name_with_screen = 'screen_view-welcome', cnt, 0)) as screen_view_welcome, max(if(event_name_with_screen = 'screen_view-home', cnt, 0)) as screen_view_home, max(if(event_name_with_screen = 'screen_view-food_category', cnt, 0)) as screen_view_food_category, max(if(event_name_with_screen = 'screen_view-restaurant', cnt, 0)) as screen_view_restaurant, from base3 group by all order by 1 asc
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-6. 데이터 PIVOT 연습문제
빅쿼리 날짜 타입 입력할때 큰따옴표, 작은 따옴표 둘 중에 아무거나 입력해도 상관없을까요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
image1.setOnClickListener { }
image1.setOnClickListener { } 여기서 괄호에 엔터 치시면 it: view! 가 회색으로 바뀌시던대 저는 엔터쳐도 아무 반응이 아무것도 안뜨네요 .. 제가 임의로 it: view!를 쳐넣어도 회색으로 바뀌지도 않고요.. 어찌해야하나요
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-4 ARRY ,STRUCT 연습문제
어느 부분에서 오류 났는지 모르겠어요!
-
미해결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);이부분을 왜 이리 이해하기가 어려운지 모르겠어요..저만 그런가요...돌려봐도 싶지 않네요..
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
firebase에서 데이터를 불러오는데 오류가 발생합니다.
grpc.resource_quota=0x600000cab5a0, grpc.server_uri=dns:///firestore.googleapis.com}}: connect failed (UNKNOWN:(domain:NSPOSIXErrorDomain, code:50, description:The operation couldn’t be completed. Network is down)위의 오류가 발생하는데 로그인 정보는 제대로 출력되는데 다른 부분에서 데이터를 불러오지 못하는데 어떤 부분을 수정해보면 좋을까요?
-
해결됨[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)
카카오 로그인 관련
카카오 로그인 까지 구현 후vercel에 배포 까지 한 상태이고 아직 도메인은 등록 하지않았습니다만집에서 할 때는 vscode로 로컬 서버를 열어놔서 몰랏었는데 로컬 서버를 열어놨을 때는 잘되지만밖에서 제가 vercel에 배포한 사이트를 들어가서 카카오 로그인을 시도해보니 localhost에서 연결을 거부했습니다. ERR_CONNECTION_REFUSED 에러가 나오는데 어디가 문제 인걸까요? ㅠ
-
미해결Flutter로 SNS 앱 만들기
섹션7 게시글 등록화면에서 firestore작업에 Batch적용 부분에서 에니메이션과 Exception 발생하지 않습니다.
섹션7 게시글 등록화면에서 firestore작업에 Batch적용 부분에6:49 부분에서 테스트를 했는데 파일선택하고, feed버튼을 크릭하면 가로로 움직이는 에니메이션과 Exception 에러가 떠야하는데 뜨지않습니다. 아무리 봐도 그부분은 이상없는듯 한데 한번 봐주세요. 에러가 있으면 에러 처리라도 하겠는데 에러는 없습니다.압축파일과 함께 메일로 보냈습니다.
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
notification 관련 질문에 AI가 엉뚱하게 대답하여 다시 질문합니다.
선생님~ 안녕하세요 :)강의 유익하게 잘 듣고 있습니다. 새로 리뉴얼된 섹션 1~12까지 강의 중에,notification 부분이 없어서 질문 드립니다. notification 부분을 들으려면,이전 강의인 섹션 20으로 대체해야 하는 걸까요? 섹션 13부터는 예전 강의로,Deprecated라고 써져 있는데,notification 사용방법은 그것을 따라하면 되는지궁금해서 글을 씁니다. 혹시, 달라졌다면 어느 부분을 참고해서 공부하면 좋을지조언도 조금만 부탁드립니다. ^^
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-2. 데이터 불러오기 질문
app_logs_temp 테이블 생성할 때 바로 event_date로 파티션 설정할 수 없을까요? app_logs 테이블 생성할 때 쿼리 이해가 잘 되지 않아요, 설정에서 테이블 만들기와의 차이점이 무엇인가요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
프로젝스 생성 충돌 에러
프로젝트를 만들었는데 코드와 파일들에 빨간 줄이 그어져있습니다.버전이 안 맞아 안드로이드 스튜디오를 3번 정도 재 설치 한 것 빼고는 영상 그대로 따라했습니다
-
미해결[플러터플로우]코딩 없이 한 달 만에 앱 만들기
회원가입 시 프로필 설정으로 이동이 안되고, 버튼을 눌러도 로그아웃이 안됩니다.
회원가입 버튼의 action은 다음과 같습니다.로그아웃 버튼의 action은 아래와 같이 설정하였습니다. (두 버튼 모두 Navigate automatically는 off했습니다.)하지만 회원가입 후 프로필생성 페이지로 이동되지도 않고, 버튼을 눌러도 로그아웃이 되지를 않네요.. 이런 사례가 종종 있나요? 시크릿모드로 브라우저 열면서 계속 회원가입부터 다시 시작해도 똑같아요..
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
Xcode16 업데이트 후 앱이 죽는 이슈
안녕하세요. 에구마님올려주신 강의를 다 듣고,완성된 코드 기준으로이번에 Xcode16으로 업데이트 한 후로 로그인 후에 앱이 죽는 문제가 발생하는데,이에 대한 해결책이 있을까요?
-
미해결Flutter로 SNS 앱 만들기
6게시글등록화면_5Firebase Storage에 게시글 이미지 저장1인가요
String feedId = Uuid().v1(); // firestore 문서참조 DocumentReference<Map<String, dynamic>> feedDocRef = firebaseFirestore.collection('feeds').doc(feedId); // storage 참조 Reference ref = firebaseStorage.ref().child('feeds').child(feedId); 여기나오는 것들이 ('feeds').폴더 와 doc(feedId) 폴더개념인가요.
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
notification 관련 부분은 예전 강의를 들어야 하나요?
선생님~ 안녕하세요 :)강의 유익하게 잘 듣고 있습니다. 새로 리뉴얼된 섹션 1~12까지 강의 중에,notification 부분이 없어서 질문 드립니다. notification 부분을 들으려면,이전 강의인 섹션 20으로 대체해야 하는 걸까요? 섹션 13부터는 예전 강의로,Deprecated라고 써져 있는데,notification 사용방법은 그것을 따라하면 되는지궁금해서 글을 씁니다. 혹시, 달라졌다면 어느 부분을 참고해서 공부하면 좋을지조언도 조금만 부탁드립니다. ^^
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
프로필 편집 앱을 끄면 사진이 유지가 되지 않아요.
FeedView만들기 전 단계, 리팩토링하기 전단계까지 모두 동일하게 코드를 작성하고, 틀린부분 있는지 빠트린 부분 있는지 확인을 다했는데요. 프로필 편집 사진과 네임, 유저네임, 소개 모두 다 시뮬레이터 홈버튼 더블클릭 후 밀어내기해서 끄고, cmd + R이나 시뮬레잍터 상의 앱을 클릭해서 키면 모든게 리셋되네요. 그런데 로그아웃 후 재로그인하면 또 사진과 네임, 유저네임, 소개가 제대로 뜹니다. 어디 부분이 문제가 있는걸까요??
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
npm run build시 오류가 있습니다.
PS C:\_programming\react-slack-app> npm run build> react-slack-app@0.0.0 build> vite buildvite v5.4.3 building for production...✓ 405 modules transformed.dist/index.html 0.46 kB │ gzip: 0.29 kBdist/assets/index-Dv9iUpv1.css 234.57 kB │ gzip: 31.34 kBdist/assets/index-DB02uby9.js 766.67 kB │ gzip: 210.93 kB(!) Some chunks are larger than 500 kB after minification. Consider:- Using dynamic import() to code-split the application- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.✓ built in 4.58s강의도 다시 다 보고 확인해봤는데 다른 점은 없는거 같습니다. 경고만 뜨는건줄 알았는데 build자체가 중단됩니다. 어떻게 해결해야하나요?
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
코드오류 (버전문제인지 궁금합니다)
유니티 버전을 22.3.6f 로 하라고 하셨었는데 lts버전이 아니여서 22.3.47f 로했는데그래서 그런건지 여기도 이렇게 글씨에 이렇게 그어져있고 자꾸 오류가 뜨네요 ㅠ#pragma warning disable CS0618 // 형식 또는 멤버는 사용되지 않습니다. 이렇게 넣어서 오류 문구는 안뜨는데 상관없는 걸까요??