Offcanvas

���������

딥러닝 프레임워크 ‘3파전’··· '텐서플로우 vs 파이토치 vs JAX' 비교

오늘날 딥러닝 연구 및 개발을 주도하는 3가지 프레임워크가 있다. 각각 (1) 사용 편의성, (2) 기능 및 성숙도, (3) 엄청난 확장성으로 유명하다. 어떤 프레임워크를 사용해야 할까?  음성에 반응하는 시리나 알렉사, 스마트폰의 실시간 번역 앱, 스마트 트랙터, 창고 로봇, 자율주행차 등에 들어가는 컴퓨터 비전 기술 등 ‘딥러닝’은 크고 작은 방식으로 삶을 매일 변화시키고 있다. 그리고 거의 모든 딥러닝 애플리케이션은 3가지 프레임워크 (1) 텐서플로우, (2) 파이토치, (3) JAM 중 하나로 작성된다. 그렇다면 이 중에서 어떤 딥러닝 프레임워크를 사용해야 할까?    ‘텐서플로우’를 사용해야 할까? 1970년대와 1980년대에는 ‘IBM 제품을 샀다고 해고된 사람은 아무도 없다(Nobody ever got fired forbuying an IBM)’라는 말이 진리로 통했다. 2010년대에는 이를 ‘딥러닝에 텐서플로우를 사용했다고 해고된 사람은 아무도 없다’라고 바꿔 말할 수 있겠다. 하지만 주지하다시피 IBM은 1990년대에 접어들면서 도태됐다. 그렇다면 텐서플로우는 2015년 처음 공개된 지 7년이 지난 지금에도 여전히 경쟁력이 있을까? 확실히 그렇다. 텐서플로우가 그동안 가만히 있지 않았다. 텐서플로우 1.x는 파이썬과 매우 다른 방식으로 정적 그래프를 작성하는 게 전부였지만 텐서플로우 2.x는 ‘즉시 실행’ 모드를 사용한 모델 빌드가 가능해지면서 좀 더 파이토치 같은 느낌이 났다. 아울러 하이 레벨(high level)에서 텐서플로우는 더 쉬운 개발을 위해 케라스(Keras)를 제공하고, 로우 레벨에서는 속도를 위해 컴파일러를 최적화하는 XLA(Accelerated Linear Algebra)를 제공한다. XLA는 GPU 성능을 향상시키며, 대규모 모델 학습에 뛰어난 성능을 제공하는 구글의 TPU(Tensor Processing Units)를 활용하는 방법이기도 하다. 그리고 텐서플로우가 수년간 잘해...

딥러닝 머신러닝 인공지능 개발 라이브러리 개발 프레임워크 소프트웨어 개발 파이썬 텐서플로우 파이토치 JAX 케라스 넘파이

2022.08.31

오늘날 딥러닝 연구 및 개발을 주도하는 3가지 프레임워크가 있다. 각각 (1) 사용 편의성, (2) 기능 및 성숙도, (3) 엄청난 확장성으로 유명하다. 어떤 프레임워크를 사용해야 할까?  음성에 반응하는 시리나 알렉사, 스마트폰의 실시간 번역 앱, 스마트 트랙터, 창고 로봇, 자율주행차 등에 들어가는 컴퓨터 비전 기술 등 ‘딥러닝’은 크고 작은 방식으로 삶을 매일 변화시키고 있다. 그리고 거의 모든 딥러닝 애플리케이션은 3가지 프레임워크 (1) 텐서플로우, (2) 파이토치, (3) JAM 중 하나로 작성된다. 그렇다면 이 중에서 어떤 딥러닝 프레임워크를 사용해야 할까?    ‘텐서플로우’를 사용해야 할까? 1970년대와 1980년대에는 ‘IBM 제품을 샀다고 해고된 사람은 아무도 없다(Nobody ever got fired forbuying an IBM)’라는 말이 진리로 통했다. 2010년대에는 이를 ‘딥러닝에 텐서플로우를 사용했다고 해고된 사람은 아무도 없다’라고 바꿔 말할 수 있겠다. 하지만 주지하다시피 IBM은 1990년대에 접어들면서 도태됐다. 그렇다면 텐서플로우는 2015년 처음 공개된 지 7년이 지난 지금에도 여전히 경쟁력이 있을까? 확실히 그렇다. 텐서플로우가 그동안 가만히 있지 않았다. 텐서플로우 1.x는 파이썬과 매우 다른 방식으로 정적 그래프를 작성하는 게 전부였지만 텐서플로우 2.x는 ‘즉시 실행’ 모드를 사용한 모델 빌드가 가능해지면서 좀 더 파이토치 같은 느낌이 났다. 아울러 하이 레벨(high level)에서 텐서플로우는 더 쉬운 개발을 위해 케라스(Keras)를 제공하고, 로우 레벨에서는 속도를 위해 컴파일러를 최적화하는 XLA(Accelerated Linear Algebra)를 제공한다. XLA는 GPU 성능을 향상시키며, 대규모 모델 학습에 뛰어난 성능을 제공하는 구글의 TPU(Tensor Processing Units)를 활용하는 방법이기도 하다. 그리고 텐서플로우가 수년간 잘해...

