본문 바로가기
728x90

Artificial Intelligence/60. Python556

[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.
[PYTHON] 파이썬 메모리 관리 완벽 가이드 : 참조부터 최적화까지 Python은 개발 생산성이 높은 언어로 알려져 있지만, 그 이면에는 복잡한 메모리 관리 시스템이 숨어 있다. 특히 대규모 애플리케이션이나 데이터 집약적인 작업을 할 때는 메모리 사용의 효율이 성능을 결정짓는다. 본 글에서는 참조 카운트, 가비지 컬렉션(GC), 메모리 누수의 원인과 이를 방지하는 고급 기법까지 실무 수준에서 정리한다. Python 메모리 내부 동작을 이해하고 최적화까지 경험하고 싶은 개발자라면 꼭 읽어야 할 내용이다.1. Python 메모리 관리의 핵심 구조Python은 크게 세 가지 레벨에서 메모리를 관리한다:Object-Level Memory: 각 객체는 PyObject 구조체를 기반으로 관리됨Reference Counting: 참조 수가 0이 되는 순간 메모리 해제Garbage C.. 2025. 7. 25.
728x90