본문 바로가기
728x90
반응형

Coding593

의존성 주입(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.
JavaScript에서 URL 쿼리 파라미터를 변수로 관리하는 방법(GET방식) JavaScript에서 URL 쿼리 파라미터를 변수로 관리하는 방법(GET방식)API 요청을 보낼 때, URL에 여러 쿼리 파라미터를 사용하게 됩니다.이런 경우, 쿼리 파라미터를 변수로 관리하면 코드를 더욱 읽기 쉽고 유지보수하기 쉬워집니다.이번 포스팅에서는 JavaScript에서 쿼리 파라미터를 변수로 관리하는 간단한 방법을 설명하겠습니다.예시 코드// 쿼리 파라미터를 변수로 선언const baseUrl = 'https://api.example.com/products';const userId = 12345;const searchKeyword = 'laptop';const category = 'electronics';const available = true;const page = 1;const pageS.. 2024. 9. 4.
[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.
[Python] Django, Flask, FastAPI 대표 프레임워크의 장점과 단점 Django장점Full-Stack Framework: Django는 풀스택 프레임워크로, 웹 애플리케이션을 만드는 데 필요한 모든 도구를 제공합니다. ORM, 인증, 관리 인터페이스 등 다양한 기능이 내장되어 있습니다.보안 기능: CSRF, XSS, SQL 인젝션 방지 등 기본적으로 보안 기능을 많이 제공하여 안전한 웹 애플리케이션을 만들 수 있습니다.큰 커뮤니티 및 문서: Django는 오랜 역사를 가지고 있어, 큰 커뮤니티와 방대한 문서를 제공합니다. 문제 해결이 용이합니다.단점복잡성: 풀스택 프레임워크이기 때문에, 작은 프로젝트나 단순한 API를 만들 때는 오히려 불필요하게 복잡할 수 있습니다.유연성 부족: 기본적으로 제공되는 구조와 규칙을 따르는 것이 좋습니다. 이를 벗어나기 위해서는 많은 커스터.. 2024. 7. 30.
[JavaScript] 자바스크립트를 활용하여 숫자에 ,(콤마) 넣는 방법 !! 정규식사용 [JavaScript] 자바스크립트를 활용하여 숫자에 ,(콤마) 넣는 방법 !! 정규식사용예제코드 (정규식)function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");}// 사용 예시let number = 1234567;console.log(numberWithCommas(number)); // 출력: "1,234,567" 여기서 사용된 정규식 /\B(?=(\d{3})+(?!\d))/g는 다음과 같은 의미를 가집니다:\B: 단어 경계가 아님을 의미합니다. 이는 숫자 앞이나 뒤에 콤마를 잘못 삽입하지 않도록 합니다.(?=(\d{3})+(?!\d)): 3자리 숫자 그룹 앞에 콤마를 삽입합니다. 이는 다음과.. 2024. 7. 19.
[Python & Matplotlib] Matplotlib 한글이 깨지는 문제 해결하는 방법 !! [Python & Matplotlib] Matplotlib 한글이 깨지는 문제 해결하는 방법 !!Matplotlib 는 한글폰트를 지정해주지 않으면 한글이 깨지는 문제가 발생한다.아래와 같이 폰트를 지정해주면 끝 ! 해결방법import matplotlib.pyplot as pltplt.rcParams['font.family'] ='Malgun Gothic'plt.rcParams['axes.unicode_minus'] =False 2024. 6. 27.
[Python & PyAutoGUI] 일정시간 마다 스크린샷을 찍는 자동화 만들기 !! [Python & PyAutoGUI] 일정시간 마다 스크린샷을 찍는 자동화 만들기 !!이 코드를 실행하면 컴퓨터 화면의 현재 상태를 일정한 시간 간격으로 캡처하여 저장할 수 있습니다 !!예를 들어, 특정 작업을 모니터링하거나, 시간의 경과에 따른 화면 변화를 기록하는 등의 용도로 활용할 수 있습니다 :) 예시코드import pyautoguiimport timeimport os# 스크린샷을 저장할 폴더 경로save_folder = "screenshots"# 폴더가 없으면 생성if not os.path.exists(save_folder): os.makedirs(save_folder)# 스크린샷을 찍고 저장하는 함수def take_screenshot(): timestamp = time.strftim.. 2024. 6. 26.
728x90
반응형