2022.08.31

인터뷰 | “내가 데이터의 힘에 매료된 사연은...” 애플 선임 데이터 과학자 대럴 강

애플에서 선임 데이터 과학자로 재직 중인 데럴 강은 어릴 적 ‘괴짜 경제학(Freakonomics)’을 읽고 데이터 과학의 매력에 빠지게 됐다. 인터뷰에서 그는 그가 받은 교육과 커리어 선택이 어떤 결과로 이어졌는지 이야기했다.    데이터 과학이란 알고리즘 및 시스템을 활용해 정형 데이터와 비정형 데이터 모두에서 인사이트를 도출하는 과학적 접근 방식이다. 하나의 학문이기도 한 데이터 과학은 수학, 통계, 컴퓨터 공학은 물론 업종 지식 및 기타 정보를 모두 종합해 사건과 추세를 분석한다. 디지털 전환 시대에 데이터 과학자는 수요가 높은 IT 직군 중 하나다. 깔끔하게 코드를 작성하고 데이터에서 인사이트를 뽑아낼 수 있는 데이터 인재에 대한 수요는 그 어느때보다도 더 높아졌다. 미국 구인·구직 사이트 인디드닷컴(Indeed.com)에 기재된 업무 역량에 따르면 수학 및 컴퓨터 공학 기술 외에도 몸담은 산업에 대한 이해가 필요하다. 비정형 데이터를 분석해 해당 분야의 리포트를 작성하고 솔루션을 제시해야 하기 때문이다. 기업에서 요구하는 구체적인 기술 역량으로는 클라우드 컴퓨팅, 통계, 고급 수준의 수학, 머신러닝, 데이터 시각화 도구, 쿼리 언어 및 데이터베이스 관리 등이 있다. 파이썬 및 R 프로그래밍 역량 또한 일반적인 요구사항이다. 인적 자원 컨설팅 업체 로버트 하프(Robert Half)는 “기업이 디지털 전환에 박차를 가하면서 모든 산업(IT, 제조업, 금융, 의료 등)과 기관(학계, 정부, 비영리단체 등)에 데이터 과학자가 필요하게 됐다”라며 “숫자(데이터)를 실행에 옮기는 일은 모든 조직의 숙명이기 때문이다”라고 설명했다. 데이터 과학자가 되는 데 무엇이 필요한지 알아보기 위해 최근까지 모빌리티 기업 우버 테크놀로지스(Uber Technologies)에서 데이터 과학자로 일했던 데럴 강과 이야기를 나눴다. 그는 8월 말 애플의 선임 데이터 과학자로 이직했다. 졸업 후 1년의 공백기로 발견한 '괴짜경제학 열정' 대럴 ...

데이터과학 데이터과학자 파이썬 통계학 백엔드

2022.08.25

