묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java언어 기출문제의 변형
15:42sumVValues(int n)이 부모한테도 있는데요super가 생략되어있다고 보는 경우는 어떤 경우인가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java언어 기출문제의 변형
8:51 a.f설명하실때 본인거출력한다고 하시면서 부모 "fc"를 가리키셨어요. 부모 자식이 똑 같이 "fc"라서요 자식의 "fc"인가요? 정확한 정리가 필요합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
c언어 기출문제의 변형
30:16혹시 tfs(str, (가) , (나)_)문장이 전체 빠지면 swap이 그대로 진행되어 printf( )가 바뀐문자열:!dlroW ,olleH로 나오나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
c언어 기출문제의 변형
다른 분 질문에 올려주신 답글 해설을 보고도 이해가 안되어다시 질문 남깁니다강의 21:30을 보자면 print 3번은 ptr=arr인데앞에서 바꿔진 print2에서 30으로 변경된 것을 사용하는게 아닌가요? 아니라면 print1에서 변경되었던 21에서 자신은 변경없이 다음 arr[1]을 지시하는 것으로 이해해도 되나요?그런데 또 이상한게요 print 5번은 print4번이 31을 사용하는 것두 아니고 print2에서 바꿔놓은 30을 사용하는 것두 아니고 정말 정리가 안됩니다
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
mySQL과 fastAPI가 연동이 안됨
mysql 과 mysql workbench를 설치하고 접속하려는데 안돼서 고생하고 있습니다.코드는 아래와 같고'code'from fastapi import FastAPI, Dependsfrom sqlalchemy.orm import Sessionfrom sqlalchemy import Column, Integer, String, create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom pydantic import BaseModelDATABASE_URL = "mysql+pymysql://newjeans:@gaius2127@localhost:3306/db_name"engine = create_engine(DATABASE_URL)Base = declarative_base()class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True, index=True) username = Column(String(50), unique=True, index=True) email = Column(String(120))class UserCreate(BaseModel): username: str email: strdef get_db(): db = Session(bind=engine) try: yield db finally: db.close()Base.metadata.create_all(bind=engine)app = FastAPI()@app.get("/")def read_root(): return {"message": "Now, tackle with mySQL"}@app.post("/users/")def create_user(user: UserCreate, db: Session = Depends(get_db)): new_user = User(username=user.username, email=user.email) db.add(new_user) db.commit() db.refresh(new_user) return {"id": new_user.id, "username": new_user.username, "email": new_user.email} 터미널에 메세지는 PS C:\wonnho\fastapi> python -m uvicorn main:app --reloadINFO: Will watch for changes in these directories: ['C:\\wonnho\\fastapi']INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)INFO: Started reloader process [20636] using StatReloadProcess SpawnProcess-1:Traceback (most recent call last): File "C:\Python312\Lib\site-packages\pymysql\connections.py", line 644, in connect sock = socket.create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\socket.py", line 828, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\socket.py", line 963, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^socket.gaierror: [Errno 11003] getaddrinfo failedDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "C:\Python312\Lib\site-packages\sqlalchemy\engine\base.py", line 3280, in wrappool_connect return fn() ^^^^ 중간 생략..... File "C:\Python312\Lib\site-packages\pymysql\connections.py", line 358, in init self.connect() File "C:\Python312\Lib\site-packages\pymysql\connections.py", line 711, in connect raise excsqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'gaius2127@localhost' ([Errno 11003] getaddrinfo failed)")(Background on this error at: https://sqlalche.me/e/14/e3q8)아이디와 패스워드가 문제인거 같은데 뭐가 문제인지 모르겠네요. 륀튼에게 물어보고 제미나이도 물어봤는데 해결이 안되어 힌트라도 얻을려고 질문합니다.위에 newjeans라는 아이디가 있음.
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
1090 문제의 2, 3번째 아이디어는 결국 같은거 아닌가요?
강의를 여러번 듣다가 그런건데요.결국엔 강사님이 2, 3번 아이디어는 동일한 아이디어인데, 잘못해서 구분짓고, 3번 아이디어에서도 설명이 잘못된것 같은데..혹시 제 말이 맞는걸까요?
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
1090 문제 관련하여 맨해튼 거리 최솟값에 대해 질문 있습니다.
Q1) 2, 3, ..., N차원 맨해튼 거리에서 각 차원은 서로 독립적인게 맞나요?ex) 2차원인 x, y에서 x의 맨해튼 거리의 최소값과 y축 거리의 최소값은 서로 독립적이라 전체 최소값은 결국 x 맨해튼 거리 최솟값인 x좌표, y 맨해튼 거리가 최솟값인 y 좌표 Q2) N+1개 이상의 N차원 맨해튼 거리의 최솟값은 항상 주어진 점 위에 존재하게 되는건가요?ex) 점이 3개 혹은 4개가 주어진 2차원 맨해튼 거리 최소값은 무조건 주어진 점 위에 있는것인지?
-
미해결Airflow 마스터 클래스
DAG 자동화 문의
안녕하세요!dag 생성 중에 문의가 있어서 질문드립니다.저희가 dag파일을 생성할 때, 스케줄로 DAG 실행 주기를 설정하는데요.매번 공부하고 나서 docker compose down으로 컨테이너를 내리면, 실행 주기에 맞춰서 dag가 실행되지 않는 것 같아서요. 컴퓨터를 off한 상황에서도 postgres DB로 데이터가 적재되도록 만든 dag가 작성한 스케줄에 맞춰서 실행되려면 어떻게 해야하나요? 감사합니다!
-
미해결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 -ypip install JPype1 pip install konlpy
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
섹션2 기본알고리즘
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! gpt에선 이러한 코드가 정상적이지 않은 코드라고 합니다.아래는 계속 되는 질문을 통해 얻어낸 답입니다. 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!섹션2 첫강의N = int(input())result = 0for i in range(1, N + 1):result += iprint(result) input()함수처리 이해가안됩니다 txt 파일에서 1 과 3을 입력해int()로 형변환이되면 정수 하나만 처리되는게 아닌지요? 파이참에선 입력이 1로 처리되는걸로봐선 1과 3 문자열로 처리되고 앞의 정수 1만 값을 인지하여 N = 1이 되는거 같습니다. 파이참과 강의에서 사용하는 애디터의 코드 가 다른 부분이 다른 강의에서도 많을까요?? input.txt에서1 3은 Sublime Text 3 어떻게 처리가되는걸까요 ?1은 입력이된고고 3, 10,100,1000등만 입력되는거네요…!?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
깁ㅗㄴ알고리즘
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의자신은 어떻게 이해했는지DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
01-03 검색지원에 대해
스크립트 문자 그대로 form 썼는데 서버에 새로고침해도 영상과 달리 검색어가 안내려옵니당그리고 저도 진석님처럼 코드가 색깔별로 나오게끔 하고싶은데 그건 어떻게 하신건가요..?인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
추상클래스,인터페이스
3:26 예제 1출력결과는 어떻게 되나요? 예제들 출력결과까지 알려주셨으면 해요
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
셀레니움 수업 pdf 다운로드
안녕하세요~셀레니움 수업 pdf 자료는 어디서 다운 받을 수 있나요? ^^
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
상속과 생성자 호출순서
여러가지 이론이 막 섞여서 아직 정리가 안되어 질문드립니다상속에서 super이 없어도 그 super가 생략되어있다는 말은 어떤 뜻인가요? 10:30 이 문제에서는 super가 없기때문에 기본 생성자로 간다고 하셔서요 이런경우는 super이 생략되어 있는경우가 아니고 super가 없다고 생각해야 하는거라 헷갈리네요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
상속과 생성자 호출순서
7:33출력값내는 순서에서 세째줄 start까지는 알겠는데요 그 이후 stop에서 부모의 stop이 있는데 왜 자식stop만 출력하나요?
-
해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
url pattern관련 문의
안녕하세요. urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 이런식으로 url패턴을 만들어주면 이렇게 (^media/(?P<path>.*)$)패턴이 생기는거 같고 그 다음 views.py에서 해당 url을 처리할 로직을 만들어야하는걸로 아는데.. 이 경우는 어째서 예외인가요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 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 초보] 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를 바로 읽어줌 }); } } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
파이썬 내장타입과 메서드-2
집합형 메서드 9:13 마지막부분 my_set.clear()print(my_set)의 답이 set()인 어색합니다.my_set() 아 아니고 set()인 이유가 있나요?