inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

렌더 프롭 관련하여 질문드립니다

미해결

[React 2부] 고급 주제와 훅

컨텍스르를 설계하실 때 const Consumer = ({childeren } => <>{children(emiiter.get())}</>) 설명하시면서 렌더프롭이라고 설명하셨습니다. 그 이후 Count 설계하실 때 {(value) => <div>{value.count}</div>} 라고 적으셨는데 렌드 프롭에 대한 설명이 없으셔서 정확히 어떻게 렌더링되는지 궁금합니다!! 정확한 원리를 자세히 모르겠습니다

  • react
  • React-Context
  • react-hooks
  • react-router
  • react-component
ccccssung 댓글 2 좋아요 0 조회수 219

[빠짝스터디 1주차 과제] + UNNEST, PIVOT

미해결

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

UNNEST 1) array_exercises 테이블에서 각 영화(title)별로 장르를(genres) unnest 해서 보여주세요 SELECT title, genre FROM advanced.array_exercises CROSS JOIN UNNEST(genres) AS genre 2) array_exercieses 테이블에서 각 영화(title) 별로 배우 (actor)와 배역(character)을 보여주세요. 배우와 배역은 별도의 컬럼으로 나와야 합니다. SELECT title, actor_info.actor, actor_info.character, FROM advanced.array_exercises CROSS JOIN UNNEST(actors) AS actor_info; actors는 하나의 배열이고 그 배열의 각 요소가 STRUCT(구조체) 배열 자체에서 바로 .actor나 .character로 접근할 수 없음 먼저 배열을 UNNEST로 펼친 후에 펼쳐진 각 STRUCT에서 필드값 을 가져와야함 actors는 '서류 묶음'(배열) 각 서류(STRUCT)에는 '배우 이름'과 '캐릭터 이름'이라는 항목이 있음 서류 묶음을 먼저 풀어서(UNNEST) 개별 서류로 만든 다음 각 서류에서 원하는 정보를 읽어야 함 3) array_exercises 테이블에서 각 영화(title) 별로 배우(actor), 배역(character), 장르(genre)를 출력하세요. 한 row 에 배우, 배역, 장르가 모두 표시되어야 합니다. SELECT title, actor_info.actor, actor_info.character, genre, FROM advanced.array_exercises CROSS JOIN UNNEST(actors) AS actor_info CROSS JOIN UNNEST(genres) AS genre; actors 는 배열 인데 구조에 그 밑에 스트링, 스트링 2개 항목이 저장된거고 genres 는 배열인데 스트링 한 계층?의 구조가 있는거라 서로 구조가 달라서 둘이 같이 unnest 불가함 그래서 cross join, unnest 두 번 써줘야함 actors : ARRAY<STRUCT> => UNNEST => STRUCT genres : ARRAY<STRING> => UNNEST => STRING 4) 앱 로그 데이터(app_logs)의 배열을 풀어주세요. SELECT user_id, event_date, event_name, user_pseudo_id, params.key AS key, params.value.string_value AS string_value, params.value.int_value AS int_value, FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS params ORDER BY event_date; 2022.08.01 부터 나와있길래 그때 날짜부터 정렬인줄 알았더니 where 절에서 2022.08.01 로 필터링 한거였음;; 에러 메시지의 의미: "Expected end of input but got keyword UNNEST" → FROM 절 다음에 UNNEST가 바로 나오면 안 되고, JOIN이나 CROSS JOIN이 먼저 나와야 한다는 뜻 JOIN이나 CROSS JOIN이 필요한 이유: 원본 테이블(app_logs)의 행과 UNNEST로 펼친 배열(event_params)의 요소들을 어떻게 연결할지 명시해야 하기 때문 PIVOT 1) orders 테이블에서 유저(user_id)별로 주문금액(amount)의 합계를 PIVOT 해주세요 날짜(order_date)를 행(Row)으로, user_id를 열(Column)으로 만들어야 합니다. SELECT order_date, SUM(IF(user_id=1, amount, 0)) AS user_1, SUM(IF(user_id=2, amount, 0)) AS user_2, SUM(IF(user_id=3, amount, 0)) AS user_3 FROM advanced.orders GROUP BY order_date ORDER BY order_date ASC 첫번째 풀이는 PIVOT을 하면서 바로 SUM을 한 것 다른 풀이는 집계 함수를 사용해서(SUM) 집계한 후에 PIVOT 컬럼 별칭(AS)에 작은따옴표를 사용함 (AS '2023-05-01') → 백틱 `` 을 사용해야 함. GROUP BY 절에 직접 ASC/DESC를 사용함 → ORDER BY를 따로 사용해야 함 2) orders 테이블에서 날짜(order_date)별로 유저들의 주문금액(amount)의 합계를 PIVOT 해주세요. user_id를 행으로, order_date를 열으로 만들어야 합니다. SELECT user_id, SUM(IF(order_date = '2023-05-01', amount, 0)) AS `2023-05-01`, SUM(IF(order_date = '2023-05-02', amount, 0)) AS `2023-05-02`, SUM(IF(order_date = '2023-05-03', amount, 0)) AS `2023-05-03`, SUM(IF(order_date = '2023-05-04', amount, 0)) AS `2023-05-04`, SUM(IF(order_date = '2023-05-05', amount, 0)) AS `2023-05-05` FROM advanced.orders GROUP BY user_id ORDER BY user_id; 3) orders 테이블에서 사용자(user_id)별, 날짜(order_date)별로 주문이 있다면 1, 없다면 0으로 PIVOT 해주세요. user_id를 행으로, order_date를 열로 만들고 주문을 많이 해도 1로 처리합니다. SELECT user_id, MAX(IF(order_date = "2023-05-01",1,0)) AS `2023-05-01`, MAX(IF(order_date = "2023-05-02",1,0)) AS `2023-05-02`, MAX(IF(order_date = "2023-05-03",1,0)) AS `2023-05-03`, MAX(IF(order_date = "2023-05-04",1,0)) AS `2023-05-04`, MAX(IF(order_date = "2023-05-05",1,0)) AS `2023-05-05` FROM advanced.orders GROUP BY user_id ORDER BY user_id 주문 횟수별로 구해달라고 했을 땐? → MAX 대신 SUM 값이 있으면 1로 넣어달라고 했기 때문에 이걸 SUM 하면 주문 횟수 더한 값이 됨. 4) user_id = 32888 이 카트 추가하기 (click_cart)를 누를 때 어떤 음식(food_id)을 담았나요? WITH base AS ( SELECT event_date, event_name, user_pseudo_id, event_timestamp, user_id, MAX(IF(param.key = "firebase_screen", param.value.string_value, NULL)) AS firebase_screen, MAX(IF(param.key = "food_id", param.value.int_value, NULL)) AS food_id, MAX(IF(param.key = "session_id", param.value.string_value, NULL)) AS session_id FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS param WHERE event_date = "2022-08-01" GROUP BY ALL ) SELECT select_date, COUNT(user_id) AS user_cnt FROM base WHERE event_name = "click_cart" GROUP BY event_date

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
구니 댓글 1 좋아요 0 조회수 155