애플에서 선임 데이터 과학자로 재직 중인 데럴 강은 어릴 적 ‘괴짜 경제학(Freakonomics)’을 읽고 데이터 과학의 매력에 빠지게 됐다. 인터뷰에서 그는 그가 받은 교육과 커리어 선택이 어떤 결과로 이어졌는지 이야기했다.    데이터 과학이란 알고리즘 및 시스템을 활용해 정형 데이터와 비정형 데이터 모두에서 인사이트를 도출하는 과학적 접근 방식이다. 하나의 학문이기도 한 데이터 과학은 수학, 통계, 컴퓨터 공학은 물론 업종 지식 및 기타 정보를 모두 종합해 사건과 추세를 분석한다. 디지털 전환 시대에 데이터 과학자는 수요가 높은 IT 직군 중 하나다. 깔끔하게 코드를 작성하고 데이터에서 인사이트를 뽑아낼 수 있는 데이터 인재에 대한 수요는 그 어느때보다도 더 높아졌다. 미국 구인·구직 사이트 인디드닷컴(Indeed.com)에 기재된 업무 역량에 따르면 수학 및 컴퓨터 공학 기술 외에도 몸담은 산업에 대한 이해가 필요하다. 비정형 데이터를 분석해 해당 분야의 리포트를 작성하고 솔루션을 제시해야 하기 때문이다. 기업에서 요구하는 구체적인 기술 역량으로는 클라우드 컴퓨팅, 통계, 고급 수준의 수학, 머신러닝, 데이터 시각화 도구, 쿼리 언어 및 데이터베이스 관리 등이 있다. 파이썬 및 R 프로그래밍 역량 또한 일반적인 요구사항이다. 인적 자원 컨설팅 업체 로버트 하프(Robert Half)는 “기업이 디지털 전환에 박차를 가하면서 모든 산업(IT, 제조업, 금융, 의료 등)과 기관(학계, 정부, 비영리단체 등)에 데이터 과학자가 필요하게 됐다”라며 “숫자(데이터)를 실행에 옮기는 일은 모든 조직의 숙명이기 때문이다”라고 설명했다. 데이터 과학자가 되는 데 무엇이 필요한지 알아보기 위해 최근까지 모빌리티 기업 우버 테크놀로지스(Uber Technologies)에서 데이터 과학자로 일했던 데럴 강과 이야기를 나눴다. 그는 8월 말 애플의 선임 데이터 과학자로 이직했다. 졸업 후 1년의 공백기로 발견한 '괴짜경제학 열정' 대럴 ...

2022.08.25

파이썬, 여전히 뜨겁다··· “티오베·Pypl 모두에서 또 1위”

‘막을 수 없는 기세의’ 파이썬이 다시 한번 티오베(Tiobe) 그리고 Pypl(PopularitY of Programming Language) 지수에서 모두 1위를 차지했다.    파이썬이 티오베 지수에서 처음으로 1위를 차지한 지 1년가량이 지났지만 이 프로그래밍 언어는 개발자 사이에서 계속 높은 점수를 받고 있다. 최근 발표된 2022년 8월 순위에서 파이썬은 지난달보다 2%P 상승한 15.2%로 역대 최고 기록을 경신하며 가장 인기 있는 프로그래밍 언어 1위에 올랐다.  파이썬은 지난 2021년 10월 처음으로 티오베 지수에서 1위를 차지했으며, 자바와 C를 제외하고 유일하게 1위 자리를 지킨 언어가 됐다. 티오베는 이와 관련해 “파이썬의 기세를 막을 수 없다”라고 언급했다.  한편 티오베 지수는 구글, 빙, 야후, 빙, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 이어 “요즘 파이썬이 사용되지 않는 프로그래밍 분야를 찾기 힘들다. 유일한 예외는 (안전이 중요한) 임베디드 시스템이다. 파이썬이 동적으로 입력되고 너무 느리기 때문이다”라고 티오베는 언급했다. 반면에 C와 C++은 임베디드 시스템에 활용되고 있다고 덧붙였다.  이 밖에 8월 티오베 지수에서 러스트는 22위를 기록해 20위권에 근접했으며, 최근 C++의 후계자로 언급되고 있는 카본(Carbon)은 192위로 지수에 진입했다. 8월 티오베 지수의 톱 10은 다음과 같다.  1. 파이썬(15.42%) 2. C(14.59%) 3. 자바(12.4%) 4. C++(10.17%) 5. C#(5.59%) 6. 비주얼 베이직(4.99%) 7. 자바스크립트(2.33%) 8. 어셈블리(2.17%) 9. SQL(1.7%) 10. PHP(1.39%) 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기...

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

2022.08.09

