inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

airflow에 필요 패키지 설치방법 문의

미해결

Airflow 마스터 클래스

안녕하세요! 유튜브 API로 댓글 받아온 뒤, 텍스트 처리 후 postgres DB에 업로드하는 DAG 생성 py파일을 스터디 중에 있는데요. 텍스트 처리할 때 필요한 아래 패키지를 설치하려고 다음과 같은 시도를 했습니다. # wsl에서 root 계정으로 진입 sudo docker exec -u root -it <계정명>-airflow-webserver-1 /bin/bash # 필요한 패키지 설치 apt-get update apt-get install default-jdk -y #Airflow 사용자로 전환 su - airflow #패키지 설치 pip install JPype1 pip install konlpy #컨테이너 종료 및 재시작 sudo docker-compose down sudo docker-compose up 하지만 airflow UI에서는 다음과 같은 에러로 DAG를 만든 py파일이 보이지 않습니다. Broken DAG: [/opt/airflow/dags/youtube_to_ postgres.py ] Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/opt/airflow/dags/youtube_to_ postgres.py ", line 5, in <module> from konlpy.tag import Okt ModuleNotFoundError: No module named 'konlpy' 필요한 패키지를 설치하는 방법이 잘못되었을까요? 제가 설치해야하는 것들을 설치하는 방법을 알려주시면 감사하겠습니다! apt-get install default-jdk -y pip install JPype1 pip install konlpy

  • python
  • 데이터-엔지니어링
  • airflow
elin 댓글 1 좋아요 0 조회수 179

회원 리포지토리와 회원 서비스

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] 회원 리포지토리는 인터페이스와, 메모리 구현체로 이루어져 있습니다. 그런데 회원 서비스는 회원 리포지토리와는 반대로 클래스로만 이루어져 있는데 왜 회원 리포지토리는 회원서비스처럼 클래스로 만들지 않고 인터페이스와 메모리구현체 클래스로 나뉘었는지 궁금합니다.

  • java
  • spring
  • mvc
  • spring-boot
soojinkimss 댓글 2 좋아요 0 조회수 150

StringTokenizer에 대한 개념은 영상에 없을까요

미해결

김영한의 실전 자바 - 중급 1편

알고리즘 문제풀고있는데 이 개념은 영상에서 본적이없는거가타서요...

  • java
  • 객체지향
임다정 댓글 1 좋아요 0 조회수 115

[군인입니다] 클라우드 환경 gitpod에서 진행하고 있는데, 실행 시 Unable to locate persister 에러가 발생합니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

<질문요약> Gitpod 환경에서 실습을 진행 중인데, 데이터베이스에 연결은 되지만, 엔티티가 Persist 되질 않습니다. [필자 개발환경] 군대 사지방에서 GitPod 클라우드 개발환경에서, VS Code IDEA 기반 Java 프로젝트를 생성해 JPA 기본편 강의를 듣고 있습니다. Gitpod 프로젝트 셋팅 값 - Java 17 버전 - Gradle java 프로젝트 [이슈사항] build.gradle 파일 plugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' } group = 'com.inflearn' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.hibernate:hibernate-core' // JPA 하이버네이트 implementation 'javax.xml.bind:jaxb-api' implementation 'com.h2database:h2' runtimeOnly 'com.h2database:h2' // H2 DB 드라이버 같은 역할 testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } persistence.xml 파일 <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="jakarta.persistence.jdbc.user" value="sa"/> <property name="jakarta.persistence.jdbc.password" value=""/> <property name="jakarta.persistence.jdbc.url" value="jdbc:h2:~/jpa-basic"/> <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.JtaPlatform" /> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create" /> </properties> </persistence-unit> </persistence> > 위와 같이 build 파일과 resources/META-INF 폴더에 persistence.xml 파일까지 셋팅을 해주었습니다. JpaMain 클래스 / Member 클래스 구현한 후, JpaMain 클래스 실행 시 EntityManager 로 H2 Database에 Connection은 되지만, 아래와 같은 에러코드로 Persist 가 되지 않습니다. 여건 상 클라우드 환경에서 개발할 수 없기에, 이를 수행할 수 있는 방법을 알려주시면 감사드립니다.

  • java
  • jpa
