728x90 분류 전체보기1369 [PYTHON] threading vs asyncio : 동시성 프로그래밍 완전 비교 Python에서 동시성(concurrency)을 구현하는 대표적인 방법으로는 threading과 asyncio가 있다. 두 방식은 모두 동시에 여러 작업을 처리하는 데 사용되지만, 내부 메커니즘과 적용 대상이 크게 다르다. 이 글에서는 threading과 asyncio의 동작 원리, 사용 예시, 성능 차이, 실무 적용 사례를 비교 분석하여 개발자가 프로젝트에 맞는 방식을 선택할 수 있도록 안내한다.1. Python의 동시성 모델 이해하기멀티스레딩 (threading): 하나의 프로세스에서 여러 스레드를 생성해 병렬 작업비동기 프로그래밍 (asyncio): 이벤트 루프 기반 코루틴 처리두 모델 모두 CPU가 아닌 I/O 병목을 줄이는 데 적합하다. 하지만 Global Interpreter Lock(GIL).. 2025. 7. 25. [PYTHON] setup.py vs pyproject.toml : Python 패키징의 과거와 미래 Python 프로젝트에서 패키징과 배포를 위해 사용되는 핵심 파일은 setup.py와 pyproject.toml이다. 전자는 오랜 시간 동안 사실상의 표준으로 사용되었고, 후자는 PEP 518/517 이후 등장한 새로운 표준이다. 이 두 파일은 서로 다른 생태계를 기반으로 하지만, 궁극적인 목적은 동일하다. 바로 Python 코드를 재사용 가능한 패키지로 구성하고 PyPI 등으로 배포1. Python 패키징의 역사적 흐름setup.py: distutils → setuptools 중심의 전통적 방식pyproject.toml: 표준화된 빌드 메타데이터 및 PEP 기반의 구성 파일이제는 새로운 프로젝트의 대부분이 pyproject.toml을 채택하고 있으며, 특히 Poetry, Flit, Hatch 같은 도구.. 2025. 7. 25. [PYTHON] AWS Lambda로 서버리스 Python 애플리케이션 구축하기 클라우드 시대에 서버를 운영하지 않고도 애플리케이션을 개발하고 실행할 수 있는 방법이 있다면 어떨까? 바로 AWS Lambda와 Python의 조합을 통해 가능해진다. Lambda는 서버를 직접 관리하지 않고도 코드를 실행할 수 있는 서버리스(serverless) 컴퓨팅 서비스이며, Python은 이를 빠르고 유연하게 개발할 수 있는 언어로 각광받고 있다. 이 글에서는 AWS Lambda를 Python으로 작성하고 배포하는 전 과정을 다룬다. 기본 개념부터 실무 예제, 배포 자동화까지 초보자도 실습 가능한 예제 중심으로 설명한다. 단순한 튜토리얼이 아닌, 비용 절감, 확장성, 운영 자동화 측면에서 서버리스의 진정한 가치를 전달하는 데 중점을 두었다.1. AWS Lambda란?AWS Lambda는 Amaz.. 2025. 7. 25. [PYTHON] Python 프로젝트에 Docker 적용하기: 개발과 배포를 혁신하는 방법 Docker는 애플리케이션과 그 실행 환경을 하나의 이미지로 묶어, 어디서나 동일하게 실행할 수 있도록 해주는 컨테이너 기술이다. Python 개발자는 Docker를 통해 복잡한 라이브러리 의존성 문제를 해결하고, 테스트 및 배포 환경을 표준화할 수 있다. 이 글에서는 Python 기반 프로젝트에 Docker를 적용하는 방법을 설계 → 작성 → 빌드 → 실행 → 배포의 순서로 체계적으로 설명한다. 초보자도 이해할 수 있도록 실용적인 예제 중심으로 구성하되, 전문가 수준의 컨테이너 전략까지 아우른다.1. Docker란 무엇인가?Docker는 애플리케이션을 격리된 환경에서 실행할 수 있는 컨테이너 기반 플랫폼이다. 가상머신과 달리 가볍고 빠르며, 이미지 기반으로 환경을 코드처럼 버전 관리할 수 있는 것이 특.. 2025. 7. 25. [PYTHON] CSV 파일 읽기 & 쓰기 완벽 가이드 : csv 모듈부터 pandas까지 CSV(Comma-Separated Values) 파일은 가장 널리 사용되는 데이터 저장 형식 중 하나로, 다양한 플랫폼과 언어에서 쉽게 읽고 쓸 수 있다는 장점이 있다. Python은 이러한 CSV 파일을 손쉽게 다룰 수 있는 csv 모듈과 pandas 라이브러리를 제공한다.본 글에서는 Python에서 CSV 파일을 읽고 쓰는 기본 방법부터, 실무에서 유용한 고급 활용 팁까지 실제 코드 예제와 함께 상세히 소개한다. 특히 csv 모듈과 pandas의 차이점, 각 방식의 장단점도 비교하여 독자의 실력 향상에 실질적인 도움을 줄 것이다.1. CSV 파일이란?CSV는 각 행이 레코드(record)를 나타내고, 각 열이 쉼표(,)로 구분되는 단순한 텍스트 파일이다. 구조는 단순하지만 Excel, 데이터베이스,.. 2025. 7. 25. [PYTHON] numpy reshape 완벽 가이드: 다차원 배열을 자유자재로 다루는 법 Python에서 수치 계산과 배열 조작의 대표적인 라이브러리인 NumPy는 과학 계산, 데이터 분석, 머신러닝에서 핵심적인 역할을 한다. 그 중에서도 reshape() 함수는 배열의 구조를 바꿔주는 매우 강력하고 자주 사용되는 도구다. 본 글에서는 numpy.reshape의 개념부터 동작 원리, 주의할 점, 실무 예제까지를 체계적으로 정리했다. 초보자부터 전문가까지 모두가 이해할 수 있도록 설명하며, 단순한 문법 소개를 넘어 배열 구조에 대한 직관을 길러줄 것이다.1. numpy.reshape란?reshape()는 기존 배열의 데이터를 변경하지 않고, 배열의 구조(차원과 형태)만 바꾸는 함수다. 데이터의 수는 같지만 형상(shape)을 바꾸고자 할 때 사용된다.import numpy as npa = np.. 2025. 7. 25. 이전 1 ··· 146 147 148 149 150 151 152 ··· 229 다음 728x90