‘막을 수 없는 기세의’ 파이썬이 다시 한번 티오베(Tiobe) 그리고 Pypl(PopularitY of Programming Language) 지수에서 모두 1위를 차지했다.    파이썬이 티오베 지수에서 처음으로 1위를 차지한 지 1년가량이 지났지만 이 프로그래밍 언어는 개발자 사이에서 계속 높은 점수를 받고 있다. 최근 발표된 2022년 8월 순위에서 파이썬은 지난달보다 2%P 상승한 15.2%로 역대 최고 기록을 경신하며 가장 인기 있는 프로그래밍 언어 1위에 올랐다.  파이썬은 지난 2021년 10월 처음으로 티오베 지수에서 1위를 차지했으며, 자바와 C를 제외하고 유일하게 1위 자리를 지킨 언어가 됐다. 티오베는 이와 관련해 “파이썬의 기세를 막을 수 없다”라고 언급했다.  한편 티오베 지수는 구글, 빙, 야후, 빙, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 이어 “요즘 파이썬이 사용되지 않는 프로그래밍 분야를 찾기 힘들다. 유일한 예외는 (안전이 중요한) 임베디드 시스템이다. 파이썬이 동적으로 입력되고 너무 느리기 때문이다”라고 티오베는 언급했다. 반면에 C와 C++은 임베디드 시스템에 활용되고 있다고 덧붙였다.  이 밖에 8월 티오베 지수에서 러스트는 22위를 기록해 20위권에 근접했으며, 최근 C++의 후계자로 언급되고 있는 카본(Carbon)은 192위로 지수에 진입했다. 8월 티오베 지수의 톱 10은 다음과 같다.  1. 파이썬(15.42%) 2. C(14.59%) 3. 자바(12.4%) 4. C++(10.17%) 5. C#(5.59%) 6. 비주얼 베이직(4.99%) 7. 자바스크립트(2.33%) 8. 어셈블리(2.17%) 9. SQL(1.7%) 10. PHP(1.39%) 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기...

2022.08.09

R스튜디오, 포싯(Posit)으로 사명 바꾼다

R스튜디오가 회사 이름을 ‘포싯(Posit)’으로 변경한다. 27일(현지 시각) 美 워싱턴 D.C.에서 열린 연례 사용자 컨퍼런스에서 이 회사는 R을 넘어 파이썬 및 비주얼 스튜디오 코드 사용자까지 포함하기 위해 사명을 바꾼다고 발표했다.  이 회사는 지난 몇 년 동안 자사의 상용 제품이 R과 파이썬 모두를 지원하는 ‘이중 언어’라고 강조해 왔다. 하지만 ‘R스튜디오’라는 브랜드로 인해 파이썬 사용자가 자사 제품을 고려하도록 설득하는 게 어려웠다는 설명이다. R스튜디오의 수석 과학자 해들리 위컴은 “그 이름이 제한적이라고 느꼈다”라고 말했다.    R스튜디오 설립자 겸 CEO J.J. 알레르는 “하지만 이름 변경이 소셜 미디어 등에서 주장하는 것처럼 R에서 벗어나거나, 파이썬이 데이터 과학에서 R을 대체하고 있다는 믿음을 의미하진 않는다”라고 언급했다. 위컴은 “R에서 파이썬으로 전환하는 게 아니다”라면서, “R 코드 작성을 멈추지 않을 것”이라고 전했다.  알레르는 그 대신 관련 상용 제품의 수익을 통해 오픈소스 소프트웨어에 안정적으로 자금을 조달할 수 있는 모델을 찾았다고 밝혔다. 그는 “데이터 과학 관행에 폭넓게 영향을 미칠 기회가 있다고 생각한다”라고 덧붙였다.  알레르에 따르면 내부 엔지니어의 약 40%가 풀타임으로 오픈소스 소프트웨어에 전념하고 있다. 오픈소스 개발 작업에 참여하지만 풀타임으론 일하지 않는 직원들을 제외하면 총 43명이다. 2020년 R스튜디오는 공익법인으로 개편했다고 발표했다. 이를 통해 의사결정을 내릴 때 주주 가치 극대화에 초점을 맞추는 대신, 광범위한 사용자 커뮤니티의 요구를 고려할 수 있게 됐다.  현재 내부 엔지니어의 90%가 R을 다루고 있지만 알레르는 약 3년 후에는 (그 비율이) 약 75% 수준일 것이라고 추정했다. 하지만 단기적으로는 R과 관련한 개발 작업의 대부분을 유지할 예정이다. 단, 더 이상 첫 번째 제품인 ‘R스튜디오 IDE’라는 이름으로 알려...

R스튜디오 포싯 데이터 과학 R 파이썬 VS 코드 통합개발환경 IDE

2022.07.28