우기 댓글 2 좋아요 0 조회수 206

섹션2 기본알고리즘

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! gpt에선 이러한 코드가 정상적이지 않은 코드라고 합니다.아래는 계속 되는 질문을 통해 얻어낸 답입니다. 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 섹션2 첫강의 N = int(input()) result = 0 for i in range(1, N + 1): result += i print(result) input()함수처리 이해가안됩니다 txt 파일에서 1 과 3을 입력해 int()로 형변환이되면 정수 하나만 처리되는게 아닌지요? 파이참에선 입력이 1로 처리되는걸로봐선 1과 3 문자열로 처리되고 앞의 정수 1만 값을 인지하여 N = 1이 되는거 같습니다. 파이참과 강의에서 사용하는 애디터의 코드 가 다른 부분이 다른 강의에서도 많을까요?? input.txt에서1 3은 Sublime Text 3 어떻게 처리가되는걸까요 ? 1은 입력이된고고 3, 10,100,1000등만 입력되는거네요…!?

  • python
  • 코딩-테스트
  • 알고리즘
아요 댓글 2 좋아요 0 조회수 145

문제풀이 해설 질문입니다.

미해결

자바 코딩테스트 - it 대기업 유제

문제에서 아래의 구문이 있는데. 영희는 산딸기가 없이는 기사를 지나쳐 갈 수 없다. 영희 입장에서 bfs를 먼저 돌리면 board[nx][ny] != 3도 조건에 포함시켜야 되는거 아닌가요??

  • java
  • 코딩-테스트
댓글 2 좋아요 0 조회수 142

애플리케이션 예외 사용에 대한 질문

미해결

토비의 스프링 6 - 이해와 원리

토비 스프링 3.1 책과 강의를 병행하면서 궁금한 점이 있어서 질문 남깁니다. 책 [4.1.4 예외처리 전략 - 애플리케이션 예외] 에서는 '외부의 예외상황이 원인이 아니라 애플리케이션 자체의 로직에 의해 의도적으로 발생시키는 예외도 있다' 라고 하는데요. 예를들어 잔고 부족과 같은 상황에서 예외상황에 대한 리턴값을 코드화 하는것 보다는 InsufficientBalanceException 과 같은 체크 예외를 던지는것도 좋은 방법(코드가 이뻐짐) 으로 소개가 됩니다. 그러나 강의에서 예외는 '정상적인 값을 리턴으로 수단으로 사용' 하는 것은 지양하고 '예외적인 상황에서만 사용' 해야 한다고 해주셔서 조금 헷갈리네요. 제가 이해를 잘못했을 수도 있는데요. 같은 상황이 맞다면 어떤게 더 맞는 방향인지 궁금합니다.

  • java
  • spring
차도인 댓글 1 좋아요 0 조회수 223

깁ㅗㄴ알고리즘

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지 를 명확히 제시해 주시면 답변에 도움이 됩니다! 자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 자신은 어떻게 이해했는지 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?

  • python
  • 코딩-테스트
  • 알고리즘
댓글 1 좋아요 0 조회수 157

01-03 검색지원에 대해

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

스크립트 문자 그대로 form 썼는데 서버에 새로고침해도 영상과 달리 검색어가 안내려옵니당 그리고 저도 진석님처럼 코드가 색깔별로 나오게끔 하고싶은데 그건 어떻게 하신건가요..? 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • react
  • python
  • django
  • web-api
  • htmx
haru2175 댓글 2 좋아요 0 조회수 103

페이징관련해서 질문 있습니다

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

페이징관련해서 오라클에서 원래 엄청 힘들게 쿼리를 짜는 걸 쉽게 바뀌어 이제 setFist , setMax 값만 신경쓰면 된다고 하셧는데 그럼 궁금한 점이 만약에 게시판 같은거 만들 때 페이징 처리를 어떻게 하는지 궁금합니다 그거 관련된 내용이 로드맵에 있나요?

  • java
  • jpa
cowldnd123 댓글 2 좋아요 0 조회수 87

추상클래스,인터페이스

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

3:26 예제 1출력결과는 어떻게 되나요? 예제들 출력결과까지 알려주셨으면 해요

  • python
  • java
  • c
  • 정보처리기사
