Offcanvas

���������

“브라우저의 파이썬” 아나콘다, ‘파이스크립트’ 공개

과학 계산용 파이썬 배포판을 개발하는 아나콘다(Anaconda)가 파이콘 US 2022(PyCon US 2022)에서 ‘파이스크립트(PyScript)’ 프로젝트를 발표했다. 회사에 따르면 파이스크립트는 사용자가 파이썬과 표준 HTML을 결합하여 브라우저에서 풍부한 파이썬 애플리케이션을 만들 수 있도록 지원하는 프레임워크다. 브라우저 내 단일-포함(single-include) 방식으로 HTML 페이지에서 자바스크립트만큼 쉽게 파이썬 스크립트를 실행할 수 있도록 한다.    기존에 파이썬은 HTML 및 자바스크립트를 반환하는 애플리케이션 서버로 실행해야만 자바스크립트 또는 웹 페이지와 상호작용할 수 있었다. 하지만 파이스크립트에는 서버 구성요소가 없다. 모든 것이 브라우저에서 직접 실행된다는 게 아나콘다 측 설명이다. 파이스크립트를 사용하면 파이썬 및 자바스크립트의 유용한 구성요소를 나란히 배포할 수 있다. 일례로 NYC 택시 데이터 데모인 파이스크립트는 판다스(Pandas)를 활용하여 데이터를 분석한 다음, 자바스크립트의 웹GL(WebGL)을 통해 데이터의 인터랙티브 3D 뷰를 생성한다.    파이스크립트는 인라인 파이썬 코드를 실행하기 위해 웹어셈블리에 C파이썬 런타임의 전체 포트를 사용한다. 파이썬 코드를 <py-script> 태그 안에 넣고, 해당 출력을 선택한 <div>에 배치할 수 있다. <py-repl> 태그는 코드를 입력하고 실행할 수 있는 REPL 블록을 삽입하며, <py-env> 태그는 필요한 패키지를 나열하기 위해 저장소의 requirements.txt 파일과 같은 기능을 한다.   또 파이스크립트 런타임은 아나콘다와 함께 번들로 제공되는 과학 계산용 라이브러리(예: 넘파이(NumPy), 판다스(Pandas), 사이킷런(Scikit-learn)) 등의 일반적인 파이썬 패키지를 활성화한다. 파이스크립트 저장소 데모는 이를 수행하는 다양한 방법을 제공한...

파이썬 파이스크립트 아나콘다 파이썬 배포판 자바스크립트 HTML 웹 페이지 웹 개발

2022.05.03

과학 계산용 파이썬 배포판을 개발하는 아나콘다(Anaconda)가 파이콘 US 2022(PyCon US 2022)에서 ‘파이스크립트(PyScript)’ 프로젝트를 발표했다. 회사에 따르면 파이스크립트는 사용자가 파이썬과 표준 HTML을 결합하여 브라우저에서 풍부한 파이썬 애플리케이션을 만들 수 있도록 지원하는 프레임워크다. 브라우저 내 단일-포함(single-include) 방식으로 HTML 페이지에서 자바스크립트만큼 쉽게 파이썬 스크립트를 실행할 수 있도록 한다.    기존에 파이썬은 HTML 및 자바스크립트를 반환하는 애플리케이션 서버로 실행해야만 자바스크립트 또는 웹 페이지와 상호작용할 수 있었다. 하지만 파이스크립트에는 서버 구성요소가 없다. 모든 것이 브라우저에서 직접 실행된다는 게 아나콘다 측 설명이다. 파이스크립트를 사용하면 파이썬 및 자바스크립트의 유용한 구성요소를 나란히 배포할 수 있다. 일례로 NYC 택시 데이터 데모인 파이스크립트는 판다스(Pandas)를 활용하여 데이터를 분석한 다음, 자바스크립트의 웹GL(WebGL)을 통해 데이터의 인터랙티브 3D 뷰를 생성한다.    파이스크립트는 인라인 파이썬 코드를 실행하기 위해 웹어셈블리에 C파이썬 런타임의 전체 포트를 사용한다. 파이썬 코드를 <py-script> 태그 안에 넣고, 해당 출력을 선택한 <div>에 배치할 수 있다. <py-repl> 태그는 코드를 입력하고 실행할 수 있는 REPL 블록을 삽입하며, <py-env> 태그는 필요한 패키지를 나열하기 위해 저장소의 requirements.txt 파일과 같은 기능을 한다.   또 파이스크립트 런타임은 아나콘다와 함께 번들로 제공되는 과학 계산용 라이브러리(예: 넘파이(NumPy), 판다스(Pandas), 사이킷런(Scikit-learn)) 등의 일반적인 파이썬 패키지를 활성화한다. 파이스크립트 저장소 데모는 이를 수행하는 다양한 방법을 제공한...

2022.05.03

파이썬, 표준 라이브러리에서 ‘사용하지 않는 배터리’ 제거한다

사용되지 않는 많은 모듈이 파이썬에서 삭제될 예정이다. 이는 표준 라이브러리를 더 깨끗하게 유지하기 위한 프로세스의 서막일 수 있다.    파이썬의 표준 라이브러리에서 오래되고 유지관리되지 않는 모듈을 제거하기 위한 이니셔티브가 ‘PEP(Python Enhancement Proposal) 594’로 승인됐다. 정리될 모듈은 모두 구식이거나, 유지관리되지 않거나, 다른 모듈로 대체된 것이다. 해당 변경으로 인해 파이썬 개발자가 기존 앱을 다시 작성하게 될 가능성은 거의 없다. 어쨌든, 제거될 예정인 모듈은 지금부터 2년이 지나야 완전히 삭제된다.  파이썬에는 ‘배터리 포함(batteries included)’이라는 기본 개념이 있다. 이는 일반적인 개발 작업에 사용할 수 있는 표준 라이브러리를 제공한다는 의미다. 하지만 이 표준 라이브러리의 ‘사용되지 않는 배터리(오래되고 유지관리하기 어려운 모듈)’가 더 이상 유용하지 않다는 점에서 제거돼야 한다는 지적이 제기돼 왔다.  파이썬 기여자 크리스찬 헤임스와 브렛 캐넌이 작성한 ‘PEP 594’는 지난 2019년 제출됐으나 2022년 3월 11일 파이썬 3.11(Python 3.11)에서 최종 승인됐다. 이 PEP를 통해 파이썬 3.11에서는 특정 모듈을 더 이상 사용하지 않는 것으로 표시하며, 파이썬 3.12(Python 3.12)는 이러한 모듈을 포함하는 마지막 버전이 된다. 파이썬 3.13에서 사용되지 않는 모듈은 완전히 제거될 예정이다. 즉, 이러한 모듈을 아직 사용 중인 모든 곳에서 (이를) 교체할 수 있는 2년의 기간이 제공된다.  더 이상 사용되지 않는 모듈 중에서 오늘날 파이썬 개발자가 들어본 적 있는 모듈은 많지 않을 것이다. 이를테면 uu 모듈은 원래 이메일에서 바이너리를 인코딩하는 데 사용되는 uuencode 형식에 인코딩 메커니즘을 제공한다. Uuencode는 오늘날 거의 사용되지 않는다. 동일한 기능의 코덱이 파이썬의 다른 표준 라이브러리에...

파이썬 표준 라이브러리 모듈 개발 언어 프로그래밍 언어 소프트웨어 개발

2022.03.15

사용되지 않는 많은 모듈이 파이썬에서 삭제될 예정이다. 이는 표준 라이브러리를 더 깨끗하게 유지하기 위한 프로세스의 서막일 수 있다.    파이썬의 표준 라이브러리에서 오래되고 유지관리되지 않는 모듈을 제거하기 위한 이니셔티브가 ‘PEP(Python Enhancement Proposal) 594’로 승인됐다. 정리될 모듈은 모두 구식이거나, 유지관리되지 않거나, 다른 모듈로 대체된 것이다. 해당 변경으로 인해 파이썬 개발자가 기존 앱을 다시 작성하게 될 가능성은 거의 없다. 어쨌든, 제거될 예정인 모듈은 지금부터 2년이 지나야 완전히 삭제된다.  파이썬에는 ‘배터리 포함(batteries included)’이라는 기본 개념이 있다. 이는 일반적인 개발 작업에 사용할 수 있는 표준 라이브러리를 제공한다는 의미다. 하지만 이 표준 라이브러리의 ‘사용되지 않는 배터리(오래되고 유지관리하기 어려운 모듈)’가 더 이상 유용하지 않다는 점에서 제거돼야 한다는 지적이 제기돼 왔다.  파이썬 기여자 크리스찬 헤임스와 브렛 캐넌이 작성한 ‘PEP 594’는 지난 2019년 제출됐으나 2022년 3월 11일 파이썬 3.11(Python 3.11)에서 최종 승인됐다. 이 PEP를 통해 파이썬 3.11에서는 특정 모듈을 더 이상 사용하지 않는 것으로 표시하며, 파이썬 3.12(Python 3.12)는 이러한 모듈을 포함하는 마지막 버전이 된다. 파이썬 3.13에서 사용되지 않는 모듈은 완전히 제거될 예정이다. 즉, 이러한 모듈을 아직 사용 중인 모든 곳에서 (이를) 교체할 수 있는 2년의 기간이 제공된다.  더 이상 사용되지 않는 모듈 중에서 오늘날 파이썬 개발자가 들어본 적 있는 모듈은 많지 않을 것이다. 이를테면 uu 모듈은 원래 이메일에서 바이너리를 인코딩하는 데 사용되는 uuencode 형식에 인코딩 메커니즘을 제공한다. Uuencode는 오늘날 거의 사용되지 않는다. 동일한 기능의 코덱이 파이썬의 다른 표준 라이브러리에...

2022.03.15

“타입스크립트 사용, 6년 전에 비해 크게 증가” 2021년 JS 현황 조사