R스튜디오가 회사 이름을 ‘포싯(Posit)’으로 변경한다. 27일(현지 시각) 美 워싱턴 D.C.에서 열린 연례 사용자 컨퍼런스에서 이 회사는 R을 넘어 파이썬 및 비주얼 스튜디오 코드 사용자까지 포함하기 위해 사명을 바꾼다고 발표했다.  이 회사는 지난 몇 년 동안 자사의 상용 제품이 R과 파이썬 모두를 지원하는 ‘이중 언어’라고 강조해 왔다. 하지만 ‘R스튜디오’라는 브랜드로 인해 파이썬 사용자가 자사 제품을 고려하도록 설득하는 게 어려웠다는 설명이다. R스튜디오의 수석 과학자 해들리 위컴은 “그 이름이 제한적이라고 느꼈다”라고 말했다.    R스튜디오 설립자 겸 CEO J.J. 알레르는 “하지만 이름 변경이 소셜 미디어 등에서 주장하는 것처럼 R에서 벗어나거나, 파이썬이 데이터 과학에서 R을 대체하고 있다는 믿음을 의미하진 않는다”라고 언급했다. 위컴은 “R에서 파이썬으로 전환하는 게 아니다”라면서, “R 코드 작성을 멈추지 않을 것”이라고 전했다.  알레르는 그 대신 관련 상용 제품의 수익을 통해 오픈소스 소프트웨어에 안정적으로 자금을 조달할 수 있는 모델을 찾았다고 밝혔다. 그는 “데이터 과학 관행에 폭넓게 영향을 미칠 기회가 있다고 생각한다”라고 덧붙였다.  알레르에 따르면 내부 엔지니어의 약 40%가 풀타임으로 오픈소스 소프트웨어에 전념하고 있다. 오픈소스 개발 작업에 참여하지만 풀타임으론 일하지 않는 직원들을 제외하면 총 43명이다. 2020년 R스튜디오는 공익법인으로 개편했다고 발표했다. 이를 통해 의사결정을 내릴 때 주주 가치 극대화에 초점을 맞추는 대신, 광범위한 사용자 커뮤니티의 요구를 고려할 수 있게 됐다.  현재 내부 엔지니어의 90%가 R을 다루고 있지만 알레르는 약 3년 후에는 (그 비율이) 약 75% 수준일 것이라고 추정했다. 하지만 단기적으로는 R과 관련한 개발 작업의 대부분을 유지할 예정이다. 단, 더 이상 첫 번째 제품인 ‘R스튜디오 IDE’라는 이름으로 알려...

2022.07.28

‘편리한’ 파이썬과 ‘빠른’ 러스트를 결합하는 법

두 언어의 라이브러리 덕분에 파이썬(Python)의 ‘편리함’과 러스트(Rust)의 ‘속도’를 결합할 수 있다. PyO3 프로젝트와 C파이썬(cpython) 크레이트를 시작해보자.  언뜻 보기에 파이썬과 러스트는 언어 스펙트럼의 양끝을 차지한다. 런타임으로 설명되는 파이썬은 개발자에게 유연하고 편리한 프로그래밍 환경을 제공하지만 실행 성능을 대가로 치러야 한다. 러스트는 속도와 메모리 안정성을 제공하지만 메모리 작업을 처리하는 새 패러다임을 배워야 한다.  이론적으로 이 언어들은 경쟁해서는 안 된다. 협력해야 한다. 그리고 실제로 가능한 일이다. 러스트는 파이썬의 사용 편의성이란 이점을, 파이썬은 러스트의 속도와 안정성이라는 이점을 얻을 수 있다.  단, 파이썬과 함께 러스트를 반대로 러스트와 함께 파이썬을 사용하여 최적의 결과를 얻으려면 최소한 두 언어를 어느 정도 알아야 한다. 또 각 접근법의 옵션이 크게 다르기 때문에 둘 중 어느 것이 기본 언어인지 결정해야 한다.    PyO3로 파이썬에서 러스트 호출하기 만약 파이썬이 기본 언어라면 러스트와의 통합은 개념적으로 파이썬을 C와 통합하는 것과 동일한 방식으로 이뤄진다. C로 작성된 파이썬의 기본 구현은 C로 작성된 확장 또는 C-호환 ABI를 사용하는 확장을 쓴다. 동일한 API를 활용하는 러스트로 작성된 확장도 작동하지만 자동은 아니다. 파이썬 C API에 러스트 함수 바인딩을 제공하도록 설계된 크레이트를 사용해야 한다.  파이썬에서 러스트 바인딩 만들기 파이썬에서 러스트 바인딩을 생성하기 위해 가장 널리 알려진 프로젝트는 PyO3다. 러스트에서 파이썬 모듈을 작성하거나 파이썬 런타임을 러스트 바이너리에 포함하는 데 사용할 수 있다.  PyO3는 또 다른 프로젝트 ‘마트린(Maturin)’을 활용한다. 이는 파이썬 패키징 및 바인딩으로 러스트 크레이트를 작성하는 도구다. 파이썬 가상 환경에 설치하면 마트린을 명령줄에서 사용하여 파...