SUDAM 댓글 2 좋아요 0 조회수 190

셀레니움 수업 pdf 다운로드

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

안녕하세요~ 셀레니움 수업 pdf 자료는 어디서 다운 받을 수 있나요? ^^

  • python
  • 웹-크롤링
youme 댓글 2 좋아요 0 조회수 249

오타 제보입니다.

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

섹션 13 - 스레드 풀과 Executor 프레임워크1 강의 소스코드의 ExecutorBasicMain.java package thread.executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import static thread.executor.ExecutorUtils.*; import static util.MyLogger.log; import static util.ThreadUtils.sleep; public class ExecutorBasicMain { public static void main(String[] args) { ExecutorService es = new ThreadPoolExecutor(2, 2, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>()); log("== 초기 상태 =="); printState(es); es.execute(new RunnableTask("taskA")); es.execute(new RunnableTask("taskB")); es.execute(new RunnableTask("taskC")); es.execute(new RunnableTask("taskD")); log("== 작업 수행 중 =="); printState(es); sleep(3000); log("== 작업 수행 완료 =="); printState(es); es.close(); log("== showdown 완료 =="); printState(es); } } 다른곳들은 다 고쳐져있는 거 같은데, 이 클래스에만 showdown으로 아직 변경이 안되어있습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
doxxx93 댓글 2 좋아요 0 조회수 205

상속과 생성자 호출순서

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

여러가지 이론이 막 섞여서 아직 정리가 안되어 질문드립니다 상속에서 super이 없어도 그 super가 생략되어있다는 말은 어떤 뜻인가요? 10:30 이 문제에서는 super가 없기때문에 기본 생성자로 간다고 하셔서요 이런경우는 super이 생략되어 있는경우가 아니고 super가 없다고 생각해야 하는거라 헷갈리네요

  • python
  • java
  • c
  • 정보처리기사
SUDAM 댓글 2 좋아요 0 조회수 312

상속과 생성자 호출순서

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

7:33 출력값내는 순서에서 세째줄 start까지는 알겠는데요 그 이후 stop에서 부모의 stop이 있는데 왜 자식stop만 출력하나요?

  • python
  • java
  • c
  • 정보처리기사
댓글 2 좋아요 0 조회수 186

강의 소스코드

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

혹시 강의 소스코드를 받을 수 있을까요?? 의존성 문제가 해결이 안돼서 강의 코드를 한번 받고싶습니다

  • java
  • spring
  • mvc
  • spring-boot
최진욱 댓글 1 좋아요 0 조회수 118

url pattern관련 문의

해결됨

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

안녕하세요. urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 이런식으로 url패턴을 만들어주면 이렇게 (^media/(?P<path>.*)$)패턴이 생기는거 같고 그 다음 views.py 에서 해당 url을 처리할 로직을 만들어야하는걸로 아는데.. 이 경우는 어째서 예외인가요?

  • HTML/CSS
  • javascript
  • python
  • django
  • bootstrap
  • aws
  • docker
  • tdd
gonggong 댓글 2 좋아요 0 조회수 212

런타임 에러: 메모리

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요 강사님, 재귀함수 이해하기[문제풀이]: BOJ 10870 문제 풀이에서 궁금한 점이 있어 질문드립니다. 아래는 제 코드입니다. 백준 제출시 런타임 에러가 발생합니다. 시간 복잡도는 O(n)이 나와서 문제가 없는 듯한데, 재귀 호출이 너무 깊어져서 발생하는 문제인지, 궁금하여 여쭤봅니다. 감사합니다. import sys input1 = int(sys.stdin.readline()) def fibo(n, n_1, n_2): if n == 1: return n_1 else: return fibo(n-1, n_1+n_2, n_1) result = fibo(input1, 1, 0) print(result)

  • python
  • 코딩-테스트
  • 알고리즘
타이거 댓글 1 좋아요 0 조회수 134

음성인식 하는 마이크 시간이 짧은거 같아요

해결됨

