묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
ToggleIcon 관련 문의드립니다.
ToggleIcon의 action flow에 이전 강의에서 한 것으로 추정되는 Conditional Action 설정하는 건 어느 강의에서 확인가능할까요? 좋아요 기능 만들기 강의에도 해당내용 없어서 못 찾겠어요.Animation 기능을 추가하고, 강의영상처럼 Preview로 테스트 시엔 애니메이션이 작동하는데, Test 모드에서는 애니메이션이 동작하지 않습니다. 확인부탁드립니다.감사합니다.
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
프로필 업데이트 회원가입완료 버튼 설정
강의에서는 회원가입완료 버튼에 업데이트할 레퍼런스 unset에 authenticated User 드랍에 유저 레퍼런스가 있는데 지금 플루터플로어에는 없어요 어떻게 해야할까요?
-
미해결Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
warning 하나가 있는 것 같습니다. 해결방법좀 알려주세요
iOS26 환경에서 코드 작성하면 아래와 같이 warning이 발생합니다.동작상에는 문제가 없지만, 동일하게 다른 파일에서도 사용되는 함수 인데 왜 발생되는 건지 이해가 안됩니다.확인 부탁드립니다. <ProfileEditingView>28,29라인에 KFImage(url)에서 발생됩니다."import Kingfisher"도 정의 되어있고, 다른 파일에서 "KFImage()"함수에서는 warning이 발생되지 않습니다. 혹시 Kingfisher 패키지 버전때문일까요? 강제로 10.4.xx으로 하긴 했지만, 몇몇 하위 패키지는 업데이트 된것 같습니다. warning 내용>Call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context package 버전정보>{ "originHash" : "dacfd17cdf8fa9f962991925a9162eb62e278dab4974c56cd997ab2b87892aa5", "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "194a6706acbd25e4ef639bcaddea16e8758a3e27", "version" : "1.2024011602.0" } }, { "identity" : "app-check", "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { "revision" : "3b62f154d00019ae29a71e9738800bb6f18b236d", "version" : "10.19.2" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk", "state" : { "revision" : "eca84fd638116dd6adb633b5a3f31cc7befcbb7d", "version" : "10.29.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "fe727587518729046fc1465625b9afd80b5ab361", "version" : "10.28.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", "version" : "9.4.0" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", "version" : "7.13.3" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", "version" : "1.62.2" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b", "version" : "3.5.0" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "kingfisher", "kind" : "remoteSourceControl", "location" : "https://github.com/onevcat/Kingfisher", "state" : { "revision" : "dd3c422ec3088404d6f7e8c905a8318b3de12d6f", "version" : "8.6.0" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", "version" : "1.22.5" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", "version" : "2.30910.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", "version" : "2.4.0" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "2547102afd04fe49f1b286090f13ebce07284980", "version" : "1.31.1" } } ], "version" : 3}
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
설계 관련하여 참고할 문서나 예제 공유가 가능할까요?
안녕하세요성공적으로 완강 했습니다.진짜 왕초보 iOS 배우기 부터 듣기 시작해서 이번이 두번째 강의를 완료하였고,직접 앱을 만드니 자신감도 생겨서, 추가적인 학습도 해보려고, property wrapper, combine도 구매완료하였는데..잠시 의문이 생겨서 질문드려 봅니다. 지금까지는 강의를 들으면서 뷰간의 순서와 설계에 대해 고민 없이 강의듣고 따라 해왔는데, 직접 뭔가를 구상하고 설계를 하려고 하니 다시 뭔가 벽에 부딪히는 느낌이 드네요.혹시 설계를 하기위해 구상하거나 문서를 가볍게라도 작성해서 고민을 해보고 싶습니다.좋은 방법이나 참고할만한 예제가 있을지 문의 드립니다. 강의 중간 설명해 주시려고 만드신 문서도 있으시던데..그런 자료도 공유가 가능하신지요?
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
한글이 잠시 깨진 후 정상적으로 보입니다.
처음부터 오른쪽에서 버튼 내 한글 텍스트 입력 시 글자가 엑박되었다 1초 지남 정상으로 보입니다.테스트할 때도 로딩 시 엑박뜬 이후 한글이 정상적으로 뜨는데 조치할 방법이 있을까요?
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
써버 연결후 테스트를 해ㅗ니
아주 어렵게 써버를 연결했어요테스트를 해보니 홈페이지가 나오고 로그아웃 버튼을 누르면 로그인 화면이 0.1초 깜박여 보이고 홈페이지로 돌아오네요 제가 무엇을 잘못한걸까요?강의내용과 아주 똑같이 하려 여러먼 따라했어요 한장면 한장면 캡쳐하며 AI에게 물어보고 또 물어보며
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
array 등
안녕하세요 데이터분석가로 근무하고 있는 수강생입니다.array 등과 같은 기능이 저는 다소 생소한데 자주 쓰는 문법인지 궁금합니다ㅣ
-
미해결[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)
supabase 오픈 소스 사용에 대해서
supabase는 공식 사이트에서 요금을 받고 있지만 오픈 소스로 로컬에 설치할 수 있잖아요.그러면 기존의 스토리지 트래픽 비용이,리눅스 호스팅 업체의 트래픽 비용으로 대체되나요?
-
미해결[Unity] 함께 만들어가는 방치형 게임 개발
TextMeshPro, TextMeshProUGUI, 그리고 Text의 차이점이 궁금합니다
안녕하세요 강사님의 강의에서 TextMeshPro에서 제공하는 TextMeshProUGUI를 사용하시는 것을 보고 다음과 같은 궁금증이 생겨 질문 남기게 되었습니다.1. TextMeshPro와 TextMeshProUGUI는 서로 어떤 점이 다른가요? 2. 기존 Text와 TextMeshProUGUI는 서로 어떤 장단점이 존재하나요?
-
미해결[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)
next와 react query 버전 업데이트 관련 질문
next와 react query 버전이 업데이트 되면서서버 액션에 폼데이터를 전달하는 것이 불가능해진것 같은데 어떤식으로 수정하면 좋을까요?
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
N day 리텐션 쿼리 관련 질문
카일스쿨님 매번 친절한 답변 감사드립니다 정말 많이 배웁니다!!🙇N day 리텐션 쿼리에 관한 질문이 3가지 있습니다. 1. 맨 처음에 base 테이블 만들 때 DISTINCT를 왜 써야하는 건지 궁금합니다.(B방법 기준) first_date_and_diff 임시테이블을 만들 때 DISTINCT를 쓰는 것은, '동일 유저가 하루에 여러번 접속한 것을 중복 제거하기 위해' 사용하는 것으로 이해했습니다.그런데 맨 처음에 base 테이블은 timestamp 컬럼이 있는데 어떻게 중복이 있을 수 있는 건지 헷갈립니다. 완전히 동일한 마이크로초에 여러번의 행동 로그가 기록될 수 있는 건지, 아니면 전산오류로 로그가 중복 기록이 될 수 있다는 건지,, 이해가 잘 안 됩니다😢2. 강의에서 보여주신 결과 테이블(diff_of_day | user_cnt)은 교안 330p와 다른 것이라고 이해했는데, 제가 이해한 것이 맞는지 확인 부탁드립니다!a) 강의 결과 테이블: 유저마다 시작일은 다를 수 있지만, 어쨌든 궁금한 건 각 유저들이 첫 접속 이후에 계속 쓰는지가 궁금한 것 → 가입일 코호트별로 그룹화하지 않아도 그자체로 의미가 있음b) 교안 330p 테이블: 강의 결과에서 한 단계 더 나아가서, 가입일에 따라 리텐션 추이에 차이가 있는지 더 쪼개보는 것c) 만약 교안 330p 테이블처럼 결과를 출력하고 싶으면, COUNT 집계할 때 GROUP BY와 SELECT에 first_date만 추가로 넣어주면 된다. (아래 쿼리 및 사진 참고)-- a) 강의 결과 SELECT diff_of_day, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_date_and_diff GROUP BY diff_of_day ORDER BY diff_of_day -- c) 교안처럼 출력하고 싶을 경우 SELECT first_date, diff_of_day, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_date_and_diff GROUP BY first_date, diff_of_day ORDER BY first_date, diff_of_day 3. Weekly 리텐션 파트에서 설명해주신 WEEK 함수는 어떻게 쓰는 걸까요?아래 쿼리처럼 썼더니 WEEK 함수가 없다고 오류가 나던데, EXTRACT를 말씀하시려던 걸까요? EXTRACT는 제대로 나오는 거 같긴 합니다..! SELECT user_pseudo_id, event_name, event_date, DATE_TRUNC(event_date, WEEK(MONDAY)) AS event_week, EXTRACT(WEEK FROM event_date) AS event_week2, WEEK(event_date) AS event_week3 FROM( SELECT DISTINCT -- event_timestamp 기반으로 중복 제거 user_id, event_name, -- event_date, -- Firebase의 형태(ex. '20220813')와 다르니까, 아래처럼 직접 추출 DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul')) AS event_date, user_pseudo_id FROM advanced.app_logs WHERE event_date BETWEEN "2022-08-01" AND "2022-11-03") 항상 감사드립니다!! 완강까지 달려보겠습니다!
-
미해결코딩 몰라도 OK! CursorAI로 시작하는 개발 생활 (웹/초급)
포모도 타이머 그냥 강의 전에 제대로 테스트 안할 거면 강의 만들지마라
진짜 강의 대충만드네
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
이동평균 계산 시 order by 기본값은 뭔가요?
윈도우 함수 연습문제 6번 질문입니다.카일스쿨님 쿼리와 다른 건 다 동일하게 작성했었는데, OVER() 안에 order by를 모르고 깜빡했었습니다.그런데도 결과가 정답(moving_avg2)과 같게 정상 출력이 되었습니다. (QUALIFY로 검증해봤는데 moving_avg와 전부 같다고 나오더라구요)원래 ORDER BY를 안 써줘도 프레임 설정이 자동으로 가능한 걸까요? ORDER BY에도 기본값 같은 게 있는지 궁금합니다.-- 윗부분은 생략 SELECT date, number_of_orders, AVG(num2) OVER(ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS moving_avg, AVG(num2) OVER(ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS moving_avg2 FROM filled_data -- QUALIFY moving_avg != moving_avg2 ORDER BY date
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
강의 내용이 다릅니다
로그인 페이지를 Auth로하고 Auth1을 선택하고 테스트를 하니 홈페이지로 넘어가질 않습니다경로 가 잘못된것 같아요 경로 설정하는 방법을 자세히 설명해주시길 부탁드립니다
-
미해결[Unity] 함께 만들어가는 방치형 게임 개발
피격테스트 30:20
안녕하세요 강사님 학습중 궁금한게 있어 질문드립니다 30:20 부분 코드에서 몬스터 피격 할때 텍스트에 랜덤값을 붙일때 pos.x 는 좌 우 인건 알겠는데 pos.z는 앞 뒤 아닌가요?? 제가 잘 몰라서 .. 제 생각에 위 아래 랜덤성이면 pos.z가 아닌 pos.y가 맞지 않나 싶어서요 .. 초보여서 궁금해서 질문드려봅니다!
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
윈도우 연습문제 1번 질문
실행 결과는 동일하게 나왔는데, COUNT를 다르게 쓴 것이 괜찮은지 궁금해서 질문 남깁니다!상황같은 날짜에 여러 번 쿼리 실행한 사용자들이 있어서 COUNT(*)을 해야겠다고 판단했습니다. (어차피 Distinct가 없으면 같은 날짜라도 각각 카운트한다는 것을 깜빡했었습니다ㅠ)카일스쿨님은 COUNT(query_date)를 쓰셨고, 결과만 보면 제 쿼리와 동일하긴 합니다.궁금한 점제 쿼리처럼 COUNT(*)을 쓰는 경우에 문제가 될까요? 혹시 실무적으로 COUNT(*)은 잘 쓰지 않는지 궁금합니다!(Ex. 어떤 컬럼의 개수를 세는 것인지 가독성이 좋지 않다든가..)제 쿼리는 아래와 같습니다. SELECT *, COUNT(*) OVER(PARTITION BY user) AS total_query_cnt FROM advanced.query_logs ORDER BY query_date, user
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
user_id에 NULL이 나오는데 정상인가요?
array, struct 연습문제 4번에 대한 질문입니다.위 사진처럼 카일스쿨님과 동일한 쿼리를 작성했는데, 출력 결과가 다르게 나와서 문의드립니다. 질문1:사진에 보시듯이 user_id 컬럼에 NULL이 들어간 행들이 있는데, 제가 뭔가 잘못한 걸까요? 만약 NULL이 나오는 게 정상이라면 그 이유도 궁금합니다!질문2:만약 NULL이 나오는 게 정상이라면, 실무에서도 이렇게 id 컬럼에 null이 허용되는지 궁금합니다. 보통 이런 id 값은 primary key로 쓰는 줄 알았어서요..!질문3:연습문제 뒤에 추가로 COUNT 출력해보는 것도 결과(cnt)가 다른데, 이것도 정상인지 확인부탁드립니다. 혹시 카일스쿨님이 강의 찍으실 때 쓰신 데이터셋과 변동사항이 있나요?
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
사진 업로드 어디에?
내가 만들어 놓은 사진이나 그림을 어플에 업로드 하고 싶어요 어떻게 하는지 알려주세요
-
해결됨데이터베이스를 결합한 Unity 실전 게임 만들기
유니티 PUN2 아니면 UnityNetCode
유니티를 이용한 파이어 베이스 연동은 잘들었고 별점도 최고 점수를 드렸습니다.Pun2 포톤네트워크나 UnityNetcode로 멀티 게임을 만들면서 FireBase 연동 해서 랭킹 이라던지 킬수 저장 이런 것의 영상강의를 해주셨으면 합니다.
-
미해결Vue js와 UI를 한번에 학습/Nuxt3 + OpenWeatherMap 으로 실시간 날씨 앱 제작
3강에서 app.vue 를 수정해도 Index Page가 나오지않아요.
일단, nuxt 를 최신버전 기준으로 설치하였습니다. 디폴트로 실행시키면 localhost:3000 에서 아래처럼 화면이 나오고,app.vue는 아래와 같습니다. (강의와 다르게 app.vue 는 app 폴더 아래에 자동 생성이 되어 있습니다.) 강의처럼 pages 폴더에 index.vue를 만들고 동일하게 수정하였습니다. 그럼 localhost:3000 으로 접근하면 브라우저는 그냥 빈 화면만 나옵니다.전체 프로젝트 구조는 아래와 같습니다.