자바스크립트 개발자를 대상으로 실시한 ‘2021년 JS 현황(2021 State of JS)’ 설문조사에서 마이크로소프트의 자바스크립트 기반 프로그래밍 언어 ‘타입스크립트(TypeScript)’ 사용이 6년 전에 비해 급증한 것으로 나타났다. 아울러 웹어셈블리 및 프로그레시브 웹 앱 사용도 크게 증가했다.    지난 2월 15일(현지 시각) 발표된 2021 JS 현황 보고서에 따르면 어떤 ‘자바스크립트 기반 언어(JavaScript flavors)’를 사용하는지 묻는 질문에 전체 설문조사 응답자의 69%가 타입스크립트를 쓰고 있다고 밝혔다. 6년 전에는 21%에 불과했다. 여기서 ‘자바스크립트 기반 언어(JavaScript flavors)’는 자바스크립트로 컴파일하는 언어를 의미한다. 그 뒤를 이어 엘름(Elm), 플로우(Flow), 커피스크립트(CoffeScript)가 각각 2.4%, 1.7%, 1.5%로 큰 차이를 보였다.  한편 타입스크립트는 2012년 오픈소스로 공개됐다. 최신 버전은 타입스크립트 4.5.5이며, 타입스크립트 4.6은 릴리즈 캔디데이트 상태다. 이번 설문조사는 2022년 1월 13일부터 2월까지 진행됐으며, 총 1만 6,085명이 참여했다.  이 밖에 ‘2021 JS 현황’ 보고서의 내용은 다음과 같다.  • 오늘날 자바스크립트는 지난 2016년보다 훨씬 더 나은 상태에 있다고 보고서는 언급했다. 이어서 첫 JS 현황 설문조사가 이뤄졌을 당시에는 타입스크립트를 사용하는 비율이 21%에 불과했지만 현재는 69%에 달한다고 설명했다.  • 전체 응답자의 15.6%가 웹어셈블리(WebAssembly)를 사용하고 있다고 말했다. 2020년과 2019년에 각각 10.5%, 7.2%에서 증가한 수치다.  • 올해 설문조사에서 프로그레시브 웹 앱(Progressive Web Apps)을 사용하고 있다고 밝힌 응답자는 62.2%에 달했다. 작년과 재작년은 각각 55.9%, 48...

타입스크립트 마이크로소프트 프로그래밍 언어 개발 언어 웹어셈블리 프로그레시브 웹 앱 자바스크립트 파이썬 자바

2022.02.22

자바스크립트 개발자를 대상으로 실시한 ‘2021년 JS 현황(2021 State of JS)’ 설문조사에서 마이크로소프트의 자바스크립트 기반 프로그래밍 언어 ‘타입스크립트(TypeScript)’ 사용이 6년 전에 비해 급증한 것으로 나타났다. 아울러 웹어셈블리 및 프로그레시브 웹 앱 사용도 크게 증가했다.    지난 2월 15일(현지 시각) 발표된 2021 JS 현황 보고서에 따르면 어떤 ‘자바스크립트 기반 언어(JavaScript flavors)’를 사용하는지 묻는 질문에 전체 설문조사 응답자의 69%가 타입스크립트를 쓰고 있다고 밝혔다. 6년 전에는 21%에 불과했다. 여기서 ‘자바스크립트 기반 언어(JavaScript flavors)’는 자바스크립트로 컴파일하는 언어를 의미한다. 그 뒤를 이어 엘름(Elm), 플로우(Flow), 커피스크립트(CoffeScript)가 각각 2.4%, 1.7%, 1.5%로 큰 차이를 보였다.  한편 타입스크립트는 2012년 오픈소스로 공개됐다. 최신 버전은 타입스크립트 4.5.5이며, 타입스크립트 4.6은 릴리즈 캔디데이트 상태다. 이번 설문조사는 2022년 1월 13일부터 2월까지 진행됐으며, 총 1만 6,085명이 참여했다.  이 밖에 ‘2021 JS 현황’ 보고서의 내용은 다음과 같다.  • 오늘날 자바스크립트는 지난 2016년보다 훨씬 더 나은 상태에 있다고 보고서는 언급했다. 이어서 첫 JS 현황 설문조사가 이뤄졌을 당시에는 타입스크립트를 사용하는 비율이 21%에 불과했지만 현재는 69%에 달한다고 설명했다.  • 전체 응답자의 15.6%가 웹어셈블리(WebAssembly)를 사용하고 있다고 말했다. 2020년과 2019년에 각각 10.5%, 7.2%에서 증가한 수치다.  • 올해 설문조사에서 프로그레시브 웹 앱(Progressive Web Apps)을 사용하고 있다고 밝힌 응답자는 62.2%에 달했다. 작년과 재작년은 각각 55.9%, 48...

2022.02.22

최신 ‘파이썬’ 작성 팁 4가지

‘파이썬’의 새롭고 강력한 기능을 모두 활용하는 코드를 작성하고 싶은가? 여기 살펴봐야 할 4가지 기능이 있다. 파이썬(Python)은 작년에 30주년을 맞이했다. 하지만 폭발적인 성장을 기록한 지는 몇 년이 채 되지 않았다. 파이썬의 많은 기능은 처음 그대로 유지되고 있지만 해가 거듭될 때마다 그리고 새로운 버전이 나올 때마다 새로운 작업 방식과 이러한 개선사항을 활용하는 새로운 라이브러리가 제공된다.  그래서 파이썬에는 기존 방식과 새로운 방식이 있다. 당연히 가장 최신의 편리한 기능을 사용하여 파이썬으로 작업하는 방법을 배우는 게 좋다. 여기에서는 최신 파이썬을 작성하기 위해 알아야 하는 핵심 개념을 소개한다.    타입 힌팅(Type Hinting) 최근에 도입된 ‘타입 힌팅’ 구문을 사용하면 린터 및 서드파티 코드 품질 도구를 통해 런타임 전에 코드를 분석하고 발생 가능한 오류를 감지할 수 있다. 다른 사람들과 공유할 파이썬 코드를 많이 만들수록 타입 힌트의 이점을 더 많이 누릴 수 있다. 파이썬이 개선될 때마다 더 정교하고 강력한 타입 주석이 제공된다. 단기간에 타입 주석 사용법을 익히는 습관을 들이면 새로운 타입 힌팅 기능이 도입될 때마다 훨씬 더 잘 활용할 수 있을 것이다.  단, 타입 힌트는 ‘필수’가 아니라 ‘선택’이라는 점을 인지해야 한다. 이는 모든 프로젝트에 필요하진 않다. 타입 힌트를 사용하여 대규모 프로젝트를 쉽게 이해할 수 있지만 50줄짜리 간단한 스크립트에서는 얼마든지 생략할 수 있다. 아울러 타입 힌트는 런타임에 적용되지 않지만 ‘파이단틱(Pydantic)’을 사용하여 이를 가능하게 할 수 있다. 패스트API(FastAPI) 등의 널리 사용되는 많은 파이썬 프로젝트는 파이단틱을 광범위하게 사용한다. 파이썬 가상 환경 및 패키지 관리 간단한 프로젝트와 개발 작업에서는 파이썬에 내장된 venv 도구만 사용하여 프로젝트와 요구 사항을 분리할 수 있다. 최근에는 더 많은 옵션이 제공된다. ...

파이썬 프로그래밍 언어 개발 언어 소프트웨어 개발

2022.01.28

‘파이썬’의 새롭고 강력한 기능을 모두 활용하는 코드를 작성하고 싶은가? 여기 살펴봐야 할 4가지 기능이 있다. 파이썬(Python)은 작년에 30주년을 맞이했다. 하지만 폭발적인 성장을 기록한 지는 몇 년이 채 되지 않았다. 파이썬의 많은 기능은 처음 그대로 유지되고 있지만 해가 거듭될 때마다 그리고 새로운 버전이 나올 때마다 새로운 작업 방식과 이러한 개선사항을 활용하는 새로운 라이브러리가 제공된다.  그래서 파이썬에는 기존 방식과 새로운 방식이 있다. 당연히 가장 최신의 편리한 기능을 사용하여 파이썬으로 작업하는 방법을 배우는 게 좋다. 여기에서는 최신 파이썬을 작성하기 위해 알아야 하는 핵심 개념을 소개한다.    타입 힌팅(Type Hinting) 최근에 도입된 ‘타입 힌팅’ 구문을 사용하면 린터 및 서드파티 코드 품질 도구를 통해 런타임 전에 코드를 분석하고 발생 가능한 오류를 감지할 수 있다. 다른 사람들과 공유할 파이썬 코드를 많이 만들수록 타입 힌트의 이점을 더 많이 누릴 수 있다. 파이썬이 개선될 때마다 더 정교하고 강력한 타입 주석이 제공된다. 단기간에 타입 주석 사용법을 익히는 습관을 들이면 새로운 타입 힌팅 기능이 도입될 때마다 훨씬 더 잘 활용할 수 있을 것이다.  단, 타입 힌트는 ‘필수’가 아니라 ‘선택’이라는 점을 인지해야 한다. 이는 모든 프로젝트에 필요하진 않다. 타입 힌트를 사용하여 대규모 프로젝트를 쉽게 이해할 수 있지만 50줄짜리 간단한 스크립트에서는 얼마든지 생략할 수 있다. 아울러 타입 힌트는 런타임에 적용되지 않지만 ‘파이단틱(Pydantic)’을 사용하여 이를 가능하게 할 수 있다. 패스트API(FastAPI) 등의 널리 사용되는 많은 파이썬 프로젝트는 파이단틱을 광범위하게 사용한다. 파이썬 가상 환경 및 패키지 관리 간단한 프로젝트와 개발 작업에서는 파이썬에 내장된 venv 도구만 사용하여 프로젝트와 요구 사항을 분리할 수 있다. 최근에는 더 많은 옵션이 제공된다. ...

2022.01.28

아이파이썬 8.0 출시··· “코드 포맷팅, 역추적 등 개선”

