[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 좋은 강의 잘 듣고 있습니다. VideoPlayer을 포함한 위젯을 VideoPlayerWidget으로 Stateful 위젯으로 구현했습니다. 그리고 자식 위젯으로 아래 코드와 같이 GestureDetector > ApstectRatio > Stack 으로 구성하였습니다. Stack의 자식 위젯으로는 VideoPlayer, _PlayButtons, _Bottom 위젯을 가지고 있습니다. 이 때, VideoPlayer가 포함되어 있으면 GestureDetector의 onTap 메서드가 호출되지 않으며, VideoPlayer를 제외하는 경우 onTap 메서드가 호출되고 있습니다. 관련해서 자식의 터치 이벤트도 감지하기 위해 GestureDetector에 behavior 프로퍼티로 HitTestBehavior.opaque 값을 할당했지만, 그래도 VideoPlayer가 존재하는 경우 올바르게 동작하지 않고 있습니다. 혹시 어떤 부분이 문제인지 알 수 있을까요...? 감사합니다. 아래 코드는 VideoPlayerWidget의 build 메서드입니다. @override Widget build(BuildContext context) { return GestureDetector( behavior: HitTestBehavior.opaque, onTap: (){ print("onTap"); }, child: !isInitalized ? const CircularProgressIndicator() : AspectRatio( aspectRatio: videoPlayerController.value.aspectRatio, child: Stack( children: [ VideoPlayer(videoPlayerController), _PlayButtons( onLeft: onLeft, onPlay: onPlay, onRight: onRight, isPlaying: videoPlayerController.value.isPlaying, ), _Bottom( posMinutes: videoPlayerController.value.position.inMinutes, posSeconds: videoPlayerController.value.position.inSeconds, durationMinuets: videoPlayerController.value.duration.inMinutes, durationSeconds: videoPlayerController.value.duration.inSeconds, onSliderChanged: onSliderChanged, ), // _PickPicture(onPress: widget.onPickPicture,) ])), ); }
선생님 강의를 파트1,2 모두 수강하며 부족하지만 틈틈히 공부하고 있습니다. 바쁜일정을 핑계로 집중적으로 학습하지 못하는 점은 부끄럽습니다. 하지만 학습을 하면서 궁금한 점이 있습니다. ibkr이라는 우량한 브로커를 이용하시는데 들리는 말로는 실계좌 오픈이 까다롭다는 말을 들었습니다. 그리고 페어전략을 구성하려면 매수와 매도가 이루어져야 하는데 실계좌 오픈 후 한국 사용자가 매수매도 모두 이용할수 있나요? 그리고 주식뿐 아니라 외환이나 파생상품도 가능한지 궁금합니다. 그리고 실전적용시 시스템적으로 어떠한 부분을 주의해야하는지도 궁금합니다. 부족한 질문이지만 답변부탁드립니다.
안녕하세요. 11월 말에 진행될 실기 시험에 응시하고 싶은데, 강의가 10월 초에 만료될 예정입니다. 혹시 수강 기한을 11월 말까지로 연장해주실 수 있을까요? 그간 준비가 부족한 것 같아 실기접수-막판취소를 2회나 반복해서, 이번에는 꼭 미리 준비해서 실기 합격하고 싶습니다. 이메일 주소는 soohyun8190@gmail.com 입니다!
안녕하세요! 강의 잘 듣고 있습니다. 상태관리 패턴 중에 provider를 개선해서 만든 riverpod이 아닌, provider를 채택하신 이유가 있을까요?? 상태관리 라이브러리를 riverpod으로 입문했는데, 강사님께서 provider를 사용하시는 포인트가 궁금합니다!
안녕하세요! 하반기 채용 때문에 코딩테스트 찾아보다가 제가 너무 원했던 강의라서 결제 후에 개념 위주로 빠르게 보는 중입니다. 요약하자면 코딩테스트에서 DFS나 BFS 문제들이 나올 시에 기본적인 내용 + 문제해결력(테크닉) 으로 나오는 것 같은데 테크닉 적인 부분은 어떻게 공부를 해야될까요? 가령 https://school.programmers.co.kr/learn/courses/30/lessons/1832 풀이를 찾아보면 3차원(checked)으로 풀면 풀리긴 하는데, 제 직관으로는 각 그래프 경로를 분리해낸다는 컨셉이 당연하게 느껴지지가 않더라구요. 이런 까다로운 문제를 상대하려면 어떤 부분이 잘 준비되어 있어야 할까요? 강의 중에 비슷한 문제가 있다면 그부분 해설강의 꼼꼼히 봐보려고 합니다
선생님 안녕하세요. 오늘 재접수 했습니다. 열기가 대단한 지 두시간 반만에 집근처는 모두 마감이라 한시간 내외의 거리로 접수했어요 지난번에 요청드렸었던 내용으로 재 요청 드립니다. 영상에서 사용하신 문제를 다시 풀어볼 수가 없어서요(종이로 써가면서..) 영상 캡쳐도 안되더라고요 문제 모음집 파일 요청 드립니다.
현재 커리큘럼을 모두 수강 후에 아래 실습이 가능한지 여쭤봅니다! (파이썬으로 단순 분석 및 크롤링은 가능하다는 전제하에 airflow 배치 및 기타 기술적인 요소에 대해 궁금합니다.) 1~2주에 한번 배치 작업 Task 1 유튜브 A 채널의 영상 자막 + 댓글 크롤링 Task 2 크롤링 된 컨텐츠 별 자막 내용에 기반하여 ChatGPT를 활용한 영상 내용 요약 -> 블로그 포스팅 Task 3 컨텐츠별 자막 텍스트 분석으로 컨텐츠별 조회수, 댓글 수 , 긍부정 비율 대시보드 시각화 파이썬으로 크롤링 코드 및 텍스트분석이 가능하다는 전제하에, 위 TASK들을 AIRFLOW를 사용해 자동화하는 프로젝트를 현재 영상에서 알려주시는 지식으로 구현가능한지궁금합니다! 아직 끝까지 수강 전이라 질문의 내용이 부족할 수 있지만, 블로그포스팅 자동화, 대시보드 시각화 내용이 있는 듯 해서 여쭤봅니다! 그리고 현재 커리큘럼에는 Api로 데이터 받아오는 실습만 있는데, 크롤링으로 데이터를 가져오게되면 달라지는 부분이 많을지도 궁금합니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
data_set = {'apple', 'dell', 'samsung', 'lg'} if 'apple' in data_set: print(data_set) 출력 시 {'lg', 'apple', 'samsung', 'dell'} 이렇게 순서가 뒤섞여 나옵니다. 왜 그런걸까요?
안녕하세요. 네이버 지식인 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())
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. HAXM 설치 도움 부탁드립니다. 증상 : emulator 설치편에서 device manager 메뉴에서 Flutter Inflearn 은 잘설치되고, start 를 하니까 HAXM 설치하라고 하여 진행하니 다음 에러 발생했습니다.BIOS에서VT-x는 support로 되어 있는것 확인했습니다. 어떻게 해결해야되는지 도와 주세요. Intel HAXM is required to run this AVD. HAXM is not installed. Install Intel HAXM for better emulation performance. 경고가 뜨서 SDK tool에서 Intel x86 Emulator Accelerator... 체크해서 apply 하니까 다음 에러 메세지 만났습니다. Running Intel ® HAXM installer Intel HAXM installation failed! For more details, please check the installation log: C:\Users\beamw\AppData\Local\Temp\haxm_install-20240909_2145.log Intel ® HAXM installation failed. To install Intel ® HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows Done
안녕하세요! 항상 수고많으십니다. 다름이 아니라 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>