본문 바로가기
728x90

Requests9

[PYTHON] 비동기 프로그래밍의 적, 블로킹 함수 사용 시 발생하는 3가지 치명적 문제와 해결 방법 파이썬의 asyncio 라이브러리는 싱글 스레드 환경에서도 수만 개의 동시 연결을 처리할 수 있는 강력한 성능을 제공하며, 현대 백엔드 아키텍처의 핵심 기술로 자리 잡았습니다. 하지만 비동기 코드를 작성하다 보면 무심코 전통적인 동기식 라이브러리(예: requests, time.sleep())를 섞어 쓰는 실수를 범하곤 합니다. 비동기 컨텍스트 내부에서 단 하나의 블로킹(Blocking) 함수라도 호출되는 순간, 비동기 프로그래밍이 제공하던 모든 장점은 물거품이 되고 시스템은 심각한 성능 위기에 직면하게 됩니다.본 포스팅에서는 비동기 시스템의 심장인 이벤트 루프(Event Loop)가 블로킹 함수에 의해 어떻게 마비되는지 그 내부 메커니즘을 심층 분석합니다. 또한 블로킹 함수 사용으로 인해 발생하는 3가.. 2026. 3. 30.
[PYTHON] 비동기 HTTP 요청 시 requests 대신 aiohttp를 써야 하는 3가지 결정적 이유와 성능 해결 방법 현대적 파이썬 개발자를 위한 고성능 네트워크 I/O 최적화 가이드: Blocking vs Non-blocking1. 동기(Synchronous)와 비동기(Asynchronous) HTTP 통신의 본질적 차이파이썬 개발자들에게 가장 친숙한 라이브러리는 단연 requests일 것입니다. 인간 친화적인 API 설계 덕분에 한두 줄의 코드로 HTTP 요청을 보낼 수 있지만, 치명적인 약점이 있습니다. 바로 Blocking I/O 방식이라는 점입니다. requests.get()을 호출하는 순간, 파이썬 인터프리터는 서버로부터 응답이 올 때까지 아무런 작업도 하지 못하고 멈춰 서게 됩니다. 반면 aiohttp는 asyncio 라이브러리를 기반으로 하는 Non-blocking I/O 방식을 채택합니다. 이는 요청을 .. 2026. 3. 29.
[PYTHON] requests로 배우는 실전 API 호출 완벽 가이드 웹 개발과 데이터 활용의 중심에는 API가 있습니다. Python은 간결한 문법과 풍부한 표준 라이브러리 덕분에 API 호출에 매우 적합한 언어입니다. 그중에서도 requests는 RESTful API 통신을 가장 쉽게 구현할 수 있는 대표적인 라이브러리입니다. 이 글에서는 Python requests를 사용한 API 요청/응답 구조, 실전 활용 팁, 그리고 예외 처리까지, API 호출의 모든 것을 다룹니다.API와 requests의 기본 이해API란 무엇인가?API(Application Programming Interface)는 소프트웨어 간 데이터와 기능을 주고받기 위한 인터페이스입니다. REST API는 URL 기반으로 데이터를 주고받으며, HTTP 프로토콜(GET, POST, PUT, DELETE.. 2025. 7. 23.
[PYTHON] Python으로 배우는 실전 웹 스크래핑 완벽 가이드 웹 스크래핑(Web Scraping)은 웹사이트에서 원하는 데이터를 자동으로 추출해내는 기술입니다. Python은 간결한 문법과 강력한 라이브러리 지원 덕분에 웹 스크래핑에 가장 적합한 언어 중 하나로 꼽힙니다. 단순히 HTML을 긁어오는 수준을 넘어, 웹 구조 분석, 비정형 데이터 가공, 데이터 저장 및 활용까지 실무적인 관점에서 깊이 있는 내용을 소개합니다.웹 스크래핑이란?웹 스크래핑은 특정 웹페이지의 HTML 구조를 분석하여 원하는 정보를 자동으로 추출하는 기법입니다. 크롤링(Crawling)이 전체 웹을 탐색하는 것이라면, 스크래핑은 원하는 부분만 정밀하게 긁어오는 작업이라고 볼 수 있습니다.웹 스크래핑의 활용 사례뉴스, 블로그에서 기사 제목 및 요약 수집쇼핑몰에서 가격 비교 데이터 확보채용 사이.. 2025. 7. 23.
[PYTHON] REST API 이것만 알면 끝 : 설계부터 구현 및 테스트까지 Python을 활용한 REST API는 웹 서비스와 앱, 외부 시스템을 연결하는 핵심 기술입니다. 이 글에서는 API 설계 원칙부터 Flask/FASTAPI 예제, client 코드 연동, 보안 및 테스트 전략까지 실무에서 바로 활용할 수 있는 내용을 제공합니다.1. REST API란?REST = Representational State TransferHTTP 메서드(GET, POST, PUT, DELETE)를 통한 리소스 제어무상태성(stateless), URI 기반 리소스 지정, JSON을 주로 사용2. 설계의 핵심 원칙리소스는 명사 URI로 표현 (예: /users, /articles/123)HTTP 상태 코드 사용 (200, 201, 400, 404 등)요청/응답의 일관성 유지 및 에러 메시지 구.. 2025. 7. 22.
[PYTHON] BeautifulSoup 완전 안내 : 웹 크롤링의 핵심 요소 웹 데이터를 자동으로 수집하고 분석하려면 BeautifulSoup이 가장 널리 쓰이는 도구입니다. HTML 구조를 이해하고, 태그 기반으로 원하는 정보를 효율적으로 추출할 수 있어, 실전 웹 크롤링에서 매우 중요한 역할을 합니다. 본 글에서는 기본 이해부터 고급 활용, 안정화 전략까지 전문가 수준의 관점으로 정리하였습니다.1. BeautifulSoup 소개Python 기반 HTML/XML 파싱 라이브러리requests와 함께 사용하면 웹 데이터를 쉽게 수집 가능HTML 문서를 파싱하여 DOM 트리로 변환CSS 선택자 또는 태그/속성 접근 방식 지원2. 설치 및 초기 설정pip install requests beautifulsoup4 설치 후, requests로 페이지 요청하고 BeautifulSoup으.. 2025. 7. 22.
728x90