수업 자료 지우고 다시 받아봐도 안 나옵니다 ㅠ ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예] 3. 질문 잘하기 법을 읽어보셨나요? [예] (https://www.inflearn.com/blogs/1719) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://www.inflearn.com/questions/992407/comment/281901 ) 6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. ( https://www.inflearn.com/questions/915529 ) [질문 하기] Window 환경이 아닌 RockyLinux8 버전에서도 실습이 가능할까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════ The following NetworkImageLoadException was thrown resolving an image codec: HTTP request failed, statusCode: 404, http://10.0.2.2:3000/img/%EB%96%A1%EB%B3%B6%EC%9D%B4/%EB%96%A1%EB%B3%B6%EC%9D%B4.jpg When the exception was thrown, this was the stack: #0 NetworkImage._loadAsync (package:flutter/src/painting/_network_image_io.dart:135:9) <asynchronous suspension> Image provider: NetworkImage(" http://10.0.2.2:3000/img/떡볶이/떡볶이.jpg ", scale: 1.0) Image key: NetworkImage(" http://10.0.2.2:3000/img/떡볶이/떡볶이.jpg ", scale: 1.0) ════════════════════════════════════════════════════════════════════════════════════════════════════ 어떻게 해야할까요..?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 인터페이스를 이용해서 여러 자동차를 만들고 운전자가 자동차의 기능을 사용하게 하는 예제에서 특정 자동차 클래스에만 있는 메서드를 만든다면 호출을 어떻게 해야될까요? 예를들어 Model3에만 자율주행 기능을 추가하고 싶어서 public void autoPilot() { System.out.println("자율주행을 시작합니다."); } 이런식으로 메서드가 추가됐을때 운전자가 자율주행 기능을 호춣하려면 어떻게 해야되는지 궁금합니다. 제가 비유적으로 이해한 바로는 특정 자동차에만 탑재된 기능을 인터페이스에서 알 수 없으니 따로 배워야한다 --> 운전자 클래스의 코드 수정이 필요하다였고, 실제 코드로는 운전자가 가진 Car 인스턴스가 Model3 클래스일 경우 다운캐스팅을 해서 autoPilot 메서드를 호출하는 방식으로 풀긴 했는데, 다운캐스팅이 아직 익숙치 않아서 불안한 마음도 있고 더 좋은 방법이 있을까 해서 질문 드립니다.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
청개구리 기질로 npm으로 하고 싶어서 강의를 따라오다 여기서 막혀서 구글링 삽질로 해결 했던 정보를 공유 해요~ // launch.json { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", // 세팅의 타입 "request": "launch", // launch 실행하는거, attach 실행되있는거에 붙는거 "name": "Debug NestJS", // 어떤 이름으로 부를건지 "runtimeExecutable": "npm", // 어떤걸로 실행 할건지 node, yarn ... "runtimeArgs": ["run", "start:debug"], // npm run start:dev 에서 npm이 runtime이고 run start:dev가 Args임 "console": "integratedTerminal", // intergratedTerminal은 vscode에서 실행하는 터미널임 "restart": true, // 자동 연결 할건지 "port": 9229, "autoAttachChildProcesses": true // 디버거를 자동으로 process에 붙을지 말지 결정 } ] }
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
안녕하세요 Ch07 - 04_Translate_app_NewVersion 파일로 강의내용 보고있는데 따라하는중에 오류가 나와서 해결방법을 못찾아서 질문 내용 올립니다! openai key는 다른 예제로 했을때는 이상이 없는데요. TypeErro : B aseClient.build_ request() got an unexpected keyword argument 'timeout' 이렇게 오류가 나옵니다. ##### 기본 정보 불러오기 #### # Streamlit 패키지 추가 import streamlit as st # OpenAI 패키지 추가 import openai # 구글 번역 패키지 추가 from googletrans import Translator # Deepl 번역 패키지 추가 import deepl # 파파고 API요청을 위한 Requests 패키지 추가 import requests ##### 기능 구현 함수 ##### # ChatGPT 번역 def gpt_translate(messages, apikey): client = openai.OpenAI(api_key = apikey) messages_prompt = [{"role": "system", "content": f'Translate the following english text into Korean. Text to translate : {messages}'}] response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": messages_prompt}]) return response.choices[0].message.content # 파파고 번역 def papago_translate(text,PAPAGO_ID,PAPAGO_PW): data = {'text' : text, 'source' : 'en', 'target': 'ko'} url = "https://openapi.naver.com/v1/papago/n2mt" header = {"X-Naver-Client-Id":PAPAGO_ID, "X-Naver-Client-Secret":PAPAGO_PW} response = requests.post(url, headers=header, data=data) rescode = response.status_code if(rescode==200): send_data = response.json() trans_data = (send_data['message']['result']['translatedText']) return trans_data else: print("Error Code:" , rescode) # 구글 번역 def google_trans(messages): google = Translator() result = google.translate(messages, dest="ko") return result.text # 디플 번역 def deepl_translate(text, deeplAPI): translator = deepl.Translator(deeplAPI) result = translator.translate_text(text, target_lang="KO") return result.text ##### 메인 함수 ##### def main(): # 기본 설정 st.set_page_config( page_title="번역 플랫폼 모음", layout="wide") # session state 초기화 if "OPENAI_API" not in st.session_state: st.session_state["OPENAI_API"] = "" if "PAPAGO_ID" not in st.session_state: st.session_state["PAPAGO_ID"] = "" if "PAPAGO_PW" not in st.session_state: st.session_state["PAPAGO_PW"] = "" if "DeeplAPI" not in st.session_state: st.session_state["DeeplAPI"] = "" # 사이드바 바 생성 with st.sidebar: # Open AI API 키 입력받기 st.session_state["OPENAI_API"] = st.text_input(label='OPENAI API 키', placeholder='Enter Your OpenAI API Key', value='',type='password') st.markdown('---') # PAPAGO API ID/PW 입력받기 st.session_state["PAPAGO_ID"] = st.text_input(label='PAPAGO API ID', placeholder='Enter PAPAGO ID', value='') st.session_state["PAPAGO_PW"] = st.text_input(label='PAPAGO API PW', placeholder='Enter PAPAGO PW', value='',type='password') st.markdown('---') # PAPAGO API ID/PW 입력받기 st.session_state["DeeplAPI"] = st.text_input(label='Deepl API 키', placeholder='Enter Your Deepl API API Key', value='',type='password') st.markdown('---') # 제목 st.header('번역 플랫폼 비교하기 프로그램') # 구분선 st.markdown('---') st.subheader("번역을 하고자 하는 텍스트를 입력하세요") txt = st.text_area(label="",placeholder="input English..", height=200) st.markdown('---') st.subheader("ChatGPT 번역 결과") st.text("https://openai.com/blog/chatgpt") if st.session_state["OPENAI_API"] and txt: result = gpt_translate(txt,st.session_state["OPENAI_API"]) st.info(result) else: st.info('API 키를 넣으세요') st.markdown('---') st.subheader("파파고 번역 결과") st.text("https://papago.naver.com/") if st.session_state["PAPAGO_ID"] and st.session_state["PAPAGO_PW"] and txt: result = papago_translate(txt,st.session_state["PAPAGO_ID"],st.session_state["PAPAGO_PW"]) st.info(result) else: st.info('파파고 API ID, PW를 넣으세요') st.markdown('---') st.subheader("Deepl 번역 결과") st.text("https://www.deepl.com/translator") if st.session_state["DeeplAPI"] and txt: result = deepl_translate(txt,st.session_state["DeeplAPI"]) st.info(result) else: st.info('API 키를 넣으세요') st.subheader("구글 번역 결과") st.text("https://translate.google.co.kr/") if txt: result = google_trans(txt) st.info(result) else: st.info("API키가 필요 없습니다") st.markdown('---') if __name__=="__main__": main() 강의 예제 코드랑 동일합니다. 오류 TypeError : BaseClient.build _request() got an unexpected keyword argument 'timeout' Traceback: File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 534, in _run_script exec(code, module.__dict__) File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\04_Translate_app_ NewVersion.py ", line 142, in <module> main() File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\04_Translate_app_ NewVersion.py ", line 109, in main result = gpt_translate(txt,st.session_state["OPENAI_API"]) File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\04_Translate_app_ NewVersion.py ", line 18, in gpt_translate response = client.chat .completions.create( File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_utils\_ utils.py ", line 270, in wrapper return func(*args, **kwargs) File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\resources\chat\ completions.py ", line 645, in create return self._post( File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_ client.py ", line 1088, in post return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_ client.py ", line 853, in request return self._request( File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_ client.py ", line 873, in _request request = self._build_request(options) File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_ client.py ", line 468, in _build_request return self._ client.build _request( # pyright: i gnore[reportUnknownMemberType]
안녕하세요 강의를 듣던 와중에 궁금한 점이 생겨 질문 남깁니다. 실제로 그렇다면 추상 클래스와 인터페이스 중에 인터페이스를 사용하는게 이점일 것 같은데. 대부분의 경우 인터페이스로 구현되고, 추상 클래스는 사용하지 않는 것인가요 ? 백엔드 개발 시에도 인터페이스 구현을 통해서만 작성하는 것 같아 여쭤봅니다.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
강의를 다 보고 나니 너무 좋은 기능인것 같고, 실제로 해당 기능을 개발 단계에서 사용 할때는 따로 winston이나 내장 logger나 console.log 필요 없이(production에선 사용) 해당 디버거를 이용해서 하는게 훨씬 좋아 보이는데, 실무에서도 자주 사용 하시나요?
안녕하세요 제로초님 소중한 강의 감사히 보고있습니다. 다름이 아니라 강의를 잘 이해하다가 Server action 부터 잘 와닿지가 않아서 질문드립니다. SignupModal.tsx 를 server component로 변경하는 과정을 보고있는데요. 리액트에서는 input 태그의 입력값을 useState와 onChange로 관리하지 하지 않으면, "A component is changing an uncontrolled input to be controlled" 와 같은 에러를 띄웠기 때문에 모든 input 값은 useState를 통해 관리하는게 바람직하다고 생각해왔습니다. 리액트 기반으로 동작하는 next도 당연히 그럴 줄 알았습니다. 그런데 센세이셔널하게 server action에서 그게 통째로 사라져 버리니 매우 혼란스럽습니다. 단지 서버 컴포넌트로 바뀌었기 때문에 없어져도 상관없는건가요? input태그 입력은 데이터가 실시간으로 입력되는 과정이니까 클라이언트 컴포넌트에서 이루어지는게 맞다고 생각을 해와서그런지 쉽게 받아들여지지 않습니다. 또한 말씀하신 방법을 사용했을 때, 만약 입력값 유효성 검사에 있어서 단순히 입력 유무를 확인하는 required 속성 말고도, 입력값을 실시간으로 체크해 유효성 검사 결과를 로직(ex) '사용할 수 있는/없는 비밀번호입니다'를 실시간으로 보여주는 helperText )같은 경우는 구현이 불가능한게 되는 것인지 궁금합니다. 모든 컴포넌트를 다 sever action을 활용하는 방식으로 바꾼다면, useState는 사용될 일이 거의 없어지는 건가요..?
리로딩과 핫리로딩의 차이를 설명하신 부분에서 핫리로딩은 기존 데이터를 유지한다고 하셨습니다. 그래서 저는 핫리로딩은 새로고침 없이 변경사항이 저장된다고 생각했는데 react-refresh 플러그인을 넣으나 안 넣으나 새로고침 되는건 같고 끝말잇기 프로젝트 내에서 데이터도 모두 초기화가 되었습니다. 그래서 현재 강의 내용으로는 핫리로딩과 리로딩의 차이를 명확히 알 수 없는데 부가적인 설명과 예시 부탁드립니다!
이것저것 다양하게 자동화코드 짜보시다가막히면 언제든 무엇이든 질문 던져주세요.업무자동화 코딩은 과학이나 알고리즘과는 조금 달라서고민만으로 풀리지 않는 경우가 대부분입니다.저도 최대한 빠르게 회신 드리겠습니다. 이거를 for i in range(1,5):이용해서 반복문으로 하고 싶은데 {{{{{i}}}}} 넣어서는 안되더라구요.. 방법이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 맥 터미널에서 권한 부여까지 한후 실행을 했는데 ./bin/ h2.sh : line 3: 3667 Trace/BPT trap: 5 java -cp "$dir/h2-2.2.224.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools .Console "$@" 이와 같은 메세지가 뜨면서 아예 화면도 안뜨네요ㅜㅜ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예를 들어 클라이언트가 잘못된 형식의 값을 입력하면 클라이언트의 잘못이지만 서버 내에서 발생한 오류이기 때문에 500오류가 나고 이를 400번대 오류로 처리하기 위해서 HandlerExceptionResolver 내에서 sendError(400, 오류 메세지)를 호출하여 400번대 오류로 설정한다고 하셨잖아요 그런데 이러면 와스가 sendError가 호출된 것을 보고 다시 재요청을 하지 않나요? HandlerExceptionResolver가 예외를 해결하면서 정상 처리로 만들어 추가 프로세스가 실행되지 않게 한다고 해서 잘 이해가 가지 않습니다. sendError로 오류 코드를 설정하고 모델앤뷰를 반환하면서 오류 페이지 렌더링이 되고 와스는 재요청을 하지 않는게 HandlerExceptionResolver의 올바른 흐름인가요