파이썬 러스트 사이썬 C파이썬 프로그래밍 언어 개발 언어

2022.07.07

두 언어의 라이브러리 덕분에 파이썬(Python)의 ‘편리함’과 러스트(Rust)의 ‘속도’를 결합할 수 있다. PyO3 프로젝트와 C파이썬(cpython) 크레이트를 시작해보자.  언뜻 보기에 파이썬과 러스트는 언어 스펙트럼의 양끝을 차지한다. 런타임으로 설명되는 파이썬은 개발자에게 유연하고 편리한 프로그래밍 환경을 제공하지만 실행 성능을 대가로 치러야 한다. 러스트는 속도와 메모리 안정성을 제공하지만 메모리 작업을 처리하는 새 패러다임을 배워야 한다.  이론적으로 이 언어들은 경쟁해서는 안 된다. 협력해야 한다. 그리고 실제로 가능한 일이다. 러스트는 파이썬의 사용 편의성이란 이점을, 파이썬은 러스트의 속도와 안정성이라는 이점을 얻을 수 있다.  단, 파이썬과 함께 러스트를 반대로 러스트와 함께 파이썬을 사용하여 최적의 결과를 얻으려면 최소한 두 언어를 어느 정도 알아야 한다. 또 각 접근법의 옵션이 크게 다르기 때문에 둘 중 어느 것이 기본 언어인지 결정해야 한다.    PyO3로 파이썬에서 러스트 호출하기 만약 파이썬이 기본 언어라면 러스트와의 통합은 개념적으로 파이썬을 C와 통합하는 것과 동일한 방식으로 이뤄진다. C로 작성된 파이썬의 기본 구현은 C로 작성된 확장 또는 C-호환 ABI를 사용하는 확장을 쓴다. 동일한 API를 활용하는 러스트로 작성된 확장도 작동하지만 자동은 아니다. 파이썬 C API에 러스트 함수 바인딩을 제공하도록 설계된 크레이트를 사용해야 한다.  파이썬에서 러스트 바인딩 만들기 파이썬에서 러스트 바인딩을 생성하기 위해 가장 널리 알려진 프로젝트는 PyO3다. 러스트에서 파이썬 모듈을 작성하거나 파이썬 런타임을 러스트 바이너리에 포함하는 데 사용할 수 있다.  PyO3는 또 다른 프로젝트 ‘마트린(Maturin)’을 활용한다. 이는 파이썬 패키징 및 바인딩으로 러스트 크레이트를 작성하는 도구다. 파이썬 가상 환경에 설치하면 마트린을 명령줄에서 사용하여 파...

2022.07.07

데이터가 서말이라도 '쉬워야' 꿴다··· 전천후 멀티툴 '파이썬'이 뜬다

