묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
컨슈머 랙 - 처리량 이슈 부분에서 질문이 있습니다.
안녕하세요, 먼저 좋은 강의 잘 듣고 있습니다 (- -) (_ _) 컨슈머 랙 모니터링 - 처리량 이슈 파트에서 궁금한 점이 생겨서 질문드립니다. 파티션 1개 - 컨슈머 1개에서 파티션 2개 - 컨슈머 2개가 되면 linear하게 처리량이 늘어난다고 하셨는데, 어떻게 처리량이 늘어나는 건지 조금 이해가 안가서요. 상단과 같은 구조는 하나의 컨슈머가 0,1,2,3... 이렇게 하나씩 처리를 한다고 하면, 하단과 같은 구조는 다음과 같이 레코드를 동시에 소비하게 되어 2배로 늘어난다는 말씀일까요?컨슈머 1 - 0 : 2 : 4 : 6 : ...컨슈머 2 - 1 : 3 : 5 : 7 : ...( : 는 레코드가 소비되는 시점을 구분한 것 입니다!) 만약 그렇다면, offset은 어떻게 관리가 되는건지도 궁금하네요..
-
해결됨스프링 핵심 원리 - 기본편
웹 스코프에서 Provider 사용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 Provider에 대해 이해한게 맞는지 궁굼해서 질문 드립니다. 강의는 9강 스코프와 Provider입니다!먼저 Error creating bean with name 'myLogger': Scope 'request' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton;이 오류가 일어나는 이유가 스프링 컨테이너에서 request 스코프 빈에 대한 의존관계를 주입하려고 하는데, 아직 클라이언트가 요청을 하지 않아서 리퀘스트 스코프 빈이 생성되지 않아서 오류가난다라고 이해했습니다1번이 맞다면..Provider을 사용하는 이유가, Request 스코프 빈이 의존관계 주입 시점에 호출이 안되서 오류가 났었는데, 클라이언트가 요청한 시점에 getObject나 get 메서드를 이용해서 request 스코프 빈을 생성하고 반환하는 DL기능을 써서, 의존관계가 잘 주입되게 해준다라고 이해했습니다질문은 총 두 개 입니다.
-
해결됨OpenGL 쉐이더 (7) shader 3D 그래픽스 - 텍스처 매핑, 큐브 맵, 환경 매핑, 범프 매핑
질문드려요
opengl 강의는 몇강이 마지막 예정인가요? 그리고 vulkan은 몇강 정도 예상중이신지요?마지막으로 수강평보니까 DX12도 고려하실 의향이 있으신듯하게 답을 다셨던데 현재는 계획은 어떤가요?
-
해결됨[취업폭격기] 공공기관 전산직(IT) 취업 준비를 위한 정규과정 (기초~고급)
깃헙 권한 요청
깃헙 권한 요청드립니다구글폼 서류 제출했습니다~!
-
해결됨김영한의 실전 자바 - 기본편
인텔리제이 알트 엔터 단축키 질문입니다.
이 부분 알트 엔터 눌러도 이렇게 선택하는 창이 안 뜨고 알트만 눌러도 안 뜨는데 설정을 바꿔야할까요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-4. 많이 활용되는 지표: CVR과 CTR 관련 질문입니다!
안녕하세요! CTR과 CVR 강의 내용에서 궁금한 점이 있는데요!CVR의 경우에는 퍼널의 앞단(ex. 유입)에서 퍼널 끝 부분의 전환(ex. 구매)까지의 결과를 확인하는 데까지는 오래 걸릴 수 있고 그 과정에서 여러 페이지를 거치게 될 수 있다고 설명해주셨는데, 예를 들어서 구매 전환율 = 상품 구매 수 / 광고 클릭 수 로 정의했을 때, 광고를 클릭하고 웹사이트의 상세 페이지까지는 확인했지만, 중간에 여러 가지 이유로(ex. 다른 포털 사이트나 SNS에서 제품 후기 검색) 이탈했다가 다시 사이트로 들어와서 제품을 직접 검색한 후 구매까지 진행한 경우에는 광고 클릭수 대비 구매 전환율에 보통 포함이 안 되는 건지 궁금합니다! 이러한 경우에는 제품을 직접 검색한 후에 구매한 전환율(= 상품 구매 수 / 상품 검색한 수) 에만 반영이 되는 걸까요? 실제로 광고를 클릭하고 나서 한번도 이탈하지 않고 결제 완료까지 전환되는 사람들도 있겠지만, 중간에 후기를 검색하거나 고민하다가 며칠 후에 다시 검색해서 구매하는 사람들도 많을 거라고 생각하는데, 이러한 경우도 고려해서 전환율의 분모를 설정하는 게 맞는 건지 궁금합니다..! 좀 지엽적인 질문인 것 같긴 하지만 전부터 궁금했던 내용이라 질문드립니다!
-
해결됨Java 마이크로서비스(MSA) 프로젝트 실습
직접 어플리케이션 서버에 요청을 보내면 동작하는데, gateway 서버로 보내면 404가 뜹니다
config-server / eureka-server / gateway-server /그리고 item-service-server 대신에 제가 만드는 rms라는 애플리케이션 서버를 띄웠습니다.게이트웨이 서버를 통해서 http 요청을 보내면 404가 뜨고직접 애플리케이션 서버로 요청을 보내면 잘 동작하는 상태입니다.그래서 config-server의 gateway-server-local.yml 파일에서 spring.cloud.gateway 부분에 문제가 있을거라 추측하고 계속 찾아봤는데... 어떻게 변경해야 할지.. 잘 모르겠어서 질문드립니다. 일단 파일 전체를 공유하겠습니다.config-serverresources.application.ymlspring: application: name: config-server profiles: active: native cloud: config: server: native: search-locations: classpath:/config encrypt: enabled: false server: port: 8080 resources.bootstrap.ymlencrypt: key: IRON0000 resources.config.eureka-server-local.ymllogging: file: name: logs/eureka.log max-size: 500MB max-history: 10 level: root: info org.com.iron.eureka-server: debug spring: application: name: eureka-server server: port: 8761 eureka: instance: hostname: eureka-server client: serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ register-with-eureka: false fetch-registry: false management: endpoints: web: exposure: include: "*" resources.config.gateway-server-local.ymllogging: file: name: logs/gateway-local.log max-size: 500MB max-history: 10 level: root: info org.hibernate.SQL: debug # org.hibernate.type: trace spring: application: name: gateway-server cloud: gateway: routes: - id: rms uri: lb://rms eureka: instance: prefer-ip-address: true client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka resources.config.rms.ymllogging: file: name: logs/api.log max-size: 500MB max-history: 10 level: root: info org.hibernate.SQL: debug # org.hibernate.type: trace spring: datasource: url: jdbc:h2:tcp://localhost/~/server-iron username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: none properties: hibernate: show_sql: true format_sql: true default_batch_fetch_size: 1000 #최적화 옵션 mybatis: mapper-locations: mybatis/mappers/*.xml springdoc: default-consumes-media-type: application/json default-produces-media-type: application/json swagger-ui: operations-sorter: alpha disable-swagger-default-url: true display-query-params-without-oauth2: true resources.config.rms-local.ymllogging: file: name: logs/rms-local3.log max-size: 500MB max-history: 10 level: root: info org.hibernate.SQL: debug # org.hibernate.type: trace spring: datasource: url: jdbc:h2:tcp://localhost/~/server-iron username: sa password: '{cipher}' driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: none properties: hibernate: show_sql: true format_sql: true default_batch_fetch_size: 1000 #최적화 옵션 mybatis: mapper-locations: mybatis/mappers/*.xml springdoc: default-consumes-media-type: application/json default-produces-media-type: application/json swagger-ui: operations-sorter: alpha disable-swagger-default-url: true display-query-params-without-oauth2: true token: expiration_time: 86400000 secret: IRON0000 eureka: instance: instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}} prefer-ip-address: true client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka eureka-server.ymlresources.bootstrap.ymlspring: application: name: eureka-server profiles: active: local cloud: config: uri: http://localhost:8080 loadbalancer: ribbon: enabled: false gateway-serverresources.bootstrap.ymlserver: port: 8070 spring: application: name: gateway-server profiles: active: local cloud: config: uri: http://localhost:8080 loadbalancer: ribbon: enabled: false management: endpoints: web: exposure: include: refresh, health, beans rmsresources.bootstrap.ymlserver: port: 0 spring: application: name: rms profiles: active: local cloud: config: uri: http://localhost:8080 loadbalancer: ribbon: enabled: false refresh: extra-refreshable: com.zaxxer.hikari.HikariDataSource management: endpoints: web: exposure: include: refresh, health, beans build.gradle 파일들도 올려야할까요...
-
해결됨Next + React Query로 SNS 서비스 만들기
signup redirect error
섹션4 2번째 강의 내용입니다.회원가입 진행시에 home으로 redirect 되지 않아 문제를 파악중에 네트워크탭에서 대기중인 상태가 지속되는 것을 확인했습니다.db에는 user data가 정상적으로 들어온 것을 확인했습니다.어디 잘못된 부분이 있나 싶어 강사님 코드를 그대로 복사해서 다시 실행 해 보았지만 안되고 있는데 혹시 짐작 가시는 부분 잇으실까요. 회원가입 버튼을 누른후에 x 버튼도 되지 않고 있습니다.
-
해결됨스프링 핵심 원리 - 기본편
스코프와 Provider 강의에서 질문합니다.
안녕하세요. 선생님 영상을 보면서 라이브 코딩하면서 오류가 발생할때 저는 오류가 발생을 안하고오류가 발생하면 안되는 곳에서는 발생해서 질문남깁니다.package web; import hello.core.common.MyLogger; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.ObjectProvider; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } } package web; import hello.core.common.MyLogger; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.ObjectProvider; import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class LogDemoService { private final ObjectProvider<MyLogger> myLoggerProvider; public void logic(String id) { MyLogger myLogger = myLoggerProvider.getObject(); myLogger.log("service id = " + id); } } 18:48:19.302 [main] INFO hello.core.CoreApplication -- Starting CoreApplication using Java 17.0.8.1 with PID 1715 (/Users/kssk3-/Desktop/study/core/build/classes/java/main started by kssk3- in /Users/kssk3-/Desktop/study/core) 18:48:19.303 [main] INFO hello.core.CoreApplication -- No active profile set, falling back to 1 default profile: "default" 18:48:19.661 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -- Tomcat initialized with port 8080 (http) 18:48:19.665 [main] INFO o.a.coyote.http11.Http11NioProtocol -- Initializing ProtocolHandler ["http-nio-8080"] 18:48:19.665 [main] INFO o.a.catalina.core.StandardService -- Starting service [Tomcat] 18:48:19.665 [main] INFO o.a.catalina.core.StandardEngine -- Starting Servlet engine: [Apache Tomcat/10.1.16] 18:48:19.683 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] -- Initializing Spring embedded WebApplicationContext 18:48:19.684 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -- Root WebApplicationContext: initialization completed in 363 ms call AppConfig.memberRepository call AppConfig.memberService call AppConfig.orderService 18:48:19.817 [main] INFO o.a.coyote.http11.Http11NioProtocol -- Starting ProtocolHandler ["http-nio-8080"] 18:48:19.825 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -- Tomcat started on port 8080 (http) with context path '' 18:48:19.829 [main] INFO hello.core.CoreApplication -- Started CoreApplication in 0.642 seconds (process running for 1.077)영상초반에 Provider 적용후 강의에서는 local 사이트 화면에서는 OK로 변경된 화면이 나오지만저의 사이트에서는 여전히 오류가 발생하고 있어서 문의드립니다.추가로 인텔리제이 종료후 재시작해서 CoreApplication를 작동해보았는데 추가적인 오류가 나왔습니다. 18:59:26.308 [main] INFO o.a.coyote.http11.Http11NioProtocol -- Starting ProtocolHandler ["http-nio-8080"] 18:59:26.310 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext -- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' 18:59:26.317 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger -- Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 18:59:26.325 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -- *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. Process finished with exit code 1
-
해결됨김영한의 실전 자바 - 기본편
6. 접근 제어자 수업 자료에 정리 부분 내용이 안 보입니다
수업 자료 지우고 다시 받아봐도 안 나옵니다 ㅠ=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
Window 환경이 아닌 RockyLinux8 버전에서도 실습이 가능할까요?
질문 답변을 제공하지만, 강의 비용에는 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, 인증로직 등 중수가 되기 위한 필수 스킬들!
이미지 404에러가 발생했습니다~~
══╡ 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 파일 공유
청개구리 기질로 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파일 / timeout 에러
안녕하세요Ch07 - 04_Translate_app_NewVersion 파일로 강의내용 보고있는데 따라하는중에 오류가 나와서 해결방법을 못찾아서 질문 내용 올립니다! openai key는 다른 예제로 했을때는 이상이 없는데요. TypeErro: BaseClient.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: ignore[reportUnknownMemberType]
-
미해결김영한의 실전 자바 - 기본편
실제 활용 관점
안녕하세요 강의를 듣던 와중에 궁금한 점이 생겨 질문 남깁니다.실제로 그렇다면 추상 클래스와 인터페이스 중에 인터페이스를 사용하는게 이점일 것 같은데.대부분의 경우 인터페이스로 구현되고, 추상 클래스는 사용하지 않는 것인가요 ?백엔드 개발 시에도 인터페이스 구현을 통해서만 작성하는 것 같아 여쭤봅니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
vscode의 디버거를 덕분에 알게 되었는데
강의를 다 보고 나니 너무 좋은 기능인것 같고, 실제로 해당 기능을 개발 단계에서 사용 할때는 따로 winston이나 내장 logger나 console.log 필요 없이(production에선 사용) 해당 디버거를 이용해서 하는게 훨씬 좋아 보이는데, 실무에서도 자주 사용 하시나요?
-
미해결스프링 부트 - 핵심 원리와 활용
코드 소스
[질문 내용]수업 자료 코드 소스는 어디서 받을수있나요??
-
미해결Next + React Query로 SNS 서비스 만들기
server action과 useState에 관해 질문드립니다!
안녕하세요 제로초님 소중한 강의 감사히 보고있습니다.다름이 아니라 강의를 잘 이해하다가 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
2-9. 웹팩 데브 서버와 핫 리로딩 6:16부분
리로딩과 핫리로딩의 차이를 설명하신 부분에서 핫리로딩은 기존 데이터를 유지한다고 하셨습니다. 그래서 저는 핫리로딩은 새로고침 없이 변경사항이 저장된다고 생각했는데 react-refresh 플러그인을 넣으나 안 넣으나 새로고침 되는건 같고 끝말잇기 프로젝트 내에서 데이터도 모두 초기화가 되었습니다. 그래서 현재 강의 내용으로는 핫리로딩과 리로딩의 차이를 명확히 알 수 없는데 부가적인 설명과 예시 부탁드립니다!