Tech Articles

cover of post: 고성능 파이썬: Asyncio

고성능 파이썬: Asyncio

12월 27, 2024

멀티스레딩과 달리 `asyncio`는 단일 스레드이지만 내부 이벤트 루프 메커니즘을 통해 여러 가지 다른 작업을 동시에 실행하고 멀티스레딩보다 더 큰 자율 제어를 수행할 수 있습니다. `asyncio`의 작업은 작동 중에 중단되지 않으므로 경쟁 조건이 발생하지 않습니다. 특히 I/O 작업이 많은 시나리오에서 `asyncio`는 멀티스레딩보다 더 높은 작동 효율성을 제공합니다. `asyncio`의 작업 전환 비용이 스레드 전환 비용보다 훨씬 적고 `asyncio`가 시작할 수 있는 작업 수가 멀티스레딩의 스레드 수보다 훨씬 많기 때문입니다. 그러나 많은 경우에 `asyncio`를 사용하려면 이전 예의 `aiohttp`와 같은 특정 타사 라이브러리의 지원이 필요하다는 점에 유의해야 합니다. 그리고 I/O 작업이 빠르고 많지 않으면 멀티스레딩을 사용하여 문제를 효과적으로 해결할 수도 있습니다.

By Takashi Yamamoto#python
cover of post: FastAPI와 Python Async IO 마스터하기

FastAPI와 Python Async IO 마스터하기

12월 27, 2024

비동기 I/O는 "코루틴"과 "이벤트 루프"를 사용하여 하위 계층에서 구현됩니다. "코루틴"은 스레드가 실행 중에 표시된 I/O 작업을 만날 때 I/O가 완료될 때까지 기다릴 필요 없이 일시 중지하고 스레드가 차단 없이 다른 작업을 실행할 수 있도록 합니다. "이벤트 루프"는 I/O 멀티플렉싱 기술을 사용하여 I/O 이벤트를 지속적으로 순환하면서 모니터링합니다. 특정 I/O 이벤트가 완료되면 해당 콜백이 트리거되어 코루틴이 계속 실행될 수 있습니다.

By Emily Parker#python
cover of post: FastAPI의 속도 뒤에 숨겨진 비밀

FastAPI의 속도 뒤에 숨겨진 비밀

12월 26, 2024

FastAPI의 속도 뒤에 숨겨진 비결은 무엇일까요? 왜 다른 프레임워크들은 디지털 먼지를 먹고 있을까요?

By Ethan Miller#Engineering
cover of post: Flask는 죽었는가? FastAPI가 미래인가?

Flask는 죽었는가? FastAPI가 미래인가?

12월 25, 2024

이 기사는 주로 Python 프레임워크 분야에서 Flask와 FastAPI의 현재 상황과 개발에 대해 논의합니다. 새로운 프로젝트 채택, GitHub 스타 수, 공식 설문 조사에서의 비율 비교를 통해 FastAPI의 인기가 상승하여 Flask를 넘어섰음을 보여줍니다. 웹 프레임워크의 발전을 되돌아보면 Flask는 한때 장점이 있었지만 플러그인 유지 관리와 같은 문제로 제한됩니다. FastAPI는 비동기 설계, Pydantic 데이터 유효성 검사 및 ASGI 지원으로 두각을 나타냅니다. 또한 커뮤니티 활동 및 토론 빈도와 같은 측면에서 Flask의 인기 하락을 설명합니다. 마지막으로 둘 다 배포하는 데 적합한 Leapcell 플랫폼의 장점을 소개합니다.

By Daniel Hayes#python
cover of post: WTH는 유비쿼터스 테스팅(합성 테스트)인가?

WTH는 유비쿼터스 테스팅(합성 테스트)인가?

12월 24, 2024

유비쿼터스 테스팅(합성 테스트)에 대한 간략하고 친근한 소개입니다.

By Olivia Novak#Testing
cover of post: Microsoft MarkItDown에 대한 심층 분석

Microsoft MarkItDown에 대한 심층 분석

12월 23, 2024

MarkItDown의 기능, 아키텍처, 제한 사항 및 통합 방법을 탐구하는 MarkItDown에 대한 심층적인 내용입니다. MarkItDown이 다양한 파일 형식을 Markdown으로 변환하는 방법과 확장 가능한 모듈식 설계를 강조합니다. 실제 예제와 API 호스팅 가이드도 다룹니다.

By Min-jun Kim#Python
cover of post: Playwright가 브라우저 자동화를 지배하는 이유: 심층 분석

Playwright가 브라우저 자동화를 지배하는 이유: 심층 분석

12월 21, 2024

Playwright는 JavaScript, Python, C#, Java를 지원하는 최신 브라우저 자동화 프레임워크로 Chrome, Edge, Firefox, Safari와 같은 주요 브라우저와의 원활한 상호 작용을 제공합니다. 각 브라우저에 별도의 드라이버가 필요한 Selenium과 달리 Playwright는 브라우저 드라이버가 필요하지 않아 프로세스를 간소화합니다. 헤드리스 모드, 동시성 지원, iframe 처리 및 다중 탭 작업과 같은 기능이 포함되어 있어 자동화 작업을 위한 다용도 도구입니다. Playwright는 또한 기본 제공 기능, 자동 대기 및 통합 스크린샷/녹화 도구를 통해 디버깅에 탁월합니다. 사용 용이성, 최소 구성 및 간단한 DOM 조작으로 유명합니다. 커뮤니티는 Selenium에 비해 아직 성숙하지 않았지만 Playwright는 효율성과 개발자 친화적인 디자인으로 인해 웹 자동화를 위한 인기 있는 선택이 되었습니다. 다양한 환경에서 확장성, 성능 및 호환성을 강조하는 Playwright는 브라우저 작업을 효과적으로 자동화하려는 초보자와 고급 사용자 모두에게 훌륭한 도구입니다.

By Wenhao Wang#playwright
cover of post: 이메일 마케팅이 스팸으로 끝날까? 이를 확인하기 위해 도구를 만들었습니다.

이메일 마케팅이 스팸으로 끝날까? 이를 확인하기 위해 도구를 만들었습니다.

12월 18, 2024

이 기사에서는 Apache SpamAssassin(오픈 소스 스팸 감지 도구)을 사용하여 이메일 스팸 점수를 평가하고 워크플로에 원활하게 통합하기 위해 API로 배포하는 방법에 대해 설명합니다.

By Grace Collins#Marketing
cover of post: WSGI vs ASGI: 2025년 웹 앱의 미래를 결정짓는 중요한 결정

WSGI vs ASGI: 2025년 웹 앱의 미래를 결정짓는 중요한 결정

12월 14, 2024

ASGI(Asynchronous Server Gateway Interface)와 WSGI(Web Server Gateway Interface)는 웹 서버와 애플리케이션 간의 다리 역할을 하도록 설계된 두 가지 파이썬 프로토콜입니다. WSGI는 동기식이며 Django 및 Flask와 같은 프레임워크에서 오랫동안 지원되는 블로그 또는 회사 웹사이트와 같은 기존 HTTP 기반 앱에 이상적입니다. 간단하고 안정적이며 널리 사용되지만 높은 동시성 또는 실시간 통신에는 어려움이 있습니다. Python의 async/await 기능과 함께 도입된 ASGI는 비동기식, 논블로킹이며 WebSocket 및 HTTP/2와 같은 최신 프로토콜을 지원합니다. 채팅 앱 및 라이브 데이터 서비스와 같은 고성능 실시간 애플리케이션을 위해 구축되었으며 FastAPI와 같은 프레임워크에서 사용됩니다.

By Ethan Miller#python