class SessionManager { static object _lock1 = new object(); public static void Test() { lock (_lock1) { UserManager.TestUser(); } } public static void TestSession() { lock (_lock1) { } } } class UserManager { static object _lock2 = new object(); public static void Test() { lock (_lock2) { SessionManager.TestSession(); } } public static void TestUser() { lock (_lock2) { } } 강의에는 두 클래스에 같은 _lock 써서 헷갈려서 lock1, lock2 로 나누었습니다. SessionManager.Test(); 하려면 lock1을 열고 들어가서 lock2를 열어야함. UserManager.Test(); 하려면 lock2을 열고 들어가서 lock1을 열어야함 예를 들어, t1이 lock1을 열고 들어가서 TestUser()을 하려고 했지만, 하필 t2가 lock2를 열자마자 들어갔을경우 t1은 lock2가 잠겨있어서, t2는 lock1이 잠겨있어서 둘다 아무것도 못하는 상황 = 무한 대기 걸려서 프로그램이 멈춘것 처럼 보이는 데드락 상황 이렇게 이해했는데 맞을까요?
맥북m2 사용중입니다. venv환경에서 pip install lightgbm==3.3.2를 했지만 아래와 같은 오류가 나옵니다. 3.3.2없이 가장 최신 버젼이 4.5.0은 아주 쉽게 잘 설치가 됩니다. 혹시 강의를 수강할 때 3.3.2가 꼭필요한가요? conda 환경으로 설치를 진행해도 3.3.2는 설치가 안되더라구요ㅠㅠ 구글링을 해서 하라는 것은 다 했는데 해결이 안나와서 문의 드립니다.. ========================================== pip install lightgbm==3.3.2 Collecting lightgbm==3.3.2 Using cached lightgbm-3.3.2.tar.gz (1.5 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting wheel (from lightgbm==3.3.2) Using cached wheel-0.44.0-py3-none-any.whl.metadata (2.3 kB) Requirement already satisfied: numpy in ./study/lib/python3.9/site-packages (from lightgbm==3.3.2) (1.24.3) Requirement already satisfied: scipy in ./study/lib/python3.9/site-packages (from lightgbm==3.3.2) (1.13.1) Requirement already satisfied: scikit-learn!=0.22.0 in ./study/lib/python3.9/site-packages (from lightgbm==3.3.2) (1.0.2) Requirement already satisfied: joblib>=0.11 in ./study/lib/python3.9/site-packages (from scikit-learn!=0.22.0->lightgbm==3.3.2) (1.4.2) Requirement already satisfied: threadpoolctl>=2.0.0 in ./study/lib/python3.9/site-packages (from scikit-learn!=0.22.0->lightgbm==3.3.2) (3.5.0) Using cached wheel-0.44.0-py3-none-any.whl (67 kB) Building wheels for collected packages: lightgbm Building wheel for lightgbm (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for lightgbm (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [83 lines of output] INFO:root:running bdist_wheel INFO:root:running build INFO:root:running build_py INFO:root:creating build/lib/lightgbm INFO:root:copying lightgbm/callback.py -> build/lib/lightgbm INFO:root:copying lightgbm/compat.py -> build/lib/lightgbm INFO:root:copying lightgbm/plotting.py -> build/lib/lightgbm INFO:root:copying lightgbm/__init__.py -> build/lib/lightgbm INFO:root:copying lightgbm/engine.py -> build/lib/lightgbm INFO:root:copying lightgbm/dask.py -> build/lib/lightgbm INFO:root:copying lightgbm/basic.py -> build/lib/lightgbm INFO:root:copying lightgbm/libpath.py -> build/lib/lightgbm INFO:root:copying lightgbm/sklearn.py -> build/lib/lightgbm INFO:root:running egg_info INFO:root:writing lightgbm.egg-info/PKG-INFO INFO:root:writing dependency_links to lightgbm.egg-info/dependency_links.txt INFO:root:writing requirements to lightgbm.egg-info/requires.txt INFO:root:writing top-level names to lightgbm.egg-info/top_level.txt INFO:root:reading manifest file 'lightgbm.egg-info/SOURCES.txt' INFO:root:reading manifest template 'MANIFEST.in' WARNING:root:no previously-included directories found matching 'build' WARNING:root:warning: no files found matching '*.so' under directory 'lightgbm' WARNING:root:warning: no files found matching '*.so' under directory 'compile' WARNING:root:warning: no files found matching '*.dll' under directory 'compile/Release' WARNING:root:warning: no files found matching '*.dll' under directory 'compile/windows/x64/DLL' WARNING:root:warning: no previously-included files matching '*.py[co]' found anywhere in distribution WARNING:root:warning: no previously-included files found matching 'compile/external_libs/compute/.git' INFO:root:adding license file 'LICENSE' INFO:root:writing manifest file 'lightgbm.egg-info/SOURCES.txt' INFO:root:copying lightgbm/VERSION.txt -> build/lib/lightgbm INFO:wheel:installing to build/bdist.macosx-10.9-universal2/wheel INFO:root:running install INFO:LightGBM:Starting to compile the library. INFO:LightGBM:Starting to compile with CMake. Traceback (most recent call last): File "<string>", line 95, in silent_call File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 373, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-install-_35mq2ue/lightgbm_4b238c34e6dd4d93979880ebb06cf41d/compile']' returned non-zero exit status 1. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/ike/py3-9/study/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> main() File "/Users/ike/py3-9/study/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/Users/ike/py3-9/study/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel return build backend().build_wheel(wheel_directory, config_settings, File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 421, in build_wheel return self._build_with_temp_dir( File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 403, in build with_temp_dir self.run_setup() File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 503, in run_setup super().run_setup(setup_script=setup_script) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 318, in run_setup exec(code, locals()) File "<string>", line 334, in <module> File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 117, in setup return distutils.core.setup(**attrs) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 183, in setup return run_commands(dist) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 199, in run_commands dist.run_commands() File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands self.run_command(cmd) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command super().run_command(command) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 973, in run_command cmd_obj.run() File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_vendor/wheel/bdist_wheel.py", line 403, in run self.run_command("install") File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command self.distribution.run_command(command) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command super().run_command(command) File "/private/var/folders/q_/cgds3zcd57z43n2hc_mfsklr0000gn/T/pip-build-env-nmcdsyxm/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 973, in run_command cmd_obj.run() File "<string>", line 248, in run File "<string>", line 198, in compile_cpp File "<string>", line 99, in silent_call Exception: Please install CMake and all required dependencies first The full version of error log was saved into /Users/ike/LightGBM_compilation.log [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for lightgbm Failed to build lightgbm ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (lightgbm) ==========================================
한번 풀어보고 강의 들을려했는데, 문제 보자말자 울렁증이 와서 포기했습니다.. 자꾸 이러면 안되는데 큰일입니다 ㅠㅠ 자바쪽이 유독 이러네요.. 영상 설명에는 count변수(기본생성자) 에 대한 설명을 듣지 못한것 같은데, _inst = new Connetion(); 를 통해 생성함으로써 기본생성자 private Connetion()를 불러왔다고 인지하고 있는데 맞는가요? 또한 현재 어떤부분이 부족한지를 인지를 못하겠네요 강의를 다시한번 정독해야할지 고민입니다.. 정답률이 50%가 채 안되네요..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 노션 기간이 있는걸까요??? 갑자기 사라졌습니다. 다시 초대해주시면 감사드리겠습니다 ㅠㅠ
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip driver = webdriver.Chrome() driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") #네이버 로그인 페이지 링크 time.sleep(1) id = driver.find_element(By.CSS_SELECTOR, "#id") pyperclip.copy(user_id) id.send_keys(Keys.COMMAND, 'v') time.sleep(1)pw = driver.find_element(By.CSS_SELECTOR, "#pw") pyperclip.copy(user_pw) #pw.send_keys(pyperclip.paste()) pw.send_keys(Keys.COMMAND, 'v') time.sleep(1) driver.find_element(By.CSS_SELECTOR, "#log\\.login").click()\ 안녕하세요 위와 같이 네이버 자동로그인 시도해도 여전히 자동입력방지 문자 입력화면 우회가 현재는 안되는데요. 다시 해보니 대부분 우회되는데 가끔씩 안되는 경우가 있네요. id, password를 복붙하는 것이 현재로는 유일한 우회방법인 것이죠?
잘 쓰던 아나콘다 주피터노트북이 갑자기 안 열립니다.. 클릭해서 열면 바로 꺼지는데, 프롬프트를 열어보면 지정된 경로가 없다고 합니다. 몇달 전까지만 해도 잘 되다가 오랜만에 키니까 안돼서 어떻게 해야할 지 모르겠습니다. 완전히 제거하고 하기에도 이미 해놓은 것들을 살리거나 변경하는 능력까진 없어서. 이 상태에서 문제만 해결되길 바라고 있습니다..
안녕하세요. 강의 잘 보고 있습니다. 질문 드립니다. t1, t2 두 개의 쓰레드를 만들고 실행시켰습니다. t1.Start(); t2.Start(); Start()라는 함수가 쓰레드 클래스 말고 싱글 쓰레드 개발환경에서의 그냥 아무 함수라고 가정한다면, t1.Start()가 먼저 실행되고 Start함수가 끝날때 까지 기다린 후 t2.Start()가 먼저 실행되는게 '문법적으로' 맞잖아요?? 하지만 쓰레드 클래스의 경우에는 t1.Start() 가 들어왔을때는 t1 쓰레드한테 어떤 일을 실행 시킨 후 t1이 작업 끝나던 말던 바로 다음줄 코드를 실행 시키는건가요? 즉, t2.Start() 를 실행 시키는건가요? 그렇게 해서 각 쓰레드(일꾼)이 작업을 하다 여러 문제들이 생기는거구요 멀티 쓰레드 개발환경에서 일어날 수 있는 문제점은 확실하게 이해하고 있는데, 제일 첫 부분인 이게 도통 이해가 안돼서 질문 남깁니다. 그동안 해오던 코딩이 부정당하는 기분이라... 쓰레드 클래스만 저런식으로 작동된다는 정보가 어디에도 없네요.. 문법적으로 저렇게 된다고 확신이 필요합니다 ㅠㅠ 요약하자면, 컴파일러는 'Start 함수' 를 만나게 될 경우 그 쓰레드한테 작업을 실행시키지만, 그 쓰레드의 작업을 기다려 주지는 않고 바로 다음 줄 코드를 실행 시키는건가요?
23회 3회기출 풀다 구조체 내용이 전혀 기억이 나지않아 복습중입니다! 다시 보게되니 첫번째 회독땐 안보이던 것이 보이기 시작하는듯 합니다. 먼저 struct Car myCar를 선언함으로써 int형이나 float형 등 숫자형에 대해선 myCar.year등 선언함으로써 그냥 가져다 쓰는 것을 볼 수 있는데요 다만 char형에 대해선 안그런것을 볼 수 있습니다 배열 선언을 하였으나 for문을 사용하여 문자를 복사하여 myCar.model에 넣는다던지 혹은 strcpy인 카피를 하여 넣는다던지.. 숫자형에 비해 특수하다는 느낌을 좀 받는데요.. 질문1 : struct Car myCar 는 Car의 선언내용을 myCar에 똑같이 선언해라(복사) 라는 뜻이 아닌가요? 질문2 : char형 후 배열방식이 이렇다함은, 같은 문자방식인 string형도 똑같을까요? 자바의 생성자나 업캐스팅 등 상속내용을 배우다 보니 더더욱 헷갈리는거 같네요...
강의를 보고 있는데 프린트에 역슬래쉬n 이 있을 때 계행한다는거는 이해했습니다. 그런데 출력값: 이라고 쓰시고 바로 연달아서 쓰시는 문제도 있고 아래행에 쓰시는 경우도 있던데 이거는 신경안써도 되나여?? 출력값: <- 이거는 정답에 작성 안하고 바로 답을 써도 되는건가여?
안녕하세요. 강의 정말 잘 듣고 있습니다. 다름이 아니라 XGBoost 실습 시에 사이킷런 wrapper XGBClassifier.fit ()파라미터가 바뀐 것 같아서 건의 드립니다. 공식 python API를 들어가보면 xgboost.XGBClassifier parameter에 early_stopping_rounds와 eval_metrics가 포함된 것 같습니다. .fit()메소드가 아닌 xgb 객체에 들어가는 파라미터로 바뀐 것 같습니다. 아마 버전이 바뀌면서 파라미터 위치도 바뀐 것 같습니다. 이 부분은 소스코드가 수정되어야 할 것 같습니다.
각각 if의 매커니즘은 이해가 되는데요 i와 j가 한개씩 커지는게 break문 밑에 i++ j++때문인가요? if가 연달아 있으니 순서가 헷깔려요 첫번째 if의 i구문따로 보고 두번째 if의 j구문 따로보고 마지막 if의 프린트를 따로 보면 이해가 되는데 전체적으로볼때 i++과 j++이 따로 밑에 있는게 이해가안되네요ㅠ그럼 동시에 계속 같이 커지고 있고 i는 i대로보고 j는 j대로 보면 되는가요?
Cannot find reference 'Iamport' in '__init__.py' 라면서 참조를 못합니다ㅜ 파이참 쓰고 있고 init_py 파일에는 이 소스가 끝입니다 ㅜ 나머지 client.py , client.pyi에는 Iamport가 클래스로 정의되어 있는데 왜 이런지 모르겠습니다ㅜ