‘아이파이썬(IPython)’의 버전 8이 출시됐다. 이번 업데이트에서는 코드 포맷팅, 자동 제안, 역추적 기능 등이 개선됐다.     지난 1월 12일(현지 시각) 7.0 릴리즈 이후 3년 만에 ‘아이파이썬 8(IPython 8)’이 공개됐다. 개발팀에 따르면 이번 업데이트의 주요 기능 중 하나는 CLI에서 black으로 자동 재포맷하는 것이다. black이 아이파이썬과 동일한 환경에 설치된 경우 터미널 아이파이썬은 가능하다면 CLI에서 기본적으로 코드를 다시 포맷한다.  또한 버전 8에서는 오류가 발생한 셀 번호를 표시해 오류 역추적 기능의 형식을 적절하게 지정한다. 이전에는 코드 셀에서 발생하는 오류 역추적에 파이썬 AST(Abstract Syntax Tree)를 완료하는 데 사용되는 해시를 표시했었다고 개발팀은 설명했다. 아울러 아이파이썬 8에서는 Ctrl-E, Ctrl-F 또는 오른쪽 화살표를 사용하여 자동 제안을 수락할 수 있다.  이는 fish 및 zsh 셸과 프롬프트-툴킷에서 사용할 수 있다.  아이파이썬 설치 지침은 이곳(IPython.org)에서 확인할 수 있다. 해당 문서에 의하면 이번 릴리즈는 아이파이썬 버전 1.0과 5.0 사이에서 더 이상 사용되지 않는 거의 모든 기능 및 모듈을 제거했다.  한편 아이파이썬의 목표는 대화형 및 탐색적 컴퓨팅을 위한 포괄적인 환경을 제공하는 것이다. 이 파이썬 REPL은 ipykernel을 통해 주피터 커널(Jupyter Kernel)에 전원을 공급하고, 탭 완성, 향상된 역추적, 여러 줄 편집, 순수한 파이썬 스크립트 위에 몇 가지 유용한 기능 등을 제공한다. ciokr@idg.co.kr

파이썬 아이파이썬 개발자 개발 언어 프로그래밍 언어

2022.01.14

‘아이파이썬(IPython)’의 버전 8이 출시됐다. 이번 업데이트에서는 코드 포맷팅, 자동 제안, 역추적 기능 등이 개선됐다.     지난 1월 12일(현지 시각) 7.0 릴리즈 이후 3년 만에 ‘아이파이썬 8(IPython 8)’이 공개됐다. 개발팀에 따르면 이번 업데이트의 주요 기능 중 하나는 CLI에서 black으로 자동 재포맷하는 것이다. black이 아이파이썬과 동일한 환경에 설치된 경우 터미널 아이파이썬은 가능하다면 CLI에서 기본적으로 코드를 다시 포맷한다.  또한 버전 8에서는 오류가 발생한 셀 번호를 표시해 오류 역추적 기능의 형식을 적절하게 지정한다. 이전에는 코드 셀에서 발생하는 오류 역추적에 파이썬 AST(Abstract Syntax Tree)를 완료하는 데 사용되는 해시를 표시했었다고 개발팀은 설명했다. 아울러 아이파이썬 8에서는 Ctrl-E, Ctrl-F 또는 오른쪽 화살표를 사용하여 자동 제안을 수락할 수 있다.  이는 fish 및 zsh 셸과 프롬프트-툴킷에서 사용할 수 있다.  아이파이썬 설치 지침은 이곳(IPython.org)에서 확인할 수 있다. 해당 문서에 의하면 이번 릴리즈는 아이파이썬 버전 1.0과 5.0 사이에서 더 이상 사용되지 않는 거의 모든 기능 및 모듈을 제거했다.  한편 아이파이썬의 목표는 대화형 및 탐색적 컴퓨팅을 위한 포괄적인 환경을 제공하는 것이다. 이 파이썬 REPL은 ipykernel을 통해 주피터 커널(Jupyter Kernel)에 전원을 공급하고, 탭 완성, 향상된 역추적, 여러 줄 편집, 순수한 파이썬 스크립트 위에 몇 가지 유용한 기능 등을 제공한다. ciokr@idg.co.kr

2022.01.14

깃허브, ‘코드 검색’ 개선한다··· 기술 프리뷰 발표

깃허브가 자사 코드 공유 사이트의 코드 검색 기능과 파이썬을 위한 코드 탐색 기능을 개선하기 위한 기술 프리뷰를 발표했다.  회사에 따르면 개선된 기능 중에는 러스트(Rust)로 구축된 새로운 코드 검색 엔진이 있다. 기술 프리뷰의 검색 인덱스는 가장 인기 있는 퍼블릭 리포지토리 500만 개 이상을 포함한다. 액세스 권한이 있다면 프라이빗 리포지토리에서도 검색할 수 있다.    이 밖에 기술 프리뷰에 포함된 기능은 다음과 같다.  • 스마트 랭킹과 코드에 최적화된 인덱스 • 부분 문자열 일치 및 특수문자를 지원하는 정확한 문자열 검색  • 검색 상자의 자동 완성 제안  • org:code 또는 repo:code 한정자로 검색 범위 지정  • language:code 및 path:code 등의 필터를 통한 결과 정제  • 디렉토리 트리 등의 추가 기능을 통한 빠른 베어링  검색 구문은 이곳에서 확인할 수 있다. 관심 있는 개발자는 기술 프리뷰에 등록해 피드백을 제공할 수 있다. 기술 프리뷰가 활성화되면 깃허브에서도 사용해 볼 수 있을 것이라고 회사 측은 전했다. 처음에는 별도의 새 코드 검색용 인터페이스가 제공된다. 깃허브에서 피드백을 반영하고, 이를 폭넓게 채택할 준비가 되면 깃허브닷컴 환경에 통합할 계획이다.  한편 파이썬을 위한 ‘정확한’ 코드 탐색 기능은 새로운 스택 그래프 프레임워크를 기반으로 한다고 깃허브는 밝혔다. 스택 그래프를 사용하면 파이썬 이름 바인딩 규칙의 자세한 정보를 인코딩할 수 있다. 이를 통해 리포지토리 추가 구성없이 각 참조가 참조하는 특정 정의를 결정할 수 있다고 회사 측은 설명했다.  지금까지 깃허브 코드 탐색은 ‘퍼지(fuzzy)’ 또는 검색 기반이었다. 참조를 클릭하면 해당 이름의 리포지토리에 있는 모든 정의가 표시됐다. 이로 인해 일반적인 이름의 정의 및 참조를 볼 때 많은 노이즈가 발생할 수 있었다. ...

깃허브 코드 공유 코드 검색 코드 탐색 파이썬 개발자 리포지토리

2021.12.10

깃허브가 자사 코드 공유 사이트의 코드 검색 기능과 파이썬을 위한 코드 탐색 기능을 개선하기 위한 기술 프리뷰를 발표했다.  회사에 따르면 개선된 기능 중에는 러스트(Rust)로 구축된 새로운 코드 검색 엔진이 있다. 기술 프리뷰의 검색 인덱스는 가장 인기 있는 퍼블릭 리포지토리 500만 개 이상을 포함한다. 액세스 권한이 있다면 프라이빗 리포지토리에서도 검색할 수 있다.    이 밖에 기술 프리뷰에 포함된 기능은 다음과 같다.  • 스마트 랭킹과 코드에 최적화된 인덱스 • 부분 문자열 일치 및 특수문자를 지원하는 정확한 문자열 검색  • 검색 상자의 자동 완성 제안  • org:code 또는 repo:code 한정자로 검색 범위 지정  • language:code 및 path:code 등의 필터를 통한 결과 정제  • 디렉토리 트리 등의 추가 기능을 통한 빠른 베어링  검색 구문은 이곳에서 확인할 수 있다. 관심 있는 개발자는 기술 프리뷰에 등록해 피드백을 제공할 수 있다. 기술 프리뷰가 활성화되면 깃허브에서도 사용해 볼 수 있을 것이라고 회사 측은 전했다. 처음에는 별도의 새 코드 검색용 인터페이스가 제공된다. 깃허브에서 피드백을 반영하고, 이를 폭넓게 채택할 준비가 되면 깃허브닷컴 환경에 통합할 계획이다.  한편 파이썬을 위한 ‘정확한’ 코드 탐색 기능은 새로운 스택 그래프 프레임워크를 기반으로 한다고 깃허브는 밝혔다. 스택 그래프를 사용하면 파이썬 이름 바인딩 규칙의 자세한 정보를 인코딩할 수 있다. 이를 통해 리포지토리 추가 구성없이 각 참조가 참조하는 특정 정의를 결정할 수 있다고 회사 측은 설명했다.  지금까지 깃허브 코드 탐색은 ‘퍼지(fuzzy)’ 또는 검색 기반이었다. 참조를 클릭하면 해당 이름의 리포지토리에 있는 모든 정의가 표시됐다. 이로 인해 일반적인 이름의 정의 및 참조를 볼 때 많은 노이즈가 발생할 수 있었다. ...

2021.12.10

‘장고(Django) 4.0’, 레디스 데이터베이스 캐싱 지원

