inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Editor 컴포넌트는 리렌더링되는 것은 맞나요?

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

강의내용에 보면 todos가 변경될 때 Editor는 변경이 않되야하는 것 같은데 리렌터링이 됩니다. 소스는 같은데 머가문제인지 알 수있을까요? <Editor.jsx> const Editor = () => { const { onCreate } = useContext(TodoDispatchContext); const [content, setContent] = useState(""); const contentRef = useRef(); const onChangeInput = (e) => { setContent(e.target.value); }; const onKeyDown = (e) => { if (e.keyCode === 13) { onSubmit(); } }; const onSubmit = () => { if (content === "") { contentRef.current.focus(); return; } onCreate(content); setContent(""); }; return ( <div className="Editor"> <input ref={contentRef} value={content} onKeyDown={onKeyDown} onChange={onChangeInput} placeholder="새로운 Todo..." /> <button onClick={onSubmit}>추가</button> </div> ); }; export default Editor; <App.jsx> import "./App.css"; import Header from "./components/Header"; import Editor from "./components/Editor"; import List from "./components/List"; import { useState, useRef, useReducer, useMemo, useCallback, createContext, } from "react"; const mockData = [ { id: 0, isDone: false, content: "React 공부하기", date: new Date().toLocaleDateString(), }, { id: 1, isDone: false, content: "빨래하기기", date: new Date().toLocaleDateString(), }, { id: 2, isDone: false, content: "청소하기", date: new Date().toLocaleDateString(), }, ]; const reducer = (state, action) => { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((todo) => todo.id === action.data.id ? { ...todo, isDone: !todo.isDone } : todo ); case "DELETE": return state.filter((todo) => todo.id !== action.data.id); default: return state; } }; export const TodoStateContext = createContext(); export const TodoDispatchContext = createContext(); function App() { const [todos, dispatch] = useReducer(reducer, mockData); const idRef = useRef(3); const onCreate = useCallback((content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }, []); const onUpdate = useCallback((targetId) => { dispatch({ type: "UPDATE", data: { id: targetId } }); }, []); const onDelete = useCallback((targetId) => { dispatch({ type: "DELETE", data: { id: targetId } }); }, []); const memoizedDispatch = useMemo(() => { return { onCreate, onUpdate, onDelete }; }, []); return ( <div className="App"> <Header /> <TodoStateContext.Provider value={{ todos }}> <TodoDispatchContext.Provider value={memoizedDispatch}> <Editor /> <List /> </TodoDispatchContext.Provider> </TodoStateContext.Provider> </div> ); } export default App;

  • javascript
  • react
  • node.js
Park Ju Yeong 댓글 2 좋아요 0 조회수 188

CV error

해결됨

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

