본문 바로가기

반응형

Python

(22)
Flake8, isort, Black을 대체할 단 하나의 선택 – 초고속 Python 린터 Ruff 소개 Python 프로젝트를 진행하면서 코드 스타일이나 품질 관리를 위해 린터(linter)와 포맷터(formatter)를 사용하는 일은 이제 필수입니다. 문제는, 이런 도구들이 점점 늘어나고 설정도 복잡해진다는 점입니다. Flake8, isort, Black을 따로 설정하고 관리하느라 시간을 낭비하고 있다면, 이 글이 그 고민을 덜어줄 수 있습니다.이 글에서는 Rust로 개발된 초고속 Python 코드 품질 도구 Ruff를 소개합니다. Flake8, isort, Black의 기능을 하나로 통합해 코드 검사와 포맷팅을 단일 도구로 처리할 수 있고, 속도도 월등히 빠릅니다. 실제로 Airflow, FastAPI, Pandas 같은 유명 오픈 소스에서도 Ruff를 사용하고 있습니다.이 글을 통해 Ruff가 어떤 ..
Django 5.1의 대격변: URL 쿼리 파라미터를 더 쉽게 처리하는 {% querystring %} 템플릿 태그 Django 개발자들의 오랜 고민, 드디어 해결되다웹 애플리케이션을 개발할 때 필터, 검색, 페이지네이션 기능을 구현하며 가장 자주 겪는 문제가 있다. 바로 URL 쿼리 파라미터를 유지하면서 일부만 수정하거나 추가하는 것이다. 이처럼 단순해 보이는 작업이 Django 템플릿 내에서는 꽤나 번거롭고 비효율적인 코드 작성을 요구해왔다.하지만 Django 5.1의 새로운 기능, {% querystring %} 템플릿 태그가 이러한 문제를 해결해준다. 이제 템플릿에서 URL 쿼리 문자열을 더욱 직관적이고 간단하게 다룰 수 있게 된 것이다. 이번 블로그에서는 이 기능이 어떤 문제를 해결하며, 어떻게 사용하는지, 그리고 실무에서 어떤 장점을 가지는지 소개한다.Django 템플릿의 오래된 문제제품 목록을 보여주는 페..
Python 3.14, 드디어 GIL을 벗어나다: 프리-스레딩 빌드의 모든 것 Python 멀티스레딩, 드디어 진짜 가능해지나?Python을 사용하면서 가장 많이 들었던 불만 중 하나는 바로 GIL(Global Interpreter Lock)이었습니다. "멀티스레딩이 된다면서 왜 제대로 병렬 처리가 안 돼?"라는 의문은 Python 유저라면 한 번쯤 가져봤을 겁니다. 그런데 이제 그 답답한 GIL에서 조금씩 벗어날 준비가 되고 있습니다.Python Steering Council은 최근 PEP 779를 승인하며, Python 3.14에서 프리-스레딩(free-threaded) 빌드를 더 이상 실험적 기능으로 간주하지 않기로 결정했습니다. 이는 단순한 기술 개선이 아니라, Python이 멀티코어 환경에서 진정한 병렬 처리를 실현하는 데 한 걸음 다가섰다는 뜻입니다.이번 글에서는 Pyt..
파이썬 출력 포맷팅: 깔끔하고 읽기 쉬운 출력물 만드는 법 파이썬을 배우다 보면 print() 함수로 결과를 출력할 일이 정말 많습니다. 그런데 그냥 변수만 출력하면 정보는 있지만 보기 좋은 결과는 나오지 않죠.가독성 좋은 출력물은 사용자 경험을 높이고, 디버깅 시에도 유용합니다. 그래서 출력 포맷팅은 꼭 알아두면 좋은 필수 스킬입니다.이 글에서는 파이썬 출력 포맷팅의 개념부터 실전 예제까지 쉽게 정리해 드릴게요. 문자열 보간, 문자열 연결, 숫자 포맷팅, f-string 고급 포맷팅까지 단계별로 익혀 보세요.프로그래밍을 처음 시작하는 분들도 부담 없이 따라오실 수 있습니다.출력 포맷팅이란?출력 포맷팅이란 프로그램에서 생성한 데이터를 원하는 형식으로 화면에 보여주는 작업을 말합니다.그냥 print로 출력하는 것과 달리, 출력물의 정렬, 정밀도(소수점 자리수), ..
Pandas가 NumPy를 버린 이유: PyArrow가 바꾸는 데이터 분석의 속도 게임 데이터 분석 작업에서 Pandas는 오랜 시간 핵심 도구로 자리 잡아 왔습니다. 하지만 최근 Pandas가 오랜 파트너였던 NumPy를 대신해 PyArrow를 기본 엔진으로 채택하려는 움직임을 보이고 있습니다. 많은 개발자들이 이에 대해 궁금해하고 걱정하기도 합니다. "기존 코드는 어떻게 되지?", "PyArrow가 진짜 빠른가?", "지금부터 바꿔야 하나?"이번 블로그에서는 Pandas 3.0에서 벌어지고 있는 큰 변화를 살펴보며, 왜 PyArrow가 주목받는지, NumPy가 가진 한계는 무엇이었는지, 그리고 실제로 어떤 이점을 기대할 수 있는지를 정리해드립니다.Pandas의 시작과 현재 – 그리고 문제점Pandas는 2008년 금융 데이터를 처리하기 위해 만들어졌습니다. 당시에는 과학 계산에 특화된 ..
타입 체커의 진화: Pyrefly vs Ty, 파이썬을 위한 새로운 선택지 파이썬 타입 검사, 이제는 Rust로 더 빠르고 정밀하게파이썬 코드의 신뢰성을 높이기 위해 많은 개발자들이 타입 체커를 사용하고 있다. 하지만 기존의 mypy, pyright 등은 느린 속도나 부족한 추론 능력으로 인해 불편함을 겪는 경우가 많았다.최근 공개된 두 개의 Rust 기반 타입 체커, Pyrefly와 Ty는 이 문제를 정면으로 해결하고자 한다. 각각 Meta와 Astral이 개발 중인 이 도구들은 압도적인 성능 향상뿐만 아니라, 새로운 방식의 타입 시스템을 도입해 파이썬 개발 경험을 한 단계 끌어올리고 있다.이 글에서는 Pyrefly와 Ty의 등장 배경, 철학, 성능, 기능적 차이점 등을 꼼꼼하게 비교해 본다. 지금 당신이 새로운 타입 체커 도입을 고민 중이라면, 이 비교가 중요한 선택의 기준..
Pyrefly: 파이썬 타입 검사의 미래를 여는 Meta의 오픈 소스 프로젝트 파이썬은 생산성이 높은 언어이지만, 동적 타입이라는 특성 때문에 대규모 프로젝트에서는 유지보수가 어려워질 수 있습니다. 이런 문제를 해결하기 위해 다양한 타입 검사 도구들이 등장했지만, 성능 저하와 추론 정확도, IDE 연동 등에서 한계를 겪어야 했습니다.Meta는 이러한 문제를 해결하기 위해 새로운 타입 체커이자 IDE 확장 기능인 Pyrefly를 개발했습니다. Rust로 구현되어 초고속 성능을 자랑하며, 자동 타입 추론과 대규모 코드베이스 지원까지 갖춘 Pyrefly는 파이썬 개발자들이 오랫동안 기다려온 도구일지도 모릅니다.이 글에서는 Pyrefly의 개발 배경부터 주요 기능, 기술적 특징, 그리고 앞으로의 발전 방향까지 자세히 살펴봅니다.이제는 타입 검사가 필수인 시대파이썬은 유연함과 간결한 문법 ..
단 한 줄로 배포 끝! FastAPI Cloud가 바꾸는 Python 웹 개발의 미래 FastAPI 창시자 Sebastián Ramírez가 만든 새로운 클라우드 플랫폼, FastAPI Cloud. 이젠 복잡한 설정 없이도 FastAPI 애플리케이션을 단 한 줄로 배포할 수 있습니다. Python 개발자에게 최적화된 이 서비스는 자동 확장, HTTPS 설정, 데이터베이스 통합 등 다양한 기능을 기본으로 제공합니다.FastAPI Cloud란 무엇인가?FastAPI Cloud는 FastAPI의 창시자 Sebastián Ramírez와 핵심 팀이 설계한 새로운 클라우드 배포 플랫폼입니다. FastAPI 애플리케이션을 배포하는 과정에서의 복잡함을 제거하고, 누구나 쉽게 확장 가능하고 안전한 서비스를 운영할 수 있도록 돕습니다.특히 Python과 FastAPI 사용자에게 맞춤형으로 최적화되어 있어..

반응형