Python Yield
·
Interview/Python
Python Yieldyield는 Python에서 generator를 만드는 데 사용되는 키워드로, 함수의 실행을 일시 중단하고 값을 반환하며, 필요할 때 함수의 상태를 그대로 유지하면서 실행을 재개할 수 있습니다. 이를 통해 메모리를 효율적으로 사용하면서도 데이터를 순차적으로 처리할 수 있게 합니다.yield를 이해하려면 우선 generator와 iterator의 개념을 알아야 합니다.1. Generatoryield를 사용하는 함수는 generator 객체를 반환합니다. 이 generator는 __iter__()와 __next__() 메서드를 가진 이터러블 객체입니다. 즉, 반복 가능한 객체처럼 사용할 수 있으며, 한 번에 하나의 값을 생성(또는 반환)하고 다음 호출 때 그 상태를 기억합니다.def m..
Python ASGI vs WSGI
·
Interview/Python
ASGI vs WSGIPython 웹 프레임워크인 Django나 Flask에서는 웹 서버와의 통신을 효율적으로 처리하고, 서버의 요청을 애플리케이션으로 전달하기 위해 WSGI 또는 ASGI라는 인터페이스를 사용합니다.이 인터페이스는 Python 웹 애플리케이션의 표준 방식으로, 웹 서버와 Python 애플리케이션 사이에서 중간 역할을 합니다.WSGI (Web Server Gateway Interface)WSGI는 동기적인 웹 애플리케이션과 웹 서버 간의 인터페이스를 정의한 Python의 표준입니다. WSGI는 Python 웹 애플리케이션이 웹 서버와 소통할 수 있도록 도와주며, 동작 방식은 매우 단순합니다.동기 처리: WSGI는 기본적으로 동기 방식을 지원합니다. 즉, 요청이 들어오면 해당 요청이 완전히..
Python GIL과 Thread
·
Interview/Python
Python GIL과 ThreadPython이 기본적으로 단일 프로세스 환경에서 동작하는 주요 이유 중 하나는 GIL(Global Interpreter Lock)이라는 메커니즘 때문입니다.GIL은 Python 인터프리터가 한 번에 하나의 스레드만 실행되도록 제한하는 락(Lock)으로, 다중 스레드 환경에서 메모리 관리의 안전성을 보장하는 역할을 합니다.GIL은 동시에 하나의 스레드만 Python 바이트코드를 실행할 수 있도록 하여, 멀티코어 CPU의 성능을 제대로 활용하지 못하는 상황을 유발합니다. 다만, GIL은 충돌을 방지하고, Python의 메모리 관리 시스템(CPython)의 안정성을 보장하기 위해 필요합니다.1. GIL(Global Interpreter Lock)의 배경Python은 기본적으로 ..
김 정출
'Interview/Python' 카테고리의 글 목록