CV를 사용하였는데 하기와 같은 오류가 등장했습니다 : --> 98 raise InvalidParameterError( 99 f"The {param_name!r} parameter of {caller_name} must be" 100 f" {constraints_str}. Got {param_val!r} instead." InvalidParameterError: The 'scoring' parameter of cross_val_score must be a str among {'f1', 'jaccard_micro', 'positive_likelihood_ratio', 'adjusted_rand_score', 'jaccard_weighted', 'homogeneity_score', 'average_precision', 'precision_weighted', 'rand_score', 'roc_auc_ovr', 'roc_auc_ovr_weighted', 'precision', 'explained_variance', 'jaccard_macro', 'recall_macro', 'f1_macro', 'normalized_mutual_info_score', 'precision_samples', 'neg_root_mean_squared_log_error', 'r2', 'neg_negative_likelihood_ratio', 'precision_micro', 'neg_max_error', 'mutual_info_score', 'precision_macro', 'f1_micro', 'v_measure_score', 'completeness_score', 'neg_mean_squared_error', 'accuracy', 'neg_brier_score', 'recall_samples', 'jaccard_samples', 'neg_root_mean_squared_error', 'neg_mean_absolute_percentage_error', 'jaccard', 'f1_samples', 'matthews_corrcoef', 'neg_median_absolute_error', 'neg_mean_gamma_deviance', 'recall_micro', 'neg_mean_absolute_error', 'neg_log_loss', 'roc_auc_ovo_weighted', 'd2_absolute_error_score', 'roc_auc', 'adjusted_mutual_info_score', 'recall', 'recall_weighted', 'balanced_accuracy', 'f1_weighted', 'top_k_accuracy', 'roc_auc_ovo', 'neg_mean_squared_log_error', 'fowlkes_mallows_score', 'neg_mean_poisson_deviance'}, a callable or None. Got 'f1-macro' instead. 제가 작성한 코드도 함께 공유 드립니다 : import pandas as pd train=pd.read_csv('train.csv') test=pd.read_csv('test.csv') train=train.drop('ID', axis=1) test_id=test.pop('ID') print(train.shape, test.shape) print(train.head()) print(test.head()) print(train.info()) print(test.info()) print(train.isnull().sum()) print(test.isnull().sum()) y=train.pop('Segmentation') print(y.info(), y.shape) y=y-1 int_cols=train.select_dtypes(exclude='object').columns train[int_cols].corr() cat_cols=train.select_dtypes(include='object').columns print(train[cat_cols].describe(include='object')) print(test[cat_cols].describe(include='object')) for i in cat_cols: train[i]=train[i].astype('object') test[i]=test[i].astype('object') for i in cat_cols: print(train[i].value_counts()) print(test[i].value_counts()) from sklearn.preprocessing import RobustScaler scaler=RobustScaler() for i in int_cols : train[i]=scaler.fit_transform(train[[i]]) test[i]=scaler.transform(test[[i]]) from sklearn.preprocessing import LabelEncoder le=LabelEncoder() for i in cat_cols: train[i]=le.fit_transform(train[i]) test[i]=le.transform(test[i]) print(train.head()) print(test.head()) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val=train_test_split(train, y, test_size=0.2, random_state=2025) print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier(n_estimators=50, max_depth=7, random_state=2025) rf.fit(X_tr, y_tr) y_pred_rf=rf.predict(X_val) from lightgbm import LGBMClassifier lgbm=LGBMClassifier(random_state=2025) lgbm.fit(X_tr, y_tr) y_pred_lgbm=lgbm.predict(X_val) from xgboost import XGBClassifier xgb=XGBClassifier(random_state=2025) xgb.fit(X_tr, y_tr) y_pred_xgb=xgb.predict(X_val) y_pred_xgb=y_pred_xgb+1 from sklearn.metrics import f1_score print(f1_score(y_val, y_pred_rf, average='macro')) print(f1_score(y_val, y_pred_lgbm, average='macro')) print(f1_score(y_val, y_pred_xgb, average='macro')) from sklearn.model_selection import cross_val_score scores=cross_val_score(rf, train, target, scoring='f1-macro', cv=5) print(scores) print(scores.mean())

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

XGBClassifier 사용 에러

해결됨

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

XGBClassifier 를 사용해서 target을 분류하려고 하는데, 아래와 같은 에러가 나타납니다 : ValueError : Invalid classes inferred from unique values of y . Expected: [0 1 2 3], got [1 2 3 4] LabelEncoder를 사용해서 processing 도 다 했고, LGBMClassifier랑 RandomForestClassifier는 다 잘 돌아가는데 XGBClassifier만 저런 오류가 나타나네요;;; 참고를 위해 지금까지 작성한 코드 하기로 공유 드립니다 : import pandas as pd train=pd.read_csv('train.csv') test=pd.read_csv('test.csv') train=train.drop('ID', axis=1) test_id=test.pop('ID') print(train.shape, test.shape) print(train.head()) print(test.head()) print(train.info()) print(test.info()) print(train.isnull().sum()) print(test.isnull().sum()) y=train.pop('Segmentation') y=y.astype('object') y=y.astype('category') print(y.info(), y.shape) int_cols=train.select_dtypes(exclude='object').columns train[int_cols].corr() cat_cols=train.select_dtypes(include='object').columns print(train[cat_cols].describe(include='object')) print(test[cat_cols].describe(include='object')) for i in cat_cols: train[i]=train[i].astype('object') test[i]=test[i].astype('object') for i in cat_cols: print(train[i].value_counts()) print(test[i].value_counts()) from sklearn.preprocessing import RobustScaler scaler=RobustScaler() for i in int_cols : train[i]=scaler.fit_transform(train[[i]]) test[i]=scaler.transform(test[[i]]) from sklearn.preprocessing import LabelEncoder le=LabelEncoder() for i in cat_cols: train[i]=le.fit_transform(train[i]) test[i]=le.transform(test[i]) print(train.head()) print(test.head()) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val=train_test_split(train, y, test_size=0.2, random_state=2025) print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) y_val=y_val.astype('category') y_tr=y_tr.astype('category') from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier(n_estimators=100, max_depth=5, random_state=2025) rf.fit(X_tr, y_tr) y_pred_rf=rf.predict(X_val) from lightgbm import LGBMClassifier lgbm=LGBMClassifier() lgbm.fit(X_tr, y_tr) y_pred_lgbm=lgbm.predict(X_val) from sklearn.metrics import f1_score print(f1_score(y_val, y_pred_rf, average='weighted')) print(f1_score(y_val, y_pred_lgbm, average='weighted')) from xgboost import XGBClassifier xgb=XGBClassifier() xgb.fit(X_tr, y_tr) y_pred_xgb=xgb.predict(X_val)

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

