def closure_ex1(): # Free Variable # 클로저 영역 series = [] # 함수 밖에 선언된 변수임에도 불구하고, 함수 호출이 끝나도 사라지지않고 계속 유지됨 def averager(v): series.append(v) print("inner >> {} / {}" .format(series, len(series))) return sum(series) / len(series) return averager avg_closure1 = closure_ex1() !!!해당부분은 nonlocal 선언을 하지않았는데 어떻게 자유 변수로 설정이되는건가요?!!!
[프로그램 설치 오류 문의] 프로그램 설치 오류 발생시 사용중인 컴퓨터의 환경에 대한 상세 스크린샷을 함께 제공해 주셔야 합니다! 또한, 강의에서 소개한 내용과 완전히 동일한 방식으로 설치를 진행하셨는지도 재확인 부탁드려요! [코드 실행 오류 문의] 반드시 코드와 에러메시지의 스크린샷을 첨부해 주셔야 합니다! 둘 중 하나라도 누락되면 도움을 드릴 수 없습니다! [그 외 오류 문의] 그 외 오류가 발생한 경우 최대한 스크린샷이나 코드 등, 상황을 전달할 수 있는 자료를 수집하시어 함께 제공해 주세요.
76. 11.3) Context 분리하기 useMemo 를 이용해서 onCreate, onUpdate, onDelete 를 한번만 생성이 되게 한거는 이해 하는데요, 그럼 이 경우에 기존에 사용했던 useCallback 은 삭제 해도 무방 한가요? const onCreate = (content) => { dispatchFunc({ type : "CREATE", data : { id : idRef.current++, isDone : false, content: content, date : new Date().getTime(), }, }); };
안녕하세요 CLI로 Trigger 기능을 수행하는 부분 강의를 듣던 중에, Web UI에서 Trigger를 누르면 정상적으로 수행 되지만, 쉘 스크립트 커맨드로 airflow dags trigger <DAG 이름>이라는 명령어를 실행했을 때 아래와 같은 실패 로그가 나타나서 문의드립니다. 혹시 커맨드라인으로 실행하면 {{data_interval_end}} 와 같은 템플릿을 적용할 수 없나요?
ConnectionRefusedError: [WinError 10061] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 에러가 발생했는데 찾아보니 EMAIL_USE_TLS = False EMAIL_USE_SSL = True EMAIL_PORT = 465 위의 코드로도 시도를 해보라해서 해봤지만 계속 동일한 에러가 발생했습니다. 강의에서 사용된 운영체제는 맥 os이고 저는 윈도우 환경에서 실행했는데 윈도우환경에서 자주 발생하는 에러라고 하는데 해결방법을 찾기가 어려워서 문의남깁니다.
<BrowserRouter> <Routes> <Route path="home" element={<AdminHome />} /> <Route path="post" element={<AdminPost />} /> <Route path="update/:id" element={<AdminUpdate />} /> </Route> </BrowserRouter> Q1. 저는 항상 app.js 위에 코드와 같이 작성하는 편인데 강의에서는 주로 CreateBrowserRouter를 따로 이용하시는데 특별한 이유가 있나요? Q2. 간혹 프로젝트 중간중간 Header나 Footer 컴포넌트를 몇몇 페이지에서는 안보이거나 다른 header, footer 컴포넌트가 보이게끔 하고 싶은데 이런 경우 주로 어떻게 하실지 생각(?) 아이디어(?) 가 궁금합니다. 저는 안보이게 하고 싶은 페이지를 url로 구분하는 편인데 다른 좋은 방법이 있을까요?
강사님께서 알려주신 from googlesearch import search query = "파이썬 강좌" for r in search(query, num_results=10, advanced=True): title = r.title contents = r.description url = r.url print(f"Title: {title}") print(f"Contents: {contents}") print(f"URL: {url}") print("-" * 40) 요 코드대로 해보았으나 출력이 안됩니다. 뭐가문제일까요?? ''' 게시판 리스트 테스트를 위한 Google 검색어 크롤링 프로그램 설치 해야하는 라이브러리 pip install --upgrade BeautifulSoup4 requests lxml pymongo googlesearch-python ''' import requests from bs4 import BeautifulSoup from pymongo import MongoClient from datetime import datetime import random from googlesearch import search # 몽고DB client = MongoClient(host="localhost", port=27017) # myweb 데이터베이스 db = client.myweb # board 컬렉션 col = db.board # 구글 검색시 헤더값을 설저하지 않으면 브라우저에서 보이는것과 다른 결과가 나옴 header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"} # 검색 결과 30개 수집 query = "파이썬 강좌" for r in search(query, num_results=30, advanced=True): # 구글 검색 URL, 검색어는 파이썬 # 게시물 작성시간 기록을 위해 현재시간 저장 (utc 타임) current_utc_time = round(datetime.utcnow().timestamp() * 1000) try: title = r.title contents = r.description # 몽고DB에 저장 # 작성자와 writer_id 설정 필요 col.insert_one({ "name": "테스터", "writer_id": "", "title": title, "contents": contents, "view": random.randrange(30, 777), "pubdate": current_utc_time }) except: pass 이것도 수업자료에 있었던 코드입니다. 이대로 해도 진행이 안되네요..
안녕하세요 from langchain_core.prompts import PromptTemplate purpose_prompt = PromptTemplate.from_template(""" You are an expert at parsing and extracting delivery addresses and phone numbers from user input. User's input: {query} Instructions: If you can accurately identify both a delivery address and a phone number from the user's input, set the message field to "해당 정보가 맞습니까?" and include the data field with "delivery_address: {{delivery_address}}, phone_number: {{phone_number}}". If only one of the two values (delivery address or phone number) is identified, set the message to request the missing information by saying "배송지를 다시 한 번 입력해주세요." or "연락처를 다시 한 번 입력해주세요." as appropriate. If neither can be identified, set the message to "배송지와 연락처를 다시 한 번 입력해주세요." and return an empty dictionary for the data field. If you have already asked "해당 정보가 맞습니까?" and receive a positive answer from the user (e.g., '맞다', '맞아', 'ㅇㅇ', '네', '예'), set the message to "해당 정보를 저장해두겠습니다." and return to previously parsed delivery address and phone number in the data field as "delivery_address: {{delivery_address}}, phone_number: {{phone_number}}". If you have already asked "해당 정보가 맞습니까?" but the user responds negatively, set the message to "배송지를 다시 한 번 입력해주세요." or "연락처를 다시 한 번 입력해주세요." as appropriate. Return format: {{ "message": {{message}}, "data": {{ "delivery_address": {{delivery_address}}, "phone_number": {{phone_number}} }} }} """) 현재 이런 프롬프트를 사용하고 있습니다. 간단하게, ai와 대화하며 배송지와 연락처 정보를 기억하게 하고 싶은데요. 지금 잘 안되는 부분은 가장 마지막입니다. ai: 이 배송지와, 연락처 정보가 맞습니까? 배송지: ㅂ, 연락처: 3 사용자 : 맞아 ai: 해당 정보를 저장하겠습니다. 배송지: ㅂ, 연락처: 3 이 부분이 잘 안되고 있는데요. 이전에 대화했던 배송지와 연락처 정보를 못 불러오고 있습니다. 노드나 tool을 사용하지않고 프롬프트로만 해보고 있는데 노드나 tool을 사용해야 할까요? 혹은 적합한 다른 구조가 있을까요?
func 매서드에서 while문 마지막 실행문인 node = node -> next -> next; 가 이해가 잘 안되었는데요. 해당 실행문 위에 있는 다른 실행문은 node->value 또는 node->next를 통해서 n1메모리에 참조해서 그 값을 가르키기 때문에 =을 통해 값변화가 일어난다. 하지만 node = node -> next -> next; 의 경우에 node는 func메서드가 가지고 있는 지역변수이기 때문에 main에서부터 참조받은 n1 변수를 변경하지 않는다. 이게 맞을까요? 저말고도 다른분들도 여럿 같은 질문을 했는데 정확한 답변이 없어서 제가 이해한게 맞는지 올려봅니다.. 그럼에도 확실하게 개념이 잡히지 않네요. node -> value 또는 node -> next조차도 func메서드 안에 있는 지역변수의 요소들인 건 매한가지 아닌가요...ㅠㅠ node도 메모리주소.. node->next->next도 메모리주소인데.. 왜 지역변수로 얕은복사(?)가 되는 것인지..ㅠㅠ