본문 바로가기
728x90
반응형

python421

Pydantic을 활용한 데이터 검증과 설정 관리 Pydantic을 활용한 데이터 검증과 설정 관리안녕하세요! 오늘은 Pydantic을 사용하여 데이터 유효성 검사를 수행하고 설정 관리를 효율화하는 방법에 대해 알아보겠습니다. Pydantic은 Python에서 데이터 검증과 설정 관리를 위한 강력한 도구로, 타입 힌트를 기반으로 직관적이고 효율적인 모델을 제공합니다. 이번 글에서는 Pydantic의 기본 사용법부터 요청 데이터 검증, 그리고 환경 변수와 설정 파일 관리까지 다루어 보겠습니다.Pydantic의 기본 사용법Pydantic이란?Pydantic은 Python 데이터 클래스에서 타입 힌트를 활용하여 데이터 유효성 검사와 직렬화를 지원하는 라이브러리입니다. 이를 통해 데이터 모델을 정의하고, 입력된 데이터가 올바른지 자동으로 검증할 수 있습니다.설.. 2024. 11. 5.
비동기 프로그래밍과 FastAPI의 효율성 비동기 프로그래밍과 FastAPI의 효율성안녕하세요! 오늘은 비동기 프로그래밍이 무엇인지,그리고 FastAPI에서 어떻게 활용할 수 있는지에 대해 알아보겠습니다.비동기 프로그래밍은 현대 웹 애플리케이션에서 성능을 향상시키는 핵심 기술 중 하나입니다.이해하기 쉽게 설명하고, 예제 코드도 함께 제공하니 끝까지 함께해주세요!비동기 프로그래밍이란?비동기 프로그래밍은 프로그램이 시간이 오래 걸리는 작업을 수행하는 동안 다른 작업을 동시에 처리할 수 있도록 하는 프로그래밍 방식입니다. 이를 통해 시스템 자원을 효율적으로 활용하고, 응답 시간을 단축할 수 있습니다.async와 await의 기본 개념Python에서는 비동기 프로그래밍을 위해 async와 await 키워드를 사용합니다.async: 함수를 비동기로 정의할.. 2024. 11. 4.
의존성 주입(Dependency Injection)과 FastAPI에서의 활용 의존성 주입(Dependency Injection)과 FastAPI에서의 활용안녕하세요! 오늘은 의존성 주입(Dependency Injection)의 개념과 이를 FastAPI에서 어떻게 활용할 수 있는지 알아보겠습니다. Python과 FastAPI를 처음 접하시는 분들도 이해하기 쉽도록 예제를 통해 설명드리겠습니다.의존성 주입이란?의존성 주입(Dependency Injection)은 소프트웨어 디자인 패턴 중 하나로, 객체 간의 의존 관계를 외부에서 주입해주는 방식을 말합니다. 이를 통해 코드의 유연성, 재사용성, 테스트 용이성을 높일 수 있습니다.왜 필요한가요?결합도 감소: 모듈 간의 의존성을 낮춰 코드 변경 시 영향 범위를 줄입니다.테스트 용이성: Mock 객체를 주입하여 단위 테스트를 쉽게 작성할.. 2024. 11. 1.
Python을 이용한 POST 요청 보내기 - 웹사이트에 로그인하는 방법 Python을 이용해 특정 웹사이트에 로그인하는 방법에 대해 알아보려고 합니다. 웹 스크래핑이나 자동화된 작업을 하다 보면 특정 웹페이지에 로그인해야 할 때가 종종 있는데요, Python의 requests 라이브러리를 사용하면 생각보다 쉽게 해결할 수 있답니다. 그럼 시작해 볼까요?1. 준비물: requests 라이브러리 설치하기먼저, Python에서 HTTP 요청을 보내기 위해 필요한 requests 라이브러리를 설치해야 해요. 터미널이나 명령 프롬프트에서 아래 명령어를 실행해 주세요.$ pip install requests이제 준비가 되었습니다. 아주 간단하죠?2. 목표: POST 요청을 이용해 로그인하기이번에 우리가 할 작업은 https://test.co.kr 이라는 URL로 POST 요청을 보내는.. 2024. 9. 30.
[Selenium] 셀레니움으로 크롤링 할 때 시크릿 모드 브라우저 열기 [Selenium] 셀레니움으로 크롤링 할 때 시크릿 모드 브라우저 열기크롬 브라우저 옵션에 --incognito 플래그를 추가하면 간단하게 시크릿 모드로 실행 시킬 수 있습니다 !! 예제코드from selenium import webdriverfrom selenium.webdriver.chrome.options import Options# 크롬 옵션 설정chrome_options = Options()chrome_options.add_argument("--incognito") # 시크릿 모드 옵션 추가# 크롬 드라이버 경로 설정 (자신의 경로로 수정)driver_path = "/path/to/chromedriver" # 크롬 드라이버 경로를 설정하세요.# 드라이버 생성 (옵션 포함)driver = w.. 2024. 9. 11.
[Python & FastAPI] FastAPI와 Gunicorn을 사용한 서버 설정 (systemctl 에 설정하기) [Python & FastAPI] FastAPI와 Gunicorn을 사용한 서버 설정 (systemctl 에 설정하기) FastAPI와 Gunicorn을 연동하여 서버를 설정을 해보았습니다 !Gunicorn 시스템 서비스 파일 설정우선, FastAPI 애플리케이션을 Gunicorn과 함께 실행하기 위해 시스템 서비스 파일을 설정해야 합니다. 아래는 systemd에서 사용하는 서비스 파일의 예제입니다. vi /etc/systemd/system/gunicorn.service# gunicorn.service[Unit]Description=gunicorn daemonAfter=network.target[Service]User=ubuntuGroup=ubuntuWorkingDirectory=/home/ubuntu/.. 2024. 8. 23.
[Ubuntu & Linux] 주피터 노트북(jupyter notebook) 실행 시 에러 TypeError: __init__() got an unexpected keyword argument 'registry' 해결방법 [Ubuntu & Linux] 주피터 노트북(jupyter notebook) 실행 시 에러 TypeError: __init__() got an unexpected keyword argument 'registry' 해결방법우분투 서버에 주피터 노트북을 설치 후 실행했더니 아래와 같은 에러가 발생하였다.OS 버전은 Ubuntu 20.04, Python은 3.8.10 이다. 확인을 해보니 패키지 버전이 안맞아서 그런거라 최신버전으로 업데이트 해주어 쉽게 해결했다.Traceback (most recent call last): File "/home/drsong/.local/bin/jupyter-notebook", line 5, in from notebook.app import main File "/ho.. 2024. 8. 12.
[Python] Django, Flask, FastAPI 대표 프레임워크의 장점과 단점 Django장점Full-Stack Framework: Django는 풀스택 프레임워크로, 웹 애플리케이션을 만드는 데 필요한 모든 도구를 제공합니다. ORM, 인증, 관리 인터페이스 등 다양한 기능이 내장되어 있습니다.보안 기능: CSRF, XSS, SQL 인젝션 방지 등 기본적으로 보안 기능을 많이 제공하여 안전한 웹 애플리케이션을 만들 수 있습니다.큰 커뮤니티 및 문서: Django는 오랜 역사를 가지고 있어, 큰 커뮤니티와 방대한 문서를 제공합니다. 문제 해결이 용이합니다.단점복잡성: 풀스택 프레임워크이기 때문에, 작은 프로젝트나 단순한 API를 만들 때는 오히려 불필요하게 복잡할 수 있습니다.유연성 부족: 기본적으로 제공되는 구조와 규칙을 따르는 것이 좋습니다. 이를 벗어나기 위해서는 많은 커스터.. 2024. 7. 30.
[Ubuntu & Linux ] nohup과 systemd 의 장단점과 차이점 [Ubuntu & Linux ] nohup과 systemd 의 장단점과 차이점 nohup과 systemd는 각각 다른 목적과 기능을 가진 도구입니다. 성능 면에서도 차이가 있지만, 더 중요한 것은 관리와 신뢰성 측면에서의 차이입니다. 여기에서 두 도구의 차이점과 성능 차이를 설명하겠습니다.nohupnohup은 단순히 프로세스를 백그라운드에서 실행하고, 터미널 세션이 종료되어도 해당 프로세스가 계속 실행되도록 합니다.장점:간단하고 사용하기 쉬움.별도의 설정 파일 없이 빠르게 실행 가능.추가적인 데몬 관리 도구 없이 사용 가능.단점:프로세스 모니터링 및 자동 재시작 기능이 없음.시스템 재부팅 시 자동으로 시작되지 않음.로그 관리가 어려움(nohup.out 파일로 로그가 저장됨).systemdsystemd는 .. 2024. 7. 11.
728x90
반응형