소스코드관련해서

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

매강좌마다 깃허브 링크가있던데요 매강마다 소스코드를 일일히 다운받아야하나요??? 아니면 한번에 다운받아도되는걸 제가 착각하고있는건가요??? 강의가 진행되어질수록 그만큼 코드변경된흐름을 깃허브 트리로 펼쳐놓으신것같은데.... 하나만받아도되는건지 매강마다 깃허브가서 소스코드를 매강마다 다운받아야하는건지 궁금합니다.

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
hdr.ecssh 댓글 1 좋아요 0 조회수 131

변수 앞 _ 하나를 사용할때

미해결

모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)

_ 를 변수에 사용하는데 있어 질문이 있습니다. 'Property(1) - Underscore' 강의에서 _가 하나를 사용할때는 PROTECTED 변수로, 상속받는 하위 클래스에 이용한다고 하셨습니다. 강사님의 다른 Python 강의에서 (정확히 어느 강의 인지는 기억이 안나네요) 가 붙은 변수를 클래스 변수로 사용하셨거든요. 혹시 두 의미가 상충되는것일까요 아니면 를 하나 사용할때는 두가지 경우 모두 사용가능할까요?

  • python
가보자고 댓글 2 좋아요 0 조회수 169

ch6번 첨부파일 질문있습니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

문제상황: ch6 마지막 파일 다운 받은 후 npm i react react-dom 하고 npm start 했습니다. product와 todo를 누르면 아래와 같은 상황이 나옵니다. 혹시 첨부 파일이 잘못된거 아닐까요? ERROR Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') at ListComponent

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
zzzzz 댓글 2 좋아요 0 조회수 97

33분 if문 질문 있습니다!

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

코드에서 i=5일 때, j=7일 때 if 조건문을 만족 시키는 것은 이해했습니다. i++, j++로 숫자가 동일하게 증가하는데, 그러면 i는 j보다 먼저 if문을 만족 시키므로 i++이 실행되지 않고, j만 실행되는 것으로 이해하면 될까요?

  • python
  • java
  • c
  • 정보처리기사
isu 댓글 2 좋아요 0 조회수 143

쿠팡 BeautifullSoup 헤더넣어도 막히네요

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36', "accept-language": "ko,en-US;q=0.9,en;q=0.8", "accept-encoding" : "gzip, deflate, br, zstd", "cache-control" : "max-age=0" } 위와 같이 헤더를 넣어도.... 타임아웃으로 나오지 않더라구요 이제는 헤더만으로는 못할 거 같은데 셀레니움 외 방법이 없을까요 ㅠㅠ

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
sakuraibbo 댓글 1 좋아요 0 조회수 468

제발 코드샌드박스 링크 좀 달아주세요....

미해결

실무 중심! FE 입문자를 위한 React

