172만명의 커뮤니티!! 함께 토론해봐요.
미해결
따라하며 배우는 리액트 A-Z[19버전 반영]
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import axios from "../api/axios"; import React, { useEffect, useState } from 'react' import requests from '../api/requests'; import "./Banner.css" import styled from "styled-components"; export default function Banner() { const [movie, setMovie] = useState([]); const [isClicked, setIsClicked] = useState(false); useEffect(() => { fetchData(); }, []); const fetchData = async() => { //현재 상영중인 영화 정보를 가져오기 (여러 영화) const request = await axios.get(requests.fetchNowPlaying); //여러 영화 중 영화 하나의 ID를 가져오기 const movieId = request.data.results[ Math.floor(Math.random() * request.data.results.length) ].id; //특정 영화의 더 상세한 정보를 가져오기 (비디오 정보도 포함) const {data: movieDetail} = await axios.get(`movie/${movieId}`, { params: {append_to_response: "videos"}, }); setMovie(movieDetail); } const truncate = (str, n) => { return str?.length > n ? str.substr(0, n - 1) + "..." : str; } console.log('movie', movie); if(!isClicked) { return ( <header className="banner" style={{ backgroundImage: `url("https://image.tmdb.org/t/p/original/${movie.backdrop_path}")`, backgroundPosition: "top center", backgroundSize: "cover", }}> <div className="banner__contents"> <h1 className="banner__title"> {movie.title || movie.name || movie.original_name} </h1> <div className="banner__buttons"> <button className="banner__button play" onClick={() => setIsClicked(true)} > Play</button> <button className="banner__button info">More Information</button> </div> <h1 className="banner_description"> {truncate(movie.overview, 100)} </h1> </div> <div className="banner--fadeBottom"></div> </header> ); } else{ return ( <Container> <HomeContainer> <Iframe width="640" height="360" src={`https://www.youtube.com/embed/${movie.videos.results[0].key}?controls=0&autoplay=1&loop=1&mute=1&playlist=${movie.videos.results[0].key}`} title="YouTube video player" allow="autoplay; fullscreen" ></Iframe> </HomeContainer> </Container> ); } } const Iframe = styled.iframe` width: 100%; height: 100%; opacity: 0.65; border: none; &::after { content:""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }` const Container = styled.div` display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 100vh; ` const HomeContainer = styled.div` width: 100vw; height: 100vh;`
react redux tdd typescript next.js 소프트웨어-테스트
hundo1217
2025-06-11T07:23:07.220Z
댓글 1
좋아요 0
조회수 119
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
체험 3유형이 바뀐걸 보니 넘파이의 기본 기능을 좀 익히고 응시하면 대비가 되지 않을까 싶은데요 넘파이에 대한 기본 설명강의 간략하게 가능하실까요 아님 자료라도 ㅠㅠ(시나공 교재도 구입했는데 여기에서도 넘파이 예제는 안보여서요)
python 머신러닝 빅데이터 pandas 빅데이터분석기사
이선희
2025-06-11T06:39:27.249Z
댓글 2
좋아요 0
조회수 147
해결됨
한 입 크기로 잘라먹는 Next.js
이전의 사전 렌더링에서 이런식으로 동작한다고 이해하고 초기접속시 JS 번들러에 남은 컴포넌트를 담아서 준다고 이해했는데 여기서는 페이지 이동 요청시 JS 번들러가 오는데 헷갈립니다.
강수영
2025-06-11T05:37:17.128Z
댓글 1
좋아요 0
조회수 117
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강사님! 작업형 2에서 결측치를 어느 값으로 채우면 좋을지 1에 가까운 것을 선택해서 사용하면 된다고 하셨는데 그걸 판단하는 코드는 어떻게 작성하는지 알 수 있을끼요?
python 머신러닝 빅데이터 pandas 빅데이터분석기사
김지수
2025-06-11T03:41:43.422Z
댓글 2
좋아요 0
조회수 75
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요. 유사한 질문을 찾아보았으나 의문이 해결되지 않아 질문드립니다. anova 테이블을 만들기 전 적합한 데이터 형태를 만들기 위해 melt 함수를 사용하시더라구요. anova 테이블을 만들 때 필요한 특정한 데이터 형태가 있는건가요? 왜 melt함수를 적용해 주어야 하는지 아직 이해하지 못해서 질문드려요. 답변 기다리겠습니다. 감사합니다.
python 머신러닝 빅데이터 pandas 빅데이터분석기사
김현영
2025-06-11T03:31:28.156Z
댓글 3
좋아요 0
조회수 88
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요! 실기 체험환경에서 코드를 작성하는데 이전에 썼던 코드를 수정하려고 하니 삽입되지않고 덮어써져서 코드 수정하는데 어려움을 겪고있습니다! 혹시 덮어쓰기모드에서 삽입모드로 변경하려면 어떻게 해야되나요? 항상 감사합니다!
python 머신러닝 빅데이터 pandas 빅데이터분석기사
노앙
2025-06-11T01:45:46.073Z
댓글 1
좋아요 0
조회수 78
해결됨
한 입 크기로 잘라먹는 Next.js
2.8) 페이지별 레이아웃 설정하기 안녕하세요 한입 nextjs 강의 잘 보고 있는데요! 하나 궁금한 게 생겨서 질문 남겨요! 20분쯤에 나오는 onKeyDown 으로 키보드 이벤트를 감지하여 처리하는 이유가 있을까요? 해당 부분만 form 으로 감싸면 자동으로 enter 클릭시 감지해서 요청을 보내게 되는데 onKeyDown으로 함수를 빼서 input 이벤트를 핸들링 하는 이유는 무엇인가요! submit 직전 다른 데이터를 핸들링 할 때 form은 바로 submit이 일어나기 때문에 그런 부분에 있어서 확장성? 을 위한건가용?
박준희
2025-06-11T01:10:24.106Z
댓글 2
좋아요 0
조회수 108
미해결
따라하며 배우는 리액트 A-Z[19버전 반영]
강의대로 따라갔는데 강의처럼 렌더링이 되고 있지 않습니다 ㅠㅠ 어디가 문제일까요 chatgpt는 서버가 없다 뭐 이렇다는데 ㅠㅠ 출력 화면 Nav.js import React, { useEffect, useState } from 'react' import"./Nav.css" export default function Nav() { const [show, setShow] = useState(false); useEffect(() => { window.addEventListener("scroll", ()=> { console.log('window.scrollY', window.scrollY); if(window.scrollY > 50) { setShow(true); } else { setShow(false); } }) return () => { window.removeEventListener("scroll", ()=> {}); }; }, []); return ( <nav className={`nav ${show && "nav__black"}`}> <img alt = 'Netflix logo' src = "https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Netflix_2015_logo.svg/960px-Netflix_2015_logo.svg.png" decoding="async" width="799" height="216" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/08/Netflix_2015_logo.svg/1198px-Netflix_2015_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/08/Netflix_2015_logo.svg/1597px-Netflix_2015_logo.svg.png" className='nav__logo' onClick={() => window.location.reload()} /> <img alt = "User logged" src = "https://occ-0-3077-988.1.nflxso.net/dnm/api/v6/vN7bi_My87NPKvsBoib006Llxzg/AAAABTZ2zlLdBVC05fsd2YQAR43J6vB1NAUBOOrxt7oaFATxMhtdzlNZ846H3D8TZzooe2-FT853YVYs8p001KVFYopWi4D4NXM.png?r=229" className="nav__avatar" /> </nav> ); } Nav.css .nav{ position: fixed; top: 0; width: 100%; height: 30px; z-index: 1; padding: 20px; display: flex; justify-content: space-between; align-items: center; transition-timing-function: ease-in; transition: all 0.5s; } .nav__black { background-color: #111; } .nav__logo{ position: fixed; left: 40px; width: 80px; object-fit: contain; } .nav__avatar { position: fixed; right: 40px; width: 30px; object-fit: contain; } Banner.js import axios from "../api/axios"; import React, { useEffect, useState } from 'react' import requests from '../api/requests'; import "./Banner.css" export default function Banner() { const [movie, setMovie] = useState([]); useEffect(() => { fetchData(); }, []); const fetchData = async() => { //현재 상영중인 영화 정보를 가져오기 (여러 영화) const request = await axios.get(requests.fetchNowPlaying); //여러 영화 중 영화 하나의 ID를 가져오기 const movieId = request.data.results[ Math.floor(Math.random() * request.data.results.length) ].id; //특정 영화의 더 상세한 정보를 가져오기 (비디오 정보도 포함) const {data: movieDetail} = await axios.get(`movie/${movieId}`, { params: {append_to_reponse: "videos"} }); setMovie(movieDetail); } const truncate = (str, n) => { return str?. length > n ? str.substr(0, n - 1) + "..." : str; } return ( <header className="banner" style={{ backgroundImage: `url("https://image.tmdb.org/t/p/original/${movie.backdrop_path}")`, backgroundPosition: "top center", backgroundSize: "cover" }}> <div className="banner__contents"> <h1 className="banner__title"> {movie.title || movie.name || movie.original_name} </h1> <div className="banner__buttons"> <button className="banner__button play">Play</button> <button className="banner__button info">More Information</button> </div> <h1 className="banner_description"> {truncate(movie.overview, 100)} </h1> </div> <div className="banner--fadeBottom"></div> </header> ) } Banner.css .banner{ color: white; object-fit: contain; height: 448px; } @media (min-width : 1500px) { .banner{ position: relative; height: 600px; } .banner--fadeBottom{ position: absolute; bottom: 0; width: 100%; height: 40rem; } } @media (max-width : 768px) { .banner__contents{ width: min-content !important; padding-left: 2.3rem; margin-left: 0px !important; } .banner--description{ font-size: 0.8rem !important; width: auto !important; } .info{ text-align: start; padding-right: 1.2rem; } .space{ margin-left: 6px; } } axios.js import axios from "axios"; const instance = axios.create({ baseURL: "https://api.themoviedb.org", params: { api_key: "eea00451962aefe6185011d467944242", language: "ko-KR", }, }); export default instance; requests.js const requests = { fetchNowPlaying: "movie/now_playing", fetchNetFlixOriginals: "/discover/tv?with_networks=213", fetchTrending: "/trending/all/week", fetchTopRated: "/movie/top_rated", fetchActionMovies: "/discover/movie?with_genres=28", fetchComedyMovies: "/discover/movie?with_genres=35", fetchHorrorMovies: "/discover/movie?with_genres=27", fetchRomanceMovies: "/discover/movie?with_genres=10749", fetchDocumentaries: "/discover/movie?with_genres=99", } export default requests;
react redux tdd typescript next.js 소프트웨어-테스트
hundo1217
2025-06-11T00:42:16.016Z
댓글 1
좋아요 0
조회수 130
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
이러한 창의 띄우는 법을 알려주세요. (+NEW 둘어간 후 Request 선택하는 방법은 업데이트로 안됨. HTTP 선택 하라는 방법은 선택 후 어떻게 할지 설명을 안해줍니다. 설명 요망.)
tlstkdguq97
2025-06-10T17:41:57.435Z
댓글 1
좋아요 0
조회수 120
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강의 6분 후반에서 7분 언저리의 NEW를 눌러서 GET Request를 눌러서 Request NAME에 네이버를 적고 하는 부분을 어떻게 해야 하는지 도통 모르겠습니다. + NEW에 들어가도 Request라는 버튼이 나오질 않습니다...
2025-06-10T16:49:35.884Z
댓글 1
좋아요 0
조회수 102
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강의 6분 후반에서 7분 언저리의 NEW를 눌러서 GET Request를 눌러서 Request NAME에 네이버를 적고 하는 부분을 어떻게 해야 하는지 도통 모르겠습니다.
2025-06-10T16:31:04.705Z
댓글 1
좋아요 0
조회수 136
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라이브러리 및 데이터 불러오기 import pandas as pd train = pd.read_csv('https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/ch4/train.csv') test = pd.read_csv('https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/ch4/test.csv') # test.isnull().sum() #결측치 처리 필요함 Item_Weight//// Outlet_Size target=train.pop('Item_Outlet_Sales') # 결측치 처리 train['Item_Weight'] = train['Item_Weight'].fillna(train['Item_Weight'].mean()) train['Outlet_Size'] = train['Outlet_Size'].fillna(train['Outlet_Size'].mode()[0]) test['Item_Weight'] = test['Item_Weight'].fillna(train['Item_Weight'].mean()) test['Outlet_Size'] = test['Outlet_Size'].fillna(train['Outlet_Size'].mode()[0]) # train=train.drop('Item_Identifier',axis=1) # test=test.drop('Item_Identifier',axis=1) #다르므로 데이터 합친 후 레이블인코딩 하고 다시 train test로 나누기 combined=pd.concat([train,test]) #->그다음 레이블인코딩해보자 cols=train.select_dtypes(include="O").columns print(cols) from sklearn. preprocessing import LabelEncoder for col in cols: le=LabelEncoder() combined[col]=le.fit_transform(combined[col]) #->다시 데이터 train과 test로 나누자 train=combined.iloc[:len(train)].copy() test=combined.iloc[len(train):].copy() print(train.shape, test.shape) #train데이터분할하기 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val=train_test_split(train, target, test_size=0.2, random_state=100) # #모델구축(1) # from sklearn.ensemble import RandomForestRegressor # model=RandomForestRegressor(random_state=200) # model.fit(X_tr,y_tr) # pred = model.predict(X_val) #모델구축(2) import lightgbm as lgb model = lgb.LGBMRegressor(random_state=0, verbose=-1) model.fit(X_tr, y_tr) pred = model.predict(X_val) #성능평가 from sklearn.metrics import root_mean_squared_error from sklearn.metrics import mean_absolute_error from sklearn.metrics import r2_score from sklearn.metrics import mean_squared_error result=root_mean_squared_error(y_val,pred) print('RMSE:', result) result = mean_squared_error(y_val, pred) print('MSE:', result) result = mean_absolute_error(y_val, pred) print('MAE:', result) result = r2_score(y_val, pred) print('r2:', result)
python 머신러닝 빅데이터 pandas 빅데이터분석기사
이선희
2025-06-10T13:42:20.076Z
댓글 2
좋아요 0
조회수 115
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
랜덤포레스트회귀로 하였는데 rmse값이 1099정도 나오는데요 이정도는 차이가 큰것일까요
python 머신러닝 빅데이터 pandas 빅데이터분석기사
이선희
2025-06-10T12:36:40.161Z
댓글 2
좋아요 0
조회수 91
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님의 코딩 # LightGBM import lightgbm as lgb lg = lgb.LGBMClassifier(random_state=0, verbose=-1) lg.fit(X_tr, y_tr) pred = lg.predict(X_val) print("lightgbm") print(f1_score(y_val, pred, average='macro')) # 최종 제출 파일 (lightGBM) pred = lg.predict(test) result = pd.DataFrame({'pred':pred}) result.to_csv("result.csv", index=False) 저의 코딩 from lightgbm import LGBMClassifier lg = LGBMClassifier(random_state=0, verbose=-1) model = lg.fit(X_tr, y_tr) pred = model.predict(X_val) pred.shape f1_score(y_val,pred, average='macro') # basic # 0.9257472552209252 pred = lg.predict(test) submit = pd.DataFrame({'pred' : pred}) submit.to_csv('result.csv', index=False) pd.read_csv('result.csv') 여쭙고싶은 것은 선생님께서는 lg.fit을 어떤 변수에 넣지 않고 바로 학습시킨 뒤 그것으로 예측 및 검증을 하고 최종 test 예측까지 수행하시는데, 저는 lg.fit을 model이란 변수에 넣은뒤 예측 및 검증을하고, 최종적으로는 lg로 test 예측을 수행합니다. 혹시 이 차이에서 최종 예측성능에 차이가 생길까요?
python 머신러닝 빅데이터 pandas 빅데이터분석기사
이정균
2025-06-10T12:22:45.652Z
댓글 2
좋아요 0
조회수 58
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
교수님 안녕하십니까? 3회 기출유형 (작업형2)를 혼자 풀면서 심사위원분들께서 채점을 할 때, 사용자 코드를 보고 채점 코드를 변경하시는지 혹은 일괄적인 코드로 채점을 하시는지 궁금함이 생겼습니다. 궁금한 점 1) 테스트 데이터값을 예측할 때 -> pred = rf.predict_proba(test)[:,1] 로 하지 않고, -> pred = rf.predict_proba(test) 로 테스트 데이터를 예측한 이후, 아래와 같이 진행하면 심사위원분들이 유동적으로 채점 코드를 변경하시나요? test_index = test.index[:] test_index submit = pd.DataFrame({'index':test_index,'y-pred':pred[:,1]}) submit.to_csv('result.csv',index=False) pd.read_csv('result.csv') ※ 교수님이 주신 채점 코드를 아래와 같이 제 임의로 변경하면 채점이 되는것을 확인했습니다. roc_auc_score(y_test,pred) -> roc_auc_score(y_test,pred[:,1]) ※ 다만, 사용자 데이터를 보지않고 채점 코드를 일괄적으로 적용하면, 정해진 제출형식에 어긋나게 작성해서 0점을 받을까 걱정이되서 문의드립니다!
python 머신러닝 빅데이터 pandas 빅데이터분석기사
wlsgur737
2025-06-10T12:22:12.088Z
댓글 2
좋아요 0
조회수 88
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
혹시 실습 파일 어디서 다운 받는지 알 수 있을까요??ㅠ 몇번째 강의 였는지 기억이 안나서 여쭤봅니다ㅠ
python 머신러닝 빅데이터 pandas 빅데이터분석기사
봉준
2025-06-10T10:31:54.687Z
댓글 2
좋아요 0
조회수 61
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요~ 소문제 1번에서 자유도를 구할때는 len함수를 사용하고 소문제 3은 sum사용하셨는데 둘다 sum사용 가능한가요?
python 머신러닝 빅데이터 pandas 빅데이터분석기사
지원
2025-06-10T10:14:58.625Z
댓글 2
좋아요 0
조회수 85
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test_size를 0.15로 잡은 이유가 있을까요 ?? 저 사이즈 크기는 어떻게 잡는게 좋은지 궁금합니다.
python 머신러닝 빅데이터 pandas 빅데이터분석기사
고동협
2025-06-10T07:56:28.418Z
댓글 2
좋아요 0
조회수 82
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측치 처리 마지막 단계에서 'id'컬럼은 어떤 이유로 제거를 하는 것일까요 ??
python 머신러닝 빅데이터 pandas 빅데이터분석기사
고동협
2025-06-10T07:52:29.006Z
댓글 2
좋아요 0
조회수 78
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
'reviews_per_month' 컬럼을 삭제하는 방법으로 해도 상관이 있을까요 ?? 어떤 컬럼은 삭제하고 어떤 컬럼은 다른 값으로 채우는게 판단이 안될때 결측치 있는 컬럼 전부 삭제하는 방법으로 하면 안되는지 궁금합니다.
python 머신러닝 빅데이터 pandas 빅데이터분석기사
고동협
2025-06-10T07:49:55.029Z
댓글 2
좋아요 0
조회수 71