안녕하세요. urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 이런식으로 url패턴을 만들어주면 이렇게 (^media/(?P<path>.*)$)패턴이 생기는거 같고 그 다음 views.py 에서 해당 url을 처리할 로직을 만들어야하는걸로 아는데.. 이 경우는 어째서 예외인가요?
안녕하세요 강사님, 재귀함수 이해하기[문제풀이]: 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)
안녕하세요! 섹션 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를 바로 읽어줌 }); } } }
7:30 사전형 메서드에서 답을 표기할때 여러가지 형태의 괄호를 붙이고 안붙이는 규칙을 알고 싶습니다.예를 들면 get()메서드 print(my_dict.get("name))에는 아무 괄호가 안 붙고 pop()메서드 마지막 print(my_dict)에는 중괄호가 붙는 부분이 아직 익숙하지 않습니다.
안녕하세요 저는 맥북 유저이고, 파이참 프로 버전 사용하고 있습니다. Lv1 강의 너무 잘 들었고, 잘 따라가고 싶었는데 강의에서 설명하시는 단축키들과 제 컴퓨터에 사용해야 하는 단축키 설정이 다른 것 같은데 그게 뭔지 찾질 못하겠고, 예제보다 단축키 사용 위주로 강의하시니 지금껏 강의 중 예제는 별거 없어도 너무 어렵게 다가와요..
이렇게 작성하고 엔터 눌러도 html 파일 생성이 되지 않습니다. 그리고 강의 여기까지 듣고있긴한데 속도를 몇으로 해두고 봐야할지 모르겠어요.. 뭔가 너무 빠른 느낌 ㅠㅠ.. 혹시 오픈채팅 파이썬 사랑방 비밀번호도 알수있을까요 ㅠㅠ 모르면 거기에다가 또 물어볼까해서 ..
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강사가 실제 사용하는 자동 프로그램 소개 필요한 프로그램 설치 시연 데이터를 엑셀 파일로 만들기 엑셀 파일 이쁘게! 이쁘게! 나대신 주기적으로 파이썬 프로그램 실행하기 파이썬으로 슬랙(slack) 메신저에 글쓰기 웹사이트 변경사항 주기적으로 체크해서, 메신저로 알람주기 네이버 API 사용해서, 블로그에 글쓰기 자동으로 쿠팡파트너스 API 로 가져온 상품 정보, 네이버 블로그/트위터에 홍보하기 위와 같이 크롤링된 결과에 대해서, 4~5행의 앞부분의 공란을 없애주기 위해서 아래와 같이 코딩을 합니다. import requests from bs4 import BeautifulSoup res=requests.get("https://davelee-fun.github.io/blog/crawl_test") soup=BeautifulSoup(res.content, "html.parser") section=soup.find("ul", id="dev_course_list") titles=section.find_all("li", class_="course") for i in titles: print(i.get_text().split("[")[0].split("-")[1].strip()) 강의 내용에서 strip(" ")이나 strip(' ')으로 하나, strip()으로 하나, 똑 같은 결과라고 설명하셨는대요 실제로 strip(' ')이나, strip(" ")으로 하면, 4~5행의 앞부분의 공백이 없어지지 않습니다. 이건 왜 그럴까요?
데이터 전처리 강의 14:50 관련하여, X_train['workclass']의 최빈값과 X_test['workclass']의 최빈값이 달라질 수 있는데 train 데이터와 test 데이터를 서로 다른 최빈값으로 결측치를 채워도 되나요? 제 생각에는 train과 test를 합쳐서 최빈값을 찾고, 그값으로 결측치를 채워야 하지 않나 싶습니다.
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
class Order(models.Model): ... products = models.ManyToManyField( Product, blank=False, ) ... 그럴 가능성은 드물지만 Product 수량은 1개로만 주문 가능하고 상품이름과 가격이 변동 불가하다고 하였을 때( 1개 주문시, 품절 되는 상품)는 별도의 OrderedProduct 클래스 없이 위와 같이 구현해도 무방한가요? class OrderedProduct(models.Model): order = models.ForeignKey( Order, on_delete=models.CASCADE, db_constraint=False, ) product = models.ForeignKey( Product, on_delete=models.CASCADE, db_constraint=False, ) ... 따로 OrderedProduct 클래스에 FK로 order와 product를 두신건 이름/가격 정보의 변경 가능성, 2개이상의 수량 선택 문제를 해결하기 위함과 향후에 추가적인 모델의 유연성 때문에 이렇게 설계 해두신걸까요?