본문 바로가기

Python99

[Python] NumPy를 이용한 간단한 행렬 연산 및 TensorFlow로 선형 회귀 모델 구축 오늘은 딥러닝의 가장 기본적인 개념인 "선형회귀(Linear Regression)"를 이해하고자 파이썬 데이터 처리 라이브러리 NumPy 와 딥러닝 프레임워크 TensorFlow 를 사용해 간단한 딥러닝 학습 예제를 만들어보겠습니다. 딥러닝 프로젝트에서 Python은 거의 필수적이라고 할 수 있을 정도로 광범위하게 사용됩니다.딥러닝의 핵심 라이브러리들이 대부분 Python을 기반으로 하고 있기 때문입니다! 선형회귀 (Linear Regression) 란 - 선형 회귀는 데이터들 사이의 "선형적인 관계"를 가장 잘 나타내는 "직선"을 찾아내는 통계/머신러닝 기법. 여기서 선형적인 관계란 변수들(X와 Y)이 직선 형태로 증가하거나 감소하는 경향을 보이는 관계를 말합니다. 예시1) 공부 시간에 따른 시험.. 2025. 7. 2.
[Python] 음성 데이터를 Mel 스펙트로그램과 PyTorch 텐서로 변환해보기 딥러닝 모델은 음성 데이터를 직접 이해하지 못합니다. 따라서 음성은 숫자 배열, 즉 ‘텐서(Tensor)’ 형태로 변환되어야 합니다.이 글에서는 음성 파일을 불러와 Mel 스펙트로그램을 추출하고, 이를 PyTorch 텐서로 변환하는 전처리 과정을 실습해봅니다. 1. 라이브러리 설치 pip install librosa torch matplotlibLibrosa 는 오디오 데이터를 분석하고 처리할 수 있게 해주는 라이브러리입니다. 특히 음성이나 음악을 딥러닝에 넣기 전에 전처리하는 데에 최적화 되어 있습니다. 앞서 언급했듯이 TTS 에서 "음성 파일(wav)" 을 바로 모델에 넣을 수 없기 떄문에 사람의 말소리를 "배열"로 바꾸는 전처리 단계가 필요합니다. Librosa 라이브러리에는 오디오 파일 불러.. 2025. 6. 25.
[Python] tkinter으로 GUI 프로그램 만들기 : Todo 리스트 안녕하세요!이번 글에서는 파이썬의 표준 GUI 라이브러리인 tkinter를 이용해 간단한 Todo 리스트 프로그램을 만들어보겠습니다. 1. 준비물Python 설치Python 3.x 버전이 설치되어 있어야 합니다.tkintertkinter는 파이썬에서 그래픽 사용자 인터페이스(GUI) 프로그램을 만들 수 있게 해주는 표준 라이브러리입니다. 복잡한 설정 없이 간단하게 윈도우, 버튼, 입력창 등을 만들 수 있습니다.대부분의 Python 배포판에는 tkinter가 기본 포함되어 있습니다.만약 아래 코드에서 오류가 난다면, 아래 명령어로 설치해주세요.pip install tk 2. Todo 리스트 프로그램 만들기import tkinter as tk # tkinter 모듈을 불러옵니다.f.. 2025. 6. 19.
[Python] 파이썬으로 TTS(Text-to-Speech) 변환하기 - gTTS 활용 안녕하세요 오늘은 . 파이썬으로 TTS(Text-to-Speech) 변환해보도록 하겠습니다. gTTS는 Google의 Text-to-Speech API를 파이썬에서 간단하게 쓸 수 있게 해주는 라이브러리입니다. 1. gTTS 설치 pip install gTTS 2. gTTS 사용하기. from gtts import gTTS# 1. 텍스트 정의text = "안녕하세요. 파이썬으로 TTS 음성을 만들어 봅시다."# 2. TTS 객체 생성 (한국어 설정)tts = gTTS(text=text, lang='ko')# 3. 파일로 저장tts.save("output.mp3")print("✅ 음성 파일이 'output.mp3'로 저장되었습니다!") 같은 폴더에 output 이라는 이름을 가진 mp3 파일이 생성.. 2025. 6. 18.
[Python] FastAPI 에서 HTTPS 설정하기 안녕하세요.오늘은 FastAP에서 HTTPS 설정을 해보겠습니다. 1. HTTPSHTTPS(HyperText Transfer Protocol Secure)는 HTTP 프로토콜에 SSL/TLS 암호화 계층을 추가한 보안 통신 프로토콜입니다.즉, 웹 브라우저와 서버 사이의 모든 데이터가 암호화되어 전송됩니다.HTTP vs HTTPSHTTP: 평문(암호화되지 않은) 데이터 전송HTTPS: 암호화된 데이터 전송 (SSL/TLS 사용)SSL/TLSSSL(Secure Sockets Layer)와 TLS(Transport Layer Security)는 인터넷에서 데이터를 암호화해 안전하게 전송하기 위한 표준 프로토콜입니다.SSL은 원래 넷스케이프에서 개발된 보안 프로토콜이고, 이후 더 강력하고 안전한 TLS로 발전했.. 2025. 6. 12.
[Python] JSON 구조 데이터 전처리 하기 (필드 정리) 오늘은 JSON 구조로 되어있는 데이터를 파이썬으로 전처리하는 과정을 다뤄보겠습니다. TTS 전사 데이터, 크롤링 데이터, 로그 파일 등 다양한 곳에 활용할 수 있습니다. JSON 데이터 JSON(JavaScript Object Notation)은 사람도 읽기 쉬우면서, 기계도 쉽게 파싱 가능한 데이터 포맷입니다.웹 API, AI 학습 데이터, 설정 파일 등 거의 모든 분야에서 표준처럼 사용되고 있습니다. 가장 큰 특징으로는 key-value 구조라는 점입니다.딕셔너리처럼 "key": value 쌍으로 구성되어 있으며, 값으로는 문자열, 숫자, 리스트, 객체 등 다양한 타입이 들어갈 수 있습니다. 또한 텍스트 기반 데이터이기 때문에 `.json`, `.jsonl` 파일 형태로 저장되며, 텍스트 에디.. 2025. 6. 11.
[Python] FastAPI로 OAuth2 + JWT 기반 인증 시스템 만들기 안녕하세요.오늘은 FastAPI 에서 OAuth2와 JWT 기반 인증 시스템을 만들어보겠습니다. 현대 웹 서비스에서 인증(Authentication)과 인가(Authorization)는 필수적인 요소입니다. 인증은 사용자의 신원을 확인하는 과정입니다.즉, "당신이 누구입니까?"라는 질문에 대한 답을 검증하는 절차입니다. 예를 들어, 로그인 화면에서 아이디와 비밀번호를 입력하면, 시스템은 입력된 정보가 실제로 등록된 사용자와 일치하는지 확인합니다. 인가는 인증이 완료된 사용자에게 "어떤 자원(데이터, 기능 등)에 접근할 수 있는지"를 결정하는 과정입니다.즉, "당신이 이 작업을 할 권한이 있습니까?"라는 질문에 답하는 단계입니다.예를 들어, 일반 사용자는 자신의 정보만 볼 수 있지만, 관리자는 모든 사용자.. 2025. 6. 5.
[Python] FastAPI 비동기 처리(3) 비동기 백그라운드 작업 구현하기 이전 글2025.05.15 - [Python] - [Python] FastAPI 비동기 처리(1) 비동기 엔드포인트 만들기 [Python] FastAPI 비동기 처리(1) 비동기 엔드포인트 만들기안녕하세요.이전 글에서는 FastAPI를 사용해서 api서버를 만들고 의존성 주입을 활용하는 방법에 대해 알아보았습니다.2025.05.01 - [Python] - [Python] FastAPI 프레임워크로 api서버 만들기 [Python] FastAPI 프stickode.tistory.com2025.05.22 - [Python] - [Python] FastAPI 비동기 처리(2) 비동기 데이터베이스 연결 구현하기 [Python] FastAPI 비동기 처리(2) 비동기 데이터베이스 연결 구현하기안녕하세요.이전 글에.. 2025. 5. 29.
[Python] FastAPI 비동기 처리(2) 비동기 데이터베이스 연결 구현하기 안녕하세요.이전 글에서 FastAPI 비동기 처리를 위해 비동기 엔드포인트 만드는 방법을 알아보았습니다.2025.05.15 - [Python] - [Python] FastAPI 비동기 처리(1) 비동기 엔드포인트 만들기 [Python] FastAPI 비동기 처리(1) 비동기 엔드포인트 만들기안녕하세요.이전 글에서는 FastAPI를 사용해서 api서버를 만들고 의존성 주입을 활용하는 방법에 대해 알아보았습니다.2025.05.01 - [Python] - [Python] FastAPI 프레임워크로 api서버 만들기 [Python] FastAPI 프stickode.tistory.com FastAPI의 비동기 기능을 제대로 활용하려면 데이터베이스와의 연결도 비동기로 처리하는 것이 중요합니다. 이번 글에서는 ORM.. 2025. 5. 22.