제목 그대로입니다. 코드샌드박스 링크좀 어딘가에 달아주시든지, 자료파일에 좀 첨부해주시든지, 어떻게 좀 해주세요. 화면 스톱 해놓고 일일이 주소창 쳐서 들어가고 있어요. 너무 불편해요! 질문답변 게시판에 링크 달아놓은거 없는지 검색도 해봤는데 전혀 엉뚱한 대답만 있는 것 같고..

  • react
  • redux
  • node.js
  • sass
  • swr
kimhi 댓글 2 좋아요 2 조회수 548

수강기간 무료!?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

ㅎㄷㅆ이랑 여기랑 일주일 이상 고민하다가 여기를 고르게 되었습니다 혹시 수강기간 무료라고 되있는데 만약 떨어지면 강의 새로 업데이트 된 것으로 볼수 있는건가요? 우선 1회만에 붙겠다는 생각으로 열심히 공부해보겠습니다!

  • python
  • java
  • c
  • 정보처리기사
박현서 댓글 1 좋아요 0 조회수 269

pydantic

해결됨

FastAPI 완벽 가이드

안녕하세요. 강의에서 사용한 pydantic은 V2인게 맞는 걸까요??

  • python
  • sql
  • sqlalchemy
  • FastAPI
Full Stack 개발자 댓글 2 좋아요 0 조회수 145

yolo 학습 관련

미해결

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

안녕하세요 강사님! 강사님의 강의를 듣고 현재 yolo를 이용해 간단한 프로젝트를 하나 진행해보려고 하는데 몇가지 질문 사항이 생겨 글을 적습니다. 전체적인 프로젝트 개요는 식물앞에 카메라를 두고 식물에 해충 및 질병 발생을 detect하는 모델을 만드려고 합니다. 이때 카메라에 라즈베리파이 같은 소형 컴퓨터를 달아 모델을 운용하려는 계획이라 yolo의 높은 버전보다 yolo v5 간소화 버전들을 사용해야 겠다고 결정했는데 괜찮은 선택인지 궁금합니다. 해충과 식물의 질병 부위 이미지 데이터셋으로 모델을 학습 시키려고 하는데 이때 coco dataset으로 pretrained된 모델을 사용해야 하는지 아니면 모델 구성부터 새로 한 후 원하는 해충/질병 이미지만 학습 시켜야 하는건지 궁금합니다. 감사합니다!!

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
배진영 댓글 2 좋아요 0 조회수 141

강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ

미해결

웹 게임을 만들며 배우는 React

master 브랜치가 더 최신 수정일이라서 master꺼 복붙해서 쓰다가 계속 createRoot 관련 에러가 나서 30분정도 헤매었네요.. 확인해보니 master 내 코드 일부가 react 18로 변경이 안되어서 그런거 였네요.. (사용X) 리액트 16버전 (master 브랜치에서 복사 시, createRoot 사용 시 에러남) <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> (이걸로) 리액트 18버전 (react18 브랜치에서 복사 시) <script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>

  • react
해도디 댓글 1 좋아요 0 조회수 122

Router.use 두번째 파라미터 ImageRouter : undefined 전달 오류

미해결

이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)

Router.use() requires a middleware function but got a undefined export require 경로 확인 잘 했는데 왜 발생할까요...?

  • react
  • node.js
  • aws
  • mongodb
  • express
  • lambda
박진형 댓글 2 좋아요 0 조회수 144

C언어_조건&반복문 강의 문제에서(28:00)

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

중괄호가 많이 나오는데 어디에서 시작해서 어디에서 끝이 나는지 구분이 안되어 헷갈리는데 자세히 알려주시면 감사하겠습니다.

  • python
  • java
  • c
  • 정보처리기사
이태양 댓글 2 좋아요 0 조회수 101

하위의 여러 폴더 중 특정폴더의 사진만 추출하기

미해결

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

