파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
asyncio.gather() 를 사용해 여러 요청을 동시에 처리하는데, 실제 프로덕션 환경에서는 어떻게 다루는지 궁금합니다. 예를 들어, 페이지를 1,000개 크롤링하거나 이미지를 수천 장 다운로드할 때 서버에 부하가 생기거나 IP 차단 같은 문제가 발생할 것 같습니다. 해결 방법으로 동시 요청 수를 제한하는 게 좋을까요? 만약 그렇다면 적절한 동시성 수준(5개? 10개? 50개?)은 어떤 기준으로 결정하나요?
안녕하세요! JWT 구현 중 verify_token 함수의 네이밍이 궁금합니다. app/core/jwt_handler.py def verify_token(token: str) -> int: payload = decode_token(token) return payload.get("uid") verify라는 이름은 보통 boolean을 반환할 것 같은데, 실제로는 uid(int)를 반환하고 있어서 조금 헷갈립니다. get_uid_from_token이나 extract_user_id 같은 이름이 더 명확하지 않을까요? 감사합니다!
위치: SingleTopic/Chart/ChartCanvas.jsx (39번 라인) 문제: stroke={colors[i].bg} // ❌ 현재 코드 원인: voteColors.js 의 실제 구조는 문자열 배열입니다 예: 2: ["#10B981", "#F43F5E"] .bg 프로퍼티가 존재하지 않아 undefined 반환 해결: stroke={colors[i]} // ✅ 수정 코드 결과: 수정 후 차트 선 색상이 정상적으로 표시됩니다. 제안: 후속 수강생들을 위해 강의 자료 업데이트 부탁드립니다. 강의 노션 코드에 오타가 너무 많아서 도움을 주는 자료인지 강의 진행을 방해하는 자료인지 모를 정도입니다. 솔직히 좀 심각합니다. 감사합니다.
문제 발생 섹션: 4-1. Footer 제작 문제 내용: 강의 자료에서 제공된 App.jsx 코드에 구조적 오류가 있습니다. 문제점: 1. RootLayout 컴포넌트 내부에서 <Outlet /> 컴포넌트를 사용하고 있으나, 라우터 설정에 자식 라우트(children routes)가 정의되어 있지 않습니다. 2.현재 라우터 구조: ``` const router = createBrowserRouter([ { path: "/", element: <LootLayout />, // children이 없음 - Outlet이 렌더링할 내용이 없음 }, ]); ``` 발생한 에러: Outlet 컴포넌트 관련 에러 발생 해당 코드 제거 시 정상 동작 제안 사항: 아래 두 가지 중 하나로 수정이 필요합니다: 방법 1) 자식 라우트가 없다면 Outlet 제거 ``` <main className="flex-grow container mx-auto px-4 py-8"> {/* <Outlet /> 제거 */} </main> 추가 의견: 해당 강의를 수강하면서 이번 건 외에도 여러 오류를 발견했습니다. 학습에 상당한 지장이 있는 상황이므로, 강의 전체에 대한 코드 검수 및 업데이트를 요청드립니다. 특히 React Router v6의 최신 문법과 개념(Outlet, createBrowserRouter 등)이 정확히 반영되었는지 재확인이 필요해 보입니다. 수강생들이 불필요한 디버깅 시간을 소비하지 않도록 조속한 개선 부탁드립니다.
안녕하세요, '리액트 + FastAPI로 투표 커뮤니티 플랫폼' 강의를 수강 중인 학습자입니다. 강의 자료의 코드를 그대로 따라했을 때 에러가 발생하여 제보드립니다. --- 📍 발생 위치: - 강의 섹션: [섹션 3/ch2. 메뉴바 제작] - 파일: src/Components/Navbar/index.jsx ❌ 발생한 에러: ReferenceError: logout is not defined 🔍 문제 원인: 강의 자료 코드에서 함수는 onLogoutClick , onLoginClick , onSignupClick 으로 정의했으나, 자식 컴포넌트에 전달할 때는 정의되지 않은 logout 변수를 사용하고 있습니다. 현재 강의 자료 코드: ``` javascript const onLogoutClick = () => { ... }; <AuthButtons logout={logout} /> // ❌ logout 미정의 <MobileMenu logout={logout} /> // ❌ logout 미정의 ``` 수정방법: <AuthButtons isAuthenticated={isAuthenticated} isOpen={isOpen} setIsOpen={setIsOpen} onLogoutClick={onLogoutClick} // ✅ 수정 onLoginClick={onLoginClick} // ✅ 추가 onSignupClick={onSignupClick} // ✅ 추가 /> <MobileMenu isOpen={isOpen} setIsOpen={setIsOpen} isAuthenticated={isAuthenticated} onLogoutClick={onLogoutClick} // ✅ 수정 onLoginClick={onLoginClick} // ✅ 추가 onSignupClick={onSignupClick} // ✅ 추가 /> 💡 제안: 이전 강의 자료에서는 올바르게 onLogoutClick 등을 전달하고 있었는데, 특정 시점부터 logout 으로 변경되면서 함수명과 불일치가 발생한 것으로 보입니다. 강의 자료 업데이트 부탁드립니다. 감사합니다.
6강에서 Cursor의 AI를 이용해서 프로그램의 뼈대를 만드는 부분에서 강사님과 같은 프롬프트를 써도 미묘하게 폴더 구조가 강사님과 다르게 작성이 됩니다. 프롬프트가 같다면 무조건 결과가 같은건지 아니면 다를 수도 있는지.. 가능하다면 강의에서 구성한 뼈대 부분을 파일로 제공해 주실 수 있는지 문의드립니다. (전부 화면을 보고 다 따라치려고 해도 강의 화면만 보고는 그것도 무리인거 같습니다.) 기왕이면 이후의 남은 강의들에도 소스 코드를 제공해 주시면 좋을 것 같습니다.
내가 타이타닉에 탔었다면?! PyTorch & Next.js로 생존 확률 예측 AI 웹 서비스 만들기
또한 next에서 실습시 사용한 폴더구조는 어떤 구조이며 , 상용화된 구조인가요? 궁금합니다. 추가로 닭강정님 강의 잘 듣고있습니다. 이번강의 완독후 electron 강의도 학습하려고하는데 프론트 프레임워크가 해당강의는 next인데 , electron강좌는 react인것같더라구요 next도 electron을 통해서 포팅가능한가요?
안녕하세요 우선 답변 정말 감사드립니다. 일단 말씀 해주신대로 해당 프로젝트에서 set PYTHONUTF8=1 명령어를 입력하고 다시 실행 했지만 계속 동일한 에러가 발생하고 있습니다. poetry shell 해당 명령어도 잘 되는 걸까요? 음... 라이브러리 설치가 안되서.. 강의 진행이 더 이상 안되네요... ChatGPT 도움도 요청 해보았지만 매끄러운 답변은 못 해주고 있어서 어쩔 수 없이 여기로 질문 글 드립니다. 기왕 돈 지불 하고 구입 한 강의 인데.. 여기서 포기 할 수 없습니다.ㅠㅠ 그래도 끝까지 들어야 하지 않나 해서요... 답변 부탁드립니다 ㅠ,ㅠ 참고로 OS 는 윈도우 입니다.
안녕하세요 선생님 일단 좋은 강의 만들어 주셔서 정말 감사드립니다. OS 는 윈도우 사용자이고 말씀해주신 python 3.11.3 poetry 1.4.2 설치를 끝냈습니다. 파이참 들어가서 말씀해주신대로 설정을 하고 OK 버튼을 클릭하면 여기서 라이브러리 목록이 나와야 하는데 목록이 안나오는 문제가 발생 하고 있습니다. 여기서 OK 버튼을 클릭하면 이렇게 문제가 발생 하고 있는데... 어떻게 해결 해야 할까요?...
안녕하세요. 강의 잘 따라 하고 있습니다. ^^ 섹션5 > 20. 매수 추천 종목 조회 API 코드 설명 강의 보다가, 몇가지 질문이 있어서 글을 남깁니다. get_combined_recommendations_with_technical_and_sentiment 함수에서 # 7. 종합 점수 계산 및 정렬 에 보면 tech_conditions_count = ( 1.5 * item["golden_cross"] + 1.0 * (item["rsi"] < 50) + 1.0 * item["macd_buy_signal"] ) item["composite_score"] = ( 0.3 * item["rise_probability"] + 0.4 * tech_conditions_count + 0.3 * sentiment_score ) 이런식으로 가중치를 주고 있는데, 이 가중치의 기준은 어떻게 정하셨나요? (제가 주식은 엄청 초보라서, 이 강의 보면서 학습하고있습니다) 그리고 강의 맨 처음에 얘기하셨지만, 국내 주식은 여러 이슈 때문에 분석이 쉽지 않다고 하셨는데 설명해주시는 코드의 로직으로는 전혀 분석이 안되는지도 궁금합니다.
pip를 공식사이트에서 받아서 직접 설치후 명령창에 "pip install fastapi uvicorn"을 입력하면 "warning : There was an error checking the latest version of pip"라는 문구가 뜹니다. 그런데 또 막상 Scripts폴더나 명령창에 pip list 확인시 설치가 되어있는걸 확인할수 있습니다. 이 메시지를 무시하고 진행해도 문제가 없을까요?