RSS 행성 파이썬 노트

RSS 행성 파이썬

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

노트 스레드

VS Code와 같은 도구는 프로젝트의 Python 환경을 식별하는 데 어려움을 겪으며, 이는 코드 실행 및 종속성 분석과 같은 필수 기능에 장애가 됩니다. 이러한 문제는 편집기가 프로젝트가 사용하는 워크플로 도구를 감지하거나 가상 환경이 어디에 있는지 파악할 보편적인 방법이 없기 때문에 발생합니다. 프로젝트가 처음 열릴 때 VS Code는 사용자가 Hatch, Poetry, uv 또는 사용자 지정 솔루션을 선호하는지 안정적으로 결정할 수 없습니다. 현재 방법은 종종 pyproject.toml을 기반으로 추측에 의존하는데, 이는 지원되는 도구의 정확한 목록을 유지해야 합니다. 또한 환경을 전역적으로 저장하거나 공유 환경을 허용하는 워크플로 도구는 사용자가 수많은 환경을 관리할 때 식별을 복잡하게 만듭니다. .venv 디렉토리에 로컬로 저장된 환경의 경우 간단한 솔루션이 존재하며 기본 기능을 제공합니다. 그러나 프로젝트 외부의 환경이나 여러 환경이 존재하는 경우 제안된 .python-envs와 같은 전용 파일에 해당 경로를 나열할 수 있습니다. 도구 선호도를 해결하기 위해 pyproject.toml의 [workflow] 테이블을 제안하여 도구가 서버 모드로 실행되는 방식을 정의하고, Workflow Server Protocol을 기반으로 JSON-RPC를 통해 통신할 수 있도록 합니다. 이 프로토콜을 통해 도구는 편집기에 사용 가능한 환경에 대한 정보를 제공하고 해당 생성을 관리할 수 있습니다. 대안으로는 필요한 환경 세부 정보를 반환하는 CLI 도구에 대한 명명 규칙을 설정하는 것이 있습니다. 저자의 동기는 경험 수준에 관계없이 모든 Python 사용자가 수동 환경 관리를 최소화하여 설정을 단순화하려는 욕구에서 비롯됩니다. 이 노력은 VS Code에 국한되지 않고 다른 편집기에서도 채택될 수 있는 솔루션을 목표로 합니다. 이러한 표준화된 통신 프로토콜은 워크플로 도구를 단순한 미들웨어 이상으로 끌어올려 더 넓은 편집기 지원을 가능하게 하고 맞춤형 확장 개발을 줄일 것입니다.
Python 피드 리더 라이브러리인 reader의 버전 3.26이 출시되었습니다. 중요한 새로운 기능은 자동 피드 검색으로, 사용자가 웹사이트 URL을 입력하면 시스템이 발견된 피드를 제안합니다. 이 기능은 autodiscover 플러그인으로 구동되며, 발견된 피드를 feed 태그에 저장합니다. 또한, reader는 이제 데이터베이스 내보내기를 지원하여 사용자가 피드와 기사 상태를 포함한 전체 데이터를 다운로드할 수 있습니다. 이 기능은 다른 reader 설치로 마이그레이션하거나 로컬 백업에 특히 유용합니다. 개발자는 또한 reader의 호스팅 버전을 작업 중이며, 탐색을 위한 공개 읽기 전용 데모를 사용할 수 있습니다. 호스팅 버전에 대해 완료된 주요 기능에는 다중 사용자 웹 앱, 이메일 인증 및 인프라 배포가 포함됩니다. reader 라이브러리 자체는 다양한 피드 유형 검색, 저장 및 관리, 기사 표시, 태그 지정, 필터링, 검색 및 통계 획득과 같은 핵심 피드 읽기 기능을 제공합니다. 안정적인 API, 광범위한 테스트 커버리지 및 타입이 지정된 Python을 제공합니다. 이 라이브러리는 자체 피드 리더를 구축하거나 기존 리더를 개선하려는 개발자를 위한 프로세스를 단순화하는 것을 목표로 합니다. reader는 최소한의 종속성을 가진 장기적이고 확장 가능하며 안정적이며 잘 테스트된 라이브러리로 설계되었습니다.
CdXz5zHNQW_VN3UB2CEG5.png
이번 PyCoder's Weekly는 Python 개발 및 커뮤니티 뉴스를 다룹니다. pytest 및 tox와 같은 프레임워크에서 사용하는 오픈 소스 Pluggy 플러그인 시스템을 소개합니다. ABC와 프로토콜을 사용하여 Python에서 인터페이스를 구현하는 방법에 대한 가이드와 관련 퀴즈가 있습니다. 스폰서인 Honeybadger는 Python 애플리케이션의 프로덕션 모니터링을 강조합니다.뉴스레터에는 웹 스크래핑 기능을 향상시키기 위한 Scrapy 확장 프로그램 구축 튜토리얼이 포함되어 있습니다. 2026년 PSF 이사회 선거 날짜와 Python 3.15와 관련된 새로 확정된 PEP가 발표됩니다. Django Software Foundation은 Executive Director를 찾고 있으며, PyData London 2026의 영상이 공개되었습니다.기사에서는 Python 3.14의 가비지 컬렉션 변경 사항, 2026년 Python 작업 큐 라이브러리 비교, AI 코드 완성의 보안 취약점에 대한 우려를 다룹니다. 커뮤니티 토론에서는 신규 개발자를 위한 종속성 관리의 어려움과 AI를 사용한 Python 코드베이스의 컨텍스트 엔지니어링에 대해 논의합니다. 직업 시장에서 가치 있는 Python 기술을 구축하기 위한 팁이 제공됩니다.독자들은 AST 모듈을 사용하여 수정된 Python 코드를 실행하고 Quarto로 SciPy 프레젠테이션을 만드는 방법을 배울 수 있습니다. 새로 소개된 프로젝트에는 asncounter, hydra, warp, python-socketio, marimo-tutorials가 있습니다. 예정된 이벤트에는 가상 오피스 아워와 6월 및 7월의 다양한 Python 사용자 그룹 모임이 포함됩니다.
CdXz5zHNQW_ULVmhrrNLw.png
python.org 릴리스 관리 API에서 중요한 인증 우회 취약점이 DEVCORE Research Team의 Splitline Ng에 의해 보고되었습니다. 2014년부터 존재했던 이 결함은 공격자가 임의의 API 키를 가진 관리자 사용자 이름을 사용하여 관리자 권한을 얻을 수 있도록 허용했습니다. 악용될 경우 Python 릴리스 및 파일 메타데이터, 특히 사용자에게 제공되는 다운로드 URL을 수정할 수 있었을 것입니다. 그러나 광범위한 로그 및 데이터베이스 백업 감사 후 악용된 증거는 발견되지 않았습니다. Python Security Response Team(PSRT)은 보고 후 48시간 이내에 취약점을 확인하고 패치했습니다. Seth Larson과 Hugo van Kemenade는 Jacob Coffee의 도움을 받아 패치를 개발하고 배포했습니다. 취약점의 오래된 기간과 재배포자들이 사용하는 강력한 검증 프로세스로 인해 눈에 띄지 않는 악용은 매우 드물었습니다. Sigstore 및 PGP 자료의 검증은 모든 python.org 아티팩트가 수정되지 않았음을 확인했습니다. 즉각적인 패치 후, 코드베이스에 대한 철저한 수동 감사와 LLM 감사 도구가 수행되었습니다. 포괄적인 보안을 보장하기 위해 Trail of Bits의 제3자 감사도 완료되었습니다. 복구 노력에는 인증 메커니즘 패치, 최신 릴리스에 대한 HTTPS URL 요구, 부정 인증 테스트 사례 추가, 비 HTTPS URL 거부가 포함되었습니다. 더 나은 감사 기능을 위해 로깅 보존 기간도 늘어났습니다.
Docker 볼륨을 로컬 또는 S3 호환 스토리지에 백업할 수 있게 되어 Go로 작성된 가볍고 효율적인 솔루션을 제공합니다. 이 도구는 Docker Compose와 원활하게 통합되며 로테이션, 암호화, 알림과 같은 프로덕션 친화적인 기능을 제공합니다. Pyodide는 Python 3.14와 호환되는 버전 3.14.0을 출시했으며 PEP 783을 통해 패키지 관리를 간소화했습니다. sqlite3, ssl, lzma와 같은 주요 표준 라이브러리가 기본적으로 포함되어 사용자 경험을 향상시켰습니다. 중요한 버그 수정은 Python/JS 경계를 넘나드는 큰 정수의 정밀도 손실 문제를 해결했습니다. Node.js의 실험적인 TCP 소켓 지원은 Pyodide의 기능을 서버 측 애플리케이션으로 확장합니다. Nb-cli는 AI 에이전트 및 노트북 작업의 자동화를 위한 새로운 실험적인 Rust 기반 명령줄 인터페이스입니다. AI 에이전트가 Jupyter 노트북과 외부적으로 상호 작용할 수 있도록 하여 구성 가능성과 워크플로우 자동화를 단순화합니다. Hindsight는 지속적이고 학습 가능한 기억력 기능을 제공하는 AI 에이전트 메모리 시스템입니다. 정확한 메모리 검색을 위해 여러 검색 방법을 활용하고 관련 정보를 자동으로 통합합니다. 마지막으로, 에피소드에는 AI 도구 및 회사 뉴스에 대한 업데이트를 포함한 몇 가지 추가 사항이 있습니다.
AI 시스템은 예측 불가능한 실수를 하기 때문에 모든 결과물을 검증해야 합니다. 이 검증 과정은 원래 작업만큼 비용이 많이 들 수 있어, 비용을 타인에게 전가하게 됩니다. 주요 우려 사항은 고용주가 직원을 무급 AI 검증자로 만드는 "역센타우르" 현상입니다. 이는 AI 출력 오류가 일반화된 외부 효과이기 때문에 인간이 작업을 완전히 수행하는 것이 더 저렴하기 때문에 발생합니다. "코드 검토가 병목 현상이다"라는 주장은 기술적 검토뿐만 아니라 인간의 이해가 필요함을 강조합니다. 경쟁 환경에서 AI는 "사다리 오르는 사람"들이 다른 사람에게 검증 부담을 전가하면서 많은 양의 코드를 빠르게 생성할 수 있도록 돕습니다. 이러한 역학 관계는 프롬프터에게 이익을 주고, 검토자가 종종 비난받는 주요 문제의 위험을 초래합니다. AI는 또한 "기시 갤로퍼"로서, 특히 정치 담론에서 거짓말의 홍수로 상대를 압도하는 데 탁월합니다. 사기, 스팸, 사기는 AI가 설득력 있는 텍스트를 빠르게 생성하여 피해자에게 검증 비용을 전가하는 능력으로 인해 촉진됩니다. 종종 적대적으로 간주되는 고객 지원 봇은 AI를 사용하여 고객을 빠르게 해고하거나 지연시키며, 해결보다 지표를 우선시합니다. 교육에서 AI는 학생들이 교사에게 검증 작업을 전가하기 때문에 광범위한 부정행위를 가능하게 합니다. 일부는 AI가 보험 회사와 같은 강력한 실체에 대한 합법적인 항의에 사용될 것이라고 상상하지만, 이러한 실체의 구조적 이점이 종종 우세합니다. AI의 유익한 용도조차도 군비 경쟁으로 확대될 수 있으며, 잠재적으로 장기적으로 더 나쁜 결과를 초래할 수 있습니다. AI의 요약 및 질문 답변 기능도 무기화될 수 있지만, 읽기 자체는 웹사이트 콘텐츠에 더 파괴적인 것으로 간주됩니다.
저자는 코딩 에이전트 위에 시스템을 구축하는 추세가 증가하고 있으며, 이는 에이전트의 기능을 단일 세션을 넘어 확장하는 루프를 생성한다고 관찰합니다. 이러한 루프는 작업 큐, 기계 실행, 그리고 컨텍스트를 수정하거나 다른 기계로 보내 작업을 계속할지 결정하는 하네스를 포함합니다. 코딩 에이전트는 작업에 대한 내부 루프를 가지고 있지만, 새로운 외부 "하네스 수준" 루프가 등장하여 담론을 지배하고 있습니다. 저자는 자신이 중요하게 생각하는 코드에 대해 이러한 핸즈오프 접근 방식에 개인적으로 어려움을 겪고 있으며, 생성된 코드가 너무 방어적이고 복잡하며 강력한 불변성이 부족하다고 생각합니다. 현재 모델은 바람직하지 않은 상태를 방지하기보다는 과도한 로컬 방어를 추가하는 경향이 있으며, 이는 악화되는 문제로 보입니다. 루프는 이러한 경향을 증폭시켜 시스템을 덜 이해하기 쉽게 만들면서도 더 견고하게 보이게 합니다. 그러나 루프는 코드 포팅, 성능 탐색, 보안 스캔과 같이 코드 변환 또는 단기 아티팩트가 목표인 도메인에서 뛰어납니다. 이러한 경우, 생성된 코드의 수명이나 검증 가능성은 탐색 또는 변환 프로세스보다 덜 중요합니다. 저자는 이를 지속적인 코드를 작성하는 것과 대조하며, 이를 결정론적 기계로서의 소프트웨어에서 유기체로서의 소프트웨어로 진화하는 것에 비유합니다. 이러한 변화는 깊은 인간의 이해에서 벗어나 시스템을 거의 생물학적 개체처럼 모니터링, 안정화 및 치료하는 방향으로 나아감을 의미합니다. 이러한 기계 주도 미래에서 벗어나는 것은 점점 더 어려워지고 있으며, 특히 공격자와 연구자가 이미 루프를 사용하고 있어 방어자가 적응해야 하는 보안 분야에서는 더욱 그렇습니다. 경쟁 압력과 오케스트레이션을 활용하는 일부 팀의 속도 또한 채택을 주도할 것입니다. 가장 우려되는 측면은 이러한 루핑 시스템에 대한 잠재적인 인지적 및 실질적 의존성으로, 미래의 접근성, 비용 및 기계 지원 없이 코드를 이해하는 능력에 대한 의문을 제기합니다. 궁극적으로 코드베이스는 유지 관리를 위해 기계 참여에 의존하게 될 수 있습니다.
CdXz5zHNQW_S96YGC59dT.webp
에이전트는 단순히 더 똑똑한 모델 자체가 아니라, 대규모 언어 모델을 중심으로 구축된 시스템입니다. 이들은 단일 상호작용을 넘어 지속되고 행동할 수 있도록 하는 특화된 구성 요소를 갖추고 있습니다. 대부분의 에이전트의 기본적인 구조는 추론을 위한 모델, 안내를 위한 지침, 정보 저장을 위한 메모리, 기능을 확장하기 위한 도구, 그리고 지속적인 작동을 위한 실행 루프로 구성됩니다. 모델, 즉 LLM은 언어를 처리하고 행동을 결정하는 추론 엔진 역할을 합니다. 지침은 에이전트의 목적, 정체성, 원하는 행동을 정의하여 의사 결정을 집중시킵니다. 각 턴마다 초기화되는 LLM의 컨텍스트 창과 달리, 에이전트의 메모리는 세션 간에 접근 가능한 외부의 지속적인 정보 저장소입니다. 이 메모리는 운영 연속성을 가능하게 하여 시간이 지남에 따라 컨텍스트를 유지합니다. 도구는 에이전트에게 텍스트 생성 이상의 기능을 제공하여 외부 세계와 상호작용할 수 있도록 합니다. 실행 루프는 관찰, 의사 결정, 행동, 평가의 에이전트 주기를 조율합니다. 이러한 핵심 구성 요소 중 어느 하나라도 없으면 에이전트의 행동은 크게 달라집니다. 대화 내에서 LLM의 명백한 메모리와 에이전트의 지속적인 메모리 간의 구분은 에이전트 기능 이해에 중요합니다. 시스템이 모델 자체를 관리하고 LLM의 컨텍스트 창에 정보를 공급합니다. 궁극적으로 에이전트의 효과는 모든 구성 부분의 시너지 상호작용에 달려 있습니다.
새로운 프로젝트에 대한 품질 게이트를 설정하는 것은 종종 기존 구성 파일을 복사하고 편집하는 것을 포함하는데, 이는 지루하고 방해가 되는 과정입니다. 이 "설정 고고학" 워크플로우는 도구를 수동으로 식별하고, 해당 저장소 세부 정보를 찾고, YAML을 작성해야 하므로 개발 흐름을 방해합니다. 이를 해결하기 위해 명령줄 인터페이스 도구인 pc-init이 개발되었습니다. Pc-init은 프로젝트의 기술 스택을 기반으로 프로덕션 준비가 된 사전 커밋 구성 파일의 스캐폴딩을 자동화합니다. 사용자는 단순히 언어와 프레임워크를 지정하면 pc-init이 필요한 설정을 생성합니다. 예를 들어, pc-init --lang py 또는 pc-init --lang js --framework react와 같습니다. 이를 통해 URL을 찾거나 복잡한 YAML을 수동으로 관리할 필요가 없어집니다. Pc-init은 프로젝트 전반에 걸쳐 일관된 품질 표준을 강제함으로써 표준화를 촉진합니다. 이 도구는 확장 가능하여 사용자가 팀 전체의 일관성을 위해 자체 사전 설정을 정의할 수 있습니다. 사전 커밋 및 prek와 모두 원활하게 통합됩니다. 설치는 uv tool install pc-init을 사용하여 간단하게 수행할 수 있습니다. 구성을 생성한 후 사용자는 최신 도구 버전을 얻기 위해 pre-commit autoupdate 또는 prek autoupdate를 실행해야 합니다. 제안 사항 및 문제는 프로젝트의 GitHub 저장소에 보고할 수 있습니다.
이 텍스트는 Rust 학습을 위한 새로운 Unix 도구 트랙을 소개하며, 익숙한 Python 프로그램을 재구축하여 언어 개념을 확실히 이해하도록 설계되었습니다. 핵심 아이디어는 Python 관용구에 대한 기존 이해를 활용하고 이를 Rust 동등물과 직접 비교하는 것입니다. 이 접근 방식은 학습자가 Rust의 구문과 반복자, Option, Result와 같은 고유한 기능을 파악하는 데 도움이 됩니다. 예를 들어, Python의 잘못된 입력에 대한 런타임 예외는 Rust에서 반환 가능한 유형으로 재구성되어 오류 처리를 명시적이고 컴파일러가 강제하도록 합니다. 이 트랙은 전문적인 Rust 도구 구조를 반영하여 순수하고 테스트 가능한 함수를 강조합니다. 연습 문제는 wc, head, tail, cat, tr, grep, cut, uniq, sort, sed와 같은 일반적인 Unix 유틸리티와 최종 프로젝트인 "top_words"를 다룹니다. 각 연습 문제는 기본적인 Rust 개념, 특히 반복자와 다양한 데이터 유형 처리를 기반으로 합니다. Python 코드 조각과의 직접적인 비교는 맥락적 이해를 위한 핵심 이점으로 강조됩니다. 학습자는 실용적이고 테스트 주도적인 학습 과정을 경험하기 위해 무료 wc 및 head/tail 연습부터 시작하는 것이 좋습니다. 저자는 이 트랙이 사용자를 수동적 학습에서 능동적인 Rust 개발로 안내하기를 바랍니다. Rust 수명에 대한 트랙을 포함한 향후 트랙도 언급됩니다.
CdXz5zHNQW_uybQpwreBf.jpeg
저자의 Rust Platform Django 테스트 스위트는 처음에는 30초가 걸렸고, 이는 데이터베이스 성능에 대한 직감을 불러일으켰습니다. 그러나 cProfile을 사용한 프로파일링 결과 실제 병목 현상은 데이터베이스와 관련이 없다는 것이 밝혀졌고, 실행 시간은 3초로 단축되었습니다. 이 글은 너무 많은 fixture나 데이터베이스 느림과 같은 해결책을 추측하는 대신 성능을 측정하는 것의 중요성을 강조합니다. 특정 병목 현상을 식별하기 위해 cProfile과 같은 프로파일링 도구를 사용할 것을 권장합니다. 저자는 cProfile을 사용하여 pstats 파일을 생성한 다음 profiling-explorer를 사용하여 데이터를 시각화했습니다. 프로파일러는 Django의 기본 비밀번호 해셔인 _hashlib.pbkdf2_hmac 함수가 테스트 중에 과도한 시간을 소비하고 있음을 강조했습니다. 이 해셔는 무차별 대입 공격에 저항하기 위해 의도적으로 느리게 만들어졌지만, 사용자를 생성하는 모든 테스트를 불필요하게 느리게 만듭니다. 테스트 전용으로 더 빠른 MD5 해셔로 전환하여 간단한 다섯 줄의 수정이 구현되었습니다. 이 변경은 매우 효과적이었고 테스트 스위트 실행 시간을 크게 단축했습니다. 이 초기 최적화 후, 다음으로 가장 시간이 많이 소요되는 함수는 cursor.execute였으며, 이는 처음에 잠재적인 N+1 쿼리 문제처럼 보였습니다. 그러나 추가 측정 결과 N+1 쿼리가 발생하지 않았음을 확인했습니다. 높은 호출 수는 합법적인 테스트 설정 작업에 기인했습니다. 이 경험은 핵심 메시지를 강화합니다. 낭비되는 노력과 잘못된 가정을 피하기 위해 최적화하기 전에 항상 프로파일링하십시오.
CdXz5zHNQW_5c2sgQR2VI.png
Rust 플랫폼에는 수많은 연습 문제가 있으며, 각 문제는 사용자가 편집기를 로드하고 코드를 작성한 후 Rust 백엔드를 통해 검증해야 합니다. 이 과정은 업데이트가 기존 기능을 손상시키지 않도록 엔드투엔드 테스트를 필요로 합니다. 수동 테스트는 비효율적이며 로그인부터 피드백 수신까지 전체 사용자 루프를 다루지 못합니다. Django 앱과 Rust 검증기를 위한 단위 테스트는 존재하지만, 연습 문제의 통합된 경험을 테스트하지는 않습니다. Playwright는 pytest와 결합하여 이 엔드투엔드 테스트를 위한 간결한 솔루션을 제공합니다. 단일 Python 테스트 함수는 데이터베이스에서 모든 공개 연습 문제와 해당 솔루션을 가져와 매개변수화됩니다. 각 매개변수화된 테스트는 연습 문제로 이동하여 편집기에 올바른 솔루션을 주입하고 제출을 검증합니다. 테스트는 수신된 피드백이 성공적인 완료를 나타내는지 확인합니다.pytest의 세션 범위 fixture는 모든 테스트에 대해 브라우저를 한 번만 실행하고 로그인하여 성능을 최적화하는 데 사용됩니다. Playwright 테스트의 중요한 측면은 CodeMirror 편집기의 요소 타이밍을 처리하는 것으로, 요소의 가시성과 JavaScript 인스턴스의 초기화를 명시적으로 기다리는 것을 사용합니다. 테스트 사용자를 생성할 때 Django의 비동기 컨텍스트 트랩을 피하기 위해 django_db_blocker를 활용하여 Playwright fixture보다 먼저 실행되는 별도의 fixture를 사용하여 해결책이 구현되었습니다. 엔드투엔드 테스트는 실제 데이터베이스와 실제 Rust 검증기를 대상으로 실행되도록 설계되어 현실적인 통합 테스트를 보장합니다. 이러한 테스트는 주요 푸시 전에 로컬에서 실행되는 반면, CI 환경은 주로 더 빠른 단위 테스트를 실행합니다. 이 접근 방식은 새로운 테스트 코드를 요구하지 않고 새로 추가된 연습 문제를 자동으로 테스트하며, 모든 프론트엔드 수정은 이 통합 회귀 스위트에 대해 검증됩니다. Playwright는 현대적이고 인체공학적인 인터페이스로 인해 Selenium보다 선호되며, 요소 타이밍은 관리 가능한 도전 과제입니다.
저자는 Taj Ragoo가 만든 이슬람 패턴의 십이면체에서 영감을 받았습니다. 그들은 디자인을 연구하고 Python을 사용하여 자신만의 모델을 만들기 위한 PDF 전개도를 생성했습니다. 결과물인 십이면체는 십이면체의 기하학적 형태와 이슬람 별 패턴을 우아하게 결합합니다. 각 오각형 면에는 10개의 작은 5각별 고리가 특징입니다. 각 면의 중앙에는 두 개의 겹쳐진 5각별로 형성된 10각별이 있습니다. 이 영리한 디자인은 십이면체의 모서리에서 가장 잘 드러납니다. 여기서 꼭짓점에서 만나는 세 개의 오각형은 간격을 만듭니다. 이 간격은 접혔을 때 동일한 별 요소를 사용하여 9각별을 완성합니다. 9각별은 기하학적 구조로 인해 중앙 10각별의 한 꼭짓점이 누락되어 형성됩니다. 저자는 Taj Ragoo의 나무 작품을 언급하며 더 유사한 디자인을 위해 Instagram에서 Ragoo를 팔로우할 것을 제안합니다. 전개도의 PDF는 다른 사람들이 자신만의 모델을 만들 수 있도록 제공됩니다. Python 코드를 만드는 과정은 복잡한 수학과 선 그리기를 포함하여 어려웠습니다. 저자는 향후 타일 기반 디자인을 위한 더 나은 도구를 희망합니다. 십이면체를 만드는 것은 연구, 코딩, 인쇄, 조립 및 색칠을 포함하는 보람 있고 반복적인 과정이었습니다. 이 프로젝트를 통해 저자는 지적 창조와 실질적 창조 모두에 참여할 수 있었습니다.
CdXz5zHNQW_v0N7yoOJJU.jpeg
파이썬 소프트웨어 재단(PSF) 이사회 선거가 곧 개최되어 커뮤니티에 대표를 선출할 기회를 제공합니다. 현재 PSF 이사회에는 네 개의 자리가 공석이며, 여러 현직 이사들의 임기가 만료됩니다. 이와 동시에, 새로 승인된 패키징 위원회(Packaging Council)의 첫 선거도 진행될 예정입니다.PSF 이사회 후보 등록 기간은 7월 28일 화요일에 시작하여 8월 11일 화요일에 마감됩니다. 후보자는 8월 13일 목요일에 발표될 예정입니다. 투표를 위해서는 8월 25일 화요일까지 기여 회원(Contributing), 지원 회원(Supporting) 또는 펠로우(Fellow) 회원이어야 하며, 투표 의사를 확인해야 합니다.정관 변경으로 인해 과거 투표자들은 자동으로 유권자 명부에 추가될 수 있지만, 이메일 변경 시 이 기능이 작동하지 않을 수 있습니다. 회원들은 psfmember.org에서 선거 관련 커뮤니케이션 설정을 관리할 수 있습니다. PSF는 리더십, 모금, 비영리 단체 경험, 행사 기획, 기술 전문성 등 다양한 기술을 갖춘 후보자를 찾고 있습니다. PSF 이사의 역할에 대해 더 자세히 알아볼 수 있는 자료가 제공됩니다. 자기 추천 및 타인 추천 모두 환영하며, 후보자와의 초기 대화를 권장합니다.선거에 대한 논의는 PSF 포럼에서 진행되며, 디스코드에서 오피스 아워가 개최될 예정입니다. 업데이트는 PSF 블로그와 psf-member-announce 메일링 리스트를 통해 제공될 것입니다.
파이썬의 메서드 유형을 구분하려면 메서드가 무엇을 활용하는지 관찰하십시오. 인스턴스(self)가 필요하다면, 이는 객체 상태를 수정하기 위한 인스턴스 메서드입니다. 특정 인스턴스가 아닌 클래스 자체(cls)가 필요하다면, 이는 대체 생성자나 레지스트리에 이상적인 클래스 메서드입니다. 메서드가 selfcls 둘 다 필요하지 않다면, 이는 격리된 도우미 또는 유틸리티로 작동하는 정적 메서드입니다.classmethod는 파이썬이 __init__을 오버로드할 수 없기 때문에 여러 방식으로 객체를 생성할 때 특히 유용합니다. datetime.date에서 볼 수 있듯이 타임스탬프나 ISO 문자열에서 날짜를 생성하는 것이 예시입니다. 이러한 메서드는 cls를 사용하여 하위 클래스의 인스턴스가 올바르게 생성되도록 합니다. classmethod의 또 다른 일반적인 용도는 플러그인 레지스트리나 카운터와 같은 클래스 수준 상태를 관리하는 것입니다.staticmethod는 본질적으로 클래스 내에 조직화 목적으로 배치된 독립적인 함수입니다. Color 클래스의 변환 유틸리티와 같이 클래스의 목적과 밀접하게 관련된 도우미 함수에 유용합니다. 그러나 staticmethod가 논리적으로 클래스에 속하지 않는다면, 테스트를 더 쉽게 하기 위해 모듈 수준 함수로 만드는 것이 더 나을 수 있습니다. 핵심 원칙은 메서드가 지정된 범위와 관련된 작업을 수행하도록 하는 것입니다.AI 생성 코드가 점점 더 보편화됨에 따라, 그 구조와 목적을 비판적으로 평가하는 것이 중요합니다. 가치를 더하지 않고 단순히 __init__에 인수를 전달하는 classmethod는 이해 부족을 나타낼 수 있습니다. 마찬가지로, 독립적인 함수가 될 수 있는 staticmethod는 구조적으로 잘못되었을 수 있습니다. 코드의 출처에 관계없이 코드를 검토할 때 좋은 파이썬 관행에 대한 강력한 감각을 개발하는 것이 필수적입니다. 이 결정 규칙은 그러한 평가를 위한 간단한 프레임워크를 제공합니다.
Django Software Foundation은 여섯 개의 Django 웹 개발 에이전시로부터 상당한 지원금을 받아 첫 번째 Executive Director를 채용합니다. Caktus Group, Lincoln Loop, Six Feet Up, Cuttlesoft, OddBird, Two Rock 이들 에이전시는 해당 직책의 첫 해를 지원하기 위해 총 47,500달러를 기부했습니다. 이 자금 지원은 ED의 필요성에 대한 논의에서 실제 채용으로 나아가는 중요한 단계입니다. Executive Director 직책은 DSF가 상당히 성장하여 오랫동안 헌신적이지만 제한된 자원봉사 이사회 구성원들이 관리해 온 수많은 책임을 맡게 되었기 때문에 필요합니다. 이 새로운 유급 직책은 일상 운영, 스폰서십, 커뮤니티 아웃리치 및 재무 보고를 담당할 것입니다. 이 에이전시들은 Django에 대한 공유된 의존성 때문에 협력하기로 결정했으며, 프레임워크의 지속 가능성과 장기적인 생존 가능성의 필요성을 인식했습니다. 2,500달러에서 12,500달러에 이르는 그들의 기여는 사업에 대한 상당한 투자를 반영합니다. 이 약속은 강력한 시작이지만, DSF는 ED 직책과 기타 중요한 프로그램을 유지하기 위해 연간 모금 목표를 500,000달러로 늘리고 있습니다. 재단은 이제 Django로부터 혜택을 받는 다른 회사들에게 이 필수 인프라에 기여할 것을 요청하고 있습니다. 채용 절차가 공식화되고 있으며, 채용 공고는 곧 다양한 커뮤니티 채널을 통해 발표될 것입니다.
CdXz5zHNQW_ilXSD1f9ax.jpeg
숙련된 소프트웨어 개발자이자 강사인 Jeff Haemer는 AI에 대한 이해를 심화하고 Python 기술을 쇄신하고자 했습니다. 그는 Python Agentic AI 코호트에 등록했으며, 자신의 지식 격차를 인지하고 있었기에 처음에는 기대치를 낮게 설정했습니다. 텔레그램 봇 주간 동안 인터페이스 통합과 관련된 어려움에 직면했음에도 불구하고, 코스 구조는 그가 발전할 수 있도록 했습니다. 이 프로그램은 인터페이스 개발 전에 핵심 에이전트 로직 구축을 강조했으며, 이는 하나의 인터페이스가 지연되었을 때 탄력적인 설계임이 입증되었습니다.Jeff에게 중요한 학습 장애물은 테스트를 위해 대체 서비스를 사용하는 모킹(mocking) 개념을 숙달하는 것이었습니다. 그는 다른 개발자들과 상담한 후에도 이 관행이 처음에는 혼란스럽다고 느꼈습니다. 그러나 이 코스는 결국 모킹을 필수적으로 만들었고, 그가 단위 테스트와 통합 테스트를 구별하고 pytest와 같은 Python 테스트 프레임워크에 대한 이해를 향상시킬 수 있도록 했습니다. Jeff의 엄격한 테스트에 대한 헌신은 실제 문제를 포착하는 포괄적인 테스트 스위트를 결과로 가져왔습니다.그는 코드 생성보다는 Python 구현 세부 사항에 대한 도움을 구하며 AI를 조교로 활용했습니다. 이 접근 방식은 그가 직접 애플리케이션을 구축하고 학습을 강화할 수 있도록 했습니다. Jeff에게 주요 결과는 그가 만든 기능적인 에이전트 애플리케이션뿐만 아니라 AI 에이전트가 작동하는 방식에 대한 견고한 정신 모델이었습니다. 그는 외부 예제에 대해 이 이해를 테스트하여 기본 프로세스에 대한 자신의 이해를 확인했습니다. 이 새로 얻은 명확성은 AI를 추상적인 개념에서 실질적인 전문 분야로 변화시켰습니다.
Python Steering Council은 통합 및 접근 방식 질문을 다루는 새로운 PEP를 기다리는 동안 JIT 개발을 중단했습니다. Simon Willison은 코드 샌드박스를 만들기 위한 MicroPython과 WASM을 탐구했습니다. Wallaby는 Python 개발자를 위한 실시간 테스트 결과, 런타임 값 및 디버깅 지원을 제공하는 새로운 VS Code 도구입니다. OpenRouter API는 스마트 라우팅 및 비용 제어와 같은 기능을 갖춘 여러 AI 모델에 대한 액세스를 제공합니다. scikit-learn 1.9 및 Python 3.14.6/3.13.14 버전이 출시되었습니다. Marimo는 숨겨진 상태를 피하고 다양한 형식으로 내보낼 수 있는 재현 가능한 반응형 노트북을 제공합니다. EuroPython 2026은 폴란드 크라쿠프에서 25주년을 기념할 예정입니다. SQLPyHelper는 비동기 지원을 통해 여러 SQL 변형에 걸쳐 통합 데이터베이스 API를 제공하는 라이브러리입니다. Pyodide 3.14.0은 이제 Pyodide 휠을 빌드하고 PyPI에 게시할 수 있습니다. 여러 기사에서 퍼셉트론, Python 타입 체커 오버로드, 테스트에서 효과적인 모킹, AI 코드 편집기 Cursor와 Windsurf 비교와 같은 주제를 다룹니다. 소개된 프로젝트에는 Celery의 안정성 계층, Rust 기반 UUID 대체, 시계열 추세 감지, Django 상태 엔드포인트, 수치 순환 버퍼가 포함됩니다. 예정된 이벤트에는 가상 오피스 아워, Android의 CPython에 대한 강연, 다양한 PyData 및 PyLadies 밋업이 있습니다.
CdXz5zHNQW_RUdjlLmnfu.png
"O'Reilly가 주최하는 "Streamlit과 Copilot으로 데이터 앱 구축하기"라는 제목의 4시간 라이브 워크숍이 7월 9일 오전 9시부터 오후 1시(태평양 표준시)까지 진행됩니다. 이 워크숍은 분석을 대화형 도구로 전환하려는 Python 사용자들을 위해 설계된 이전 워크숍의 개선된 버전입니다. 참가자들은 Jupyter 노트북으로 시작하여 완전한 Streamlit 애플리케이션을 구축하게 됩니다. 이 앱을 통해 사용자는 대화형 컨트롤, 차트 및 지도를 사용하여 데이터셋을 탐색할 수 있습니다. Copilot은 개발을 가속화하고 Streamlit 기능 검색을 용이하게 하는 데 사용될 것입니다. 다루게 될 주요 주제는 Streamlit 앱 구조화, 사용자 입력 관리, Plotly를 사용한 대화형 그래픽 생성, 사용자 인터페이스 구성, Streamlit Cloud에 앱 배포 등입니다. 이 워크숍은 실습 위주로 진행되며, 참가자들은 단계별로 기능적인 프로젝트를 구축하게 됩니다. 예시 앱을 통해 사용자는 주와 인구 통계학적 통계를 선택하고, 시간에 따른 변화를 시각화하며, 차트, 지도 또는 표 형태로 데이터를 볼 수 있습니다. 학습한 기술은 다양한 Streamlit 프로젝트에 적용 가능합니다. 이 워크숍은 데이터 과학자, 분석가 및 광범위한 웹 개발 지식 없이 대시보드를 구축하는 데 관심 있는 Python 사용자에게 이상적입니다. 등록은 O'Reilly를 통해 가능하며, 신규 회원은 30일 무료 체험판을 이용할 수 있습니다. 워크숍은 녹화되므로 라이브 세션에 참석할 수 없더라도 접근할 수 있습니다."
Pluggy는 도구 및 라이브러리에서 플러그인 시스템을 생성하기 위해 설계된 Python 라이브러리입니다. 원래 pytest 프로젝트를 위해 개발되었으며 나중에 독립 라이브러리로 추출되었습니다. Pluggy의 핵심 개념은 호스트 애플리케이션에서 노출되고 플러그인에서 구현되는 함수인 훅(hooks)을 중심으로 합니다. 호스트는 HookspecMarker를 사용하여 훅을 정의하고, 플러그인은 HookimplMarker를 사용하여 이를 구현합니다.이 라이브러리는 마크업을 HTML로 변환하고 플러그인을 통해 사용자 정의 역할 및 콘텐츠 처리를 지원하는 htmlize라는 장난감 도구를 만드는 것을 용이하게 합니다. 호스트는 htmlize_role_handlerhtmlize_contents와 같은 특정 훅을 정의하여 플러그인이 기능을 확장할 수 있도록 합니다. 이러한 훅은 다양한 매개변수를 허용하고 데이터를 처리하기 위한 함수를 반환할 수 있습니다.Pluggy의 PluginManager는 플러그인 로딩을 처리하며, setuptools 진입점(entry points)으로 등록된 플러그인을 검색하는 편리한 메커니즘을 제공합니다. 이를 통해 pip를 통해 설치된 플러그인을 호스트 애플리케이션에서 자동으로 찾고 로드할 수 있습니다. 호스트는 사용자 정의 플러그인 검색 방법을 사용할 수도 있으며, 매니저에 직접 플러그인을 등록할 수 있습니다.로드된 플러그인을 호출하는 것은 간단합니다. PluginManager는 등록된 훅 구현에 대한 호출을 조정합니다. 훅 호출은 일반적으로 모든 연결된 플러그인에서 오는 결과 목록을 반환하며, 실행 순서를 제어하는 옵션이 있습니다. 플러그인은 호스트의 hookimpl 마커로 함수를 장식하여 훅을 구현합니다.Pluggy는 검색, 등록 및 훅 사용과 같은 기본적인 플러그인 개념과 잘 맞습니다. 표준 Python 가져오기 메커니즘을 활용하여 호스트 API를 플러그인에 노출하는 Pythonic한 방법을 제공합니다. 플러그인 시스템을 만드는 것은 간단할 수 있지만, Pluggy는 시그니처 유효성 검사, 일관된 결과 수집 및 순서 지정 옵션과 같은 고급 기능을 제공합니다.Pluggy를 사용할지 여부에 대한 결정은 프로젝트 요구 사항에 따라 달라지며, 고급 기능의 이점과 종속성 추가를 비교하여 고려해야 합니다. 라이브러리의 자동 진입점 등록 메커니즘은 표준 Python 패키징 도구를 활용하는 프로젝트에 특히 유용합니다. 전반적으로 Pluggy는 확장 가능한 Python 애플리케이션을 구축하기 위한 강력하고 유연한 솔루션을 제공합니다.
트위터 사용자들은 Anthropic의 수출 통제 어려움에서 유머를 찾고 있으며, 이 회사가 이전에 강조했던 AI 위험이 이제는 직접적으로 영향을 미치는 것처럼 보입니다. 미국 정부가 외국인에게 특정 AI 모델에 대한 접근을 중단하라는 지시는 국적에 따라 강력한 기술이 제한되는 점점 커지는 분열을 강조합니다. 이러한 발전은 AI가 보편적 진보를 위한 도구가 아니라 무기로 취급되는 세계적인 파편화 추세를 시사합니다. 특히 국경 내 외국인을 대상으로 하는 미국의 수출 통제 정책은 정부에 의한 접근 통제에서 개별 국적에 의한 통제로의 전환을 강조합니다. 이러한 배타적인 접근 방식은 민족주의가 진정한 안전 고려 사항을 압도한다는 우려를 불러일으킵니다. 유럽 국가들은 규제보다는 힘으로 정의되는 환경을 처리할 준비가 되어 있지 않은 자체 기술 정책을 고려하여 이러한 변화를 인식해야 합니다. 유럽의 미국 기술 플랫폼 및 공급망에 대한 의존은 AI 관련 지정학적 논의에서 취약하게 만듭니다. 저자는 유럽의 내부 파편화와 관료적 장애물을 비판하며, 이는 혁신을 저해하고 야심찬 창업가들을 미국으로 내몰고 있습니다. 이는 두뇌 유출과 생태계 약화의 악순환을 만듭니다. 이 글은 유럽이 단순한 규제를 넘어 더 큰 야망, 주인의식, 그리고 구축하려는 의지를 키워야 한다고 주장합니다. 저자는 미국의 강점뿐만 아니라 사회적 분열과 갈등 경향도 인정하면서 단순히 미국을 모방하는 것에 대해 경고합니다. 저자는 AI 권력이 소수에게 집중되는 것에 대한 대응책으로 국제 협력과 오픈 소스 원칙의 중요성을 강조합니다. 궁극적으로 이 글은 협력을 옹호하며, 경쟁하는 세력 블록에 의해 통치되는 파편화된 세계는 개인의 권리와 안정을 침식할 것이라고 경고합니다.
유로파이썬 2026 컨퍼런스가 한 달 앞으로 다가온 크라쿠프에서, 전체 발표 일정이 온라인으로 공개되었습니다. 기조 연설자 라인업은 William Woodruff, Marlene Mhangami, Imogen Wright가 추가되면서 확장되었으며, 이들은 이전에 발표된 연설자들과 함께합니다. 티켓 가격은 6월 26일에 인상될 예정이므로, 참석자들은 이 날짜 이전에 구매하는 것이 좋습니다. 직접 참석할 수 없는 분들을 위해 원격 티켓 판매는 6월 15일에 시작됩니다. 올해는 유로파이썬 25주년을 기념하며, 무료 티켓을 얻을 수 있는 콘테스트를 포함한 특별 행사가 열립니다. 한 콘테스트는 가장 오래된 유로파이썬 배지를 찾고 있으며, 다른 콘테스트는 비디오를 통해 가장 영향력 있었던 유로파이썬 경험을 공유하는 참가자에게 보상합니다. 7월 18일에는 파이썬과 장고 접근성에 초점을 맞춘 Django Girls의 워크숍이 예정되어 있습니다. Women in Python 커뮤니티는 네트워킹과 우정 구축을 위해 7월 16일에 5K 달리기를 개최할 예정입니다. 현장 자원봉사자 신청은 검토 중이며, 6월 13일부터 19일 사이에 통지가 예상됩니다. 연설자를 위한 팁을 제공하는 유로파이썬 연설자 오리엔테이션 워크숍 비디오가 유튜브에 공개되었습니다. 재정 지원 결정이 발송되었으며, 35,000유로 예산에서 84건의 보조금 제안이 이루어졌습니다. PyCon US의 인터뷰를 포함한 새로운 콘텐츠가 유로파이썬 유튜브 채널에 정기적으로 게시되고 있습니다. 스폰서십 부스 자리는 거의 다 찼으며, 남은 기회는 [email protected]로 연락하여 얻을 수 있습니다. Rust와 파이썬의 교차점을 탐구하는 Rust Summit 등록은 계속 열려 있습니다. 유로파이썬 협회는 PyCon US와 PyCon Italia에서도 활발하게 활동하며, 그들의 존재를 알리고 커뮤니티와 교류했습니다.
CdXz5zHNQW_4pUpCNfA9x.png
저자는 성공적인 2025년 파일럿 프로그램에 참여한 후 Sovereign Tech Fellowship에 열정적으로 다시 합류했습니다. 이 펠로우십은 중요한 오픈 소스 기술 유지보수 담당자에게 필수적인 자금을 지원합니다. 저자의 참여는 Python 3.14 및 3.15 버전 출시, 멘토링 및 커뮤니티 지원에 전념할 수 있도록 했습니다. 포괄적인 평가 보고서는 저자의 구체적인 성과를 포함하여 프로그램의 이점을 자세히 설명합니다.Python 3.14.0의 원활한 출시는 펠로우십의 전담 시간을 통해 크게 도움을 받았으며, 사전 예방적인 문제 해결과 신속한 릴리스의 스트레스 없는 처리가 가능했습니다. 저자는 커뮤니티 참여와 정보의 공개 공유를 통해 투명성을 증진시키며 새로운 릴리스 관리자와 트리아저를 효과적으로 멘토링했습니다. 자동화와 웹사이트 접근성 개선을 통해 릴리스 프로세스가 향상되어 수백만 명의 사용자에게 영향을 미쳤습니다.수많은 이슈를 관리하고 중요한 보안 수정을 백포트하기 위한 트리아지 대시보드가 개발되어 상당한 조직적 영향을 보여주었습니다. 저자는 또한 비기술적인 개선을 주도하여 PyCon US와 EuroPython 간에 언어 서밋을 번갈아 개최하여 다양성을 증진시키자는 제안을 성공적으로 했습니다. 이러한 조직적 노력은 핵심 팀 내에서 철저한 논의 및 제안 과정을 포함했습니다.개인적인 관심사와 지역 Python 커뮤니티 지원을 위해 추가적인 여가 시간이 할당되었으며, 그 결과 밋업 공동 주최로 이어졌습니다. 펠로우십은 월별 회의와 대면 행사를 통해 귀중한 연결과 공유된 학습을 촉진했습니다. 저자의 광범위한 기여에는 수많은 GitHub 커밋, 릴리스, 컨퍼런스 발표 및 커뮤니티 조직 노력이 포함되었습니다. 앞으로 저자는 커뮤니티 관리자와 기술 작가를 포함하는 확장된 2026년 펠로우십 코호트에 대해 기대하고 있습니다. Sovereign Tech Agency의 지속적인 노력은 오픈 소스 인프라 개선에 중요한 역할을 하며, EU Sovereign Tech Fund와 같은 새로운 EU 이니셔티브에 영향을 미치고 있습니다.
Scikit-learn 1.9 릴리스는 기존 머신러닝 모델에 대한 상당한 개선 사항을 제공합니다. 쉽게 관찰할 수 있는 개선 사항으로는 노트북에서 풍부해진 HTML 표시가 있으며, 이제 학습된 속성과 ColumnTransformer 출력 특성 이름을 보여줍니다. 새로운 실험적 콜백 메커니즘이 도입되어 모델 학습 중 진행률 표시줄 및 고급 모니터링을 허용합니다. 이 콜백 시스템은 병렬 컴퓨팅 환경에서도 진행 상황을 유연하게 추적하도록 설계되었습니다. 초기에는 로지스틱 회귀, GridSearchCV 객체, 파이프라인 및 StandardScaler에 콜백을 사용할 수 있습니다. 또한 릴리스는 통계 및 수치 개선에 중점을 두어 다양한 입력 및 모델링 선택에 걸쳐 scikit-learn 루틴의 신뢰성을 향상시킵니다. 트리 기반 모델은 이제 누락된 값 및 단조 제약 조건에 대한 네이티브 지원을 제공합니다. 선형 모델은 로지스틱 회귀의 float32 지원과 RidgeCV/ClassifierCV의 안정성 향상으로 이점을 얻습니다. Scikit-learn은 이제 진화하는 SciPy 관행에 맞춰 희소 행렬 대신 희소 배열을 반환합니다. GPU 지원이 확장되고 있으며, 로지스틱 회귀, 포아송 회귀 및 특정 메트릭이 GPU 가속을 얻고 있습니다. GPU 백엔드에 대한 사용자 경험은 아직 개발 중이지만, 기여자 참여를 위한 주요 영역을 제공합니다. Scikit-learn 프로젝트는 자원봉사자와 재정 후원자의 기여를 통해 번창합니다.
CdXz5zHNQW_uYWVeT7Rck.png
성공적인 AI 및 머신러닝 프로젝트를 위해서는 올바른 AI 프레임워크를 선택하는 것이 매우 중요합니다. 파이썬은 성숙한 지원 프레임워크 생태계를 갖추고 이 분야를 지배하고 있습니다. 이상적인 프레임워크 선택은 프로덕션 시스템 대 연구 프로토타입과 같은 특정 프로젝트 요구 사항에 따라 달라집니다. AI 프레임워크는 복잡한 수학 및 계산 작업을 위한 사전 구축된 라이브러리를 제공하여 개발을 단순화합니다. 이러한 프레임워크는 일반적으로 딥러닝, 클래식 머신러닝, LLM/AI 에이전트 프레임워크의 세 가지 범주로 나뉩니다. AI 프레임워크는 개발을 가속화하고, 커뮤니티 지원을 제공하며, 프로덕션 준비가 된 도구를 제공하고, GPU와 같은 하드웨어에 최적화되어 있습니다. 오픈 소스 프레임워크가 지배적이며 혁신, 투명성 및 비용 효율성을 제공하며, 상용 플랫폼은 종종 이러한 오픈 소스 도구를 기반으로 구축됩니다. Google에서 개발한 TensorFlow는 엔터프라이즈급 애플리케이션 및 다양한 장치에 대한 배포에 이상적인 확장 가능한 딥러닝 프레임워크입니다. Scikit-learn은 구조화된 데이터에 대한 클래식 머신러닝을 위한 필수적인 오픈 소스 라이브러리로, 초보자 친화적인 API와 포괄적인 알고리즘을 제공합니다. Meta의 PyTorch는 Pythonic 특성과 동적 계산 그래프로 인해 연구에서 선호되는 유연한 딥러닝 프레임워크입니다. Keras는 단순성과 다중 백엔드 지원으로 알려진 신속한 딥러닝 실험을 위해 설계된 고수준 API입니다. LangChain은 대규모 언어 모델로 구동되는 애플리케이션을 구축하기 위해 설계된 오픈 소스 프레임워크로, 외부 데이터 및 도구와의 LLM 통합을 간소화합니다.
CdXz5zHNQW_dXsJvecBsg.png
Django의 생태계는 방대하며 전 세계 수많은 조직과 중요 인프라에서 사용됩니다. Django Software Foundation(DSF)은 이 생태계를 지원하지만 자금 지원에 의존합니다. 올해 DSF는 Django의 지속적인 건강과 지속 가능성을 보장하기 위해 500,000달러라는 야심찬 모금 목표를 설정했습니다. 300,000달러에서 증가한 이 금액은 월간 반복 기부를 9,000달러에서 약 15,000달러로 늘리는 데 필요합니다. 기여금은 티켓 분류 및 보안 문제와 같은 개발 작업을 처리하는 중요한 Django Fellows 프로그램을 지원합니다. 또한, 자금은 상표 관리, djangoproject.com 인프라, DjangoCon 이벤트 및 지역 활동에 대한 보조금, Django Girls 및 Djangonaut Space와 같은 커뮤니티 프로그램을 지원합니다. 증가된 자금은 또한 전담 리더십을 제공하고 모금 노력을 확대하기 위해 사무총장을 고용할 수 있도록 할 것입니다. Sponsored Fellow 기업 회원과 같은 새로운 이니셔티브는 조직에 Django의 미래에 투자할 수 있는 직접적이고 가시적인 방법을 제공합니다. 기업 회원 및 개인 기부(고용주 매칭 및 GitHub Sponsors 포함)는 목표 달성에 중요합니다. 재정적으로 기부할 수 없는 사람들에게는 입소문을 퍼뜨리는 것도 귀중한 기여입니다. DSF는 월간 재무 스냅샷을 발행하여 투명성을 유지하며, 현재 운영 준비금은 약 222,000달러입니다. 이 증가된 모금은 안정성, 지속 가능성 및 이에 의존하는 모든 사람들을 위한 프로젝트의 미래 성공을 보장하는 데 필수적입니다.
CdXz5zHNQW_2cKxZqZ5Kc.png
AI 기반 코드 에디터는 AI를 워크플로우에 직접 통합하여 Python 개발을 변화시키고 있습니다. Cursor와 Windsurf는 이러한 원활한 통합을 제공하는 저명한 VS Code 포크입니다. 두 에디터 모두 VS Code 설정을 가져오고 고급 AI 모델을 사용하지만, 코드 수정 방식에는 상당한 차이가 있습니다. Cursor는 AI가 생성한 변경 사항을 적용하기 전에 검토 가능한 diff로 제시하여 사용자 제어를 우선시하며, AI 동작에 명시적인 규칙을 사용합니다.반면 Windsurf는 편집을 에디터에 직접 적용하고 터미널 출력 및 대화 기록을 포함한 광범위한 작업 공간 컨텍스트를 활용하여 동작을 안내함으로써 흐름을 강조합니다. 이 에디터들의 비교는 AI 코드 완성, 에이전트 기반 다중 파일 편집 및 디버깅 기능을 다룰 것입니다. Cursor는 변경 사항이 구현되기 전에 검토하는 것을 선호하는 사용자에게 이상적이며, Windsurf는 포괄적인 작업 공간 컨텍스트 내에서 작업하면서 AI가 직접 편집을 적용하기를 원하는 사용자에게 적합합니다.Cursor는 더 빠르고 줄 단위 AI 코드 완성을 제공하며 리소스 사용량이 적어 작은 코드베이스에 적합합니다. Windsurf는 상호 연결된 파일 전반에 걸쳐 더 구조적으로 인식하는 완성을 제공하고 인덱싱을 위해 시맨틱 맵을 활용하여 대규모 프로젝트에 이점을 제공하지만 초기에는 더 많은 리소스가 필요합니다. 두 에디터 모두 월 $20의 유료 플랜이 있으며, 탐색을 위한 무료 티어도 제공됩니다. 두 에디터 모두 애플리케이션을 다운로드하고 선택적으로 VS Code 구성을 가져오는 간단한 설치 과정을 거칩니다.
CdXz5zHNQW_AAH5sMMiqO.jpeg
"Full Line Completion"이라는 PyCharm 플러그인은 로컬 딥러닝 모델을 사용하여 코드 전체 줄을 제안합니다. 작성자는 이 기능을 테스트한 결과 안전하지 않은 코드 스니펫을 제안하는 것을 발견했습니다. 처음에는 이 플러그인이 urllib3을 사용할 때 안전하지 않은 요청에 대한 경고를 비활성화하도록 제안했습니다. 이후에는 인증서 검증을 비활성화하도록 제안했는데, 이는 애플리케이션을 중간자 공격에 노출시킬 수 있습니다. 작성자는 이 동작을 JetBrains에 보고했으며, JetBrains는 이를 "직접적인 보안 취약점"으로 간주하지 않았습니다. 그러나 JetBrains는 자체의 Coordinated Disclosure Policy를 인용하여 작성자에게 보고 내용을 공개하지 말 것을 요청했습니다. 90일의 대기 기간 후, 작성자는 플러그인의 최신 버전에서도 해당 동작이 변경되지 않았음을 확인했습니다. 작성자는 이러한 유형의 문제가 다양한 코드 생성 모델에 걸쳐 존재하며 본질적으로 CVE 등재 대상 보안 취약점은 아니라고 생각합니다. 그럼에도 불구하고, 사용자가 의도치 않게 취약한 코드를 수락하는 것을 방지하기 위해 코드 생성 모델의 소스에서 이러한 안전하지 않은 제안을 해결하는 것이 중요하다고 주장합니다. 작성자는 코드 생성 모델의 이러한 종류의 문제에 대한 커뮤니티의 의견을 구합니다.
저는 오랫동안 오픈 소스의 열렬한 지지자였으며, 이를 지원하기 위한 실험도 해왔습니다. 저는 오픈 소스가 장기적으로 항상 승리한다는 생각의 진정한 신봉자이지만, 자동적으로 또는 빠르게 승리하는 것은 아닙니다. 현재 오픈 소스는 AI 슬롭, 변화하는 기여자 역학, 코드 생산 비용 하락, 그리고 문을 닫는 법을 배우는 대기업들에 의해 압박받고 있습니다.오늘날 그 싸움의 상당 부분은 내러티브 조작입니다. 소셜 미디어와 비즈니스계의 오피니언 리더들은 점점 더 접근성을 무책임함으로 프레임화하고 있습니다. 이것이 EU의 DMA가 중요한 이유이며, 많은 사람들(저 자신을 포함하여)이 반사적으로 EU 규제를 싫어하더라도 말입니다. 유럽에서 지연된 AI 기능에 대한 애플의 싸움은 브뤼셀이 성가시다는 것이 아니라, 사용자가 자신의 기기와 데이터에 접근할 수 있는지에 관한 것입니다. 휴대폰은 당신의 것이고, 데이터는 당신의 것이지만, 애플은 누가 그것에 접근할 수 있는지 결정하고 당신으로부터 주도권을 빼앗은 다음, 그것이 당신의 이익을 위한 것처럼 보이게 하려고 합니다(안전과 보안을 위해서라고 주장합니다).AI의 핵심에 가까워질수록 이러한 현상이 더 많이 나타납니다. Anthropic은 사람들이 Mythos와 Fable로 할 수 있는 것을 제한하는 데 모든 재정적 동기가 있으며, 그들은 이러한 제한을 안전 및 (국가) 안보 언어로 포장합니다. 일부 제한은 방어될 수 있지만, 모든 제한이 그런 것은 아닙니다. 그들은 공개된 작업물로 모델을 훈련시킨 다음, 이러한 시스템에서 배우고 추출하려는 오픈 소스 시도를 차단합니다.EU, 중국 또는 다른 대규모 정부를 싫어한다고 해서 AI를 포함한 기술에 대한 진정한 민주적 접근이 우리 모두의 이익이라는 것을 잊어서는 안 됩니다. 일부 일시적인 제품 불편함, 지연된 애플 AI 기능 포함, 문을 열어두는 것이라면 기꺼이 감수할 가치가 있습니다. 우리는 접근을 막는 것이 우리에게 이익이 된다는 내러티브를 기업들이 소유하도록 해서는 안 됩니다. 특히 유럽인으로서 우리의 개발이 덜 된 자본 시장, 두뇌 유출, 내부 싸움으로 인해 이미 불리한 상황에 놓여 있다는 점을 고려할 때 더욱 그렇습니다.