파이썬 웹 프레임워크의 데이터베이스 캐싱과 폼 커스터마이징을 특징으로 하는 ‘장고(Django) 버전 4.0’이 공개됐다.  개발팀에 따르면 새로운 레디스(Redis) 캐시 백엔드는 레디스 인-메모리 데이터베이스에 캐싱을 기본적으로 지원한다. 단, 이를 사용하려면 로컬 또는 원격 시스템에서 실행되는 레디스 서버, 레디스용 파이썬 바인딩이 필요하다고 개발팀은 전했다.    또 ‘장고 4.0’에서는 더 간편한 커스터마이징을 지원하기 위해 Forms, Formsets, ErrorList는 이제 템플릿 엔진을 사용하여 렌더링한다.  지난 12월 7일(현지 시각) 출시된 ‘장고 4.0’은 파이썬용 pip 패키지 설치 프로그램으로 설치할 수 있다(pip install Django==4.0). 이 밖에 ‘장고 4.0’의 새로운 기능 및 개선사항은 다음과 같다.  • UniqueConstrain()의 *expressions 위치 인수를 사용하면 표현식 및 데이터베이스에 기능적 고유 제약 조건을 생성할 수 있다.  • scrypt 암호 해시는 PBKDF2 알고리즘보다 더 안전하며, 더 권장된다고 개발팀은 밝혔다. 하지만 이를 사용하려면 오픈SSL(OpenSSL) 1.1 및 추가 메모리가 필요하기 때문에 기본값은 아니라고 덧붙였다.  • 파이썬 표준 라이브러리의 zoneinfo는 현재 장고의 기본 시간대 구현이다.  • 이제 admin/base.html 템플릿에 admin 사이트 헤더를 포함하는 새 블록 헤더가 제공된다.  • ModelAdmin.get_formset_kwargs() 메소드를 사용하면 formset 생성자에 전달된 키워드 인수를 커스터마이징 할 수 있다.  • 탐색 사이드바에 빠른 필터 도구 모음이 추가됐다.  • 각 모델의 모델 클래스를 포함하는 상수 변수 모델이 AdminSite.each_context()에 추가됐다.  • Mod...

장고 파이썬 레디스

2021.12.09

파이썬 웹 프레임워크의 데이터베이스 캐싱과 폼 커스터마이징을 특징으로 하는 ‘장고(Django) 버전 4.0’이 공개됐다.  개발팀에 따르면 새로운 레디스(Redis) 캐시 백엔드는 레디스 인-메모리 데이터베이스에 캐싱을 기본적으로 지원한다. 단, 이를 사용하려면 로컬 또는 원격 시스템에서 실행되는 레디스 서버, 레디스용 파이썬 바인딩이 필요하다고 개발팀은 전했다.    또 ‘장고 4.0’에서는 더 간편한 커스터마이징을 지원하기 위해 Forms, Formsets, ErrorList는 이제 템플릿 엔진을 사용하여 렌더링한다.  지난 12월 7일(현지 시각) 출시된 ‘장고 4.0’은 파이썬용 pip 패키지 설치 프로그램으로 설치할 수 있다(pip install Django==4.0). 이 밖에 ‘장고 4.0’의 새로운 기능 및 개선사항은 다음과 같다.  • UniqueConstrain()의 *expressions 위치 인수를 사용하면 표현식 및 데이터베이스에 기능적 고유 제약 조건을 생성할 수 있다.  • scrypt 암호 해시는 PBKDF2 알고리즘보다 더 안전하며, 더 권장된다고 개발팀은 밝혔다. 하지만 이를 사용하려면 오픈SSL(OpenSSL) 1.1 및 추가 메모리가 필요하기 때문에 기본값은 아니라고 덧붙였다.  • 파이썬 표준 라이브러리의 zoneinfo는 현재 장고의 기본 시간대 구현이다.  • 이제 admin/base.html 템플릿에 admin 사이트 헤더를 포함하는 새 블록 헤더가 제공된다.  • ModelAdmin.get_formset_kwargs() 메소드를 사용하면 formset 생성자에 전달된 키워드 인수를 커스터마이징 할 수 있다.  • 탐색 사이드바에 빠른 필터 도구 모음이 추가됐다.  • 각 모델의 모델 클래스를 포함하는 상수 변수 모델이 AdminSite.each_context()에 추가됐다.  • Mod...

2021.12.09

MS 파이썬용 컴파일러 ‘파이지온’, 버전 1.0 출시

닷넷 6(.NET 6) 런타임으로 컴파일되는 파이썬용 JIT(Just-In-Time) 컴파일 시스템 ‘파이지온(Pyjion)’의 버전 1.0이 공개됐다.  파이썬 소프트웨어 재단 펠로우이자 마이크로소프트 펠로우인 앤서니 쇼가 개발한 ‘파이지온’은 ‘파이파이(PyPy)’와 같은 독립실행형 런타임이 아니라 파이썬 3.10에서 실행되는 설치형 라이브러리다.    설치 후 파이지온 라이브러리를 가져와 활성화하면 프로그램에서 파이지온을 사용할 수 있다. 파이지온을 활성화한 후 가져오거나 정의하는 모든 파이썬 코드는 JIT 컴파일된다. 파이지온은 닷넷 EE(.NET EE) 컴파일러를 통해 파이썬 가상머신 명령 코드를 어셈블리 언어로 컴파일한다.  개발팀이 실시한 벤치마크 결과에 따르면 파이지온은 실제 작업에서 일반 파이썬보다 약 2~3배 더 빠른 것으로 드러났다. 일부 최적화는 최대 10배의 속도 향상을 보였다고 개발팀은 전했다. JIT 최적화에 적합한 일반 연산은 훨씬 더 빠를 수 있다.  With 블록 및 async/await 등의 일부 파이썬 기능은 아직 파이지온에서 구현되지 않았지만 둘 다 로드맵에 포함돼 있다고 개발팀은 언급했다. 파이지온에는 WSGI 애플리케이션이 파이지온에서 실행될 수 있도록 하는 미들웨어 계층도 지원된다.  여러 이유로 파이썬을 더 빠르게 만드는 것은 어려운 일이었다. 파이썬의 속도를 높이는 대부분의 방법이 호환성을 위해 파이썬 C API를 활용하고, 이는 성능을 제한시킬 수 있어서다. 그런 점에서 파이썬을 C로 컴파일하는 프로젝트인 ‘C파이썬’은 파이썬 C API를 전혀 활용하지 않는 코드로 최적의 성능을 달성한다.  파이지온은 파이썬 C API를 활용하긴 하지만 현재 및 향후 계획된 최적화(예: 배열 유형에 관한 액세스 최적화 등)는 파이지온 개발팀이 이를 해결할 방법을 고려하고 있음을 시사한다. ciokr@idg.co.kr  

마이크로소프트 파이썬 파이지온 닷넷 6 JIT 컴파일 컴파일러

2021.11.10

닷넷 6(.NET 6) 런타임으로 컴파일되는 파이썬용 JIT(Just-In-Time) 컴파일 시스템 ‘파이지온(Pyjion)’의 버전 1.0이 공개됐다.  파이썬 소프트웨어 재단 펠로우이자 마이크로소프트 펠로우인 앤서니 쇼가 개발한 ‘파이지온’은 ‘파이파이(PyPy)’와 같은 독립실행형 런타임이 아니라 파이썬 3.10에서 실행되는 설치형 라이브러리다.    설치 후 파이지온 라이브러리를 가져와 활성화하면 프로그램에서 파이지온을 사용할 수 있다. 파이지온을 활성화한 후 가져오거나 정의하는 모든 파이썬 코드는 JIT 컴파일된다. 파이지온은 닷넷 EE(.NET EE) 컴파일러를 통해 파이썬 가상머신 명령 코드를 어셈블리 언어로 컴파일한다.  개발팀이 실시한 벤치마크 결과에 따르면 파이지온은 실제 작업에서 일반 파이썬보다 약 2~3배 더 빠른 것으로 드러났다. 일부 최적화는 최대 10배의 속도 향상을 보였다고 개발팀은 전했다. JIT 최적화에 적합한 일반 연산은 훨씬 더 빠를 수 있다.  With 블록 및 async/await 등의 일부 파이썬 기능은 아직 파이지온에서 구현되지 않았지만 둘 다 로드맵에 포함돼 있다고 개발팀은 언급했다. 파이지온에는 WSGI 애플리케이션이 파이지온에서 실행될 수 있도록 하는 미들웨어 계층도 지원된다.  여러 이유로 파이썬을 더 빠르게 만드는 것은 어려운 일이었다. 파이썬의 속도를 높이는 대부분의 방법이 호환성을 위해 파이썬 C API를 활용하고, 이는 성능을 제한시킬 수 있어서다. 그런 점에서 파이썬을 C로 컴파일하는 프로젝트인 ‘C파이썬’은 파이썬 C API를 전혀 활용하지 않는 코드로 최적의 성능을 달성한다.  파이지온은 파이썬 C API를 활용하긴 하지만 현재 및 향후 계획된 최적화(예: 배열 유형에 관한 액세스 최적화 등)는 파이지온 개발팀이 이를 해결할 방법을 고려하고 있음을 시사한다. ciokr@idg.co.kr  

2021.11.10

파이썬이 마침내 ‘GIL’을 제거할 수 있을까?··· 새 제안 공개 

C파이썬 런타임을 변경해 멀티스레드 성능을 강화하는 새로운 프로젝트가 제안됐다. 파이썬 개발팀도 해당 개념 증명에 관심을 보였다.  파이썬의 고질적인 약점(멀티스레드 환경에서 잘 확장되지 않는다는 것)이 해당 프로그래밍 언어 개발팀의 새로운 목표가 될지도 모른다. 지난 10월 7일(현지 시각) 개발자 샘 그로스가 파이썬의 참조 구현 C파이썬의 핵심 구성요소 ‘GIL(Global Interpreter Lock)’에 관한 변경사항을 제안했다.    만약 파이썬 개발팀에서 그의 제안을 받아들인다면 이는 파이썬이 런타임에서 멀티스레드로부터 객체 액세스를 직렬화하는 방식을 변경하고, 멀티스레드 성능을 크게 향상시킬 것으로 예상된다.  GIL은 오랫동안 C파이썬(그리고 파이썬)에서 더 나은 멀티스레드 성능의 장애물로 간주돼 왔다. 수년 동안 이를 제거하려는 많은 시도가 있었다. 하지만 대다수의 기존 파이썬 애플리케이션을 느리게 만들어 단일 스레드 성능을 저하시키는 문제를 해결할 수 없었다. 스레드 및 멀티프로세싱을 다루는 파이썬의 현 메타포는 높은 병렬처리가 불가능한 건 아니다. 하지만 개발자가 작업을 완료하기 위해서는 다스크(Dask) 등의 서드파티 모듈을 사용해야 했다. 새로운 제안은 파이썬 객체의 참조 카운팅 방식을 변경하여 객체를 소유한 스레드의 참조가 다른 스레드의 참조와 다르게 처리되도록 한다.  그로스에 따르면 단일 스레드 성능 벤치마크에서 GIL를 제거한 새로운 인터프리터는 C파이썬 3.9 인터프리터보다 약 10% 빠른 것으로 나타났다.  또한 일부 벤치마크에서 멀티스레드 성능은 새로운 스레드에 따라 거의 선형적으로 확장됐다. 예를 들면 20개의 스레드를 사용할 때 한 벤치마크에서는 최대 18.1배, 다른 벤치마크에서는 최대 19.8배 빨라졌다고 그는 언급했다. 이어서 이는 파이썬의 내부(예: C파이썬)에서 작동하는 기존 파이썬 라이브러리를 상당 수 다시 작성해야 할 만큼 큰 변경사항이라...

