04_flask_ABTest에서 blog_abtest.py 실행 시 오류입니다.
미해결
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
죄송합니다만, flask_login을 찾을 수 없다는 오류가 나는데 확인 부탁드립니다.
- python
- rest-api
- flask
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
죄송합니다만, flask_login을 찾을 수 없다는 오류가 나는데 확인 부탁드립니다.
해결됨
스프링 DB 1편 - 데이터 접근 핵심 원리
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 예외처리 부분을 듣고 궁금한 점이 있어 질문 남깁니다. 강의에서 하위 레벨의 체크 예외가 서비스, 컨트롤러로 올라오는 것이 문제라고 하셨는데, 리포지토리와 같이 해당 예외가 직접 발생하는 곳에서 try~catch로 잡아서 처리하면 상위 레벨로 올라오지 않을텐데 그렇게 처리하지 않는 이유는 뭔가요? 어차피 대부분 복구 불가능한 예외라 시스템 상에서는 로그를 남기는 것 밖에 하지 못하고, 왜 하위 레벨에서는 처리하지 않는지 궁금합니다. 밖으로 던져서 공통으로 처리할거면 리포지토리에서 처리해도 공통으로 처리되는 효과가 있는게 아닌지.. 동일한 리포지토리를 여러 서비스에서 사용할 때 비즈니스 로직에 따라 같은 리포지토리 메서드여도 다른 오류 메세지를 보여줘야 해서 그런걸까요..?
해결됨
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
[질문 내용] 강의에서는 이와 같은 페이지를 만들고 끝나는데 실제 고객이 이런 페이지를 마주치게 된다면 메인 페이지로 이동 버튼을 두어 되돌아가게 하는 형태로 사용하게 되는지 또는 다시 구글에 검색해서 다시 사이트를 들어간다던지 등 어떤식으로 고객이 사용할 수 있도록 구성해야 되는지 질문드립니다.
미해결
스프링 DB 1편 - 데이터 접근 핵심 원리
@Override public Member findById(String memberId) { String sql = "select * from member where member_id = ?"; return template.queryForObject(sql, memberRowMapper(), memberId); } private RowMapper<Member> memberRowMapper() { return (rs, rowNum) -> { Member member = new Member(); member.setMemberId(rs.getString("member_id")); member.setMoney(rs.getInt("money")); return member; }; } 이 코드에서, 1. 해당 람다식은 파라미터로 rs와 rowNum을 받아서, 중괄호 부분을 실행한후 결과를 리턴하는것인가요? 그렇다면 rowNum의 역할은 무엇인지 궁금합니다. 또, 람다 내부의 rs와 rowNum 파라미터의 매개값은 어떻게 대입되는것인가요 ..? 람다식부분이 이해가 되지않아서 질문드립니다. 2. 이 코드에서 return member;를 하면 Member객체가 반환되는데 실제 리턴타입은 RowMapper<Member>로 되어있는데 어떻게 RowMapper<Member>타입으로 반환될수 있는것인지 질문드립니다. 3. queryForObject()의 리턴타입은 Member인데, 어떻게 Member가 되는것인가요 ?
해결됨
Next.js 시작하기
안녕하세요. 면접준비에 도움이 될 거 같고 개념적으로도 궁금해서 질문드립니다. 장바구니에서 삭제를 하면 갱신되는데에 동작원리에서 처음엔 router.replace(router.asPath) 때문에 url이 변경되진 않아도 단순하게 /cart 로 이동이란 동작을 해서 페이지를 다시 그린다고 생각했습니다. CartList 는 CartPage 의 자식 컴포넌트이다. CartPage 는 getServerSideProps 로 서버에서 받아온 데이터를 프롭스(carts)로 받으며, 그 프롭스를 CartList 에게 전달해주고 있다. CartList 는 부모컴포넌트에게 받은 carts 프롭스를 통해 장바구니 목록을 보여주고 있다. 장바구니에서 상품을 삭제하면, 선택한 상품을 서버에서 삭제하고 router.replace 를 통해( router.push 도 동일) 현재 페이지(asPath)인 /cart 로 이동한다. /cart 페이지(즉, CartPage.jsx )가 리렌더링된다. 리액트는 리렌더링되면 컴포넌트의 모든 코드를 다시 실행하게 된다.(고 알고 있습니다.) 그로 인해 getServerSideProps 가 다시 실행되고 갱신된(장바구니에서 상품을 삭제한) 데이터를 다시 CartPage 에게 프롭스로 내려주게 된다. 프롭스가 변경됐으니 자식 컴포넌트인 CartList 도 리렌더링되어 모든 코드가 다시 실행된다. 바뀐 장바구니 데이터로 보여지게 된다. 라고 생각했는데요. https://nextjs.org/docs/pages/building-your-application/data-fetching/get-server-side-props#behavior 공식문서를 살펴보니 사용자가 Link 컴포넌트 또는 router를 통해 페이지를 방문할 때 , Next.js는 서버에 API 요청을 보내 getServerSideProps를 실행 합니다. 라고 되어있습니다. 이러면, 현재 CartList 는 CartPage 의 자식 컴포넌트이다. CartPage 는 getServerSideProps 로 서버에서 받아온 데이터를 프롭스(carts)로 받으며, 그 프롭스를 CartList 에게 전달해주고 있다. CartList 는 부모컴포넌트에게 받은 carts 프롭스를 통해 장바구니 목록을 보여주고 있다. 장바구니에서 상품을 삭제하면, 선택한 상품을 서버에서 삭제한다. router.replace 를 통해( router.push 도 동일) 현재 페이지(asPath)인 /cart 로 이동한다. router를 통해 페이지를 방문했으므로 CartPage 의 getServerSideProps 가 다시 실행되고 갱신된 데이터를 CartPage 에게 프롭스로 내려주게 된다. 프롭스가 변경됐으니 자식 컴포넌트인 CartList 도 리렌더링되어 모든 코드가 다시 실행된다. 바뀐 장바구니 데이터로 보여지게 된다. 이렇게 이해하면 될까요? 그리고, getServerSideProps 가 있는 페이지 컴포넌트는 getServerSideProps 가 재실행되면 자동으로 리렌더링되게 되는 구조인가요? 설명해주셨는데 제가 놓친거면 죄송합니다.
미해결
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요. 네이버 지식인 GUI 강의하신 내용 참고하여, 네이버 쇼핑을 GUI 로 만들어 보았습니다. 여러번 버버벅 거리면서 수정하여, GUI 에 제품명을 담고, 엑셀로도 제품명과 링크 저장하는데 까지 성공했습니다. 그런데, 네이버로 부터 ip 일시적 차단 경고 받았습니다. 사전에 ip 차단 염려하여 1 페이지만 크롤링했고, 코드에서는 2군데 time.sleep(2)도 두었는데도 , 네이버로 부터 경고 받았습니다. 그래서, 더 진행하다가 아예차단될까 두려워서 방법 문의 드립니다. 네이버 쇼핑 경고 ; 쇼핑 서비스 접속이 일시적으로 제한되었습니다. 네이버는 안정적인 쇼핑 서비스 제공하고자 시스템을 통해 아래와 같은 비정상적인 접근이 감지될 경우 해당 네트워크의 접속을 일시적으로 제한하고 있습니다. 상품 구매, 탐색과 무관한 외부 이벤트를 통한 접속 짧은 시간 내에 너무 많은 요청이 이루어진 IP VPN을 사용하여 접속한 IP 특정 확장 프로그램 이용 시 위와 같은 접근이 아님에도 접속이 제한된 경우,네이버앱을 업데이트 또는 원클릭 진단을 부탁드립니다. 해당 방법을 통해서도 접속이 불가한 경우 네이버쇼핑 고객센터로 문의 부탁드립니다. 적용된 코드 입니다; 차단 원인과 해결방법 도와주세요~~ 감사합니다 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from PySide6.QtWidgets import QApplication,QWidget from nShopping_c_ui import Ui_Form import requests import sys import time from bs4 import BeautifulSoup import pandas as pd from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class MainWindow_c2(QWidget,Ui_Form): def __init__(self): super().__init__() self.setupUi(self) self.start_btn.clicked.connect(self.start) self.reset_btn.clicked.connect(self.reset) self.save_btn.clicked.connect(self.save) self.quit_btn.clicked.connect(self.quit) def start(self): input_keyword=self.keyword.text() input_page=int(self.page.text()) self.result=[] # 적재창고 건설 # 크롬 드라이버 생성 self.driver=webdriver.Chrome() for i in range(1, input_page+1): self.textBrowser.append(f'{i}페이지 크롤링...') self.driver.get(f"https://search.shopping.naver.com/search/all?adQuery={input_keyword}&origQuery={input_keyword}&pagingIndex={i}&pagingSize=40&productSet=total&query={input_keyword}&sort=rel×tamp=&viewType=list") #스크롤 전 높이 확인 last_height=self.driver.execute_script("return document.body.scrollHeight") while True: #스크롤 끝까지 내리기 self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") #잠시대기 time.sleep(2) # 스크롤 후 높이 new_height=self.driver.execute_script("return document.body.scrollHeight") # 비교(if, break) if new_height==last_height: break # 스크롤 전 높이 업데이트 last_height=new_height html=self.driver.page_source soup=BeautifulSoup(html,'html.parser') #나무태그 찾기 items=soup.select(".product_item__MDtDF") for item in items: # 각 아이템에서 제목과 링크 추출 name=item.select_one(".product_title__Mmw2K>a").text link=item.select_one(".product_title__Mmw2K>a").attrs['href'] self.textBrowser.append(name) self.result.append([name, link]) QApplication.processEvents() time.sleep(2) self.textBrowser.append('크롤링 완료...') def reset(self): self.textBrowser.setText("") self.keyword.setText("") self.page.setText("") def save(self): input_keyword=self.keyword.text() df=pd.DataFrame(self.result,columns=['제목','링크']) df.to_excel(f'{input_keyword}_d.xlsx') def quit(self): self.driver.quit() # 크롬 드라이버 종료 sys.exit() app=QApplication() window=MainWindow_c2() window.show() sys.exit(app.exec())
미해결
[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요! 항상 수고많으십니다. 다름이 아니라 scikit learn 1.0.2 version을 다운로드 할때 아래의 오류가 발생하는데 해결법이 있을까요? 감사합니다. (base) C:\Windows\system32>pip install scikit-learn==1.0.2 Collecting scikit-learn==1.0.2 Using cached scikit-learn-1.0.2.tar.gz (6.7 MB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [33 lines of output] Traceback (most recent call last): File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module> main() File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 112, in get_requires_for_build_wheel backend = build backend() ^^^^^^^^^^^^^^^^ File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 77, in build backend obj = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Admin\anaconda3\Lib\importlib\__init__.py", line 90, in import_module return bootstrap. gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1310, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 995, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-7t2zd14d\overlay\Lib\site-packages\setuptools\__init__.py", line 16, in <module> import setuptools.version File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-7t2zd14d\overlay\Lib\site-packages\setuptools\version.py", line 1, in <module> import pkg_resources File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-7t2zd14d\overlay\Lib\site-packages\pkg_resources\__init__.py", line 2172, in <module> register_finder(pkgutil.ImpImporter, find_on_path) ^^^^^^^^^^^^^^^^^^^ AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. (base) C:\Windows\system32>
해결됨
세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
c++로 코딩 테스트를 준비해야 되는데, 파이썬이라도 괜찮다고 생각해 결제하긴 했지만, 동영상에 c++ 자료가 보여서 혹시 질문 드립니다! 현재 노션에는 싹 빠져있는 것 같아서요 따로 공개는 되지 않나요?
해결됨
세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
제가 알기로는 int 자료형이 4바이트로 알고 있는데 보통 1바이트라고 하셔서 제가 오개념을 알고 있는 것 같은데 아무리 생각해도 맞지 않는 것 같아서 질문 드립니다! int 자료형인데 왜 1바이트인지 궁금합니다!
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
영상 대략 28분 30초 부분 출력값을 보면, 'apple banana cherry'이렇게 printf 후에 한칸씩 띄어쓰기가 되어있는데, printf 이후에 무조건 띄어쓰기 한칸을 해줘야하는 건가요?
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
마지막 10초 정도 jsp 안쓴다고 말씀해주셨는데 제가 학교에서 jsp를 배우게 되었습니다 혹시 이 수업이 도움이 별로 되지 않을까요?? 어떻게 학습해야 될지 고민이 됩니다
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
css selector 사용해서 크롤링하기 1 강의도중에 아래와같이 작성후 run 실행시켜도 결과가 안나오고 아무런 반응이없습니다. 에러도 안뜨고 보시다싶이 다른셀 실행되는것도 없는데 이런문제는 어덯게 해결하나요?
미해결
[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
처음 시작할때 cd로 이동후 mysql startup.bat 하면 비슷하게 뜨다가 이렇게 다시 돌아오고 시작이 안되는데 뭐가 문제일까요? 에러메세지도 없어서 뭐가 문제인지 모르겠네요 ㅠㅠ
미해결
코드로 배우는 React 19 with 스프링부트 API서버
드디어 완강 하였네요.. 이 강의 난의도가 초급이라던데 어려운 부분도 많긴 했어요. 이제 중급 실력되는건가요? ^^;;; 스프링은 모든 내용이 이해가되긴한데 React 쪽이 어렵네요... 아마도 문법이 다양하고 오류 잡기도 어려워서 그렇겠죠? ㅎㅎㅎㅎ intelij 도 만기가 끝나가네요... visual studio code, intelij community학습 목적엔 위 2개로 개발 연습해도 되나요?? 다음으로 학습해야될 스프링 학습은 어떤걸 해야될까요? 잡 사이트 보니깐 코틀린 + 스프링은 쓰는 곳이 없네요... 인기가 없나... 진짜 매력적인 언어인데.
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 3 서블렛 프로젝트 생성 파트에서 이렇게 실행을 하면(무료버전이라 빌드 실행에서 Gradle로 설정) 이렇게 실행 자체는 되는데 왼쪽 상단에 보면 딜레이가 되고 있네요. 종료를 하고 나면 이렇게 에러가 발생하는데 어떻게 해결하나요?
미해결
만들면서 배우는 리액트 : 기초
변경된 api 주소를 사용하면 text가 안나오는데, 이럴 경우에는 이미지 위에 text가 나오도록 기능을 따로 만들어야 하나요?
해결됨
한 입 크기로 잘라먹는 Next.js
안녕하세요! NextJS 에 대한 Flow 설명중 질문이 있습니다 9:01 Timeline 유저의 접속요청시 해당 페이지에 대한 내용만 랜더링하여 HTML 을 반환하는 걸까요? 그게 아니고 설명하신 모든 컴포넌트에 대한 렌더링이 이루어지는 것이라면 CSR 방식과 마찬가지로 HTML 반환이 늦어지지 않나 싶습니다 또한 사전 렌더링이 NextJS 서버가 부팅시 이루어지는 행위인지 궁금합니다! (서버 부팅시 랜더링된 HTML 이 생성되는지)
미해결
따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
TypeError: Cannot read properties of null (reading 'useState') 현재 27강 듣고있는데 저런에러가 나오네요.. 어떤게 문제인가요ㅜㅜ
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요~ 갑자기 궁금함이 생겨 질문 드립니다~ 영한님이 진행 해주시는 강의는 대부분 Spring boot로 진행 되는것으로 아는데, Spring으로 진행 하는 강의 가있나요? 답변부탁드립니다. 감사합니다.
미해결
[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요 강사님 강의 모두 결제해서 듣고 있는 13년차 직장인 겸 학생입니다. MAC OS 아나콘다 환경에서 현재 4.4.5가 기본으로 깔리는데 처음문제는 early_stopping_rounds=50 였습니다. 그래서 3.3.2로 버전을 맞춰서 import lightgbm 하는데 문제가 생겨서 몇시간동안 헤매대가 결국 해결책을 찾아서 공유합니다. 1. . MacOS에서 OpenMP를 설치하고 LightGBM이 이를 참조할 수 있도록 설정해야 합니다. 1. Homebrew 설치 먼저 Homebrew가 설치되어 있는지 확인하세요. Homebrew는 Mac에서 패키지를 관리하는 도구입니다. Homebrew가 설치되지 않았다면, 아래 명령어로 설치할 수 있습니다 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh )" 2. libomp 설치 libomp 는 OpenMP 라이브러리입니다. Homebrew를 통해 쉽게 설치할 수 있습니다. brew install libomp 이 명령어는 libomp 를 설치하여, LightGBM이 OpenMP에 접근할 수 있게 만듭니다. 3. Anaconda 환경에서 환경 변수 설정 설치된 libomp 경로를 Anaconda 환경에서 참조하도록 설정해야 합니다. ~/.bash_profile 또는 ~/.zshrc 파일에 다음을 추가하세요. export PATH="/usr/local/opt/libomp/bin:$PATH" export LDFLAGS="-L/usr/local/opt/libomp/lib" export CPPFLAGS="-I/usr/local/opt/libomp/include" **팁Homebrew를 통해 설치된 libomp 의 경로를 확인하려면 다음 명령어를 터미널에 입력하세요: brew --prefix libomp 그 후 터미널에서 다음 명령어를 실행해 환경 변수를 적용하세요: source ~/.bash_profile # 또는 ~/.zshrc 4. LightGBM 재설치 pip uninstall lightgbm pip install lightgbm==3.3.2 ~ 끝 ~ 강사님 항상 업데이트 잘해주셔서 저도 도움이 되고자 올립니다.