[빠짝스터디 1주차 과제] ARRAY, STRUCT 연습 문제/ PIVOT 연습문제/ 퍼널 쿼리 연습 문제

미해결

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

ARRAY, STRUCT 연습문제 -- 1. array_exercises 테이블에서 title 별로 genres를 UNNEST하기 SELECT title , genre FROM advanced.array_exercises CROSS JOIN UNNEST(genres) as genre; -- 2. array_exercises 테이블에서 title 별로 actor, character 추출 -- actor, character는 별도의 컬럼으로 빼기 (struct의 key로써 존재하면 안 됨.) SELECT title , ACTORS.actor AS actor , ACTORS.character AS character FROM advanced.array_exercises CROSS JOIN UNNEST(actors) AS ACTORS; -- 3. array_exercises 테이블에서 title 별로 actor, character, genre 추출 -- 여러 ARRAY 컬럼을 UNNEST할 경우, 각 컬럼별로 UNNEST한 것을 CROSS JOIN 진행하면 됨. SELECT title , ACTORS.actor AS actor , ACTORS.character AS character , genre FROM advanced.array_exercises CROSS JOIN UNNEST(actors) AS ACTORS CROSS JOIN UNNEST(genres) as genre; -- 4. app_logs 테이블(약 73만 건의 로그 데이터)의 ARRAY를 UNNEST 하기 -- event_params 형태? -- ARRAY<STRUCT<key STRING, value STRUCT<string_value STRING, int_value INT64>>>[ -- STRUCT('firebase_screen', STRUCT('food_detail', NULL)) -- , ... -- ] SELECT user_id , event_date , event_name , user_pseudo_id , EVENT_PARAMS.key AS key , EVENT_PARAMS.value.string_value AS string_value , EVENT_PARAMS.value.int_value AS int_value FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS EVENT_PARAMS PIVOT 연습문제 -- 1. 날짜별 유저별 주문금액 합계 -- 첫번째 그룹 axis는 GROUP BY 대상 컬럼임. (여기서는 '날짜별'에 해당함.) -- 두번째 그룹 axis는 IF 혹은 CASE WHEN을 이용하여 각 컬럼으로 만들어야 함. (여기서는 '유저별'에 해당함.) -- 세번째 그룹 axis는 두번째 그룹 axis를 다루는 과정에서 '값'으로 들어가야 함. (여기서는 '주문금액'에 해당함.) SELECT order_date, SUM(IF(user_id=1,amount,0)) AS user_1, SUM(IF(user_id=2,amount,0)) AS user_2, SUM(IF(user_id=3,amount,0)) AS user_3 FROM `advanced.orders` WHERE 1=1 AND user_id IN (1,2,3) GROUP BY order_date ORDER BY order_date ASC; -- 2. 유저별 날짜별 주문금액 합계 -- 문자열을 결과 컬럼으로 넣기 위해선 백틱(`)으로 감싸기!! SELECT user_id, SUM(IF(order_date='2023-05-01',amount,0)) AS `2023-05-01`, SUM(IF(order_date='2023-05-02',amount,0)) AS `2023-05-02`, SUM(IF(order_date='2023-05-03',amount,0)) AS `2023-05-03`, SUM(IF(order_date='2023-05-04',amount,0)) AS `2023-05-04`, SUM(IF(order_date='2023-05-05',amount,0)) AS `2023-05-05`, FROM `advanced.orders` WHERE 1=1 AND user_id IN (1,2,3) AND order_date IN ('2023-05-01','2023-05-02','2023-05-03','2023-05-04','2023-05-05') GROUP BY user_id ORDER BY user_id ASC; -- 3. 유저별 날짜별 주문내역 존재여부 -- 주문 존재하면 1, 없으면 0; 주문횟수가 아님에 유의 SELECT user_id, MAX(IF(order_date='2023-05-01',1,0)) AS `2023-05-01`, MAX(IF(order_date='2023-05-02',1,0)) AS `2023-05-02`, MAX(IF(order_date='2023-05-03',1,0)) AS `2023-05-03`, MAX(IF(order_date='2023-05-04',1,0)) AS `2023-05-04`, MAX(IF(order_date='2023-05-05',1,0)) AS `2023-05-05` FROM `advanced.orders` WHERE 1=1 AND user_id IN (1,2,3) AND order_date IN ('2023-05-01','2023-05-02','2023-05-03','2023-05-04','2023-05-05') GROUP BY user_id ORDER BY user_id ASC; -- 4. app_logs 테이블 PIVOT 하기 -- user_id=32888이 카트 추가하기(click_cart)를 누를 때 어떤 음식(food_id)를 담았나요? -- 일반화된 문제 정의: 유저별 이벤트별 이벤트 파라미터 key-value 보기 -- 특정 유저가 특정 action을 취했을 때 (event가 발생했을 때) 앱 내부적으로 어떤 정보가 오갔는지 보고싶을 때 -- 방법 1) 쪼개서 생각하기 WITH base AS ( -- step 1) app_logs 테이블은 ARRAY 컬럼이 존재하는 테이블: UNNEST 하기 → UNNEST한 테이블을 임시테이블화 SELECT event_date, event_timestamp, event_name, params.key AS key_, params.value.string_value AS string_value_, params.value.int_value AS int_value_, user_id, user_pseudo_id, platform FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS params WHERE 1=1 -- AND user_id=32888 -- AND event_name='click_cart' AND event_date >= '2022-08-01' AND event_date <= '2022-08-31' ) -- step 2) event_params에 대해 PIVOT 진행 SELECT user_id, event_date, event_name, event_timestamp, user_pseudo_id, MAX(IF(key_='food_id',int_value_,NULL)) AS `food_id`, MAX(IF(key_='session_id',string_value_,NULL)) AS `session_id`, MAX(IF(key_='firebase_screen',string_value_,NULL)) AS `firebase_screen`, FROM base GROUP BY user_id, event_date, event_name, event_timestamp, user_pseudo_id; -- 방법 2) UNNEST + PIVOT을 한 쿼리에 WITH base AS ( SELECT user_id, event_date, event_name, event_timestamp, user_pseudo_id, MAX(IF(params.key='food_id',params.value.int_value,NULL)) AS `food_id`, MAX(IF(params.key='session_id',params.value.string_value,NULL)) AS `session_id`, MAX(IF(params.key='firebase_screen',params.value.string_value,NULL)) AS `firebase_screen`, FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS params GROUP BY ALL ) -- user_id=32888이 카트 추가하기(click_cart)를 누를 때 어떤 음식(food_id)을 담았나요? SELECT * FROM base WHERE 1=1 AND user_id=32888 AND event_name='click_cart'; 퍼널 쿼리 연습문제 WITH main AS ( SELECT event_date, CONCAT(event_name,'-', event_param.value.string_value) AS event_name_with_screen, CASE WHEN event_name = 'screen_view' AND event_param.value.string_value = 'welcome' THEN 1 WHEN event_name = 'screen_view' AND event_param.value.string_value = 'home' THEN 2 WHEN event_name = 'screen_view' AND event_param.value.string_value = 'food_category' THEN 3 WHEN event_name = 'screen_view' AND event_param.value.string_value = 'restaurant' THEN 4 WHEN event_name = 'screen_view' AND event_param.value.string_value = 'cart' THEN 5 WHEN event_name = 'click_payment' AND event_param.value.string_value = 'cart' THEN 6 END AS step_num, COUNT(DISTINCT user_pseudo_id) AS cnt FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS event_param WHERE 1=1 AND event_date BETWEEN '2022-08-01' AND '2022-08-18' AND event_param.key = 'firebase_screen' AND event_name IN ("screen_view",'click_payment') GROUP BY 1,2,3 HAVING step_num IS NOT NULL ) SELECT event_date, SUM(IF(step_num = 1, cnt, 0)) AS `screen_view-welcome`, SUM(IF(step_num = 2, cnt, 0)) AS `screen_view-home`, SUM(IF(step_num = 3, cnt, 0)) AS `screen_view-food_category`, SUM(IF(step_num = 4, cnt, 0)) AS `screen_view-restaurant`, SUM(IF(step_num = 5, cnt, 0)) AS `screen_view-cart`, SUM(IF(step_num = 6, cnt, 0)) AS `click_payment-cart` FROM main GROUP BY 1 ORDER BY event_date ASC

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
sjb2774 댓글 1 좋아요 0 조회수 163

DFS 순서 질문드립니다.

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

1 2 3 1 2 가 출력된 이후 1 3이 선택되는 이유가 이해가 안되어 질문드립니다. ㅠㅠ 1 2 출력 이후 else: 구문의 어느 단계로 가는 건가요..? 그리고 그때 v 값은 얼마인지도 잘 모르겠습니다.

  • python
  • 코딩-테스트
오이오 댓글 2 좋아요 0 조회수 148

다익스트라와 벨만-포드 차이에서

미해결

Do it! 알고리즘 코딩테스트 with Python

안녕하세요. 다익스트라는 에지의 가중치가 양수일때 출발노드에서 전체 각 노드까지의 최단거리, 벨만-포드는 특정 출발노드에서 다른 노드까지의 최단 경로 탐색, 음수 가중치가 있어도 수행 가능 이렇게 되어있는데, 벨만-포드에서 에지 사용 횟수를 강조하는 이유가 다익스트라는 출발 노드가 정해져있고, 벨만-포드는주어진 출발노드가 달라질수 있어서라고 생각하면 될까요..? 처음엔 가중치 양수, 음수만의 차이만 인줄 알았는데, 뭔가 강조하시는걸 보니 저런 이유때문인가하고 질문해봅니다..! 다들 화이팅

  • python
  • 코딩-테스트
  • 알고리즘
  • 다익스트라
  • 벨만-포드
2885_ 댓글 2 좋아요 0 조회수 351

left, right를 사용한 풀이법에 대한 질문입니다

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

n,m=map(int,input().split()) weight=list(map(int, input().split())) left=0 right=(n-1) cnt=0 weight.sort() while left<=right: weight_sum=weight[left]+weight[right] if weight_sum>m: cnt+=1 right-=1 else: cnt+=1 left+=1 right-=1 print(cnt) 안녕하세요 선생님, 이렇게 left, right 포인터를 이용해서 풀어도 예제 문제는 모두 정답이 나오는데 혹시 이렇게 푸는 풀이도 답으로 가능할까요?

  • python
  • 코딩-테스트
댓글 1 좋아요 0 조회수 106

혹시 Next.js의 핸드북 사이트는 없을까요??

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요! 지금까지 강의 너무 잘 들었습니다. React와 TypeScript 강의를 듣고 복습겸으로 제공해주신 핸드북 사이트까지 참고하면서 공부하고 있습니다! 혹시나 Next.js의 핸드북 사이트를 제가 못 찾은건지 아니면 없다면 만드실 계획은 없으신지 궁금해서 질문 올려봅니다. 좋은 강의 만들어주셔서 감사합니다.

  • react
  • typescript
  • next.js
Aurora 댓글 2 좋아요 1 조회수 280

리스트 뷰 질문 드립니다.

해결됨

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

package com.jinyoung.myapplication import android.view.View import android.view.ViewGroup import android.widget.BaseAdapter class ListViewAdapter(var List : MutableList<String>) : BaseAdapter() { override fun getCount(): Int { return List.size } override fun getItem(p0: Int): Any { return List[p0] } override fun getItemId(p0: Int): Long { TODO("Not yet implemented") } override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View { TODO("Not yet implemented") } } 이 코드에서 3번째 함수 getItemId 함수의 return 값이 List[p0].toLong()이 되어야하는거 아닌가요????

  • android
  • kotlin
  • firebase
정진영 댓글 1 좋아요 0 조회수 92

백준 문제풀이 팁

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요 강사님! 백준은 코드를 제출하고 틀렸을시에 어떤 테스트케이스에서 틀렸는지 알려주지 않는데요, 이럴때 틀린 부분을 고칠 방도가 전혀 생각나지 않는 경우가 많이 있습니다. 어떤 테스트케이스가 틀렸는지 잘 알아낼 수 있는 방법 있을까요?

  • python
  • 코딩-테스트
  • 알고리즘
TAESUN 댓글 1 좋아요 1 조회수 444

Cannot read properties of undefined (reading 'props')

미해결

[React 1부] 만들고 비교하며 학습하는 React

수업 영상대로 따라갔을때 props가 undefined로 나오는데 별도의 설정이 필요할까요? SearchForm에서 다음 코드를 추가했을때도 동일하게 안되네요 constructor(props) { super(props); ... }

  • react
  • mvc
박호정 댓글 2 좋아요 0 조회수 317

VSCode에서 save를 할 때, landingpage의 useEffect가 실행되는 문제에 대하여

미해결

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

landingpage에서 useEffect로 fetchProducts를 하고 있는데, VSCode development server를 켜놓고 하지 않습니까? 근데 vscode에서 save를 할 때 landingpage의 useEffect가 실행되는데, 이게 원래 이런건가요? useEffect는 컴포넌트가 처음 마운트 될 때만 실행되는 것으로 알고 있는데, 개발모드에서 save할 때는 save할 때마다 실행되나요? 궁금하네요.

  • react
  • redux
  • node.js
  • 웹앱
  • mongodb
문주영 댓글 1 좋아요 0 조회수 198

저는 의사결정 나무의 예측값이 왜 다르게 나올까요?

미해결

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 똑같이 하려고 노력한 것 같은데 조금씩 다르게 나오네요...

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
ehddls91 댓글 2 좋아요 0 조회수 167

강의노트

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요, 선생님. 강의노트 모아놓은 PDF 없을까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
댓글 2 좋아요 0 조회수 174

a와 b의 최대 공약수 시간 복잡도 질문

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요. 좋은 강의 감사합니다! a와 b의 최대 공약수 시간 복잡도에 대해 질문이 있는데요. 약수를 구하는 시간 복잡도가 O(√n)이고, 최대 공약수를 구하기 위해서는 a, b 각각의 약수를 구하는 연산이 들어가기 때문에 최소 O(√a + √b)가 될 텐데 어떻게 O(√max(a, b))가 나오게 되는지 궁금합니다.

  • python
  • 코딩-테스트
  • 알고리즘
2scent 댓글 2 좋아요 0 조회수 172

db_constraint=False 에 대해 질문 드립니다.

미해결

파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편

현재 섹션 5의 3번째 영상을 보고 있습니다. category = models.ForeignKey( Category, on_delete=models.CASCADE, db_constraint=False, ) 위 코드에서 카테고리에 왜 db_constraint=False, 를 설정하였는지 이해가 잘 되지 않아 설정 용도에 대해 알고 싶습니다. default=null을 한다면, 카테고리 외래키 없이 product 데이터를 생성할 목적인걸 알겠는데, 없는 상황에서 어떤 이유에 사용하신 것인지 알고 싶습니다.

  • python
  • django
bluebamus 댓글 2 좋아요 0 조회수 206

streamlit을 주피터 노트북에서 사용 불가 한가요??

미해결

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

streamlit을 주피터 노트북에서 사용하고 싶은데 어떻게 해야하나요??

  • python
  • 챗봇
  • streamlit
  • openai
  • chatgpt
gimgirl 댓글 1 좋아요 0 조회수 550

[빠짝스터디 1주차 과제] ARRAY, STRUCT 연습 문제/ PIVOT 연습문제/ 퍼널 쿼리 연습 문제

미해결

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

SELECT [1, 2, 3, 4, 5] AS some_numbers ; SELECT ARRAY<INT64>[1, 2, 3, 4, 5] AS some_numbers ; SELECT GENERATE_ARRAY(1, 5, 1) AS some_numbers ; SELECT [SAFE_OFFSET()] ; SELECT (1, 2, 3) AS struct_test ; SELECT STRUCT<hi INT64, hello INT64>(1, 2) AS struct_test ; SELECT a.title, b AS genre FROM workspace.array_exercises AS a JOIN UNNEST(genres) AS b ; SELECT a.title, b.actor, b.character FROM workspace.array_exercises AS a JOIN UNNEST(actors) AS b ; SELECT a.title, b.actor, b.character, c AS genre FROM workspace.array_exercises AS a JOIN UNNEST(actors) AS b JOIN UNNEST(genres) AS c ; SELECT a.user_id, a.event_date, a.event_name, a.user_pseudo_id, b.key, b.value.string_value, b.value.int_value FROM workspace.app_logs AS a JOIN UNNEST(event_params) AS b ; SELECT key, string_value, count(distinct user_pseudo_id) FROM ( SELECT a.user_id, a.event_date, a.event_name, a.user_pseudo_id, b.key, b.value.string_value, b.value.int_value FROM workspace.app_logs AS a JOIN UNNEST(event_params) AS b ) WHERE event_name = 'screen_view' GROUP BY ALL ; SELECT order_date, sum(if(user_id = 1, amount, 0)) as user_1, sum(if(user_id = 2, amount, 0)) as user_2, sum(if(user_id = 3, amount, 0)) as user_3 FROM workspace.orders GROUP BY ALL ORDER BY order_date ; SELECT user_id, sum(if(order_date = '2023-05-01', amount, 0)) `2023-05-01`, sum(if(order_date = '2023-05-02', amount, 0)) `2023-05-02`, sum(if(order_date = '2023-05-03', amount, 0)) `2023-05-03`, sum(if(order_date = '2023-05-04', amount, 0)) `2023-05-04`, sum(if(order_date = '2023-05-05', amount, 0)) `2023-05-05` FROM workspace.orders GROUP BY ALL ORDER BY user_id ; SELECT user_id, if(sum(if(order_date = '2023-05-01', amount, 0)) > 0, 1, 0) `2023-05-01`, if(sum(if(order_date = '2023-05-02', amount, 0)) > 0, 1, 0) `2023-05-02`, if(sum(if(order_date = '2023-05-03', amount, 0)) > 0, 1, 0) `2023-05-03`, if(sum(if(order_date = '2023-05-04', amount, 0)) > 0, 1, 0) `2023-05-04`, if(sum(if(order_date = '2023-05-05', amount, 0)) > 0, 1, 0) `2023-05-05` FROM workspace.orders GROUP BY ALL ORDER BY user_id ; WITH events AS ( SELECT event_date, event_timestamp, event_name, user_id, user_pseudo_id, platform, MAX(IF(b.key = "firebase_screen", b.value.string_value, NULL)) AS firebase_screen, MAX(IF(b.key = "session_id", b.value.string_value, NULL)) AS session_id FROM workspace.app_logs AS a JOIN UNNEST(event_params) AS b WHERE event_date >= '2022-08-01' AND event_date < '2022-08-19' GROUP BY ALL ), filter_event_and_concat_event_and_screen AS ( SELECT * EXCEPT(event_name, firebase_screen, event_timestamp), CONCAT(event_name, "-", firebase_screen) AS event_name_with_screen, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_datetime FROM events WHERE event_name IN ('screen_view', 'click_payment') ) SELECT event_date, event_name_with_screen, 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 END AS step_number, COUNT(DISTINCT user_pseudo_id) AS cnt FROM filter_event_and_concat_event_and_screen GROUP BY ALL HAVING step_number IS NOT NULL ;

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
MS 댓글 1 좋아요 0 조회수 182

일부 일치하는 문자 변경 함수에서 str 뜻

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

기억하기 쉽게 이해하려는데, str이 어떤 단어 앞자리인가요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
wsyang 댓글 1 좋아요 0 조회수 214

이원분산분석

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

1 from statsmodels.formula.api import ols from statsmodels.stats.anova import anova_lm model = ols('토마토수 ~ C(종자) * C(비료)', data=df).fit() anova_lm(model) 2 import statsmodels.api as sm from statsmodels.formula.api import ols model = ols('토마토수 ~C(종자)*C(비)', data=df).fit() anava_table=sm.stats.anova_lm(model) print(anava_table) 1 과 2를 보면 from statsmodels.formula.api import ols 는 같고 import statsmodels.api as sm과 from statsmodels.stats.anova import anova_lm이 다른데요.. 구글링해보고 고민해봐도 모르겠어요. 결과값은 같은데..무슨차이일까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
유리시나 댓글 2 좋아요 0 조회수 138

ROI Pooling Layer이 SPP Layer보다 성능이 뛰어난 이유가 궁금합니다.

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

SPP Layer의 경우 여러 Spatial Bins를 사용하여 이미지의 작은 부분부터 큰 부분까지의 정보를 취합하는 것으로 이해했습니다. 또한 ROI Pooling Layer의 경우 SPP Layer에서 Level이 1인 Bins만 적용하는 것으로 이해했습니다. 여기서 의문이 드는 것이 여러 정보를 종합적으로 취합한 SPP Layer가 ROI Pooling Layer보다 성능이 뛰어날 것으로 (직관적으로) 생각이 드는데, Fast RCNN에서 ROI Pooling을 선택한 이유가 궁금합니다. 실험적인 결과로 ROI Pooling을 선택했겠지만, ROI Pooling이 SPP Layer보다 Object Detection에서 우수한 성능을 보이는 이유가 궁금합니다!

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
천권욱 댓글 2 좋아요 0 조회수 196

인기 태그

인프런 TOP Writers

주간 인기글