상품 수정 api 질문합니다. 지금 보시면 update에는 async,await가 붙어있는데 데이터베이스를 거쳐 resolver로 가져오면 굳이 안붙어도 된다고 하셨는데 왜 붙어있는지 궁금합니다 async update( {product,updateProductsService }:IProductsServiceUpdate):promise<Product> { const product=await this.findOne({productId}) this.checkSoldout({product}) }
안녕하세요! revalidateTag 함수 관련 코드를 보다가 궁금한 점이 생겨서 질문 드립니다! 우선 fetch 를 통해 데이터를 받아오는 비동기 호출은 서버 컴포넌트에서만 호출할 수 있다고 해서 날씨API나 시간API를 서버 컴포넌트에서 fetch 를 이용해 받아오는 것 까지는 이해가 갔습니다. 그런데 아래와 같이 캐시를 비우는 버튼을 만들 때는 클라이언트 컴포넌트에서 fetch 가 사용되었습니다. 'use client' type Props = { tag : string } export default function RevalidateButton({tag} : Props) { const handleClick = async () => { const res = await fetch(`/api/revalidate?tag=${tag}`, { method : 'POST' }) console.log(res) } return <button onClick={handleClick}>캐시 비우기</button> } 일단 이벤트 핸들러는 클라이언트 컴포넌트에서 사용 해야 되서 'use client' 를 작성하는 것도 이해가 갔습니다. 그리고 revalidateTag 함수는 서버 컴포넌트에서 호출되야 하니깐 'api요청을 보내야 되서 fetch 를 사용해야 한다' 라고 이해를 했는데요.. 그럼 혼란 스러운게.. ' fetch 비동기 호출은 서버 컴포넌트에서 하라고 되어 있는데 revalidateTag 같이 서버 컴포넌트에서 동작하는 함수를 호출하기 위해서는 어쩔 수 없이 fetch 를 클라이언트 컴포넌트에서 사용해야한다' 라고 이해 하는게 맞을까요?? 그리고 위의 코드에서 method : 'POST' 라고 세팅하여 주셨는데 보내는 방식은 POST 로 정해져 있는 것인지, 다른 메서드 (get, update, delete)로 사용하면 안되는 것인지 궁금합니다! 아래는 핸드북(3. Next.js 손에 익히기 / 7.날씨데이터 조회하기 / 데이터 재검증하기 )에 설명해주신 내용인데요! revalidateTag 는 서버 사이드에서 호출 가능합니다. 하지만 캐시를 풀어달라는 요청은 클라이언트(브라우저)에서 만들어집니다. 때문에 API 형태로 revalidateTag 를 호출할 수 있도록 만들어야 합니다. Next.js에서의 API는 라우트 핸들러를 통해 만들 수 있습니다. "캐시를 풀어달라는 요청은 클라이언트(브라우저)에서 만들어집니다." 라는 말이 RevalidateButton 버튼을 클릭했을 때 handleClick 함수가 호출되는 때를 말씀하신 것인지 궁금합니다. 아래는 revalidateTag 가 호출되는 서버 컴포넌트 코드입니다. import { revalidateTag } from "next/cache"; import { NextRequest, NextResponse } from "next/server"; export async function POST(req:NextRequest) { const tag = req.nextUrl.searchParams.get('tag'); if(!tag) throw new Error('태그는 필수!!') revalidateTag(tag) return NextResponse.json({message : '재검증에 성공했습니다', tag}) } revalidateTag 함수는 호출시 에러가 발생하는 경우는 없는건가요?? 제 생각에는 revalidateTag 도 제대로 작동을 안할 수도 있으니깐 try catch 문으로 감싸서 호출하는게 맞지 않을까? 생각이 들었는데 그렇게 안해도 되는 것인지 궁금합니다!
[실전]텍스톰 TEXTOM 실전 강의: 빅데이터 논문 작성을 위한 텍스트 분석/텍스트마이닝
선생님 안녕하세요. 수업 재밋게 잘 듣고 있습니다. 덕분에 쉽게 따라할 수 있을 것 같아요. 궁금한게 있어서요. 강의 섹션4 연구논문 관련 작성 강의에 사용한 "영어 인공지능 앱 리뷰"와 관련된 논문을 사용하셔서 강의를 진행해 주셨는데요, 해당 논문의 출처를 알 수 있을까요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
재생 중에 슬라이더를 조절할려고하는데 슬라이더를 누른채로 동작을 안하면 영상이 자동으로 재생되어 버립니다 슬라이더에서 손을 뗄떼까지 영상이 멈추게 할수있을까요 인프런강의처럼요 또 한가지 질문은 videioController 는 initializeController()안에서 아래 코드로 할당이되는데 videoController = VideoPlayerController.file( File(widget.video.path), 이부분은 deadcode가 아닐까요 if (videoController == null) { return CircularProgressIndicator();
회원 도메인 설계 과정에서 질문 있습니다. 회원 서비스 , 회원 저장소 객체로 나눈 이유가 궁금합니다. 각 기능별로 구분하기 위해 이렇게 구현한것인가요? 클라이언트가 의미하는 것은 사용자가 보내는 요청이랑 같다고 생각해도 될까요? 위 그림에서 회원서비스, 회원 저장소 인터페이스는 있는데 클라이언트 인터페이스가 없는 이유가 궁금합니다.
[질문 내용] 제가 지금 이해한 내용으로는 Parent parent = new child(); 가 있을때 메모리에는 Child를 기준으로 상위 부모 클래스만 메모리에 적재되고 (편의상 Child 메모리라고 하겠습니다), parent의 참조 주소는 생성된 Child 메모리 안의 Parent 클래스를 참조하며, parent의 멤버변수는 Parent 클래스의 멤버변수만 가질 수 있고, 오버라이딩된 메소드가 존재한다면 무조건 오버라이딩된 메소드가 우선권을 가진다 라고이해했는데, 덧붙일 개념들이 혹시 있을까요? 아, 그리고 만약 오버라이딩된 메소드가 부모클래스에서 실행할 수 없는 메소드라면 어떻게되는지도 궁금합니다. (혹시, 오버라이딩된 메소드가 부모클래스에서 실행되지않을 가능성은 아예 없나요?)
ResourceManager 스크립트 코드 중 일부입니다. public GameObject Instantiate(string path, Transform parent = null) { GameObject prefab = Load<GameObject>($"Prefabs/{path}"); if (prefab = null) { Debug.Log($"Failed to load prefab : {path}"); return null; } return Object.Instantiate(prefab, parent); } 여기서 prefab에 로드로 경로 잘 찾아서 오브젝트가 잘 들어가는데요 return Object.Instantiate(prefab, parent); 이 부분에서 아래의 오류가 뜹니다 ㅠㅠ 어딜 다시 봐야할까요?? System.ArgumentException: The Object you want to instantiate is null. at UnityEngine.Object.CheckNullArgument (System.Object arg, System.String message) [0x00009] in <30adf90198bc4c4b83910c6fb1877998>:0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 강의 16분 즈음부터 @Table(name = "MBR") 같은 것들은 런타임에 영향을 주지만 @Column(unique = true) 같은 제약조건들은 런타임에 영향을 주지 않는다는 말이 왜 그런 건지 이해가 잘 안 가는데 조금 더 설명해주실 수 있을까요?? 둘 다 데이터베이스에 어떤 쿼리를 날려야 하는데 하나는 런타임에 영향을 주고 하나는 그렇지 않다는 게 이해가 잘 가지 않습니다.
안녕하세요 질문있어서 남깁니다. input 이미지를 backbone을 거치고 정보가 함축된 이미지 feature map을 만든 후 cell별 anchor box를 통해 Detection을 진행하는걸로 이해했는데요, 실제 이미지는 feature map과 스케일이 다를텐데, 그러면 최종 결과 이미지에서는 이 값(x,y,w,h)을 보정한 최적 bounding box 값을 출력하는 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 제목 그대로 백엔드 개발자가 들어도 괜찮은 강의인지 궁금합니다. (이미 강의를 결제했지만요 ㅎㅎ..) 강의에서 전체적으로 다루는줄 알았는데 select에 집중한다길래.. 내가 생각한 강의가 아닌가.. 싶어서 이렇게 글 남깁니다.
영상 11분 TheView component에서 MyButton component로 click event 속성 상속이 되었습니다. MyButton component에는 sayHello 라는 메서드가 없는데, 실행이 된 것이 궁금합니다. 부모 component의 메서드들이 자식,손자 component 에서 사용할 수 있나요??
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
쥬피터 노트북 파일에서 코드 부분의 간단한 스크립트를 실행하면 "1+1" 한참 시간이 소요되고 그 후에 아래와 같은 오류가 나타납니다. 어디를 보아야 할까요?.. ㅡㅡ "Failed to start the Kernel. Unable to start Kernel 'ch02_env (Python)' due to a timeout waiting for the ports to get used. View Jupyter [log](command:jupyter.viewOutput) for further details." 상세 로그는 아래와 같습니다. Visual Studio Code (1.85.1, undefined, desktop) Jupyter Extension Version: 2023.11.1003402403. Python Extension Version: 2023.22.1. Pylance Extension Version: 2023.12.1. Platform: win32 (x64). Workspace folder k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02, Home = c:\Users\parkdg 09:59:34.230 [info] Start refreshing Kernel Picker (1703206774230) 09:59:34.236 [info] Using Pylance 09:59:34.620 [info] Start refreshing Interpreter Kernel Picker 09:59:36.436 [info] Starting Kernel startUsingPythonInterpreter, .jvsc74a57bd0d4a87738910ea0fd9afa86e7d6320d0a9ae5dfbb4e715529ddcf2fa326b6cdcd.k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe.k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe.-m#ipykernel_launcher (Python Path: k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe, Venv, ch02_env, 3.11.6) for 'k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\01_Jupyter_Notebook_Exp.ipynb' (disableUI=true) 10:00:09.900 [warn] Failed to get activated env vars for k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe in 33842ms 10:00:09.901 [error] Unable to determine site packages path for python k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe (Venv) 10:00:22.738 [info] Process Execution: k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe -m pip list 10:00:22.779 [warn] Failed to get activated env vars for k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe in 46034ms 10:00:22.779 [error] Unable to determine site packages path for python k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe (Venv) 10:00:30.146 [info] Process Execution: k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)" 10:00:30.327 [warn] Failed to get activated env vars for ~\AppData\Local\Programs\Python\Python311\python.exe in 173ms 10:00:30.497 [info] Process Execution: ~\AppData\Local\Programs\Python\Python311\python.exe -c "import site;print("USER_BASE_VALUE");print(site.USER_SITE);print("USER_BASE_VALUE");" 10:00:31.657 [info] Process Execution: ~\AppData\Local\Programs\Python\Python311\python.exe ~\.vscode\extensions\ms-toolsai.jupyter-2023.11.1003402403-win32-x64\pythonFiles\vscode_datascience_helpers\kernel_interrupt_daemon.py --ppid 40304 > cwd: ~\.vscode\extensions\ms-toolsai.jupyter-2023.11.1003402403-win32-x64\pythonFiles\vscode_datascience_helpers 10:00:39.590 [info] Process Execution: k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\ch02_env\Scripts\python.exe -m ipykernel_launcher --f=~\AppData\Roaming\jupyter\runtime\kernel-v2-403047aAa1r83eMCu.json > cwd: k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02 10:00:40.761 [info] End refreshing Kernel Picker (1703206774230) 10:01:25.672 [info] Handle Execution of Cells 2 for k:\My files\Inflearn_chatgpt\inflearn_chatGPT-main\ch02\01_Jupyter_Notebook_Exp.ipynb 10:01:39.606 [error] waitUntilUsed timed out [Error: timeout at Timeout.d (~\.vscode\extensions\ms-toolsai.jupyter-2023.11.1003402403-win32-x64\dist\extension.node.js:55:1754) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7)] 10:01:39.606 [error] Disposing kernel process due to an error Error: Unable to start Kernel 'ch02_env (Python)' due to a timeout waiting for the ports to get used. View Jupyter [log](command:jupyter.viewOutput) for further details.
thunder client 설치 후 당일은 문제 없이 사용했으나 다음 날 사용시 "Connection was forcibly closed by a peer." 메시지가 뜨면서 정상적으로 작동 하지 않음. 12강 익스프레스 라우팅의 예제 파일로 실습 중이고 브라우저에서 'get'을 활용한 실습은 정상 작동함. thunder는 get, post,put 모두 작동 오류 발생. 확장을 삭제 후 재설치하여도 동일 오류 발생 VSC 버전: 1.84.2 윈도우 버전: 10.0.19044.1288 Thunder Client: 2.26.3
안녕하세요? 문제 예시 2의 입력 예제 6 0 60 60 90 60 60 60 에서 왜 답이 5인지 잘 이해가 안 갑니다! 문제에는 대기목록에 자기보다 위험도가 높은 환자가 없으면 자기가 진료를 받는 구조라고 하셨는데, 그러면 위의 예시에서 0 번째 환자가 진료를 받을 때는 당연히 2번째 아닌가 싶어서요 제 코드로는 두 번째, 다섯 번째 케이스에서 오답이 나오는데요 문제 설명에서 중복된 값이 있을 때 설명이 좀 이해가 잘 안 와 닿습니다. from collections import deque import sys # sys.stdin = open('input.txt','r') n, m = map(int, input().split()) p = list(map(int, input().split())) queue = deque(p) done = 0 target = queue[m] res = 0 while queue: maxx = max(queue) a = queue.popleft() if a < maxx: queue.append(a) else: done += 1 if a == target: res = done print(res) break