[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱

안녕하세요! 섹션 7 Flutter음성대화 마지막 부분인 최종 테스트를 진행하고 있습니다 음성인식이 가능은 합니다 하지만 인식하는 시간이 짧아 긴 문장은 인식 못하는거 같습니다!! 더 긴 문장을 말하고 싶은데 제가 말하는 음성인식 시간을 더 길게 할 수 있는 방법이 있을까요?? 제 코드 입니다 오류나는 문제는 없습니다!! import 'package:dash_chat_2/dash_chat_2.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; // 통신을 할수있는 패키지 import 'dart:convert'; //파싱을 위한 import 'package:speech_to_text/speech_to_text.dart'; //stt 패키지 import 'package:speech_to_text/speech_recognition_result.dart'; //음성을 인식하는 import 'package:flutter_tts/flutter_tts.dart'; // class BasicScreen extends StatefulWidget { @override _BasicState createState() => _BasicState(); } class _BasicState extends State<BasicScreen> { bool isListening = false; // 기본 false SpeechToText _speechToText = SpeechToText();//SpeechToText 인스턴스(?) 생성 bool _speechEnabled = false; //음성인식이 가능한지 아닌지 상태 오류가 나면 인식이 나기 떄문에 사용 안함 isListening로 어느정도 대체 가능 String _lastWords = ''; //인식한 문장이 저장될 lastWords FlutterTts flutterTts = FlutterTts();//TTS 인스턴스(?) 생성 @override void initState() { //음성인식부분을 초기화 하는 코드 super.initState(); _initSpeech(); flutterTts.setLanguage("ko-KR");//인스턴스 언어 flutterTts.setSpeechRate(1.0);// 읽어주는 속도 } ChatUser user1 = ChatUser( id: '1', //우리 firstName: 'me', lastName: 'me', ); ChatUser user2 = ChatUser( id: '2', //chatgpt firstName: 'chatGPT', lastName: 'openAI', profileImage: "assets/img/gpt_icon.png" ); late List<ChatMessage> messages = <ChatMessage>[ //List<ChatMessage> = 채팅 메세지를 리스트 형태로 보관하는 ChatMessage( text: '반갑습니다. 어서오세요. 무엇을 도와드릴까요?', //보여지는 텍스트 user: user2, //누가 얘기하는지 user 설정 createdAt: DateTime.now(), //현재 대화가 발생한 날짜,시간 ), ]; @override Widget build(BuildContext context) { // 화면에 메세지를 보여주는 부분 return Scaffold( //Scaffold라는 형식으로 앱 구성을 묶어준것 appBar: AppBar( //AppBar는 타이틀 부분 title: const Text('Basic example'), ), body: DashChat( // DashChat패키지를 이용한 고유 클래스 / DashChat 정의를 해줌 currentUser: user1, //currentUser = 채팅을 입력하는 사람은 누구 onSend: (ChatMessage m) { setState(() {// setState = 현재 화면의 상황을 업데이트 해준다라고 이해하며 됨 messages.insert(0, m); //messages.insert = 메세지 전송 현재 사용자가 입력한 텍스트를 대화창으로 보내는 역할 ,리스트가 추가되는 거죠 }); Future<String> data = sendMessageToServer(m.text); //입력한 메세지를 받아서 서버에 전송을 해주고 data.then((value){ //결과값을 비동기(?) 형태로 받아와서 user2(chatgpt)가 발화(이야기)하고 통신 결과값을 출력하는 setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now() )); }); }); }, messages: messages, inputOptions: InputOptions( leading: [ IconButton( icon: Icon(Icons.mic, color: isListening? Colors.red: Colors.black), //음성을 듣고있는 상태면 버튼누름 빨강 / 아니면 기본 검정 onPressed: (){ //아이콘이 눌러진다면 setState(() { //상태를 바꿔줘 isListening = !isListening; // 리스닝이 아닌 상태에 검정이 리스닝 상태인 빨강으로 바뀌는 처리 if (isListening == true){// 음성입력 대기 상태가 되면 print('음성인식 시작'); //폴스였다 트루가 되면 _startListening(); }else{ print('음성인식 끝'); // 트루였다가 풀스 _stopListening(); } }); }, ) ] ), ), ); } //통신을 할 수 있는 코드 = postman에서 테스트를 하면서 코드를 얻은것임,약갼의 수정을 해준것뿐 //json의 어떤 부분을 가져와야하는지 전체를 뿌릴순 없으니 추출하는 부분만 추가한것임 Future<String> sendMessageToServer(String messages) async{ var headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-UGIfeFKyAXIhwIXdM3uf96g176CRFnw5AnHJ2acSpyT3BlbkFJmhIKdmcjh56e01G0Axc5xF9scspNoz_MsXuZPUGW8A', }; var request = http.Request('POST', Uri.parse('https://api.openai.com/v1/chat/completions')); request.body = json.encode({ "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": messages, } ] }); request.headers.addAll(headers); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { String responseString = await response.stream.bytesToString();//json 문자열들이 string 변수에 저장이 된다 Map<String, dynamic> jsonResponse = json.decode(responseString);//responseString을 json 구조에 맞게 변환을 시킨게 jsonResponse가 된다 -> json 구조대로 입맞에 맞게 값을을 골라올수있음 String result = jsonResponse['choices'] != null? jsonResponse['choices'][0]['message']['content']: "No result found"; print(responseString); // 전체 내용 출력, 터미널 화면에서만 출력이 됨 실제 앱에서 출력되지 않음 그래서 return "ERROR"; 을 가지고있어야함 //message = 결과값 부분만 추출 , result라는 String에 저장 // 'choices' 조건문 return result; //함수를 호출한곳에서 사용을 할 수 있다 //print(await response.stream.bytesToString()); //await response.stream.bytesToString() = 실제 결과값 } else { print(response.reasonPhrase); return "ERROR"; // 오류가 날 경우 화면에서도 오류가 난걸 확인할 수 있게 해줌 } } /// This has to happen only once per app void _initSpeech() async { //초기화 하는 함수 , 마이크 같은 디바이스를 사용하기 떄문에 필요 print("음성인식 기능을 시작합니다."); _speechEnabled = await _speechToText.initialize(); //setState(() {}); } /// Each time to start a speech recognition session void _startListening() async { // start를 하게 되면 _onSpeechResult 부분을 동작을 시킴 print("음성인식을 시작합니다."); await _speechToText.listen(onResult: _onSpeechResult); //setState(() {}); } /// Manually stop the active speech recognition session /// Note that there are also timeouts that each platform enforces /// and the SpeechToText plugin supports setting timeouts on the /// listen method. void _stopListening() async { // 음성 인식 중지 print("음성인식을 종료합니다."); await _speechToText.stop(); //setState(() {}); } /// This is the callback that the SpeechToText plugin calls when /// the platform returns recognized words. void _onSpeechResult(SpeechRecognitionResult result) { _lastWords = ""; //초기화 시킴 , 입력을 받을떄마다 새롭게 리셋해야하기 떄문에 추가 if(result.finalResult){ //최종인식 _lastWords = result.recognizedWords; //result에 recognizedWords를 _lastWords에 넣어줘 print("최종 인식된 문장: $_lastWords"); //flutter 에서는 변수를 텍스트 안에 넣어줄때 $를 넣고 일반 텍스트문자영하고 변수가 가티 출력됨 / 최종 인식된 음성을 텍스트로 바꿔서 _lastWords 넣어줘 setState(() { //messages 리스트에 인식한 내용을 추가해줘. messages.insert(0, ChatMessage( text: _lastWords, user: user1, createdAt: DateTime.now() )); }); Future<String> data = sendMessageToServer(_lastWords); //입력한 메세지를 받아서 서버에 전송을 해주고 data.then((value){ //결과값을 비동기(?) 형태로 받아와서 user2(chatgpt)가 발화(이야기)하고 통신 결과값을 출력하는 setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now() )); }); flutterTts.speak(value); // value를 바로 읽어줌 }); } } }

  • python
  • flutter
  • 챗봇
  • chatgpt
  • openai-api
오서현 댓글 2 좋아요 1 조회수 588

파이썬 내장타입과 메서드-2

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

집합형 메서드 9:13 마지막부분 my_set.clear() print(my_set)의 답이 set()인 어색합니다. my_set() 아 아니고 set()인 이유가 있나요?

  • python
  • java
  • c
  • 정보처리기사
댓글 2 좋아요 0 조회수 130

인기 태그

인프런 TOP Writers

주간 인기글