파이썬은 R을 넘어서지는 못했을 수 있다. 하지만 사용 편의성과 이에 힘입은 인기 덕에 머지않아 데이터 과학 분야의 주류가 될 조짐이 보인다.   “[넷플릭스에 데이터 과학 팀이 생긴] 초기에 회사에는 한 종류의 데이터 과학자들만 있었다. 그러나 이제 회사의 모든 영역에 침투하고 있다”라고 넷플릭스의 제품 혁신 및 개인화 담당 본부장 크리스틴 도이그가 말했다.  이는 넷플릭스에만 해당하는 일이 아니다. 모든 업종에 걸친 기업들이 맞춤형 서비스를 만들고, 매력적인 사용자 경험을 제공하며 가격을 최적화하는 등의 목적을 달성하려 데이터 과학을 도입했다. 이 과정에서 데이터 과학의 활용은 프로덕트 매니지먼트, 마케팅 및 다른 영역까지 확대됐다.  데이터 과학의 이러한 확산은 데이터 분석에 사용하는 언어가 R에서 파이썬으로 점차 바뀌고 있는 이유이기도 하다. 다변화된 용도에 따라 기업이 다양한 인재를 모집하게 됐고, 파이썬의 대중성은 낮은 진입 장벽이라는 큰 이점을 제공한다.  R 대신 파이썬? 과거에는 데이터 과학을 하려면 R이 필수였다. R 프로젝트 웹사이트에 나와 있는 대로 R은 “데이터 조작, 추산 및 시각화를 위한 통합 소프트웨어 스위트”다. 즉 프로그래밍 언어가 아니라 이를 포함하는 소프트웨어 패키지다. R은 통계 및 수치 분석에 특화된 본질에 충실해 왔고, 여전히 데이터 과학을 하는 통계학자들 사이에서 유용하게 쓰이고 있다. 그러나 최근 데이터 과학의 활용 영역이 확장됨에 따라 이러한 강점은 한계로 작용하고 있다. 파이썬 기반 데이터 과학 플랫폼 ‘아나콘다(Anaconda)’의 제품 담당 부매니저 시탈 칼버기는 “물론 데이터 과학자들이 일반 프로그래머보다 더 통계에 치중된 업무를 하는 것은 사실이다”라며 “제품의 성과를 표시 및 예측하고, A/B 테스팅 등의 디자인 작업을 지원하며 계산 작업을 최적화하는 복잡한 통계 관련 알고리즘을 개발하는 것이 주요 업무다”라고 말했다. 하지만 요즘 데이터 과학자들이 프로그래...

파이썬 R언어 데이터과학 데이터사이언스

2022.05.31

파이썬은 R을 넘어서지는 못했을 수 있다. 하지만 사용 편의성과 이에 힘입은 인기 덕에 머지않아 데이터 과학 분야의 주류가 될 조짐이 보인다.   “[넷플릭스에 데이터 과학 팀이 생긴] 초기에 회사에는 한 종류의 데이터 과학자들만 있었다. 그러나 이제 회사의 모든 영역에 침투하고 있다”라고 넷플릭스의 제품 혁신 및 개인화 담당 본부장 크리스틴 도이그가 말했다.  이는 넷플릭스에만 해당하는 일이 아니다. 모든 업종에 걸친 기업들이 맞춤형 서비스를 만들고, 매력적인 사용자 경험을 제공하며 가격을 최적화하는 등의 목적을 달성하려 데이터 과학을 도입했다. 이 과정에서 데이터 과학의 활용은 프로덕트 매니지먼트, 마케팅 및 다른 영역까지 확대됐다.  데이터 과학의 이러한 확산은 데이터 분석에 사용하는 언어가 R에서 파이썬으로 점차 바뀌고 있는 이유이기도 하다. 다변화된 용도에 따라 기업이 다양한 인재를 모집하게 됐고, 파이썬의 대중성은 낮은 진입 장벽이라는 큰 이점을 제공한다.  R 대신 파이썬? 과거에는 데이터 과학을 하려면 R이 필수였다. R 프로젝트 웹사이트에 나와 있는 대로 R은 “데이터 조작, 추산 및 시각화를 위한 통합 소프트웨어 스위트”다. 즉 프로그래밍 언어가 아니라 이를 포함하는 소프트웨어 패키지다. R은 통계 및 수치 분석에 특화된 본질에 충실해 왔고, 여전히 데이터 과학을 하는 통계학자들 사이에서 유용하게 쓰이고 있다. 그러나 최근 데이터 과학의 활용 영역이 확장됨에 따라 이러한 강점은 한계로 작용하고 있다. 파이썬 기반 데이터 과학 플랫폼 ‘아나콘다(Anaconda)’의 제품 담당 부매니저 시탈 칼버기는 “물론 데이터 과학자들이 일반 프로그래머보다 더 통계에 치중된 업무를 하는 것은 사실이다”라며 “제품의 성과를 표시 및 예측하고, A/B 테스팅 등의 디자인 작업을 지원하며 계산 작업을 최적화하는 복잡한 통계 관련 알고리즘을 개발하는 것이 주요 업무다”라고 말했다. 하지만 요즘 데이터 과학자들이 프로그래...

2022.05.31

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

과학 계산용 파이썬 배포판을 개발하는 아나콘다(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

회사명:한국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.31