묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Next + React Query로 SNS 서비스 만들기
hydration 에러
제로초님 하신대로 그대로 프로젝트를 생성하고 실행했더니 화면은 그대로 뜨는데 에러가 1개 있어서 봤더니 hydration 에러라고 뜨네요 ㅠㅠ 지금 z-com 프로젝트를 수업용 / 연습용으로 총 2개 진행중인데 수업용 프로젝트는 이런 에러가 없었는데 연습용에서 에러가 발생하네요. 아래는 에러 코드입니다 ! Console ErrorHydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used- A server/client branch if (typeof window !== 'undefined'). - Variable input such as Date.now() or Math.random() which changes each time it's called. - Date formatting in a user's locale which doesn't match the server. - External changing data without sending a snapshot of it along with the HTML. - Invalid HTML tag nesting. It can also happen if the client has a browser extension installed which messes with the HTML before React loaded
-
미해결[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작
간혹 벽의 콜라이더를 뚫고 빠지는 경우
위에서 아래로 내려올 때, 잘못하면 옆의 벽으로 들어가서 떨어지고, 그 이후로 못 빠져 나옵니다. 그래서 콜라이더가 느슨한가 봐도 그렇지도 않더라구요.그리고 우측에 회전칼날 근처의 벽도 그런 적이 있어요..이런 현상은 왜 일어나죠?
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
with_structured_output 함수
안녕하세요OpenAI 를 활용해 llm 을 생성할 경우에는 with_structured_output 을 사용할 수 있는데요 llm = ChatOpenAI(model="gpt-3.5-turbo-0125", temperature=0, openai_api_key=OPENAI_KEY) structured_llm = llm.with_structured_output(TutorialSearch) query_analyzer = prompt | structured_llm혹시 Llma3 모델에서도 with_structured_output 를 사용할 수 있나요? 프롬프트 관련 동영상 예제에서는 거의 ChatOpenAI 를 활용하시는것 같아서요 .. 강의 재미있게 잘 듣고 있습니다감사합니다
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
카카오연동이후 product 사진 깨지는현상
왜그런지 궁금해서 post맨으로 product read할때header에 accessToken넣고 요청보내봤는데 정상호출이됩니다근데.리액트에서 만든 인터셉터에서 에러 메시지를 받으면 원래요청에 새로운 엑세스 토큰 넣어서해주는 기능이있는걸 봤어요 어> 근데 이러면 사진이 안깨져야 말이맞지않나요?어디서 잘못된건지 잘 모르겠어서 질문드립니다
-
미해결실전! Querydsl
재사용 관련 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]선생님 안녕하세요,강의 잘 보고 있습니다. 강의를 보다가 하나 궁금한게 있어서 질문드립니다.강의를 보면 별도의 BooleanExpression를 반환하는 별도의 비교결과를 반환하는 함수를 통해 재사용이 가능하다고 말씀하셨는데, 코드를 보면 member를 가지고 비교하는 방식으로 사용을하고 있습니다. 그러면 member테이블 두번 조인하는 경우에 대해서는 해당 함수를 재사용할 수 없을꺼같은데, 혹시 방법이 있을까요?그리고 해당 함수의 경우 해당 Repository에서만 사용 가능할꺼같은데.. 혹시 맞을까요?
-
해결됨스프링 핵심 원리 - 기본편
구성(수동, 자동)방식에 따라 사용할 수 있는 의존성주입이 다른지 궁금합니다.
강의에서 스프링 IoC컨테이너에 빈을 구성하는 방식을 두가지로 나눠 설명했습니다.수동구성자동구성위 '1.수동구성'에서는 생성자주입 만 소스코드로 다뤘습니다.'2.자동구성'에서는 생성자주입, setter주입, 필드주입 이라는 의존성자동주입이 사용된다고 정리할 수 있을까요? 즉, setter주입 과 필드주입은 '자동구성' 에만 사용할 수 있는 의존성자동주입 방식인지 궁금합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
pyside6 설치 강의에 나오는 Qt for Python 확장 설치를 더이상 지원하지 않는답니다.
먼저 친절하고 자세한 강의 감사합니다.덕분에 셀레니움을 이용해서 간단하지만 1차로 원하는 부분까지 개발해 봤습니다. 캠핑장 예약을 위해 아직 더 가야 하지만 버튼 하나로 조회 결과 화면까지 이동하는 건 확인했습니다. ㅎㅎ 질문입니다.pyside6 설치 강의에 나오는 Qt for Python 확장 설치를 더이상 지원하지 않는답니다. 섹션13 의 PySide6 설치 및 사용법 강의에 나오는 Qt for Python 을 검색하니 이 확장은 더 이상 사용되지 않습니다. 대신 Qt All Extensions Pack 확장자를 사용하세요. 라는 멧세지가 나옵니다.Qt All Extensions Pack 이걸 설치해도 강의 따라가는 데 문제가 없을까요?설치 잘 못 되었다가는 꼬일 거 같아 대기중입니다. ㅠㅠ 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
appconfig오류문제
package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMembereRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class OrderServiceImpl implements OrderService { private MemberRepository memberRepository ; // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); // private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); private DiscountPolicy discountPolicy ; @Autowired public void setMemberRepository(MemberRepository memberRepository){ this.memberRepository= memberRepository; } @Autowired public void setDiscountPolicy(DiscountPolicy discountPolicy) { this.discountPolicy = discountPolicy; } @Override public Order creatOrder(Long memberId, String itemName, int itemPrice){ Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; } } @Configuration public class AppConfig { @Bean public MemberService memberService() { System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMembereRepository(); } @Bean public OrderService orderService() { System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy() { // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } }수업을 따라가다가 appconfig에서 오류가 났습니다 어떻게 해결하면 좋을까요?
-
해결됨Windows 시스템 프로그래밍 - 기본
GetCurrentDirectory 관련 질문
강의에서 GetCurrentDirectory를 사용하여 얻은 경로가실행파일의 경로가 아닐 수 있다라고 하셨는데,정확하게 무슨 의미인가요?vs 내에서 디버그로 실행하면 Debug 디렉토리 내의 실행파일의 경로가 나오니까 실행파일의 경로가 아닌가요?
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
7.2 구글 로그인 1 - AuthUI 구현 구글 로그인 관련 질문드립니다.
'use client'; import React, { useEffect, useState } from 'react'; import { Auth } from '@supabase/auth-ui-react'; import { ThemeSupa } from '@supabase/auth-ui-shared'; import { createSupabaseBrowserClient } from '@/lib/client/supabase'; import useHydrate from '@/app/hooks/useHydrate'; const AuthUI = () => { const supabase = createSupabaseBrowserClient(); const isMount = useHydrate(); const [user, setUser] = useState(); const getUserInfo = async () => { const result = await supabase.auth.getUser(); console.log(result); if (result?.data?.user) setUser(result?.data?.user); }; const handleLogout = async () => { supabase.auth.signOut(); window.location.reload(); }; useEffect(() => { getUserInfo(); }, []); if (!isMount) return null; return ( <section className="w-full"> <div>{user ? `로그인 됨${user?.email}` : '로그아웃'}</div> <> {user && ( <button onClick={handleLogout} className="border-2 border-black"> 로그아웃 </button> )} </> <div className="mx-auto max-w-[500px]"> <Auth redirectTo={process.env.NEXT_PUBLIC_AUTH_REDIRECT_TO} supabaseClient={supabase} appearance={{ theme: ThemeSupa }} onlyThirdPartyProviders providers={['google']} /> </div> </section> ); }; export default AuthUI; {"code":400,"error_code":"validation_failed","msg":"Unsupported provider: provider is not enabled"}구글 로그인 시 해당 에러가 발생합니다 설정 같은 부분은 강의에 맞게 설정하였습니다
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
제대로 작성한것 같은데 빌드가 않됩니다.,
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
안녕하세요 초반 프로젝트 생성 버전 관련해서 질문 드립니다.(2022.3.6f1)
https://unity.com/kr/releases/editor/archive안녕하세요 강사님 ! 현재 유니티 공식 홈페이지에서 지원하는 유니티 LTS의 경우 2022.3.51이 최신으로 나와있고 이후에는 2023으로 넘어가는것 같습니다. 구글링을 통해 찾아보니 유니티 공식 홈페이지가 아니라 다른 깃허브나 외부 링크를 통해 다운로드를 받을 수는 있지만 안정성 면에서 공식 홈페이지를 통해 다운로드를 하는 것이 좋아보여서 질문을 남깁니다. 혹시 2022.3.6f1 버전을 공식 홈페이지가 아니라 다른 경로로 설치를 해야 할까요? 아니면 최신 2022인 3.5를 통해 프로젝트를 진행해도 괜찮을까요??
-
해결됨초보자를 위한 BigQuery(SQL) 입문
5-6 JOIN 연습 문제 4번 질문입니다.
안녕하세요 카일님, JOIN 연습문제 4번에서 작성 순서 및 효율성 관련해서 질문드리고 싶습니다.카일님의 풀이에서는 Active, Training 의 Status 를 필터링 후 pokemon, trainer 테이블을 LEFT JOIN 하시고 마지막에 'Master' 를 필터링하셨는데,저 같은 경우에는 각각의 테이블마다 필요한 부분을 먼저 필터링 후에 마지막에는 COUNT 만 할 수 있게 진행하였습니다. Trainer 테이블에서는 'Master' 필터Trainer_pokemon 테이블에서는 'Active', 'Training' 필터결과적으로 결과값은 올바르게 나오는데 카일님께서 앞선 강의에서 필터링을 먼저 하는 것이 효율적이라 하셨던 것 같아서 질문드리게 되었습니다. 감사합니다.SELECT p.type1, COUNT(tp.id) AS pokemon_cnt -- t.*, -- tp.pokemon_id, -- tp.status, -- p.type1 FROM( SELECT id, achievement_level FROM `basic.trainer` WHERE achievement_level = 'Master' ) AS t LEFT JOIN( SELECT * FROM `basic.trainer_pokemon` WHERE status IN ('Active', 'Training') ) AS tp ON t.id = tp.trainer_id LEFT JOIN `basic.pokemon` AS p ON tp.pokemon_id = p.id WHERE tp.pokemon_id IS NOT NULL GROUP BY p.type1 ORDER BY 2 DESC LIMIT 1;
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
파티션 복구관련
별도로 파티션 복구 실습을 위해 제가 가지고 있는 USB 를 E01으로 이미징하여 (FTK Imager사용)해당 이미지 파일을 FTK Imager와 HxD로 헥사값을 비교 해보았으나, 두 프로그램에서의 데이터가 틀린값이 나오는데 왜그런건가요 ??FTK Imager에서 NTFS 구조가 보이는 반면 HxD 로 보면 이상한 값이 현출되어 멘붕왔습니다. 무엇을 잘못한걸까요?위는 FTK Imager로 보았을때 .아래는 HxD 로 보았을때추가적으로 동일 USB를 DD 파일로 이미징 해보았으나 이값 또한 전혀 다른 이상한 값이 현출됩니다.. 정리하자면,① 동일 USB 이미징 파일(E01)이 왜 두 프로그램에서 이상한 값이 현출되는지 ?② 동일 USB로 DD 파일로 이미징 하였을때 E01 이미징한 파일과 왜 값이 틀려지는지 ?실제 시험장에서 이러면,,,,상당히 당황스러울껏같습니다..
-
미해결
FPGA 8장, vitis 실행 오류
Vitis에서 Run을 실행하면 다음과 같은 에러가 뜨는데 보드 연결선을 다시 연결도 해봤고 베이스 주소 확인했는데 같았습니다.또 어떤 문제 때문에 이러한 실행 오류가 발생하는걸까요?
-
해결됨게임 엔진을 지탱하는 게임 수학
"섹션 1 - 선형성 13:14 " 함수와 사상의 차이에 대해 헷갈리는 부분이 있습니다!
안녕하세요 교수님!"섹션 1 - 선형성 13:14 " 위치에함수와 사상의 차이를 듣다가 생긴 의문이 있습니다.사상인지 아닌지는 "함수가 전사함수 단사함수냐 따라 다르다" 는 거짓 이라 생각했습니다.예를들어 실수 벡터 공간이 있고,선형변환 후 영공간으로 낮아지는 행렬이 있으므로치역은 0(영벡터) 하나로만 대응 되고정의역 공역 집합의 대수 구조는 동일하므로때문에 단사 함수든 아니든 상관없이 사상이다.영공간으로 낮아지는 행렬은 사상이 맞다 생각했습니다. 따라서 위처럼 결론을 내려도 문제가 없을까요?f : x ↦ x^{1/2}는 비록 집합이 다르더라도사상 관계가 맞다. 는 참이라 생각했습니다.정의역은 실수 집합이고 공역은 복소수 집합(양수면 실수, 음수면 복소수)인것 처럼 비록 둘다 다른 집합이더라도실수 집합도 복소수 집합도 체의 공리가 만족하는 대수 구조이므로정의역과 실수 집합이 다르더라도 "체" 라는 대수 구조가 동일한 집합인 점에서 위 함수는 "사상" 이다.이렇게 결론을 내려도 문제가 없을까요?이 두가지가 궁금했던 이유는함수 종류와 집합에 따라 함수를 사상이라 부를 수 있는가 없는가 헷갈렸습니다..감사합니다!
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
색션 4 - 조회기능 구현에 makeDiv관련 질문 있습니다.
makeDiv를 써서 화면 구성을 했는데 컴포넌트를 쓰는것과 저렇게 불러오는것의 차이가 있을까요?
-
미해결
[인프런 빅쿼리 빠짝스터디 2주차] 윈도우 함수, FRAME설정, QUALITY
-- 윈도우 함수 집계 및 frame 연습 문제 -- My answer SELECT *, sum(amount) over (order by order_id rows between unbounded preceding and unbounded following) as total_amount, -- 전체 합을 구하고 싶을 때, over () 안에 아무것도 작성 안해도 됨 sum(amount) over (order by order_date, order_id rows between unbounded preceding and current row) as cumulative_sum, -- sum(amount) over(order by order_id) 로만 해도 ok sum(amount) over (partition by user_id order by user_id, order_date rows between unbounded preceding and current row) as cumulative_sum_user, avg(amount) over (order by order_date, order_id rows between 5 preceding and 1 preceding) as avg_5_last FROM `advanced.orders` ORDER BY order_id; -- MEMO -- -- OVER() 안에 아무것도 들어가지 않는 경우도 있음 -- 연습 문제 1번 -- 사용자 별 쿼리를 실행한 총 횟수를 구하는 쿼리를 작성해주세요. -- 단,GROUP BY를 사용해서 집계하는 것이 아닌 query_logs의 데이터의 우측에 새로운 컬럼을 만들어주세요. SELECT *, COUNT(*) OVER(PARTITION BY user) as use_query FROM `advanced.query_logs`; -- # data 확인 SELECT *, COUNT(*) OVER(PARTITION BY user) as use_query FROM `advanced.query_logs` order by user; -- 연습 문제 2번 -- 주차 별로 팀 내에서 쿼리를 많이 실행한 수를 구한 후, 실행한 수를 활용해 랭킹을 구해주세요. -- 단,랭킹이 1등인 사람만 결과가 보이도록 해주세요. -- Q) 주 차를 뽑는 함수..? : extract 활용 -- partiton by column 잘 생각하기! with add_weeknum as( select *, extract(week from query_date) as week_number from `advanced.query_logs`), count_query as( select *, count(user) over(partition by week_number, team, user order by week_number, team, user rows between unbounded preceding and current row) as query_total from add_weeknum) select user, team, week_number, rank() over(partition by week_number, team order by query_total desc) as rank_query from count_query qualify rank_query=1 order by week_number; -- # 간단한 답 -- # 윈도우 함수 대신, GROUP BY를 쓰면 절차 줄일 수 있음! with query_total_cnt as( select extract(week from query_date) as week_number, team, user, count(query_date) as query_total from `advanced.query_logs` group by all ) select *, rank() over(partition by week_number, team order by query_total desc) as rank_query from query_total_cnt qualify rank_query=1 order by week_number; -- 연습 문제 3번 -- (2번 문제에서 사용한 주차 별 쿼리 사용)쿼리를 실행한 시점 기준 1주 전에 쿼리 실행 수를 별도의 컬럼으로 확인할 수 있는 쿼리를 작성해주세요. -- partiton by column 잘 생각하기! with add_weeknum as( select *, extract(week from query_date) as week_number from `advanced.query_logs`), count_query as( select *, count(user) over(partition by week_number, user order by week_number, team, user rows between unbounded preceding and current row) as query_total from add_weeknum order by user, week_number), week_query as( select distinct user, team, week_number, last_value(query_total) over (partition by user, week_number order by week_number, team, user) as week_total_cnt from count_query order by user, week_number) select *, lag(week_total_cnt,1) over (partition by user order by week_number) as last_query from week_query order by user, week_number; -- 연습 문제 4번 -- 시간의 흐름에 따라, 일자 별로 유저가 실행한 누적 쿼리수를 작성해 주세요. -- # WITH 구문에서 윈도우 함수 대신, group by를 사용하는 것이 더 간단할 듯 with daily_query as( select distinct user, team, query_date, count(*) over (partition by user, query_date) as query_count from `advanced.query_logs` order by user, query_date ) select *, sum(query_count) over (partition by user order by user, query_date rows between unbounded preceding and current row) as cumulative_query_count -- # order by 구문이 있고, frame 구문은 없을 때 frame의 default 값 : rows between unbounded preceding and current row from daily_query order by user, query_date; -- 연습 문제 5번 -- 다음 데이터는 주문 횟수를 나타낸 데이터입니다. 만약 주문 횟수가 없으면 NULL로 기록됩니다. -- 이런 데이터에서 NULL 값이라고 되어있는 부분을 바로 이전 날짜의 값으로 채워주는 쿼리를 작성해 주세요. -- Q) 5월 12일은 어떻게 처리? / 이틀 전 주문량으로 대체? -- # LAST_VALUE & IGNORE NULLS 활용 WITH raw_data AS( SELECT DATE'2024-05-01'AS date,15 AS number_of_orders UNION ALL SELECT DATE'2024-05-02',13 UNION ALL SELECT DATE'2024-05-03',NULL UNION ALL SELECT DATE'2024-05-04',16 UNION ALL SELECT DATE'2024-05-05',NULL UNION ALL SELECT DATE'2024-05-06', 18 UNION ALL SELECT DATE'2024-05-07',20 UNION ALL SELECT DATE'2024-05-08',NULL UNION ALL SELECT DATE'2024-05-09',13 UNION ALL SELECT DATE'2024-05-10',14 UNION ALL SELECT DATE'2024-05-11',NULL UNION ALL SELECT DATE'2024-05-12',NULL ) SELECT *, case when number_of_orders is null then lag(number_of_orders,1) over(order by date) else number_of_orders end as number_of_orders_re FROM raw_data order by date; -- 답안 WITH raw_data AS( SELECT DATE'2024-05-01'AS date,15 AS number_of_orders UNION ALL SELECT DATE'2024-05-02',13 UNION ALL SELECT DATE'2024-05-03',NULL UNION ALL SELECT DATE'2024-05-04',16 UNION ALL SELECT DATE'2024-05-05',NULL UNION ALL SELECT DATE'2024-05-06', 18 UNION ALL SELECT DATE'2024-05-07',20 UNION ALL SELECT DATE'2024-05-08',NULL UNION ALL SELECT DATE'2024-05-09',13 UNION ALL SELECT DATE'2024-05-10',14 UNION ALL SELECT DATE'2024-05-11',NULL UNION ALL SELECT DATE'2024-05-12',NULL ) SELECT *, LAST_VALUE(number_of_orders IGNORE NULLS) OVER(ORDER BY date) as number_of_orders_re FROM raw_data order by date; -- 연습 문제 6번 -- 5번 문제에서 NULL을 채운 후, 2일 전 ~ 현재 데이터의 평균을 구하는 쿼리를 작성해주세요(이동평균). WITH raw_data AS( SELECT DATE'2024-05-01'AS date,15 AS number_of_orders UNION ALL SELECT DATE'2024-05-02',13 UNION ALL SELECT DATE'2024-05-03',NULL UNION ALL SELECT DATE'2024-05-04',16 UNION ALL SELECT DATE'2024-05-05',NULL UNION ALL SELECT DATE'2024-05-06', 18 UNION ALL SELECT DATE'2024-05-07',20 UNION ALL SELECT DATE'2024-05-08',NULL UNION ALL SELECT DATE'2024-05-09',13 UNION ALL SELECT DATE'2024-05-10',14 UNION ALL SELECT DATE'2024-05-11',NULL UNION ALL SELECT DATE'2024-05-12',NULL ), newdata as( SELECT *, LAST_VALUE(number_of_orders IGNORE NULLS) OVER(ORDER BY date) as number_of_orders_re -- 수정한 부분 FROM raw_data order by date) select date, number_of_orders_re, avg(number_of_orders_re) over (order by date rows between 2 preceding and current row) as moving_avg from newdata order by date; -- 연습 문제 7번 -- app_logs 테이블에서 CustomSession을 만들어 주세요. 이전 이벤트 로그와 20초가 지나면 새로운 Session을 만들어 주세요. -- Session은 숫자로(1,2,3…) 표시해도 됩니다. 2022-08-18일의 user_pseudo_id(1997494153.8491999091)은 session_id가 4까지 나옵니다. -- Q) session_start id 어떻게....???????? -- # 처음에는 datetime diff의 누적 합을 생각했음 with event_data as( select event_date, event_timestamp, datetime(timestamp_micros(event_timestamp), 'Asia/Seoul') as event_datetime, event_name, user_id, user_pseudo_id from `advanced.app_log` where user_pseudo_id='1997494153.8491999091' order by user_pseudo_id, event_datetime ), before_eventtime_add as( select *, lag(event_datetime,1) over (partition by user_pseudo_id order by user_pseudo_id, event_datetime) as before_datetime from event_data order by user_pseudo_id, event_datetime ) select *, datetime_diff(event_datetime,before_datetime,second) as second_diff from before_eventtime_add order by user_pseudo_id, event_datetime; -- 답안 -- # event_datetime이랑 before_datetime을 빼서 20초가 넘으면 새로운 세션으로 정의한다. with event_data as( select event_date, event_timestamp, datetime(timestamp_micros(event_timestamp),'Asia/Seoul') as event_datetime, event_name, user_id, user_pseudo_id from `advanced.app_log` where user_pseudo_id='1997494153.8491999091' order by user_pseudo_id, event_datetime ), before_eventtime_add as( select *, lag(event_datetime,1) over (partition by user_pseudo_id order by user_pseudo_id, event_datetime) as before_datetime from event_data order by user_pseudo_id, event_datetime ), diff_data as( select *, datetime_diff(event_datetime,before_datetime,second) as second_diff from before_eventtime_add order by user_pseudo_id, event_datetime ) select *, sum(start_id) over (partition by user_pseudo_id order by event_datetime) as session_num from( select *, case when second_diff is null then 1 when second_diff>=20 then 1 else 0 end as start_id from diff_data);
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
video_call - 플러그인 설치하기 중 에러
FAILURE: Build failed with an exception. * What went wrong:A problem occurred configuring project ':agora_rtm'.> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl. > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace. If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.BUILD FAILED in 2sError: Gradle task assembleDebug failed with exit code 1플러그인 세팅이 끝나고 에뮬레이터에 흰 화면이 뜨면 된다 하셨는데, 저런 에러를 뱉었습니다. 처리 하는 방법이 콘솔에 여러 사이트를 알려주길래 비벼봤는데, 잘 안되더라고요. 에러를 처리 하는 방법을 알려주시면 감사하겠습니다!
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
FPGA 8장 vitis run 실행 오류
빌드는 정상적으로 동작하는데 run을 실행하면 해당 오류가 나옵니다.혹시 파일이 누락되었나 싶어 보는데 폴더 내에 정상적으로 ps7_init.tcl 파일들은 존재하는 거 같아요,혹시 경로지정이 안됐거나 해결하는 방법이 있을까요? 버전은 2023.2 사용중입니다.