일방적인 수업이 아닌 양방향의 수업을 지향합니다. 게시판에서 질문을 적극적으로 활용하세요. (이해가 되실 때까지 지속적으로 질문을 던지시는 것이 중요합니다. 업무일 기준 2~3일 내에 답변을 드릴 수 있도록 최선을 다하겠습니다.) 다만, 질문이 이해될 수 있도록 (상식 수준에서), 다듬어 주세요. 게시판 공개가 어려운 경우에 메일로 연락주시길 요청 드립니다. (daniel@datatrain.education) 수업을 빠르게 한 번 쭉 들으신 후에, 한 번 더 학습하실 것을 권장드립니다. 안녕하세요 강사님 수업을 듣다가 궁금한 점이 있어 질문 드립니다. 수업을 들으면서 devcontainer.json를 생성하고 rebuild container를 하면 1. devcontainer.json의 "build" 정보를 이용하여 docker build 를 진행 docker run ~ 그 외 추가적인 과정 한다고 이해했습니다. 그리고 Dockerfile을 image로 만들 때, build를 하는 것으로 알고있습니다. 실습에서 Dockerfile과 json 파일에서 "build" 부분을 수정하지 않고, "runArgs", "customization" 을 추가했는데 build를 다시 해야하는 점이 이해가 가지 않습니다...ㅠㅠ devcontainer.json의 수정 사항을 적용하거나 실행하기 위해서는 build과정이 필요해서 그런 것 일까요?? 그리고 devcontainer.json을 수정하고 rebuild하면 container가 재생성이 되는 것인가요?? 또한 처음에 devcontainer.json 파일을 생성하고 New Dev Container 가 아닌 Rebuild container를 하는 이유도 궁급합니다. 감사합니다.
안녕하세요. 강의 잘 보고 있습니다.!! 👍 👍 react-query를 적용 중 오류가 표시되어 오류와 궁금한 부분이 있어서 문의 드립니다. Text content did not match. 오류가 발생하는데 어느 부분이 문제인지 잘 모르겠습니다 ㅠㅠ prefetchQuery 를 사용하여 서버에서 post(트윗)데이터를 프리패치 후 TweetList컴포넌트에서 useQuery 를 사용하게 만들었습니다. Post의 데이터는 msw에서 알려주신 faker를 통해서 요청마다 content를 동적으로 생성하게 했구요. 콘솔로 출력한 데이터와 reactQuery개발 도구의 데이터는 동일한데 화면에 표기된 데이터는 전혀 다른 데이터로 표시되네요.. 그리고 방식이 prefetchQuery 를 사용한 데이터는 staleTime과 상관없이 Fresh상태로 되어 useQuery 호출 시 데이터가 아직 fresh한 상태이므로 서버를 호출하지 않고 캐쉬에서 가져와 보여주는 방식이 맞나요? 오류로그 app-index.js:33 Warning: Text content did not match. Server: "Tener adulatio decens conitor. Thesis apostolus ago at decerno. Iste uberrime commodo. Verus amitto quas cometes delicate. Cognomen alii curto ciminatio. Solitudo complectus tristis. Teneo sum vindico. Adhuc decimus triumphus ipsa arguo umquam addo adulatio cresco. Sponte degenero non trado cauda beneficium laboriosam approbo." Client: "Tremo collum sint terror templum summisse viduo usque unus benevolentia. Eligendi substantia concido amissio uredo turpis aperte. Admoneo titulus audeo conicio fuga." at div at div at div at article at TweetWrapper (webpack-internal:///(app-pages-browser)/./src/app/(afterLogin)/home/_components/TweetWrapper.tsx:11:11) at Tweet (webpack-internal:///(app-pages-browser)/./src/app/(afterLogin)/home/_components/Tweet.tsx:31:11) at TweetList (webpack-internal:///(app-pages-browser)/./src/app/(afterLogin)/home/_components/TweetList.tsx:16:93) at HydrationBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@tanstack+react-query@5.39.0_react@18.2.0/node_modules/@tanstack/react-query/build/modern/HydrationBoundary.js:14:11) at HomeContextProvider (webpack-internal:///(app-pages-browser)/./src/app/(afterLogin)/home/_components/Provider.tsx:17:11) at InnerLayoutRouter (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:242:11) at RedirectErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/redirect-boundary.js:74:9) at RedirectBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/redirect-boundary.js:82:11) at NotFoundBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/not-found-boundary.js:84:11) at LoadingBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:340:11) at ErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/error-boundary.js:162:11) at InnerScrollAndFocusHandler (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:152:9) at ScrollAndFocusHandler (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:227:11) at RenderFromTemplateContext (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/render-from-template-context.js:16:44) at OuterLayoutRouter (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:359:11) at InnerLayoutRouter (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:242:11) at RedirectErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/redirect-boundary.js:74:9) at RedirectBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/redirect-boundary.js:82:11) at NotFoundBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/not-found-boundary.js:84:11) at LoadingBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:340:11) at ErrorBoundary (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/error-boundary.js:162:11) at InnerScrollAndFocusHandler (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.1.4_@babel+core@7.24.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/layout-router.js:152:9) at ScrollAndFocu 소스코드 (Tweet이 Post입니다! 나중에 바꿔야겠네여) [page.tsx] /home import React from "react"; import HomeTopTab from "./_components/HomeTopTab"; import WriteForm from "./_components/WriteForm"; import TweetList from "./_components/TweetList"; import HomeContextProvider from "./_components/Provider"; import { QueryClient, dehydrate, HydrationBoundary, } from "@tanstack/react-query"; import getPostRecommends from "./_lib/getPostRecommends"; const HomePage = async () => { const queryClient = new QueryClient(); await queryClient.prefetchQuery({ queryKey: ["tweet", "recommends"], queryFn: getPostRecommends, }); const dehydratedState = dehydrate(queryClient); return ( <HomeContextProvider> <HomeTopTab /> <WriteForm /> <HydrationBoundary state={dehydratedState}> <TweetList /> </HydrationBoundary> </HomeContextProvider> ); }; export default HomePage; TweetList.tsx "use client"; import React from "react"; import Tweet from "./Tweet"; import getPostRecommends from "../_lib/getPostRecommends"; import { Post } from "./TweetWrapper"; import { QueryClient, useQuery } from "@tanstack/react-query"; const TweetList = () => { const { data: tweets } = useQuery<Post[]>({ queryKey: ["tweet", "recommends"], queryFn: getPostRecommends, enabled: false, }); console.log("🚀 _ TweetList _ tweets:", tweets); return tweets?.map((tweet) => <Tweet post={tweet} key={tweet.postId} />); }; export default TweetList;
검증데이터를 분리할때 X_tr, X_val 은 (909, 12) (161,12) 로 열이 12인데 y_tr, y_val 은 왜 열값이 안나오는지 궁금합니다. 이 질문에 대한 답변을 받았는데 답변이 이해가 안가서 재질문합니다~ 이해하기 쉽게 설명이 더 추가될수 있을까요? 받은답변 : 와우! 정확히 보셨어요! 거기에 만약 1이 적히면 데이터프레임이 됩니다. 모델 학습시 타겟이 데이터프레임으로 들어가면 워닝이나 에러가 발생할 수 있어요. 시리즈라서 열값이 나오지 않습니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 문제3의 변환 과정에서 아래와 같이 코드를 짜도 문제 없는건가요? 결과값은 동일합니다. df['f3'] = df['f3'].fillna(0) df['f3'] = df['f3'].replace('silver', 1).replace('gold', 2).replace('vip', 3) 그리고 pandas에서 sum을 1번처럼 작성하는걸 더 권장한다고 들었는데 어떤 차이가 있는 건가요? 1. print(df['f3'].sum()) 2. print(sum(df['f3']))
선생님 강의 잘 듣고 있습니다. 다름이 아니라 예전에 혼자 공부할 때 데이터 분할을 할 때 stratify를 설정해서 데이터 불균형을 처리한다고 들었는데, 제가 놓친 것일 수도 있지만 선생님 강의에서는 따로 이에 관한 설명을 본 적이 없어서 질문드립니다. 2유형을 푸는 데에 있어서 stratify는 굳이 설정을 안 해도 문제가 없을까요? 아니면 시험 볼 때 설정을 해놓는 게 더 좋을까요?
일단 이 문제는 캐글에서 선생님께서 생성해주신 문제구요. T1-9 수치형 변수 표준화 문제입니다. from sklearn.preprocessing import StandardScaler scaler = StandardScaler() df['f5']=scaler.fit_transform(df[['f5']]) df.head() 요렇게 해야 한다고 했는데요 저는 세번째 줄을 df['f5'] = scaler.fit _transform(df['f5']) 로 했는데 오류가 나서 잘 보니까, transform 뒤에 df[['f5']] 로 답이 작성되어 있더라고요 여기는 왜 []를 두번씩 감싸는 건가요????
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 문제2의 세번째 조건이 "컬럼의 'gold' 값을 가진 데이터 수를 출력하세요!"라고 나와 있습니다. 강의에서는 아래 코드와 같이 sum으로 풀이해주셨는데 , sum 대신 len으로 작성해도 동일한 결과가 나옵니다. sum이나 len 어떤 걸 사용해도 상관없는 건지 궁금합니다. 데이터 수이기 때문에 len이 더 정확한 답일까요? print(sum(df[df['f3'] == 'gold']))
강의 너무 재밌고 유익하게 완강하였습니다. 감사합니다~ ^^ 제가 네이버 플레이스에서 맛집을 추출하려고 하는데 json형태로 제공이 되는데 json형태로 제공되는 사이트를 크롤링하고 데이터를 파싱하는 방법은 강의 내용에는 없던데 어떻게 하면 좋을까요? ㅠㅠ 혹시 강의를 추가해주실수도 있을까요?