안녕하세요. 선생님 저의 질문이 어느 챕터에 해당하는지 알지 못해, 특정 챕터를 지정하지 않은 채 질문 드린 점 양해 부탁드립니다. 제가 궁금한 점 및 전제조건은 다음과 같습니다. 폴더구조(8단계): main폴더/sub폴더/sub-sub폴더/....../sub_sub_sub....폴더/ 맨 마지막 단계폴더들 중에서 특정 폴더의 사진목록을 추출하고 싶습니다. 마지막 단계 폴더들 중에서 특정 폴더 : 추출대상 폴더의 경로는 엑셀셀에 명기되어 있긴 합니다. 이렇게 추출된 사진을 폴더경로단위로 한/컴의 1페이지별 붙여넣기 할 예정입니다. 제가 수강 중인 인프런 강좌를 반복하면서 봐도 잘 해결되지 않네요. 강좌의 섹션 중 '학교명...지역명?' 에서 언듯 해결책을 느낀 것 같았지만 이내 벽에 부딪히게 되어 선생님께 문의 드리는 바 입니다. 좋은 해결 실마리가 있으면 조언 부탁드립니다. 감사합니다.

  • python
  • 한컴오피스
조현우 댓글 2 좋아요 1 조회수 400

[5-9]이미지 기능구현하기(2) 이미지를 추가하면 너무 느리게 뜹니다.

미해결

아바타 커뮤니티앱 만들기 (React Native Expo)

안녕하세요! 선생님 글쓰기 누르고, 제목, 내용 밑에 카메라 모양 눌러서 사진을 추가하면 사진이 매우 느리게 뜹니다... 혹시 이건 왜 그런건가요??

  • javascript
  • react
  • react-native
  • typescript
  • react-query
ksw 댓글 2 좋아요 0 조회수 148

로그인 성공과 실패처리 강의 중에 궁금한점이 있어 질문드립니다.(추가질문)

미해결

코드로 배우는 React 19 with 스프링부트 API서버

db 포스트맨: 에러상황: 포스트맨으로 db에 있는 email과 패스워드 입력해도 로그인이 안됩니다. 참고로 db에 있는 이메일 : user9@aaa.com 직접 db에서 수정하고 저장했습니다. 그리고 user8@aaa.com로 해도 안됩니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
zzzzz 댓글 2 좋아요 0 조회수 110

suspense관련 질문 있습니다! 섹션6 5.2풀 라우트 캐시2강의

해결됨

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

안녕하세요! 강의 잘 듣고 있습니다! suspense태그 관련 질문이 있습니다! 5.2 풀 라우트 캐시2 강의에서 저희가 useSearchParams() 훅이 빌드타임에서 실행되는 오류를 없애기 위해 <SearchBar/ > 컴포넌트를 suspense로 감싸잖아요 이때 강의 4분45초 쯤에서 사전 suspense를 사용해서 이제 사전 렌더링 과정에서 완전히 배제한다고 하셨는데, 그러면 페이지를 만들때 suspense로 감싼 컴포넌트는 nextjs app router방식이 아니라 csr방식으로 구현이 되는건가요 나머지 컴포넌트들만 approuter의 사전 렌더링 방식으로 구현이 되는건가요?? 제가 정리했을땐 동적 페이지도 정적 페이지도 사전렌더링의 시점은 다르지만 (요청할때, 빌드할때) 사전렌더링이라는 기능은 nextjs에서 기본으로 작동한다고 알고 있습니다! 그래서 사전렌더링에서 완전 배제된다는 부분이 헷갈려서 질문 남깁니다!

  • react
  • typescript
  • next.js
JIN LEE 댓글 3 좋아요 0 조회수 191

34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

component 사용 시 에러 발생 function App() { return ( <Router> <div> <Routes> <Route path="/" element={Auth(LandingPage, null)} /> <Route path="/login" element={Auth(LoginPage, false)} /> <Route path="/register" element={Auth(RegisterPage, false)} /> */} </Routes> </div> </Router> ); } element 사용 시 아래처럼 진행하심 잘됩니다. (element 안에는 함수가 못들어간다하네요) function App() { const AuthLandingPage = Auth(LandingPage, null); const AuthLoginPage = Auth(LoginPage, false); const AuthRegisterPage = Auth(RegisterPage, false); return ( <Router> <div> <Routes> <Route exact path="/" element={<AuthLandingPage />} /> <Route exact path="/login" element={<AuthLoginPage />} /> <Route exact path="/register" element={<AuthRegisterPage />} /> </Routes> </div> </Router> ) }

  • react
  • node.js
해도디 댓글 1 좋아요 0 조회수 149

인기 태그

인프런 TOP Writers

주간 인기글