파이썬 프로그래밍 언어 개발 언어 C파이썬 GIL 멀티스레드

2021.10.15

C파이썬 런타임을 변경해 멀티스레드 성능을 강화하는 새로운 프로젝트가 제안됐다. 파이썬 개발팀도 해당 개념 증명에 관심을 보였다.  파이썬의 고질적인 약점(멀티스레드 환경에서 잘 확장되지 않는다는 것)이 해당 프로그래밍 언어 개발팀의 새로운 목표가 될지도 모른다. 지난 10월 7일(현지 시각) 개발자 샘 그로스가 파이썬의 참조 구현 C파이썬의 핵심 구성요소 ‘GIL(Global Interpreter Lock)’에 관한 변경사항을 제안했다.    만약 파이썬 개발팀에서 그의 제안을 받아들인다면 이는 파이썬이 런타임에서 멀티스레드로부터 객체 액세스를 직렬화하는 방식을 변경하고, 멀티스레드 성능을 크게 향상시킬 것으로 예상된다.  GIL은 오랫동안 C파이썬(그리고 파이썬)에서 더 나은 멀티스레드 성능의 장애물로 간주돼 왔다. 수년 동안 이를 제거하려는 많은 시도가 있었다. 하지만 대다수의 기존 파이썬 애플리케이션을 느리게 만들어 단일 스레드 성능을 저하시키는 문제를 해결할 수 없었다. 스레드 및 멀티프로세싱을 다루는 파이썬의 현 메타포는 높은 병렬처리가 불가능한 건 아니다. 하지만 개발자가 작업을 완료하기 위해서는 다스크(Dask) 등의 서드파티 모듈을 사용해야 했다. 새로운 제안은 파이썬 객체의 참조 카운팅 방식을 변경하여 객체를 소유한 스레드의 참조가 다른 스레드의 참조와 다르게 처리되도록 한다.  그로스에 따르면 단일 스레드 성능 벤치마크에서 GIL를 제거한 새로운 인터프리터는 C파이썬 3.9 인터프리터보다 약 10% 빠른 것으로 나타났다.  또한 일부 벤치마크에서 멀티스레드 성능은 새로운 스레드에 따라 거의 선형적으로 확장됐다. 예를 들면 20개의 스레드를 사용할 때 한 벤치마크에서는 최대 18.1배, 다른 벤치마크에서는 최대 19.8배 빨라졌다고 그는 언급했다. 이어서 이는 파이썬의 내부(예: C파이썬)에서 작동하는 기존 파이썬 라이브러리를 상당 수 다시 작성해야 할 만큼 큰 변경사항이라...

2021.10.15

“파이썬, C언어·자바 제치고 1위 등극” 티오베 

파이썬이 2021년 10월 티오베 인덱스에서 C언어와 자바를 제치고 처음으로 선두에 올라섰다.    파이썬이 이번 달 티오베 프로그래밍 언어 인기 지수에서 1위를 차지했다. 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바’가 선두를 지키고 있던 이 지수에서 1위를 기록한 세 번째 언어가 됐다고 티오베는 밝혔다.  10월 6일(현지 시각) 공개된 인덱스를 통해 파이썬은 지난 2001년 6월 처음 발표된 티오베 인덱스에서 1위를 차지한 언어로 C 그리고 자바와 어깨를 나란히 하게 됐다. 한편 티오베 언어 순위는 구글, 빙, 야후, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 파이썬의 순위 상승은 예상치 못한 결과가 아니었다. 최근 몇 년 동안 이 언어가 큰 인기를 얻었기 때문이다. 티오베는 파이썬의 이점으로 우수한 생태계, 사용 편의성, 풍부한 라이브러리, 빠른 편집 실행 주기 등을 꼽았다. 이어서 “C와 자바의 장기 집권은 끝났다”라고 회사 측은 말했다. 이 소프트웨어 품질 서비스 회사는 파이썬이 향후 몇 달 동안 C와 엎치락뒤치락 할 순 있지만 결국에는 1위 자리를 차지할 것으로 예상하고 있다. 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 2021년 10월 티오베 인덱스 톱 10은 다음과 같다. 1. 파이썬(11.27%) 2. C 언어(11.16%) 3. 자바(10.46%) 4. C++(7.5%) 5. C#(5.26%) 6. 비주얼 베이직(5.24%) 7. 자바스크립트(2.19%) 8. SQL(2.17%) 9. PHP(2.1%) 10. 어셈블리(2.06%) 2021년 10월 PYPL 인덱스 톱 10은 다음과 같다. 1. 파이썬(29.6...

파이썬 C 자바 티오베 프로그래밍 언어 개발 언어

2021.10.13

파이썬이 2021년 10월 티오베 인덱스에서 C언어와 자바를 제치고 처음으로 선두에 올라섰다.    파이썬이 이번 달 티오베 프로그래밍 언어 인기 지수에서 1위를 차지했다. 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바’가 선두를 지키고 있던 이 지수에서 1위를 기록한 세 번째 언어가 됐다고 티오베는 밝혔다.  10월 6일(현지 시각) 공개된 인덱스를 통해 파이썬은 지난 2001년 6월 처음 발표된 티오베 인덱스에서 1위를 차지한 언어로 C 그리고 자바와 어깨를 나란히 하게 됐다. 한편 티오베 언어 순위는 구글, 빙, 야후, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 파이썬의 순위 상승은 예상치 못한 결과가 아니었다. 최근 몇 년 동안 이 언어가 큰 인기를 얻었기 때문이다. 티오베는 파이썬의 이점으로 우수한 생태계, 사용 편의성, 풍부한 라이브러리, 빠른 편집 실행 주기 등을 꼽았다. 이어서 “C와 자바의 장기 집권은 끝났다”라고 회사 측은 말했다. 이 소프트웨어 품질 서비스 회사는 파이썬이 향후 몇 달 동안 C와 엎치락뒤치락 할 순 있지만 결국에는 1위 자리를 차지할 것으로 예상하고 있다. 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 2021년 10월 티오베 인덱스 톱 10은 다음과 같다. 1. 파이썬(11.27%) 2. C 언어(11.16%) 3. 자바(10.46%) 4. C++(7.5%) 5. C#(5.26%) 6. 비주얼 베이직(5.24%) 7. 자바스크립트(2.19%) 8. SQL(2.17%) 9. PHP(2.1%) 10. 어셈블리(2.06%) 2021년 10월 PYPL 인덱스 톱 10은 다음과 같다. 1. 파이썬(29.6...

2021.10.13

패턴 매칭 지원 外··· '파이썬 3.10', 무엇이 달라졌을까

