ch-7-2에서 포스트 상세 조회 router 안에서 ipify.org api를 호출하는데 포스트 상세 조회 API를 클라이언트에서 호출할 경우 서버에서 ipify.org api를 호출하기 때문에 의도한바와 다르게 서버 ip 주소가 나오고 클라이언트 IP는 req.ip를 통해서만 얻을 수 있지않나요?? const response = await axios.get("https://api.ipify.org?format=json"); ip = response.data.ip;
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
안녕하세요. 수강생입니다. 혹시 수업에 사용중이신 Cursor가 버전이 어떻게 되나요. 저는 1.5.9 버전인데 커서 핵심 기능과 Rules 설정하면이 좀 달라서요. 프로젝트 Rules 화면도 다르고 Add Rule시 제가 사용하는 버전은 아래와 같이 나옵니다. 어떤 Rules를 설정을 해야할지 답변 부탁드립니다. 감사합니다.
2.13) 비동기 작업 처리하기 2. Promise 강의에서, if 문을 활용한 타입 검증 시 오류인 상황(else) 에서의 reject 가 정상 동작하지 않습니다. /* Promise */ const promise = new Promise((resolve, reject) => { // 비동기 작업 실행 함수 : executor setTimeout(() => { let num = 10; num = '10'; console.log(num); if (typeof num === 'number') { // 성공일 때 호출 resolve(`${num}은 숫자입니다.`); } else { // 실패일 때 호출 reject(`${num}은 숫자가 아닙니다.`); } }, 1000 * 1); }); 위 코드에서, num 타입을 string 으로 변경했을 때 else 문이 진행되는 것으로 기대했습니다. 이때, 브라우저의 디버거에서 오류를 발생시키면서 정상 동작되지 않습니다. 터미널에서는 UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 라는 오류가 발생됩니다. catch 문 없이 reject 를 단독으로 사용하는 것에 문제가 있는 것 같은데, 예제와는 다르게 동작하는 것 같아 문의드립니다.
안녕하세요, 수강 중 문의사항이 있어 질문 남깁니다. 알고리즘에 따라 무한 스크롤 처리 방법을 실행하는 과정에서, 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을 한 차이 인걸까요?
슬라이드 작성 시 CSS 도 변경되어야 할 것 같은데 아직 강의 영상에서는 찾지 못했습니다. 어느 위치에 있는 건가요? 예를 들면 가로 슬라이드 제작시 width: 3600px;로 설정하고 position absolute로 변경 해야 할 것 같은데 관련 사항을 찾을 수 없습니다. abc type에 대한 flex / jquery 적용 완성본 공유 부탁드립니다. ABD 강의 영상은 DEF 타입과 달리 flex나 jquery 를 사용하지 않아 시험 준비하는데 어려움이 있네요. 혹시 제가 찾지 못한 것이라면 위치 알려주셨으면 합니다. 그리고 시험이 얼마남지 않아 공부중인데 자료 찾는데 시간이 너무 많이 걸립니다. A~F 유형에 대한 모든 완성본 취합해서 올려주시면 많은 도움이 될 것 같습니다.
안녕하세요. 약 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