Planet Python 한국어 노트

Planet Python 한국어

Planet Python 웹사이트는 다양한 소스에서 파이썬 관련 콘텐츠를 집계하는 행성 사이트입니다. 블로그, 뉴스 사이트, 기타 온라인 출판물이 포함됩니다. 이 사이트는 파이썬 프로그래밍 세계의 최신 개발을 추적하는 데 있어 한 곳에서 모든 정보를 얻을 수 있는 장소입니다. 사이트의 콘텐츠에는 튜토리얼, 뉴스, 프로젝트 발표, 파이썬 관련 다양한 주제에 대한 논의가 포함됩니다. 사용자는 파이썬 커뮤니티, 새로운 릴리즈, 콘퍼런스, 파이썬 프로그래밍 언어 사용의 베스트 프랙티스에 대해 정보를 얻을 수 있습니다. 이 웹사이트의 목적은 파이썬 관련 콘텐츠를 홍보하고 전파하여 파이썬 커뮤니티의 성장과 발전을 기여하는 것입니다.

노트 스레드

저자는 AI를 활용한 문서 테스트에 대한 새로운 접근 방식을 개발했습니다. Markdown 파일의 프로젝트 튜토리얼 및 문서를 업데이트한 후, 저자는 AI를 사용하여 문서의 효과성을 테스트하는 것을 고려했습니다. 저자는 ChatGPT에게 문서 내용을 읽고 설명된 도구를 사용해 보도록 지시하는 격리된 채팅 환경을 만들도록 요청했습니다. AI는 이에 동의하고 새로운 채팅을 위한 상세한 프롬프트를 생성했으며 진행 상황을 모니터링했습니다.이후 AI는 문서에서 발견한 부족한 점을 보고했습니다. 예를 들어, AI는 문서에 도구의 의도된 Linux 사용에 대한 명시적인 언급이 없다는 점을 지적했습니다. 이는 Linux 및 WSL에 대한 설정 세부 정보를 제공했음에도 불구하고 발생한 문제입니다. 이로 인해 AI는 Windows 환경에서 도구를 실행하려고 시도했으며, 이는 저자의 명확화가 필요한 암묵적인 가정을 부각시켰습니다.저자는 AI가 새로운 사용자 역할을 수행하여 적극적으로 작업을 완료하려고 시도하고 발생한 문제를 보고하는 이 방법을 높이 평가합니다. 이는 단순한 문구 검토를 넘어 문서의 따라 하기 용이성에 대한 실질적인 테스트를 제공합니다. AI가 유효하지 않은 사항을 제시할 수도 있지만, 어떤 변경 사항을 구현할지 결정하는 데는 여전히 인간의 판단이 중요합니다.저자는 문서가 인간 독자와 AI 비서 모두에게 서비스를 제공해야 한다고 강조합니다. 프로젝트 상호 작용을 위해 AI를 사용하는 사용자가 늘어날 것으로 예상됨에 따라, 문서는 직접적인 인간 사용과 AI가 사용자를 효과적으로 지원할 수 있도록 충분히 명확해야 합니다. 이는 단순히 AI만을 위해 작성하는 것이 아니라, 문서가 AI 상호 작용을 얼마나 잘 지원하는지를 고려하는 것을 의미합니다.궁극적으로 저자는 인간이든 AI든 사용자가 작업을 성공적으로 완료하기 위해 문서를 따를 수 있는지 평가함으로써 코드와 유사하게 문서를 테스트할 것을 제안합니다. 이 혁신적인 테스트 방법은 향후 프로젝트에서 문서 효과성을 개선하기 위한 새로운 관점을 제공합니다.
CdXz5zHNQW_Tocx7RtYip.png
이 텍스트는 소프트웨어 개발에서 발생하는 의사소통 단절에 대한 해결책인 Gnomon을 소개합니다. 서로 다른 이해관계자들이 시스템 설명을 다르게 해석하는 문제입니다. 다양한 경험을 가진 저자는 "송장을 수정하기 위한 에이전트를 구축하고 있습니다"와 같은 문구에서 "수정"과 같은 용어가 어떻게 서로 다른 이해와 프로젝트 실패로 이어지는지를 강조합니다. 대규모 언어 모델(LLM)의 등장은 그럴듯하지만 잠재적으로 부정확한 아키텍처 다이어그램을 생성함으로써 이러한 문제를 더욱 악화시킵니다.Gnomon은 작은 언어인 gnomocode와 온톨로지에 대한 문장을 검증하는 컴파일러를 제공하여 이 문제를 해결합니다. LLM은 자연어를 gnomocode로 번역하고, 컴파일러는 그 유효성을 확인하며, 출력은 시각화, 쿼리 또는 다시 산문으로 변환될 수 있습니다. Python으로 작성된 컴파일러는 Lark, rdflib 및 pySHACL을 사용합니다.Gnomon의 동기는 구어와 실행 가능한 다이어그램 간의 격차를 해소하여 일관성과 책임성을 보장하는 것입니다. 대화에서 모델로, 코드/다이어그램에서 읽기 쉬운 텍스트로 양방향으로 작동하는 것을 목표로 합니다. 대화에서 모델로 가는 순방향이 기사의 주요 초점입니다.Gnomon의 주요 요구 사항에는 모호하지 않은 용어, 최신 아키텍처 요소(LLM, 메모리, 도구)에 대한 기본 지원, 사람과 모델 모두에게 읽기 쉬움, 단일 모델에서 여러 보기, 버전 관리, 불확실성을 표현하는 기능이 포함됩니다. 이 접근 방식은 LLM에 직접 질문하거나 구조화된 객체를 사용하는 것과 같은 더 간단한 방법을 시도했지만 아키텍처 그래프의 복잡성과 누락된 정보를 해결하지 못했습니다.UML 또는 C4와 같은 기존 표기법도 고정된 기호, "아마도" 문구의 부족, 제한된 의미론적 검사로 인해 불충분했습니다. 컴파일러가 있는 사용자 지정 언어가 가장 실행 가능한 솔루션임이 입증되었습니다. 컴파일러는 LLM에 대한 지역화된 오류 및 피드백을 제공하여 수정합니다.Gnomon의 핵심은 SKOS, PROV-O, DPV와 같은 기존 RDF 어휘를 기반으로 구축된 온톨로지입니다. 57개의 용어와 12개의 모듈로 구성된 이 커널은 관계와 규칙을 정의하여 일관성을 보장합니다. 온톨로지는 어휘, 컴파일러 오류 메시지, 산문 생성 및 다이어그램 보기를 결정합니다.Gnomocode 자체는 Markdown, Python 및 그래프 쿼리 언어에서 차용한 구문을 사용하여 가독성과 정확성을 위해 설계되었습니다. 선언, 속성 할당, 작업 및 흐름과 같은 개념을 지원합니다. 중요한 기능은 사실에 대한 신뢰 수준을 표현하는 기능으로, 시스템이 추가 확인이 필요한 정보를 식별할 수 있도록 합니다.Python으로 작성된 컴파일러는 구문 분석을 위해 Lark를 사용합니다. 문법은 온톨로지에서 직접 생성되므로 언어를 확장하는 것은 코드가 아닌 데이터를 수정하는 것을 의미합니다. 이 모듈식 설계를 통해 핵심 구문 규칙을 변경하지 않고도 유연하게 어휘를 확장할 수 있습니다.
CdXz5zHNQW_IUf3kDkWHC.png
biwak.info는 Alpine huts를 위한 모바일 우선 지도를 개발했으며, OpenStreetMap과 Wikidata에서 얻은 상세 정보와 함께 33,437개의 명명된 봉우리를 추가했습니다. 연결성이 제한적인 모바일 장치에 최적화하기 위해 상당한 크기인 15.4MB의 봉우리 데이터를 효율적으로 로드해야 했습니다. 해결책은 Leaflet에서 사용하는 기존의 slippy map 타일 그리드를 모방하여 데이터를 더 작고 타일 기반의 JSON 파일로 분할하는 것이었습니다. 이를 통해 브라우저는 사용자의 현재 지도 보기에서 보이는 관련 봉우리 데이터만 가져올 수 있습니다.데이터 그리드에 대해 고정 줌 레벨 10이 선택되었으며, 이는 네트워크 요청 수와 각 다운로드 파일 크기 간의 균형을 제공합니다. 이 레벨에서 Alpine 타일은 대략 27x27km이며, 줌 레벨 12의 일반적인 휴대폰 화면은 최대 6개의 타일에 닿으며, 중간 타일 크기는 13KB(압축 시 3.6KB)입니다.Python 스크립트는 비어 있지 않은 타일의 매니페스트와 함께 이러한 타일 파일을 생성하여 필요한 파일만 요청하도록 보장합니다. 각 타일의 JSON 데이터는 정수 좌표와 필드 헤더를 사용하여 파일 크기를 최소화하도록 간결합니다. 봉우리는 돌출도 또는 고립도를 기준으로 순위가 매겨져 다른 지도 줌 레벨에서의 가시성을 제어하며, 낮은 줌 레벨에서는 더 중요한 봉우리만 표시됩니다.클라이언트 측 JavaScript는 Leaflet의 'moveend' 이벤트를 사용하여 필요한 타일을 결정하고, 느린 연결에서의 과부하를 방지하기 위해 최대 4개의 병렬 요청으로 가져옵니다. 64개의 타일로 구성된 LRU 캐시는 다운로드된 데이터를 관리하며, 현재 보기 영역에 없는 가장 최근에 사용되지 않은 타일을 삭제합니다. 봉우리 데이터는 개별 Leaflet 마커를 사용하는 대신 단일 캔버스에 렌더링되어 성능을 향상시킵니다.지도 탭은 로드된 타일 내에서 최근접 이웃 검색을 수행하여 근처 봉우리를 식별합니다. 타일 기반 그리드는 또한 딥 링크를 자연스럽게 지원하여 특정 봉우리에 대한 안정적인 URL을 제공합니다. 향후 개선 사항에는 패스 및 전망대와 같은 더 많은 데이터 범주 추가, 그리고 MapLibre와 같은 매핑 라이브러리와의 통합을 위해 벡터 타일(MVT)로의 잠재적 마이그레이션이 포함됩니다. 이 시스템은 서버나 데이터베이스 없이 대규모 데이터셋을 효과적으로 처리하며, 간단한 파일 그리드의 힘을 보여줍니다.
CdXz5zHNQW_7Oo4LQLM3G.webp
Microsoft는 Type Server Protocol(TSP)을 도입하여 Python 개발자 경험을 향상시키고 있습니다. Language Server Protocol의 확장인 이 개방형 표준은 편집기와 도구가 타입 체커를 백엔드 구성 요소로 통합할 수 있도록 합니다. TSP는 VS Code IDE 인텔리전스 계층인 Pylance를 기본 타입 체커인 Pyright에서 분리합니다. 이 분리를 통해 개발자는 Meta의 Pyrefly와 같은 대체 타입 체커로 쉽게 전환할 수 있습니다. Pylance의 핵심 기능(완성 및 GitHub Copilot 통합 포함)은 선택한 타입 체커에 관계없이 일관되게 유지됩니다. Microsoft는 Pyrefly의 완전한 TSP 지원을 보장하기 위해 Meta와 협력하여 정적 타입 분석 및 AI/ML 라이브러리에 대한 Meta의 전문성을 활용했습니다. 이 협력은 Python 생태계 내 상호 운용성을 촉진하는 것을 목표로 합니다. 높은 성능과 CI 호환성으로 알려진 Pyrefly는 이제 Pylance와 원활하게 통합될 수 있습니다. 이를 통해 개발자는 Pyrefly의 타입 분석 엔진과 Pylance의 AI 인식 인텔리전스를 결합할 수 있습니다. 사용자는 Pylance 버전 2026.4.1 이상을 설치하여 이 새로운 경험을 시도할 수 있습니다. Pylance는 Pyrefly 설치를 자동으로 감지하고 사용자에게 전환을 요청합니다. 또는 사용자는 VS Code 설정을 통해 Pylance, Pylance + Pyright 또는 Pylance + Pyrefly를 포함한 기본 진단 소스를 수동으로 선택할 수 있습니다. 그러면 상태 표시줄에 활성 진단 소스가 명확하게 표시됩니다.
CdXz5zHNQW_jwz7YqFtlb.png
이번 PyCoder's Weekly에서는 다양한 파이썬 주제를 다룹니다. 튜토리얼에서는 Django ORM과 마이그레이션을 탐구하며, 이를 구축, 파기, 수정하는 방법과 Django 6.1에서의 성능 문제 해결 방법을 자세히 설명합니다. 파이썬에서의 함수형 프로그래밍을 설명하며, 패러다임과 실제 적용에 대해 논의합니다. PropelAuth는 AI 에이전트 통합에 대한 보안 기능으로 주목받습니다. 파이썬 웹 앱에서의 Model-View-Controller (MVC) 패턴을 Flask 예제를 통해 탐구합니다. Python 3.16.0 Alpha 1이 출시되었으며, Python Bytes 팟캐스트는 500번째 에피소드를 기념했습니다. PyPy v8.0.1 릴리스도 언급됩니다. Claude Code 과정은 과도한 ChatGPT 의존 없이 파이썬 CLI 앱을 구축하는 방법을 가르칩니다. OpenTeams는 2026년 PyTorch 기여도를 검토하며 AI 에이전트 사용 증가를 언급합니다. scikit-learn을 사용하여 하이퍼파라미터 검색을 위한 베이지안 최적화를 시연합니다. Pendulum datetime 라이브러리의 고유한 "+" 연산자를 살펴봅니다. PyPI는 이메일 평판 계산을 업데이트하여 Outlook 주소를 다시 허용합니다. Polars, DuckDB, PyArrow를 사용하여 데이터 엔지니어링에서 Parquet의 장점을 설명합니다. Gemini 4 Argon의 기능을 파이썬 코드 생성을 통해 보여줍니다. 파이썬에서의 프로젝트 구조를 논의하며, flat 레이아웃과 src/ 레이아웃 간의 선택에 대한 지침을 제공합니다. Docling과 LlamaParse를 비교하여 PDF 테이블 추출 기능을 살펴봅니다. 문자열, 데이터 타입, 첫걸음과 같은 기본적인 파이썬 개념을 튜토리얼에서 다룹니다. 마지막으로 예정된 파이썬 이벤트 목록을 제공합니다.
CdXz5zHNQW_wpqLkNZyB4.png
Nod는 사용자가 Python 프로그램을 일시 중지하고 디버깅을 위해 특정 줄에서 노트북을 열 수 있도록 하는 JupyterLab 확장 프로그램입니다. 이 도구는 실행 중인 프로그램 내에서 직접 변수와 호출 스택을 검사하는 데 도움이 됩니다. Polars 2.0이 출시되었으며, 메모리와 속도 향상을 위한 기본 스트리밍 엔진을 특징으로 합니다. 그러나 이 새로운 엔진은 특정 연산에 대해 행 순서를 보장하지 않으므로 순서가 중요한 경우 명시적인 처리가 필요합니다. Polars 2.0은 또한 기본적으로 out-of-core 처리를 가능하게 하여 메모리가 부족할 때 데이터를 디스크로 흘려보낼 수 있도록 합니다. 이 업데이트는 네이티브 Map 데이터 타입을 도입하여 성능을 향상시키고 새로운 맵 조작 함수를 소개합니다. Django-cachalot은 ORM 쿼리를 캐싱하고 기본 데이터가 변경될 때 자동으로 무효화하는 솔루션으로 제시됩니다. 읽기 위주의 애플리케이션에 상당한 속도 향상을 제공하지만, 쓰기 작업이 빈번한 테이블에는 덜 적합합니다. Django에서 비동기 트랜잭션을 지원하기 위한 작업이 진행 중이며, 이는 데이터베이스 트랜잭션 내에서 asyncio 작업이 상호 작용하는 방식을 개선하는 것을 목표로 합니다. 현재 제안에는 트랜잭션이 롤백되더라도 형제 작업이 계속 쓰기를 허용하는 새로운 설계가 포함됩니다. 중요한 프로젝트인 Jazzband가 종료될 예정이며, 이에 따라 대체 플랫폼 탐색이 촉진됩니다. Treemd는 Markdown 파일을 보는 데 유용한 TUI로 강조됩니다. 또한 Talk Python 멤버십, 시각적 주제 가이드 및 최근 Python Enhancement Proposals에 대한 논의도 다룹니다. PyPI의 무료 스레드 Polars 버전의 잠재적인 오래됨에 대한 관찰이 이루어집니다. 마지막으로, 농담에 대한 간략한 언급이 에피소드의 다양한 기술 토론을 마무리합니다.
CdXz5zHNQW_saimMyYTTU.webp
2026년 2월, Python Software Foundation(PSF)은 보안 위험과 구식 인프라를 압도하는 과도한 봇 트래픽으로 인해 위키를 읽기 전용으로 전환했습니다. 이 갑작스러운 결정은 이러한 리소스에 의존하고 기여해 온 커뮤니티 회원들에게 혼란을 야기했습니다. 이러한 문제를 해결하기 위해 PSF는 GitHub Pages에 호스팅되는 새로운 위키를 출시했으며, 이는 현대적인 프론트엔드와 권한 기반 콘텐츠 관리 시스템을 제공합니다. 이 새로운 위키는 이제 PSF, Python, Jython 위키에 대한 제공된 링크를 통해 액세스할 수 있습니다. 과도한 자동 트래픽은 주로 인터넷을 스크래핑하려는 AI 봇에서 발생했으며, 이는 이전 서버를 과부하했습니다. 또한 이전 위키의 일부는 지원되지 않는 Python 2에서 실행되어 보안 취약점을 야기했습니다. PSF는 특히 헌신적인 기여자들에게 갑작스러운 이전 위키의 중단으로 인해 발생한 좌절감을 인정합니다. 그들은 새로운 위키가 가치 있고 개선된 커뮤니티 리소스가 되기를 목표로 하며, 이제 GitHub에서의 풀 리퀘스트를 통해 기여가 관리됩니다. GitHub는 기존 PSF 호스팅 프로젝트와 일치하도록 호스팅 및 관리를 간소화하기 위해 선택되었습니다. GitHub 리포지토리를 통한 새로운 권한 기반 시스템은 누구나 풀 리퀘스트를 통해 변경 사항을 요청할 수 있도록 합니다. GitHub에서 생성된 정적 사이트로의 이러한 전환은 보안 위험을 완화하고 봇 주도 과부하로부터 보호합니다. 기여는 리포지토리 README 파일을 검토하여 장려되며, 기존 기여자에게는 쓰기 권한이 부여됩니다.
eMudhra CA 침해 사건은 Python 생태계의 인증 기관 처리 방식에 내재된 시스템적 문제를 부각시켰습니다. CPython은 CA 루트 인증서가 필요한 OpenSSL에 의존하며, Python은 네이티브 지원이 없는 플랫폼을 위해 certifi 패키지를 통해 이를 번들로 제공합니다. 역사적으로 certifi는 중요했지만, 이제 Linux 배포판은 자체적으로 더 잘 관리되는 인증서 저장소를 제공합니다. 중요한 문제는 OpenSSL 기반 Python 설치에 기본적이고 활성화된 인증서 폐기 메커니즘이 없다는 것입니다. certifi를 종속성으로 업그레이드하면 전체 Python 및 pip 생태계에 걸쳐 연쇄적인 업데이트가 발생합니다. Pip은 certifi를 번들로 제공하므로, 침해 발생 시 pip과 Python 자체에 대한 긴급 업데이트가 필요할 수 있습니다. 그러면 Python 보안 대응팀은 여러 Python 브랜치에 걸쳐 릴리스를 조율해야 합니다. Pip은 기본적으로 truststore를 사용하도록 전환 중이며, 이는 특히 Linux 사용자에게 certifi에 대한 의존도를 줄일 것입니다. 이 사건으로 인해 다른 많은 패키징 도구 및 인프라 구성 요소들이 신속하게 조치해야 했습니다. 패치가 적용된 후 사용자에게 종속성 업그레이드를 알리는 것은 여전히 주요 과제입니다. 저자는 대부분의 플랫폼이 이제 적절한 CA 번들을 제공하므로 PyPI가 인증서 배포 채널 역할을 중단해야 한다고 제안합니다. Python 및 pip 관리자의 부담을 덜기 위해 시스템 제공 인증서 저장소에 더 많이 의존하는 방향으로의 전환이 제안됩니다. OpenSSL 기반 시스템에 대한 효과적인 인증서 폐기라는 미해결 과제는 미래의 자원봉사자 부담을 줄이기 위해 해결되어야 합니다.
Django Steering Council은 Django 6.2에 대한 커뮤니티 기여를 요청하고 있습니다. 이들은 멀티 컬럼 서브쿼리를 위한 CompositeField와 UUID와 같은 대체 기본 키를 위한 DEFAULT_PK_FIELD 설정과 같이 테스트 및 검토가 필요한 주요 기능들을 강조하고 있습니다. Council은 또한 Django의 메인 브랜치에 대한 프로젝트 테스트에 관한 발표를 언급하며, 이는 특정 기능 브랜치 테스트에도 적용될 수 있다고 합니다. QuerySet.executed_queries 추가, 파티션 쿠키, HTTP QUERY 메서드 지원, 프록시 뒤에서의 CSRF 디버그 메시지 개선 등 소규모 기능들도 주목해야 합니다.New Features 큐 또한 초점이 되고 있으며, 필요한 입력 유형별로 아이디어가 분류되어 있습니다. 기술적 검증이 필요한 여러 아이디어에는 모델 Meta 및 마이그레이션 생성 사용자 정의, 최신 CSRF 보호 구현, 작업에 대한 타임아웃 API 추가, 서브리소스 무결성, import maps 통합 등이 포함됩니다. 시간이 제한적인 분들을 위해, 이모지 반응, 특히 검토가 확인되었음을 나타내는 😕 이모지를 통해 기존 아이디어에 대한 커뮤니티 입력을 장려합니다. 커뮤니티 피드백이 필요한 특정 아이디어에는 비밀번호 재설정 이메일 사용자 정의를 위한 더 나은 훅, Git 문서에 대한 PR 도움, 서비스 URL 파싱, 작업 실행 순서 표준화, AuthenticationMiddleware 업데이트, SMTP를 통한 유니코드 이메일 주소 지원 등이 포함됩니다. Council은 커뮤니티에 감사를 표하며 Django Forum 또는 Discord를 통한 참여를 장려합니다.
Python 3.15.0의 릴리스는 최종 릴리스 2주 전부터 시작된 일련의 업데이트를 통해 기록되었습니다. 초기에는 예상 기능에 대한 문의와 함께 기대감이 고조되었습니다. 예정된 릴리스 당일, 인증서 문제로 인해 중요한 Python 웹사이트에 503 오류가 발생하여 프로세스가 지연되었습니다. 서버 문제가 해결된 후, 불안정한 테스트와 마지막 순간의 lazy import 수정 사항을 포함한 몇 가지 릴리스 차단 문제가 주의를 요했습니다.이러한 수정 사항을 제대로 통합하기 위해 예상치 못한 세 번째 릴리스 후보인 3.15.0rc3가 발표 및 릴리스되어 최종 릴리스 날짜가 일주일 뒤로 밀렸습니다. 백포트되지 않은 테스트에 대한 종속성으로 인해 lazy import 차단 사항 중 하나를 병합하는 데 지연이 발생했습니다. rc3의 성공적인 릴리스 후, 팀은 최종 출시를 준비했습니다.최종 릴리스 두 번째 시도에서 모든 차단 사항이 해제되었고 빌드봇은 녹색 상태였습니다. 그러나 변경 로그 도구인 blurb의 버그로 인해 빠른 수정, 업데이트 및 백포트가 필요했습니다. 그 후, 또 다른 blurb 관련 lockfile 문제로 인해 릴리스 아티팩트 빌드가 실패했지만 즉시 해결되었습니다. macOS 및 Windows용 설치 프로그램 빌드가 시작되었으며, Windows 프로세스에는 바이너리 서명을 위한 수동 승인이 필요했습니다.마침내 Python 3.15.0이 릴리스되었으며, lazy imports, frozendict, 더 빠른 JIT와 같은 새로운 기능을 자랑했습니다. 릴리스 후 작업에는 PEP 790 업데이트, 문서 재빌드, 추가 코어 팀 병합을 위한 3.15 브랜치 잠금 해제가 포함되었습니다. 그런 다음 릴리스 관리자는 Python 3.16의 다음 알파 릴리스를 신호했습니다.
CdXz5zHNQW_5t7QXRxkX2.png
CdXz5zHNQW_zasqR31jDU.png
이 대화는 AI 에이전트의 구성 요소를 탐구하며, Large Language Model(LLM)을 주변 소프트웨어와 구분합니다. AI가 사진을 정리할 때, LLM은 컴퓨터의 파일에 직접 접근하는 것이 아니라 요청을 생성합니다. 이 요청은 에이전트의 작동을 관리하는 소프트웨어인 "하네스(harness)"에 의해 수신됩니다. 하네스는 파일 목록을 가져오거나 메타데이터를 읽는 것과 같은 작업을 수행하기 위해 특정 "도구(tools)"를 사용합니다.하네스는 이러한 도구의 결과를 LLM으로 다시 보내, LLM이 정보를 처리하고 다음 단계를 결정할 수 있도록 합니다. LLM은 구조화된 "도구 호출(tool calls)"을 통해 하네스에 요청을 전달하며, 하네스는 이를 해석하여 올바른 도구를 호출합니다. 이러한 상호 작용은 모델, 하네스, 도구가 반복적으로 정보를 교환하는 에이전트 루프를 생성합니다.모델을 "뇌", 도구를 "근육", 하네스를 "조정자"에 비유하는 것은 그 역할을 명확히 하는 데 도움이 됩니다. 그러나 하네스는 의도하지 않은 파일 수정 방지와 같은 규칙과 제한 사항도 시행합니다. 모델이 최종 응답을 생성하거나 하네스가 오류 또는 제한으로 인해 작업을 중단하면 프로세스가 완료됩니다. 에이전트는 또한 파일을 특정 폴더로 복사하는 것과 같은 작업이 원본을 변경하지 않고 정확하게 완료되었는지 확인해야 합니다.
CdXz5zHNQW_eyYaVLyYu6.jpeg
이 기사는 엠마 쿠크(Emma Cooke)가 접근성 팀의 일원으로 유로파이썬 2026(EuroPython 2026)에 기여한 바를 강조합니다. 엠마의 참여는 모든 참석자에게 환영받는 환경을 만드는 것을 목표로 컨퍼런스의 포용성에 대한 접근 방식을 향상시켰습니다. 그녀는 자원봉사 경험을 활기차고, 환영받으며, 보람 있는 경험이었다고 묘사했습니다. 이전에 참석자와 자원봉사자로 참여했던 그녀에게 2026년 운영 위원회에서의 역할은 처음으로 맡는 직책이었습니다. 엠마는 컨퍼런스의 물리적 접근성과 신경다양성 개인을 위한 지원에 중점을 두었습니다. 그녀의 책임에는 조용한 방 확보, 스팀 토이 제공, 육아 및 식단 요구 사항과 같은 다양한 참석자 요구 사항 해결이 포함되었습니다. 주요 성과 중 하나는 유로파이썬에 히든 디세빌리티 선플라워(Hidden Disabilities Sunflower) 제도를 도입한 것입니다. 이 이니셔티브는 눈에 보이지 않는 장애가 있는 개인이 이해가 필요할 수 있음을 은밀하게 알릴 수 있도록 합니다. 엠마의 컨퍼런스에 대한 관점은 근본적으로 변화했으며, 무대 뒤에서의 작업에 대한 깊은 감사를 키웠습니다. 그녀는 열정적인 사람들과 협력하고, 실질적인 영향을 미치며, 독특한 통찰력을 얻기 위해 다른 사람들에게 자원봉사를 하도록 격려합니다.
CdXz5zHNQW_fdEJ2urIrT.png
프리랜서가 유료 가계부 도구가 너무 느리고 필수 보고 기능이 부족하다고 판단했습니다. 그들은 Python을 사용하여 자체 솔루션을 구축하기로 결정했고, 이는 광범위한 테스트를 거친 작은 코드베이스로 이어졌습니다. 이 맞춤형 시스템에는 데이터 추출을 위한 인간의 감독 기능이 포함된 송장 스캐너가 있습니다. 이 프로세스는 월별 가계부 작업을 자동화하여 회계사를 위한 Excel 보고서를 생성합니다. AI의 유혹에도 불구하고 프리랜서는 AI가 필요한 단계를 하나만 식별했습니다. 바로 다양한 공급업체 PDF에서 데이터를 추출하는 것입니다. 나머지 프로세스는 산술 및 검증을 위한 강력한 코드에 의존합니다. 이 시스템은 중요한 의사 결정 지점 및 데이터 승인을 위해 인간 참여형(human-in-the-loop) 방식을 강조합니다. 승인되면 PDF는 변경 불가능한 기록으로 사용하기 위해 이름이 변경되어 데이터베이스의 필요성을 없앱니다. 이 시스템의 설계는 변경 불가능성과 추적성을 우선시하며, 최종 보고서의 모든 합계는 수식입니다. 이 접근 방식은 회계사의 쉬운 검증을 보장합니다. 프리랜서는 이제 시스템을 유지 관리하지만 완전한 제어, 비용 절감 및 개선된 워크플로를 얻습니다. 주요 시사점은 워크플로 매핑, AI의 신중한 사용, 코드 규칙, 인간 감독 및 추적성 보장입니다.
CdXz5zHNQW_B1IdOrwP5A.png
PyPy 팀은 2026년 9월 14일에 PyPy를 업데이트한 버전 8.0.1을 출시했습니다. 이 릴리스는 버퍼 메모리 누수와 RPython 객체를 C PyObject 객체에 바인딩하는 문제를 해결합니다. Python 3.11 및 3.12용 표준 라이브러리가 vendored libexpat와 함께 업데이트되었습니다. 내부적으로는 pytest 3.10이 테스트에 사용됩니다.이 릴리스에는 Python 2.7.18+를 지원하는 PyPy2.7과 마지막 릴리스가 될 Python 3.11.17을 지원하는 PyPy3.11이 포함됩니다. Python 3.12.15를 지원하는 PyPy3.12도 포함됩니다. 세 인터프리터 모두 공유 코드베이스를 기반으로 합니다.사용자는 업데이트를 권장하며 pypy.org에서 다운로드 링크를 찾을 수 있습니다. 팀은 기부자들에게 감사하며 버그 수정, 문서, JIT 개선에 대한 기여를 환영합니다. C-확장을 사용하는 라이브러리 유지보수자는 더 나은 PyPy 성능을 위해 CFFI 버전을 만들거나 곧 제공될 cp312-abi3 태그 지원을 활용하도록 권장됩니다.PyPy는 통합 트레이싱 JIT 컴파일러로 알려진 빠른 Python 인터프리터이자 CPython 대체재입니다. x86 머신(Linux, Mac OS, Windows) 및 64비트 ARM(Linux, macOS)용 바이너리 빌드가 제공됩니다. Windows 32비트 및 다양한 Linux 아키텍처와 같은 다른 플랫폼도 지원되지만 공식 바이너리는 없습니다.PyPy 팀은 기여자들에게 감사를 표하며 새로운 멤버를 환영합니다. 또한 다른 동적 언어 개발자들에게 RPython을 탐색하도록 초대합니다. 자세한 내용은 전체 변경 로그에서 확인할 수 있습니다.
이번 에피소드에서는 Brian과의 토론, 추가 콘텐츠, 그리고 농담이 포함됩니다. Nick은 토큰 생성 없이 빠르고 비용 효율적인 분류를 제공하는 "System 1" 의사결정 모델인 Jev를 탐구하며, 이를 생성형 LLM과 전통적인 ML 모델 사이의 위치에 둡니다. Brett은 PEP 772를 통해 설립된 최초의 Python Packaging Council (PPC)의 선출을 발표했으며, 현재 그 범위와 물류를 정의하고 있습니다. Calvin은 Daniel Lemire의 Python용 fastsimdjson 벤치마크를 제시하며, 특히 멀티스레딩 및 지연 파싱을 통해 초당 수십 기가바이트의 JSON 데이터를 파싱하는 능력을 보여줍니다. Michael은 Miguel Grinberg의 연례 Python 벤치마크를 논의하며, Python 3.15의 실험적인 JIT 빌드가 훨씬 빠르지만, 단일 스레드 테스트에서는 PyPy와 Rust가 여전히 CPython을 능가한다고 말합니다. Carol은 Python 개발자를 위한 투명하고 신뢰할 수 있는 AI 도구에 중점을 둔 커뮤니티 주도 이니셔티브인 Satyrn AI를 소개합니다. Michael은 또한 Adobe Creative Suite의 Rust 기반, AI 구축 오픈 소스 대안인 ArtCraft를 강조하며, 소프트웨어 개발 환경의 변화와 지속 가능성 문제를 강조합니다. Calvin은 모델 호환성을 확인하기 위한 llmfit.org 링크를 공유하고, uv 0.13.0이 이제 기본적으로 Python 3.15를 사용한다고 언급합니다. Nick은 Black Python Devs의 학생 홍보대사 프로그램을 홍보하고, Brett은 Python 3.15.0의 최종 릴리스를 발표합니다. 마지막으로, 많은 예외를 발생시키는 "예외적인" Python 개발자에 대한 농담으로 에피소드가 마무리됩니다.
CdXz5zHNQW_ZYgwc6b5Y1.png
CdXz5zHNQW_Iv3vUonWZa.jpeg