본문 바로가기
728x90
반응형

Python22

10강: 파이썬 확장 (C Extensions 소개) - 파이썬 고급편 10강: 파이썬 성능 한계 돌파 - C 확장 (개념 소개)개요 및 중요성파이썬은 개발 생산성과 가독성 면에서 뛰어나지만, 실행 속도 측면에서는 C/C++과 같은 컴파일 언어에 비해 느릴 수 있습니다. 특히 수치 연산이나 대량 데이터 처리와 같은 CPU 집약적 작업에서 이러한 차이가 더욱 두드러집니다. C 확장은 이러한 성능 병목을 해결하는 강력한 방법을 제공합니다.핵심 포인트: C 확장은 복잡하지만, ctypes, Cython, Numba 같은 도구들이 이 과정을 크게 단순화해줍니다.파이썬 성능 병목 지점 이해먼저 파이썬이 왜 느린지, 그리고 어떤 상황에서 C 확장이 필요한지 알아보겠습니다.import timefrom typing import Listdef python_heavy_computation(n.. 2025. 5. 30.
Jupyter MCP 서버: Jupyter 환경에서 AI가 원활하게 작동하도록 만들기 오늘날의 디지털 시대에는 데이터 과학과 머신 러닝이 점점 더 긴밀하게 연결되고 있습니다. 데이터 과학자와 개발자를 위한 강력한 도우미로서 Jupyter Notebook의 기능은 끊임없이 확장되고 있습니다. 오늘은 Jupyter MCP 서버를 소개해드리겠습니다. Jupyter MCP 서버는 대규모 언어 모델(LLM)을 Jupyter 환경과 실시간으로 통합할 수 있는 놀라운 도구입니다. Jupyter는 AI 모델이 Jupyter 커널, 파일 시스템 및 터미널과 안전하고 상황에 맞는 방식으로 상호 작용할 수 있도록 모델 컨텍스트 프로토콜(MCP)을 구현합니다. 다음으로 Jupyter MCP Server의 매력을 자세히 살펴보겠습니다.MCP 서버가 필요한 이유는 무엇입니까?기존의 데이터 과학과 머신 러닝 작업에.. 2025. 5. 30.
9강: 디스크립터와 property - 파이썬 고급편 9강: 속성 접근 제어의 비밀 - 디스크립터와 property개요 및 중요성파이썬에서 객체의 속성에 접근할 때 일어나는 내부 동작을 이해하고 제어하는 것은 고급 프로그래밍의 핵심입니다. 디스크립터 프로토콜은 속성 접근(get, set, delete)을 커스터마이징할 수 있는 강력한 메커니즘을 제공하며, property() 함수는 이를 쉽게 활용할 수 있는 내장 도구입니다.핵심 포인트: 디스크립터는 파이썬의 객체 시스템 핵심에 있으며, 메서드, property, classmethod, staticmethod 모두 디스크립터를 기반으로 구현됩니다.디스크립터 프로토콜 이해하기디스크립터는 __get__, __set__, __delete__ 메서드 중 하나 이상을 정의한 객체입니다.# 기본 디스크립터 예시clas.. 2025. 5. 30.
8강: 타입 힌트와 정적 분석 - 파이썬 고급편 8강: 코드를 더 안전하고 명확하게 - 파이썬 타입 힌트 도입개요 및 중요성파이썬은 동적 타입 언어이지만, Python 3.5부터 도입된 타입 힌트를 통해 정적 타입 검사의 이점을 누릴 수 있습니다. 타입 힌트는 코드의 가독성을 향상시키고, 개발 단계에서 오류를 조기에 발견하며, IDE의 자동완성과 리팩토링 기능을 강화합니다.핵심 포인트: 타입 힌트는 런타임에 영향을 주지 않으며, 개발자를 위한 문서화 및 도구 지원 역할을 합니다.타입 힌트 없는 코드 vs 있는 코드먼저 타입 힌트가 없는 코드와 있는 코드의 차이점을 비교해보겠습니다.타입 힌트가 없는 코드# 타입 힌트 없는 함수 - 무엇을 받고 무엇을 반환하는지 불분명def process_data(data, multiplier, include_negati.. 2025. 5. 29.
7강: 고급 데이터 구조 및 collections 모듈 - 파이썬 고급편 7강: 파이썬 표준 라이브러리 속 숨은 보석 - collections 모듈 활용개요 및 중요성파이썬의 기본 데이터 구조(list, dict, set, tuple)만으로도 많은 작업을 수행할 수 있지만, collections 모듈은 더욱 특화되고 효율적인 데이터 구조들을 제공합니다. 이러한 고급 데이터 구조들은 특정 상황에서 놀라운 성능 향상과 코드 간결성을 제공합니다.핵심 포인트: 올바른 데이터 구조 선택이 알고리즘 성능을 크게 좌우합니다.Counter: 카운팅의 강자Counter는 해시 가능한 객체를 카운팅하는 dict의 서브클래스입니다. 데이터 분석이나 통계 작업에서 매우 유용합니다.from collections import Counter# 기본 카운팅text = "hello world python .. 2025. 5. 29.
파이썬 고급 5강: async/await으로 시작하는 비동기 파이썬: asyncio 기초 🐍파이썬 고급편Advanced Python Series5강 / 10강async/await으로 시작하는 비동기 파이썬: asyncio 기초 개요 및 중요성현대 웹 애플리케이션과 데이터 처리 시스템에서 **비동기 프로그래밍**은 필수적인 기술이 되었습니다. 파이썬의 asyncio 라이브러리는 동시에 여러 작업을 효율적으로 처리할 수 있게 해주는 강력한 도구입니다.특히 네트워크 요청, 파일 I/O, 데이터베이스 접근과 같은 **I/O 바운드 작업**에서 극적인 성능 향상을 경험할 수 있습니다. 이번 강의에서는 async/await 키워드부터 시작해서 비동기 프로그래밍의 핵심 개념들을 실습을 통해 학습해보겠습니다. asyncio 라이브러리 기초asyncio는 파이썬 3.4+에서 제공하는 **비동기 I/O 라이.. 2025. 5. 28.
728x90
반응형