안녕하세요. 오늘도 Airflow 강의를 듣던 중 에러가 나는 부분이 있어 질문드리고자 합니다 ㅠ 우선 customized 된 Hook의 bulk_load 기능을 사용하는 과정에서 에러가 발생하는데요.. 강의에서 알려주신대로 아래와 같이 두 개의 파이썬 파일을 작성해서 DAG을 실행했습니다. (코드도 GitHub에 올려주신 것과 동일합니다) plugins/hooks/custom_postgres_hook.py dags/dags_python_with_custom_hook_bulk_load.py 그런데 DAG 실행 과정에서 아래와 같은 에러가 발생합니다. (Failure caused by 'Engine' object has no attribute 'cursor') 제가 docker-compose.yaml 파일 내 postgres_custom 서비스를 정의할 때, 5433:5432 로 포트 포워딩 해줘서 그런가 싶어서, custom_postgres_hook.py 코드에서 uri 변수에 포트번호를 5432로 같이 부여해줬음에도 동일한 에러가 발생합니다. 무엇이 문제일까요..?
강사님 안녕하세요! 분류 평가 오차행렬 관련해서 궁금한 점이 있습니다. 3.1 정확도 주피터노트북의 Confusion Matrix 코드에서 MNIS 데이터에 대해 오차행렬 평가를 하는데, 이때는 FP, TP가 나오지 않는 이유가 classifier가 dummy classifier로 더 정확한 분류를 하지 못했기 때문이 맞을까요?
안녕하세요, 학습하던중 궁금증이 생겨 질문을 드립니다. 데코레이터의 개념이 잘 와닿지가 않는데 수업에서 사용했던 @login_required , @method_decorator들은 라이브러리나 모듈처럼 내부로직이 따로 있는건가요? 인증구현을 위해 작성한 긴 코드가 저거 한줄로 끝난다니 조금 의야해서요..만일 그렇다면, 저희가 처음에 인증구현을 위해 코드를 썼던더 처럼 데코레이터를 적용하기위해 데코레이터내부 코드를 작성해주지 않아도 되는건가요?
안녕하세요, 수강 중 문의사항이 있어 질문 남깁니다. 알고리즘에 따라 무한 스크롤 처리 방법을 실행하는 과정에서, scroll 전과 후의 높이가 같은지 비교를 위해 if last_height == new_height: break last_height = new_height 라고 안내해주셨는데요, if 조건문이 False인 경우 last_height를 업데이트 하는 것이니 else : last_height = new_height라고 작성해야 하지 않을까 하는 생각이 드는데 혹시 else를 사용하지 않은 이유가 있나요..? 답변 부탁드립니다. 감사합니다!
강의 잘 듣고 있습니다. 한 가지 의문이 생겨서 질문을 남깁니다. 한 건도 못찾은 겅우 HTTPException으로 try문을 벗어나게 되는데 이미 생성된 result(커서?)가 닫히는 부분은 없는 것 같아서요. conn.execute를 해서 커서를 열었으면 닫아줘야 하는 것 아닌가요?
좋은 강의 감사합니다! 함수(메서드) 선언과 호출 강의를 듣는중인데, 리턴값 관련해서 질문이 생겨서 글을 남기게되었습니다. 현재 리턴값이 있고, 없고의 차이를 크게 못느끼겠어서 질문을 남기게 되었습니다. 현재 이해한것은 리턴을 해주게 되면, 호출 한곳에 값을 돌려준다고 이해를 했는데, 리턴을 안하면 함수의 정의가 된곳에서 진행을 한다고 이해를 했는데, 이때 System.out.printIn(); 을 하면 출력이 되는것도 확인이 된는것을 봤습니다(17:45) 결과적으로 리턴값이 있고 없고의 차이를 크게 못느끼겠어서 이렇게 질문을 남기게되었습니다.
9분 52초의 Policy Improvement table에서는 blue statement를 통과해서 가는데 optimal이라고 화살표가 나아 있는데, 14분 6초에서는 blue statement를 거치지 않고 돌아서 가는 것이 optimal이라고 화살표가 표시되어 있습니다. 그냥 theta의 값을 두고 iteration을 한 차이 인걸까요?
안녕하세요. 약 4분 경, value function 을 구할때 stochastic 하게 state가 결정된다면, 각 state가 결정될 확률값은 고려하지 않아도 되는건가요? 예를들면, class1에서 class2로 갈 확률과 facebook 으로 갈 확률이 0.5 인데, 그렇다면 각 첫번째 단계에서 reward x 확률값(0.5) 이런식으로 고려하지는 않아도 되는것인지 질문드립니다. 감사합니다.
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
안녕하세요. 강의에서 알려주신 방법대로 아나콘다를 설치하였는데, 인스톨 하는 과정에서 자꾸 캡쳐 사진처럼 에러가 뜹니다...ㅠㅠ '무시' 버튼을 눌러 진행을 하였더니 완료는 되었는데... 주피터 노트북도 그렇고 전체적으로 제대로 깔리지 않은 것 같아서요ㅠ 재설치를 진행하였지만, 역시나 캡쳐 사진처럼 계속 저 페이지가 뜹니다... 제 노트북에 파이썬과 vs코드가 이미 깔려 있어서 그런 걸까요? 주피터 노트북만 따로 받아야 할런지요... 빨리 해결이 되어, 강의를 진행할 수 있으면 좋겠습니다. 읽어주셔서 감사합니다!
안녕하세요. Task group 생성 시, task decorator를 활용한 방법과 그렇지 않은 방법 이렇게 두 가지가 있다고 하셨는데, task decorator를 활용한 방법의 경우, docstring 에 작성한 내용이 UI에서 보여지고, task decorator를 활용하지 않은 방법의 경우, tooltip 인자에 입력된 내용이 UI에서 보여지는 것으로 알고 있습니다. 그런데 Airflow 3.0.x 버전에서 실제로 실습을 진행해보니 docstring 및 tooltip 인자에 작성한 내용이 아래와 같이 UI 화면에서 보이지 않는 것으로 확인됩니다 ㅠ Airflow 3.0.x 버전 공식 문서를 읽어봐도 강사님 말씀과 동일하게 docstring 및 tooltip을 사용하면 UI 화면에서 보여질 거라고 적혀있는데... 뭐가 문제일까요..? 코드는 강사님이 작성하신 것과 동일한데, 혹시 몰라 제가 작성한 코드도 같이 첨부 드립니다. import pendulum # Airflow 3.0 버전부터 아래 경로에서 import from airflow.sdk import DAG, task, task_group, TaskGroup from airflow.providers.standard.operators.python import PythonOperator # Airflow 2.10.5 이하 버전에서 실습 시, 아래 경로에서 import # from airflow.operators.python import PythonOperator # from airflow import DAG # from airflow.decorators import task # from airflow.decorators import task_group # from airflow.utils.task_group import TaskGroup with DAG( dag_id = 'dags_python_with_task_group', schedule = None, start_date = pendulum.datetime(2023, 4, 1, tz = 'Asia/Seoul'), catchup = False ) as dag: def inner_func(**kwargs): msg = kwargs.get('msg') or '' print(msg) @task_group(group_id = 'first_group') def group_1(): ''' task_group decorator를 이용한 첫 번째 그룹입니다. ''' @task(task_id = 'inner_function1') def inner_func1(**kwargs): print('첫 번째 TaskGroup 내 첫 번째 task 입니다.') inner_function2 = PythonOperator( task_id = 'inner_function2', python_callable = inner_func, op_kwargs = {'msg': '첫 번째 TaskGroup 내 두 번째 task 입니다.'} ) inner_func1() >> inner_function2 with TaskGroup(group_id = 'second_group', tooltip = '두 번째 그룹입니다') as group_2: ''' 여기에 적은 docstring은 표시되지 않습니다. ''' @task(task_id = 'inner_function1') def inner_func1(**kwargs): print('두 번째 TaskGroup 내 첫 번째 task 입니다.') inner_function2 = PythonOperator( task_id = 'inner_function2', python_callable = inner_func, op_kwargs = {'msg': '두 번째 TaskGroup 내 두 번쨰 task 입니다.'} ) inner_func1() >> inner_function2 # Task Group도 flow 설정 가능 group_1() >> group_2