파이썬의 최신 버전(v3.10)은 강력한 패턴 매칭, 개선된 오류 보고, 래핑된 함수에 관한 스마트한 입력 구문 등을 제공한다.   파이썬 3.10(Python 3.10)이 지난 10월 4일 출시됐다. 용감무쌍한 파이썬 개발자라고 해도 적절한 예방 조치(예: 가상 환경 사용 등)와 함께 코드를 테스트하는 게 좋다.  엄밀히 말해서 파이썬 3.10에는 진정으로 새로운 기능이 많진 않지만 그중 하나인 ‘구조적 패턴 매칭(Structural Pattern Matching)’은 async 이후 언어 구문에 가장 중요한 추가 기능일지도 모른다. 여기에서는 파이썬 3.10의 모든 새로운 기능과 코드를 지원하는 방법을 살펴본다.    구조적 패턴 매칭  구조적 패턴 매칭을 사용하면 가능한 값 세트 중 하나와 변수를 일치시킬 수 있다. 또 값의 패턴(예: 특정 속성이 특정 값으로 설정된 객체)과도 일치시킬 수 있다. 이를 통해 가능성의 범위가 크게 확장되고, 다양한 시나리오를 포함하는 코드를 신속하게 작성할 수 있다. 예는 아래와 같다. 패턴 매칭을 사용하는 방법에 관한 자세한 내용은 이곳에서 확인할 수 있다.    command = input() match command.split():     case ["quit"]:         quit()     case ["load", filename]:         load_from(filename)     case ["save", filename]:         save_to(filename)     case _:         print (f"Command '{command}' ...

파이썬 개발 언어 프로그래밍 언어 패턴 매칭

2021.10.06

파이썬의 최신 버전(v3.10)은 강력한 패턴 매칭, 개선된 오류 보고, 래핑된 함수에 관한 스마트한 입력 구문 등을 제공한다.   파이썬 3.10(Python 3.10)이 지난 10월 4일 출시됐다. 용감무쌍한 파이썬 개발자라고 해도 적절한 예방 조치(예: 가상 환경 사용 등)와 함께 코드를 테스트하는 게 좋다.  엄밀히 말해서 파이썬 3.10에는 진정으로 새로운 기능이 많진 않지만 그중 하나인 ‘구조적 패턴 매칭(Structural Pattern Matching)’은 async 이후 언어 구문에 가장 중요한 추가 기능일지도 모른다. 여기에서는 파이썬 3.10의 모든 새로운 기능과 코드를 지원하는 방법을 살펴본다.    구조적 패턴 매칭  구조적 패턴 매칭을 사용하면 가능한 값 세트 중 하나와 변수를 일치시킬 수 있다. 또 값의 패턴(예: 특정 속성이 특정 값으로 설정된 객체)과도 일치시킬 수 있다. 이를 통해 가능성의 범위가 크게 확장되고, 다양한 시나리오를 포함하는 코드를 신속하게 작성할 수 있다. 예는 아래와 같다. 패턴 매칭을 사용하는 방법에 관한 자세한 내용은 이곳에서 확인할 수 있다.    command = input() match command.split():     case ["quit"]:         quit()     case ["load", filename]:         load_from(filename)     case ["save", filename]:         save_to(filename)     case _:         print (f"Command '{command}' ...

2021.10.06

“파이썬, 선두 탈환에 바짝 다가섰다” 티오베

파이썬이 2021년 9월 티오베 인덱스에서 1위에 바짝 다가섰다. 티오베는 파이썬이 선두 C에 이렇게 근접한 적은 없었다고 밝혔다.  파이썬이 티오베 프로그래밍 언어 인기 지수의 정상을 코앞에 두고 있다. 파이썬은 2021년 9월 인덱스에서 현 랭킹 1위 C 언어(11.83%)에 불과 0.16%P 뒤지며 2위(11.67%)를 차지했다.     티오베는 파이썬이 언제든지 C를 능가할 수 있으며, (파이썬이 1위로 올라가면) 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바(이번 달에는 3위)’에 의해 주도되고 있었던 이 지수를 이끄는 세 번째 언어가 될 것이라고 말했다.  회사에 따르면 파이썬은 2개월 연속 2위를 차지했다. 지난해 11월 처음으로 2위에 올랐다. 티오베 언어 순위는 구글, 빙, 야후 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 한편 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 또 2021년 6월 레드몽크(RedMonk) 언어 순위에서는 자바스크립트에 이어 2위를 기록했다.  이 밖에 다른 언어를 살펴보자면, 2021년 9월 티오베 인덱스에서 구글 고(Go) 언어는 지난달 18위에서 이번 달 14위로 4계단 올라섰다. 어셈블리(Assembly) 언어는 지난달 9위에서 이번 달 8위로, 루비(Ruby)는 15위에서 13위로 상승했다.  2021년 9월 티오베 인덱스 톱 10은 다음과 같다. 1. C 언어(11.83%) 2. 파이썬(11.67%) 3. 자바(11.12%) 4. C++(7.13%) 5. C#(5.78%) 6. 비주얼 베이직(4.62%) 7. 자바스크립트(2.55%) 8. 어셈블리(2.42%) 9. P...

티오베 인덱스 프로그래밍 언어 개발 언어 파이썬 C 자바

2021.09.14

파이썬이 2021년 9월 티오베 인덱스에서 1위에 바짝 다가섰다. 티오베는 파이썬이 선두 C에 이렇게 근접한 적은 없었다고 밝혔다.  파이썬이 티오베 프로그래밍 언어 인기 지수의 정상을 코앞에 두고 있다. 파이썬은 2021년 9월 인덱스에서 현 랭킹 1위 C 언어(11.83%)에 불과 0.16%P 뒤지며 2위(11.67%)를 차지했다.     티오베는 파이썬이 언제든지 C를 능가할 수 있으며, (파이썬이 1위로 올라가면) 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바(이번 달에는 3위)’에 의해 주도되고 있었던 이 지수를 이끄는 세 번째 언어가 될 것이라고 말했다.  회사에 따르면 파이썬은 2개월 연속 2위를 차지했다. 지난해 11월 처음으로 2위에 올랐다. 티오베 언어 순위는 구글, 빙, 야후 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 한편 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 또 2021년 6월 레드몽크(RedMonk) 언어 순위에서는 자바스크립트에 이어 2위를 기록했다.  이 밖에 다른 언어를 살펴보자면, 2021년 9월 티오베 인덱스에서 구글 고(Go) 언어는 지난달 18위에서 이번 달 14위로 4계단 올라섰다. 어셈블리(Assembly) 언어는 지난달 9위에서 이번 달 8위로, 루비(Ruby)는 15위에서 13위로 상승했다.  2021년 9월 티오베 인덱스 톱 10은 다음과 같다. 1. C 언어(11.83%) 2. 파이썬(11.67%) 3. 자바(11.12%) 4. C++(7.13%) 5. C#(5.78%) 6. 비주얼 베이직(4.62%) 7. 자바스크립트(2.55%) 8. 어셈블리(2.42%) 9. P...

2021.09.14

VS 코드 1.60 출시··· 자동 언어 감지 제공

마이크로소프트가 ‘비주얼 스튜디오 코드(Visual Studio Code)’ 최신 릴리즈에서 자동 언어 감지 등의 기능을 지원한다. 현재 해당 기능은 기본적으로 활성화된다.   ‘비주얼 스튜디오 코드 1.60(2021년 8월 버전)’이 지난 9월 2일(현지 시각) 출시됐다. 이곳에서 다운로드 받을 수 있다. 개발팀에 따르면 지난달 비주얼 스튜디오 코드 1.59에서 프리뷰로 공개됐던 머신러닝 기반의 자동 언어 감지 기능이 이번 릴리즈에서 기본 모드로 전환됐다.    해당 기능을 사용하면 콘텐츠를 통해 무제 파일의 언어 모드를 설정할 수 있다. 또한 파일 확장자가 없는 파일을 포함하도록 확장됐다고 개발팀은 덧붙였다.  이 밖에 비주얼 스튜디오 코드 1.60 릴리즈의 새로운 기능 및 개선 사항은 다음과 같다.  • 이제 편집기에서 네이티브로 브라킷 페어 컬러라이저(Bracket Pair Colorizer)를 지원한다. 개발팀은 해당 기능이 코엔라드스(CoenraadS)의 브라킷 페어 컬러라이저 확장 성능 문제를 해결하기 위해 구현됐다고 설명했다.  • 설정 설명(setting descriptions)에서 분리된 코드 블록이 구문으로 강조 표시된다.  • 상자 그리기(box drawing) 및 블록 요소 문자(block element characters)는 GPU 가속이 활성화돼 있을 때 글꼴(font) 대신 픽셀 단위의 맞춤 그리프(glyphs)를 사용한다. 예를 들면 터미널에서 줄 높이 또는 문자 간격을 설정하더라도 상자는 간격 없이 그려진다.  • 디버깅에서 컨텍스트 메뉴의 Set Value 작업을 사용하여 WATCH 보기에서 감시된 표현식의 값을 설정할 수 있다.  • UI의 경우 VS 코드는 이제 VARIABLES 보기, WATCH 보기, 디버그 호버(Debug hover)에서도 값의 링크를 감지한다. 변수 값이 링크인 경우 해당 링크를 클릭해 쉽게 따라갈 수 있...

마이크로소프트 VS 코드 비주얼 스튜디오 코드 편집기 개발자 파이썬 타입스크립트

2021.09.06

마이크로소프트가 ‘비주얼 스튜디오 코드(Visual Studio Code)’ 최신 릴리즈에서 자동 언어 감지 등의 기능을 지원한다. 현재 해당 기능은 기본적으로 활성화된다.   ‘비주얼 스튜디오 코드 1.60(2021년 8월 버전)’이 지난 9월 2일(현지 시각) 출시됐다. 이곳에서 다운로드 받을 수 있다. 개발팀에 따르면 지난달 비주얼 스튜디오 코드 1.59에서 프리뷰로 공개됐던 머신러닝 기반의 자동 언어 감지 기능이 이번 릴리즈에서 기본 모드로 전환됐다.    해당 기능을 사용하면 콘텐츠를 통해 무제 파일의 언어 모드를 설정할 수 있다. 또한 파일 확장자가 없는 파일을 포함하도록 확장됐다고 개발팀은 덧붙였다.  이 밖에 비주얼 스튜디오 코드 1.60 릴리즈의 새로운 기능 및 개선 사항은 다음과 같다.  • 이제 편집기에서 네이티브로 브라킷 페어 컬러라이저(Bracket Pair Colorizer)를 지원한다. 개발팀은 해당 기능이 코엔라드스(CoenraadS)의 브라킷 페어 컬러라이저 확장 성능 문제를 해결하기 위해 구현됐다고 설명했다.  • 설정 설명(setting descriptions)에서 분리된 코드 블록이 구문으로 강조 표시된다.  • 상자 그리기(box drawing) 및 블록 요소 문자(block element characters)는 GPU 가속이 활성화돼 있을 때 글꼴(font) 대신 픽셀 단위의 맞춤 그리프(glyphs)를 사용한다. 예를 들면 터미널에서 줄 높이 또는 문자 간격을 설정하더라도 상자는 간격 없이 그려진다.  • 디버깅에서 컨텍스트 메뉴의 Set Value 작업을 사용하여 WATCH 보기에서 감시된 표현식의 값을 설정할 수 있다.  • UI의 경우 VS 코드는 이제 VARIABLES 보기, WATCH 보기, 디버그 호버(Debug hover)에서도 값의 링크를 감지한다. 변수 값이 링크인 경우 해당 링크를 클릭해 쉽게 따라갈 수 있...

2021.09.06

파이썬 런타임 대체 ‘피스톤’, 아나콘다 지원받는다

데이터 과학 플랫폼 제공업체 ‘아나콘다(Anaconda)’가 파이썬 런타임 대체 구현 ‘피스톤(Pyston)’ 프로젝트를 지원한다고 지난 8월 30일 발표했다. 피스톤을 만든 수석 개발자 케빈 모들레프스키와 마리우스 바츨러를 포함해 피스톤 개발팀이 아나콘다로 합류한다. 파이썬 성능을 개선하고 지속가능한 피스톤 커뮤니티를 구축하기 위해서다.    회사에 따르면 수석 개발자 케빈 모들레프스키와 마리우스 바츨러는 피스톤 프로젝트의 장기적인 지속가능성을 확보하기 위해 사용자, 컨트리뷰터, 메인테이너로 구성된 오픈소스 커뮤니티를 구축하는 데 중점을 둘 계획이다.  모들레프스키는 공식 성명문을 통해 “아나콘다의 지원으로 피스톤을 그 어느 때보다 빠르게 더 많은 사용자에게 제공할 수 있게 될 것이다”라며, “또 다양한 애플리케이션에서 파이썬 성능을 향상시킬 수 있으리라 예상된다”라고 밝혔다.  아나콘다는 이번 지원 및 협력이 소프트웨어 엔지니어 사이에서 피스톤의 개발 및 채택을 가속화할 것이라고 전했다. 이어서 향후 피스톤 개발 대상에는 기존 바이너리 파이썬 패키지와의 강화된 호환성과 추가 하드웨어 플랫폼으로의 피스톤 확장이 포함된다고 덧붙였다.  한편 아나콘다는 피스톤 프로젝트 자체와는 별개이지만 현재 및 미래 프로젝트에 피스톤을 통합할 수 있다. 피스톤은 깃허브에서 다운로드할 수 있다.  아나콘다는 파이썬 소스 코드와 호환되는 피스톤이 표준 파이썬보다 평균 20~50% 빠른 속도로 프로그램을 실행한다고 말했다. 피스톤은 지난 2014년에서 2017년 사이 드롭박스(Dropbox)에서 개발됐으며, (드롭박스가 피스톤 개발 지원을 철회한 이후) 2020년에 피스톤 2.0으로 다시 출시됐다.  표준 C파이썬 인터프리터의 포크인 피스톤은 파이썬 소프트웨어 재단(Python Software Foundation)의 라이선스를 사용하는 오픈소스 프로젝트로 유지된다. ciokr@idg.co.kr &n...

피스톤 파이썬 아나콘다 데이터 과학 플랫폼

2021.09.02

데이터 과학 플랫폼 제공업체 ‘아나콘다(Anaconda)’가 파이썬 런타임 대체 구현 ‘피스톤(Pyston)’ 프로젝트를 지원한다고 지난 8월 30일 발표했다. 피스톤을 만든 수석 개발자 케빈 모들레프스키와 마리우스 바츨러를 포함해 피스톤 개발팀이 아나콘다로 합류한다. 파이썬 성능을 개선하고 지속가능한 피스톤 커뮤니티를 구축하기 위해서다.    회사에 따르면 수석 개발자 케빈 모들레프스키와 마리우스 바츨러는 피스톤 프로젝트의 장기적인 지속가능성을 확보하기 위해 사용자, 컨트리뷰터, 메인테이너로 구성된 오픈소스 커뮤니티를 구축하는 데 중점을 둘 계획이다.  모들레프스키는 공식 성명문을 통해 “아나콘다의 지원으로 피스톤을 그 어느 때보다 빠르게 더 많은 사용자에게 제공할 수 있게 될 것이다”라며, “또 다양한 애플리케이션에서 파이썬 성능을 향상시킬 수 있으리라 예상된다”라고 밝혔다.  아나콘다는 이번 지원 및 협력이 소프트웨어 엔지니어 사이에서 피스톤의 개발 및 채택을 가속화할 것이라고 전했다. 이어서 향후 피스톤 개발 대상에는 기존 바이너리 파이썬 패키지와의 강화된 호환성과 추가 하드웨어 플랫폼으로의 피스톤 확장이 포함된다고 덧붙였다.  한편 아나콘다는 피스톤 프로젝트 자체와는 별개이지만 현재 및 미래 프로젝트에 피스톤을 통합할 수 있다. 피스톤은 깃허브에서 다운로드할 수 있다.  아나콘다는 파이썬 소스 코드와 호환되는 피스톤이 표준 파이썬보다 평균 20~50% 빠른 속도로 프로그램을 실행한다고 말했다. 피스톤은 지난 2014년에서 2017년 사이 드롭박스(Dropbox)에서 개발됐으며, (드롭박스가 피스톤 개발 지원을 철회한 이후) 2020년에 피스톤 2.0으로 다시 출시됐다.  표준 C파이썬 인터프리터의 포크인 피스톤은 파이썬 소프트웨어 재단(Python Software Foundation)의 라이선스를 사용하는 오픈소스 프로젝트로 유지된다. ciokr@idg.co.kr &n...

2021.09.02

파이썬 코드 프로파일링을 위한 6가지 유용한 라이브러리

모든 프로그래밍 언어에는 두 가지 속도가 있다. 개발 속도, 그리고 실행 속도다. 파이썬(Python)은 전통적으로 빠른 실행보다는 빠른 개발에 중점을 두는 언어다. 파이썬 코드는 대부분의 경우 충분히 빠르지만 가끔 그렇지 않을 때도 있다. 그럴 때는 속도가 떨어지는 위치와 이유를 파악해 조치를 취해야 한다.   소프트웨어 개발은 물론 엔지니어링 전반적으로 통용되는 격언으로 “추정하지 말고 측정하라”는 말이 있다. 소프트웨어에서 무엇이 잘못됐는지 추정하곤 하지만 결코 좋은 방법은 아니다. 애플리케이션 속도를 높이기 위해 가장 먼저 사용해야 하는 도구는 실제 프로그램 성능에 대한 통계다. 파이썬에는 애플리케이션을 프로파일링하고 속도가 느린 부분을 파악하는 데 사용할 수 있는 패키지가 풍부하다. 표준 라이브러리에 포함된 간단한 도구부터 실행 중인 애플리케이션에서 통계를 얻기 위한 복잡 정교한 프레임워크에 이르기까지 다양한 도구가 있다. 이번 기사에서는 가장 중요한 5가지 도구에 대해 살펴본다. 모두 크로스 플랫폼(cross-platform)이며 파이파이(PyPI) 또는 파이썬 표준 라이브러리에서 즉시 사용할 수 있다.  타임(Time), 타임잇(Timeit) 실행 속도가 몇 초 또는 몇 분 정도인 두 코드 스니펫 간의 시간을 프로파일링하는 것이 전부라면 스톱워치만 있어도 충분하다. 파이썬 표준 라이브러리에는 스톱워치 기능을 하는 두 가지 함수가 제공된다. 타임 모듈의 perf_counter 함수는 운영체제의 고분해능 타이머를 호출해 임의의 타임스탬프를 구한다. time.perf_counter를 작업 전후에 한 번씩 호출해 둘 사이의 차이를 구할 수 있다. 야단스럽지 않게, 낮은 오버헤드로 코드 시간을 측정하는 방법이다. 타임잇 모듈은 파이썬 코드에 대한 실제 벤치마킹과 비슷한 작업을 수행한다. timeit.timeit 함수는 코드 스니펫을 여러 번 실행하고(기본값은 100만 번), 소요된 총 시간을 측정한다. 타이트한 루프에서 단일 작...

파이썬 Python 타임잇 Timeit c프로파일 cProfile 팔란티어 Palanteer 파이인스트루먼트 Pyinstrument 파이-스파이 Py-spy 야피 Yappi

2021.08.03

모든 프로그래밍 언어에는 두 가지 속도가 있다. 개발 속도, 그리고 실행 속도다. 파이썬(Python)은 전통적으로 빠른 실행보다는 빠른 개발에 중점을 두는 언어다. 파이썬 코드는 대부분의 경우 충분히 빠르지만 가끔 그렇지 않을 때도 있다. 그럴 때는 속도가 떨어지는 위치와 이유를 파악해 조치를 취해야 한다.   소프트웨어 개발은 물론 엔지니어링 전반적으로 통용되는 격언으로 “추정하지 말고 측정하라”는 말이 있다. 소프트웨어에서 무엇이 잘못됐는지 추정하곤 하지만 결코 좋은 방법은 아니다. 애플리케이션 속도를 높이기 위해 가장 먼저 사용해야 하는 도구는 실제 프로그램 성능에 대한 통계다. 파이썬에는 애플리케이션을 프로파일링하고 속도가 느린 부분을 파악하는 데 사용할 수 있는 패키지가 풍부하다. 표준 라이브러리에 포함된 간단한 도구부터 실행 중인 애플리케이션에서 통계를 얻기 위한 복잡 정교한 프레임워크에 이르기까지 다양한 도구가 있다. 이번 기사에서는 가장 중요한 5가지 도구에 대해 살펴본다. 모두 크로스 플랫폼(cross-platform)이며 파이파이(PyPI) 또는 파이썬 표준 라이브러리에서 즉시 사용할 수 있다.  타임(Time), 타임잇(Timeit) 실행 속도가 몇 초 또는 몇 분 정도인 두 코드 스니펫 간의 시간을 프로파일링하는 것이 전부라면 스톱워치만 있어도 충분하다. 파이썬 표준 라이브러리에는 스톱워치 기능을 하는 두 가지 함수가 제공된다. 타임 모듈의 perf_counter 함수는 운영체제의 고분해능 타이머를 호출해 임의의 타임스탬프를 구한다. time.perf_counter를 작업 전후에 한 번씩 호출해 둘 사이의 차이를 구할 수 있다. 야단스럽지 않게, 낮은 오버헤드로 코드 시간을 측정하는 방법이다. 타임잇 모듈은 파이썬 코드에 대한 실제 벤치마킹과 비슷한 작업을 수행한다. timeit.timeit 함수는 코드 스니펫을 여러 번 실행하고(기본값은 100만 번), 소요된 총 시간을 측정한다. 타이트한 루프에서 단일 작...

2021.08.03

오픈AI, 파이썬 기반 언어 ‘트리톤’ 출시··· “GPU 프로그래밍 지원”

오픈AI(OpenAI)가 7월 28일 머신러닝용 GPU 프로그래밍의 복잡성 없이 GPU 기반 딥러닝 프로젝트를 직접 작성할 수 있는 오픈소스 프로그래밍 언어 ‘트리톤(Triton)’의 첫 번째 버전을 출시했다.    ‘트리톤 1.0’은 파이썬(버전 3.6 이상)을 기반으로 한다. 오픈AI에 따르면 개발자는 트리톤의 라이브러리를 사용해 파이썬으로 코드를 작성한 다음 GPU에서 실행되도록 JIT 컴파일할 수 있다. 또 새로운 도메인 특정 언어를 개발하느라 시간 낭비할 필요 없이 파이썬 언어 자체를 활용할 수 있다.  트리톤의 라이브러리는 넘파이(NumPy)를 연상시키는 일련의 기본 요소를 제공한다. 이를테면 다양한 행렬 연산이나 특정 기준에 따라 배열을 축소하는 함수 등이다. 사용자는 이러한 기본 요소를 코드에 결합해 GPU에서 실행되도록 컴파일된 @triton.jit 데코레이터를 추가할 수 있다. 이러한 점에서 트리톤은 넘바(Numba)와 유사하다고 개발팀은 전했다. 넘바는 속도를 위해 숫자 집약적인 파이썬 코드를 머신-네이티브 어셈블리로 JIT 컴파일할 수 있는 프로젝트다.  트리톤의 간단한 예로는 벡터 추가 커널과 융합된 소프트맥스 연산 등을 들 수 있다. 개발팀은 후자의 경우 전적으로 GPU 메모리에서 수행할 수 있는 작업을 네이티브 파이토치와 융합된 소프트맥스보다 몇 배 더 빠르게 실행할 수 있다고 밝혔다.  트리톤은 현재 리눅스에서만 사용할 수 있다. 이제 막 출시된 프로젝트이기 때문에 문서화가 아직 완료되지 않았다. 이를 초기에 채택하는 개발자는 소스와 예제를 자세히 검토해야 할 수 있다. 예를 들면 함수의 JIT 컴파일을 최적화하기 위한 매개변수를 정의하는 데 사용할 수 있는 triton.autotune 함수는 라이브러리의 파이썬 API 섹션에 아직 문서화돼 있지 않다. 하지만 triton.autotune 은 트리톤의 행렬 곱셈 예제에서 사용되고 있다. ciokr@idg.co.kr ...

머신러닝 GPU GPU 프로그래밍 오픈AI 인공지능 프로그래밍 언어 개발 언어 파이썬 트리톤

2021.07.30

오픈AI(OpenAI)가 7월 28일 머신러닝용 GPU 프로그래밍의 복잡성 없이 GPU 기반 딥러닝 프로젝트를 직접 작성할 수 있는 오픈소스 프로그래밍 언어 ‘트리톤(Triton)’의 첫 번째 버전을 출시했다.    ‘트리톤 1.0’은 파이썬(버전 3.6 이상)을 기반으로 한다. 오픈AI에 따르면 개발자는 트리톤의 라이브러리를 사용해 파이썬으로 코드를 작성한 다음 GPU에서 실행되도록 JIT 컴파일할 수 있다. 또 새로운 도메인 특정 언어를 개발하느라 시간 낭비할 필요 없이 파이썬 언어 자체를 활용할 수 있다.  트리톤의 라이브러리는 넘파이(NumPy)를 연상시키는 일련의 기본 요소를 제공한다. 이를테면 다양한 행렬 연산이나 특정 기준에 따라 배열을 축소하는 함수 등이다. 사용자는 이러한 기본 요소를 코드에 결합해 GPU에서 실행되도록 컴파일된 @triton.jit 데코레이터를 추가할 수 있다. 이러한 점에서 트리톤은 넘바(Numba)와 유사하다고 개발팀은 전했다. 넘바는 속도를 위해 숫자 집약적인 파이썬 코드를 머신-네이티브 어셈블리로 JIT 컴파일할 수 있는 프로젝트다.  트리톤의 간단한 예로는 벡터 추가 커널과 융합된 소프트맥스 연산 등을 들 수 있다. 개발팀은 후자의 경우 전적으로 GPU 메모리에서 수행할 수 있는 작업을 네이티브 파이토치와 융합된 소프트맥스보다 몇 배 더 빠르게 실행할 수 있다고 밝혔다.  트리톤은 현재 리눅스에서만 사용할 수 있다. 이제 막 출시된 프로젝트이기 때문에 문서화가 아직 완료되지 않았다. 이를 초기에 채택하는 개발자는 소스와 예제를 자세히 검토해야 할 수 있다. 예를 들면 함수의 JIT 컴파일을 최적화하기 위한 매개변수를 정의하는 데 사용할 수 있는 triton.autotune 함수는 라이브러리의 파이썬 API 섹션에 아직 문서화돼 있지 않다. 하지만 triton.autotune 은 트리톤의 행렬 곱셈 예제에서 사용되고 있다. ciokr@idg.co.kr ...

2021.07.30

데이터 과학을 위해 '더 개선된' 최신 필수 파이썬 툴 6가지

데이터 분석을 마스터하려면, 또는 단순히 사용하려고 해도 필요한 것은 결국 파이썬이다. 파이썬은 배우기 쉬우며 지원의 폭도 넓고 깊다. 또한, 거의 모든 데이터 과학 라이브러리와 머신 러닝 프레임워크가 파이썬 인터페이스를 지원한다.   지난 몇 개월 동안 파이썬을 위한 여러 데이터 과학 프로젝트에서 주요 기능 업데이트가 포함된 새로운 버전이 나왔다. 실제 수치 계산을 위한 프로젝트도 있고, 이와 같은 작업에 최적화된 빠른 코드를 더 쉽게 작성할 수 있는 프로젝트도 있다. 데이터 과학을 위한 필수 파이썬 툴 6가지를 정리했다.   사이파이 1.7 빠르고 강력한 수학 라이브러리를 원하는 파이썬 사용자에겐 넘파이(Numpy)가 있지만 넘파이 자체는 구체적인 작업에 초점을 두지 않는다. 그래서 필요한 것이 사이파이(SciPy)다. 넘파이를 사용해 선형 대수부터 통계 작업, 신호 처리에 이르기까지 일반적인 수학 및 과학 프로그래밍 작업을 위한 라이브러리를 제공한다. 사이파이는 오래전부터 수학과 통계학을 다루기 위한 편리하고 광범위하게 사용되는 툴을 제공했다. 여러 버전에 걸쳐 강력한 하위 호환성을 제공했지만 1.0 릴리스가 나오기까지 상당히 오랜 시간이 걸렸다. 코어 개발자인 랄프 고머스에 따르면, 사이파이 프로젝트가 버전 1.0이 나올 수 있었던 가장 큰 이유는 프로젝트를 감독, 관리하는 방법의 통합이다. 하지만 맥OS와 윈도우 빌드를 위한 지속적 통합 프로세스와 사전 빌드된 윈도우 바이너리를 제대로 지원한 것도 한몫을 했다. 특히 후자는 윈도우 사용자가 별도 과정 없이 사이파이를 사용할 수 있음을 의미한다. 사이파이 프로젝트는 2017년 1.0 릴리스 이후 지금까지 7차례 주 릴리스를 내놨고 그 과정에서 다음과 같이 부분이 개선됐다.   파이썬 2.7 지원 종료와 그 이후의 코드베이스 현대화 더 많은 기능, 개선된 문서, 많은 새로운 알고리즘(예를 들어 성능이 향상되고 현대화된 인터페이스를 갖춘 새로운 고속 푸리에 변환 모듈...

데이터과학 파이썬 사이파이 넘바 사이썬 대스크 백스 인텔SDC

2021.07.26

데이터 분석을 마스터하려면, 또는 단순히 사용하려고 해도 필요한 것은 결국 파이썬이다. 파이썬은 배우기 쉬우며 지원의 폭도 넓고 깊다. 또한, 거의 모든 데이터 과학 라이브러리와 머신 러닝 프레임워크가 파이썬 인터페이스를 지원한다.   지난 몇 개월 동안 파이썬을 위한 여러 데이터 과학 프로젝트에서 주요 기능 업데이트가 포함된 새로운 버전이 나왔다. 실제 수치 계산을 위한 프로젝트도 있고, 이와 같은 작업에 최적화된 빠른 코드를 더 쉽게 작성할 수 있는 프로젝트도 있다. 데이터 과학을 위한 필수 파이썬 툴 6가지를 정리했다.   사이파이 1.7 빠르고 강력한 수학 라이브러리를 원하는 파이썬 사용자에겐 넘파이(Numpy)가 있지만 넘파이 자체는 구체적인 작업에 초점을 두지 않는다. 그래서 필요한 것이 사이파이(SciPy)다. 넘파이를 사용해 선형 대수부터 통계 작업, 신호 처리에 이르기까지 일반적인 수학 및 과학 프로그래밍 작업을 위한 라이브러리를 제공한다. 사이파이는 오래전부터 수학과 통계학을 다루기 위한 편리하고 광범위하게 사용되는 툴을 제공했다. 여러 버전에 걸쳐 강력한 하위 호환성을 제공했지만 1.0 릴리스가 나오기까지 상당히 오랜 시간이 걸렸다. 코어 개발자인 랄프 고머스에 따르면, 사이파이 프로젝트가 버전 1.0이 나올 수 있었던 가장 큰 이유는 프로젝트를 감독, 관리하는 방법의 통합이다. 하지만 맥OS와 윈도우 빌드를 위한 지속적 통합 프로세스와 사전 빌드된 윈도우 바이너리를 제대로 지원한 것도 한몫을 했다. 특히 후자는 윈도우 사용자가 별도 과정 없이 사이파이를 사용할 수 있음을 의미한다. 사이파이 프로젝트는 2017년 1.0 릴리스 이후 지금까지 7차례 주 릴리스를 내놨고 그 과정에서 다음과 같이 부분이 개선됐다.   파이썬 2.7 지원 종료와 그 이후의 코드베이스 현대화 더 많은 기능, 개선된 문서, 많은 새로운 알고리즘(예를 들어 성능이 향상되고 현대화된 인터페이스를 갖춘 새로운 고속 푸리에 변환 모듈...

2021.07.26

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.

10.4.0.13