Offcanvas

���������

최형광 칼럼 | ‘챗 GPT’와 새로운 깐부의 탄생

프롤로그 2023년의 전망은 쉽지 않다. 글로벌 경제는 위축되고, 세계 공급망은 지역으로 회귀하고 있다. 이 시대의 리더(‘누가 변화를 주도하는가’)들은 많은 아이디어와 기술로 대비하지만 불확실성은 높아진다. 불확실성의 극복방안과 개발자 구하기의 어려움, AI 시대와 인간의 역할 등대하여 단편적 생각을 아래와 같이 살펴보고자 한다. 텍스트 1 – 불확실성 극복 불확실성을 극복하는 법은 어려울 수 있지만 도움되는 몇 가지 전략이 있다. 먼저 잠재적인 결과와 위험을 더 잘 이해하기 위해 상황에 대해 가능한 한 많은 정보를 수집해야 한다. 둘째는 다양한 시나리오와 각각의 발생 가능성을 고려해야 한다. 이를 통해 다양한 결과에 대비하고 정보에 입각한 결정을 내리는 데 도움이 될 수 있다. 셋째는 다양한 시나리오에 대한 우발 상황을 포함하는 행동 계획을 개발하고 통제력을 키워야 대응할 수 있다. 넷째는 다른 사람과 의사소통을 통해 문제를 공유하고 해당 분야의 동료, 친구 또는 전문가에게 조언을 구해야 한다. 그들은 귀중한 통찰력을 가지고 있을 수 있으며 상황에 대한 다른 관점을 제공할 수 있기 때문이다. 마지막으로는 불확실성 수용하는 방법이다. 불확실성을 피하거나 제거하려고 노력하는 대신 불확실성을 삶과 비즈니스의 자연스러운 부분으로 받아들이는 법을 배워야 한다. 불확실성을 수용하면 새로운 기회가 열리고 보다 탄력적인 사고 방식을 개발하는 데 도움이 된다. 텍스트 2 AI 활용과 확산이 진행되면서 개발자 품귀 현상이 발생 중이다. AI를 위한 개발자에서 개발을 위한 AI의 접근이 더 중요해 보이는 배경이다. [그림1]과 같이 AI가 만든 파이썬 코드와 C#코드와 같은 방법이 필요한 순간이다. [그림1] AI 가 만든 파이썬 코드와 C# 코드. 그림과 같이 AI가 파이썬 코드를 만들고 그 코드를 C#으로 변경해 달라고 요청하면 바로 변경하여 작성해 준다. 작성된 코드는 바로 실행 할 수 있다. 텍스트 3 - AI 시대와 인간의 공존 인공지능이 만드는 사회에서 ...

최형광 chatGPT 챗지피티 깐부 파이썬 코딩 트렌스포머 챗 GPT

2023.01.20

프롤로그 2023년의 전망은 쉽지 않다. 글로벌 경제는 위축되고, 세계 공급망은 지역으로 회귀하고 있다. 이 시대의 리더(‘누가 변화를 주도하는가’)들은 많은 아이디어와 기술로 대비하지만 불확실성은 높아진다. 불확실성의 극복방안과 개발자 구하기의 어려움, AI 시대와 인간의 역할 등대하여 단편적 생각을 아래와 같이 살펴보고자 한다. 텍스트 1 – 불확실성 극복 불확실성을 극복하는 법은 어려울 수 있지만 도움되는 몇 가지 전략이 있다. 먼저 잠재적인 결과와 위험을 더 잘 이해하기 위해 상황에 대해 가능한 한 많은 정보를 수집해야 한다. 둘째는 다양한 시나리오와 각각의 발생 가능성을 고려해야 한다. 이를 통해 다양한 결과에 대비하고 정보에 입각한 결정을 내리는 데 도움이 될 수 있다. 셋째는 다양한 시나리오에 대한 우발 상황을 포함하는 행동 계획을 개발하고 통제력을 키워야 대응할 수 있다. 넷째는 다른 사람과 의사소통을 통해 문제를 공유하고 해당 분야의 동료, 친구 또는 전문가에게 조언을 구해야 한다. 그들은 귀중한 통찰력을 가지고 있을 수 있으며 상황에 대한 다른 관점을 제공할 수 있기 때문이다. 마지막으로는 불확실성 수용하는 방법이다. 불확실성을 피하거나 제거하려고 노력하는 대신 불확실성을 삶과 비즈니스의 자연스러운 부분으로 받아들이는 법을 배워야 한다. 불확실성을 수용하면 새로운 기회가 열리고 보다 탄력적인 사고 방식을 개발하는 데 도움이 된다. 텍스트 2 AI 활용과 확산이 진행되면서 개발자 품귀 현상이 발생 중이다. AI를 위한 개발자에서 개발을 위한 AI의 접근이 더 중요해 보이는 배경이다. [그림1]과 같이 AI가 만든 파이썬 코드와 C#코드와 같은 방법이 필요한 순간이다. [그림1] AI 가 만든 파이썬 코드와 C# 코드. 그림과 같이 AI가 파이썬 코드를 만들고 그 코드를 C#으로 변경해 달라고 요청하면 바로 변경하여 작성해 준다. 작성된 코드는 바로 실행 할 수 있다. 텍스트 3 - AI 시대와 인간의 공존 인공지능이 만드는 사회에서 ...

2023.01.20

“개발자들의 ‘애증’ 언어는 자바스크립트와 자바”

젯브레인(JetBrains)의 최신 ‘개발자 생태계 현황(State of the Developer Ecosystem)’ 보고서에 따르면 자바스크립트와 자바가 가장 좋아하는 프로그래밍 언어와 가장 싫어하는 프로그래밍 언어 모두에서 높은 점수를 받았다.  2022 개발자 생태계 현황 설문조사 결과, 자바스크립트와 자바가 (응답 값 기준) 가장 좋아하는 프로그래밍 언어(자바 2위, 자바스크립트 3위) 그리고 가장 싫어하는 프로그래밍 언어(자바스크립트 1위, 자바 2위)로 선정됐다.    개발자가 가장 좋아하는 언어(The most favorite programming language)는 우선 현재 사용 중이라고 밝힌 개발자 수를 기준으로 보면 ▲코틀린, ▲C#, ▲파이썬, ▲러스트, ▲자바였다. [사용 여부와 관계없이] 응답 값을 기준으로 하면 ▲파이썬, ▲자바, ▲자바스크립트, ▲C#, ▲코틀린이었다.  가장 싫어하는 언어(The most disliked programming language)는 응답 값 기준 ▲자바스크립트, ▲자바, ▲PHP, ▲C, ▲C++로 조사됐다. 실사용자 기준으로는 펄(perl)이 무려 96%로 1위를 차지했다. 비주얼 베이직, 델피, C, PHP가 그 뒤를 이었다.  지난 12개월 동안 어떤 프로그래밍 언어를 사용했냐는 질문에는 전체 응답자의 65%가 자바스크립트라고 말했다. 마이크로소프트에서 개발한 강력한 형식의 자바스크립트인 타입스크립트는 가장 빠르게 성장하고 있는 것으로 나타났다. 타입스크립트의 점유율은 지난 6년 동안 3배가량 증가하여 2017년 12%에서 2022년 34%로 올랐다.  그렇다면 타입스크립트가 자바스크립트를 대체하게 될까? 타입스크립트가 자바스크립트를 빠르게 따라잡고 있긴 하지만 자바스크립트 점유율은 여전히 높다. 타입스크립트 개발자의 92%는 자바스크립트를 쓴다고 전했다. 아울러 전체 설문조사 응답자의 75%는 웹 개발에 참여한다고 답했다(백엔드 ...

개발자 프로그래밍 언어 개발 언어 자바 자바스크립트 파이썬

2023.01.20

젯브레인(JetBrains)의 최신 ‘개발자 생태계 현황(State of the Developer Ecosystem)’ 보고서에 따르면 자바스크립트와 자바가 가장 좋아하는 프로그래밍 언어와 가장 싫어하는 프로그래밍 언어 모두에서 높은 점수를 받았다.  2022 개발자 생태계 현황 설문조사 결과, 자바스크립트와 자바가 (응답 값 기준) 가장 좋아하는 프로그래밍 언어(자바 2위, 자바스크립트 3위) 그리고 가장 싫어하는 프로그래밍 언어(자바스크립트 1위, 자바 2위)로 선정됐다.    개발자가 가장 좋아하는 언어(The most favorite programming language)는 우선 현재 사용 중이라고 밝힌 개발자 수를 기준으로 보면 ▲코틀린, ▲C#, ▲파이썬, ▲러스트, ▲자바였다. [사용 여부와 관계없이] 응답 값을 기준으로 하면 ▲파이썬, ▲자바, ▲자바스크립트, ▲C#, ▲코틀린이었다.  가장 싫어하는 언어(The most disliked programming language)는 응답 값 기준 ▲자바스크립트, ▲자바, ▲PHP, ▲C, ▲C++로 조사됐다. 실사용자 기준으로는 펄(perl)이 무려 96%로 1위를 차지했다. 비주얼 베이직, 델피, C, PHP가 그 뒤를 이었다.  지난 12개월 동안 어떤 프로그래밍 언어를 사용했냐는 질문에는 전체 응답자의 65%가 자바스크립트라고 말했다. 마이크로소프트에서 개발한 강력한 형식의 자바스크립트인 타입스크립트는 가장 빠르게 성장하고 있는 것으로 나타났다. 타입스크립트의 점유율은 지난 6년 동안 3배가량 증가하여 2017년 12%에서 2022년 34%로 올랐다.  그렇다면 타입스크립트가 자바스크립트를 대체하게 될까? 타입스크립트가 자바스크립트를 빠르게 따라잡고 있긴 하지만 자바스크립트 점유율은 여전히 높다. 타입스크립트 개발자의 92%는 자바스크립트를 쓴다고 전했다. 아울러 전체 설문조사 응답자의 75%는 웹 개발에 참여한다고 답했다(백엔드 ...

2023.01.20

“기업서 수요 높은 스킬은 자바스크립트, 자바, 파이썬”

기술 인력 채용 플랫폼 코딘게임(CodinGame)과 코더패드(CoderPad)의 최신 보고서에 따르면 ‘자바스크립트, 자바, 파이썬’은 채용 담당자가 가장 많이 찾는 스킬이다. 하지만 이러한 스킬의 공급은 수요를 초과하는 반면 타입스크립트, 스위프트, 스칼라, 코틀린, 고랭 수요는 모두 공급을 초과하는 것으로 나타났다.    지난 1월 10일 발표된 ‘2023 기술 업계 채용 현황(The State of Tech Hiring in 2023)’ 보고서는 총 1만 4,000명의 [기술] 전문가를 대상으로 한 설문조사 결과를 정리했다. 보고서는 자바스크립트, 자바, 파이썬 수요가 예년과 일치한다고 전했다.  개발 프레임워크 중에서 ‘노드.js, 리액트, 닷넷코어’는 널리 알려져 있으며, 가장 수요가 높은 것으로 조사됐다. 아울러 앵귤러 수요가 공급을 초과하는 한편, 개발자 사이에서 [앵귤러] 인기는 감소한 것으로 드러났다. 이러한 감소세는 2022 자바스크립트 현황 보고서(State of JavaScript 2022)에서도 포착됐다.    • 기술 업계의 정리해고 물결에도 개발자는 [자신의 직업에] 안정감을 느낀다고 밝혔다. 전체 설문조사 응답자의 3분의 1은 작년보다 더 안정감을 느꼈다고 말했고, 41%는 큰 변화가 없다고 답했다.  • 개발자가 배우고 싶어하는 스킬 톱3은 ▲웹 개발, ▲인공지능/머신러닝, ▲게임 개발이었다.  • 채용 담당자가 가장 많이 찾는 스킬 톱3은 ▲웹 개발, ▲데브옵스, ▲데이터베이스 소프트웨어 개발이었다.  • 개발자가 직장에서 겪는 주요 문제로는 계획되지 않은 일정 변경, 명확하지 않은 방향, 팀원의 기술 지식 부족 등이 꼽혔다.  • 개발자의 59%는 컴퓨터 공학 학위가 없었다. 약 3분의 1이 독학했다고 밝혔다.   • 대부분의 팀이 원격근무와 사무실 근무...

자바스크립트 자바 파이썬 개발자 개발 언어 프로그래밍 언어

2023.01.16

기술 인력 채용 플랫폼 코딘게임(CodinGame)과 코더패드(CoderPad)의 최신 보고서에 따르면 ‘자바스크립트, 자바, 파이썬’은 채용 담당자가 가장 많이 찾는 스킬이다. 하지만 이러한 스킬의 공급은 수요를 초과하는 반면 타입스크립트, 스위프트, 스칼라, 코틀린, 고랭 수요는 모두 공급을 초과하는 것으로 나타났다.    지난 1월 10일 발표된 ‘2023 기술 업계 채용 현황(The State of Tech Hiring in 2023)’ 보고서는 총 1만 4,000명의 [기술] 전문가를 대상으로 한 설문조사 결과를 정리했다. 보고서는 자바스크립트, 자바, 파이썬 수요가 예년과 일치한다고 전했다.  개발 프레임워크 중에서 ‘노드.js, 리액트, 닷넷코어’는 널리 알려져 있으며, 가장 수요가 높은 것으로 조사됐다. 아울러 앵귤러 수요가 공급을 초과하는 한편, 개발자 사이에서 [앵귤러] 인기는 감소한 것으로 드러났다. 이러한 감소세는 2022 자바스크립트 현황 보고서(State of JavaScript 2022)에서도 포착됐다.    • 기술 업계의 정리해고 물결에도 개발자는 [자신의 직업에] 안정감을 느낀다고 밝혔다. 전체 설문조사 응답자의 3분의 1은 작년보다 더 안정감을 느꼈다고 말했고, 41%는 큰 변화가 없다고 답했다.  • 개발자가 배우고 싶어하는 스킬 톱3은 ▲웹 개발, ▲인공지능/머신러닝, ▲게임 개발이었다.  • 채용 담당자가 가장 많이 찾는 스킬 톱3은 ▲웹 개발, ▲데브옵스, ▲데이터베이스 소프트웨어 개발이었다.  • 개발자가 직장에서 겪는 주요 문제로는 계획되지 않은 일정 변경, 명확하지 않은 방향, 팀원의 기술 지식 부족 등이 꼽혔다.  • 개발자의 59%는 컴퓨터 공학 학위가 없었다. 약 3분의 1이 독학했다고 밝혔다.   • 대부분의 팀이 원격근무와 사무실 근무...

2023.01.16

“2022년 올해의 프로그래밍 언어는 C++” 티오베

티오베(Tiobe)가 2022년 한 해 동안 가장 큰 인기를 얻은 프로그래밍 언어로 ‘C++’을 선정했다. 뒤를 이어 C와 파이썬이 2위를 차지했다.    지난 2022년 12월 티오베 지수에서 ‘자바’를 추월한 ‘C++’이 2022년 가장 큰 [인기] 상승폭을 보인 언어라고 티오베가 발표했다. C++의 인기는 전년 대비 4.62%P 증가해 2022년 올해의 티오베 프로그래밍 언어로 선정됐다. 티오베 지수는 구글, 빙, 야후, 위키피디아 및 기타 검색엔진에서 프로그래밍 언어가 검색된 수치를 기반으로 인기도를 측정한다. 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다.   → “자바, 티오베 지수 역사상 처음으로 3위권서 밀려나” 올해의 프로그래밍 언어 후보로는 각각 3.82%P, 2.78%P 증가한 C와 파이썬도 있었다. 파이썬은 2021년 올해의 프로그래밍 언어로 꼽힌 바 있다.  티오베는 C++의 인기가 높은 수준의 객체 지향 언어이면서도 뛰어난 성능을 제공하기 때문이라고 설명했다. 아울러 [C++을 사용하면] 개발자는 유지관리 악몽에 시달리지 않고 수백만 줄 이상의 코드로 방대한 소프트웨어 시스템을 빠르게 구축할 수 있다고 전했다. 또한 국제표준 C++11과 C++20의 도입이 본격화되며 C++의 활용성이 높아졌다고 티오베는 진단했다.  한편 2022년 티오베 지수에서 러스트, 루아, F#, 코틀린, 줄리아, 다트도 상승세를 보였다. 2023년 1월 티오베 지수의 상위 10개 언어는 다음과 같다.  1. 파이썬(16.36%) 2. C(16.26%) 3. C++(12.91%) 4. 자바(12.21%) 5. C#(5.73%) 6. 비주얼 베이식(4.64%) 7. 자바스크립트(2.87%) 8. SQL(2.5%) 9. 어셈블리(1.6%) 10. PHP(1.39%) 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검...

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

2023.01.09

티오베(Tiobe)가 2022년 한 해 동안 가장 큰 인기를 얻은 프로그래밍 언어로 ‘C++’을 선정했다. 뒤를 이어 C와 파이썬이 2위를 차지했다.    지난 2022년 12월 티오베 지수에서 ‘자바’를 추월한 ‘C++’이 2022년 가장 큰 [인기] 상승폭을 보인 언어라고 티오베가 발표했다. C++의 인기는 전년 대비 4.62%P 증가해 2022년 올해의 티오베 프로그래밍 언어로 선정됐다. 티오베 지수는 구글, 빙, 야후, 위키피디아 및 기타 검색엔진에서 프로그래밍 언어가 검색된 수치를 기반으로 인기도를 측정한다. 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다.   → “자바, 티오베 지수 역사상 처음으로 3위권서 밀려나” 올해의 프로그래밍 언어 후보로는 각각 3.82%P, 2.78%P 증가한 C와 파이썬도 있었다. 파이썬은 2021년 올해의 프로그래밍 언어로 꼽힌 바 있다.  티오베는 C++의 인기가 높은 수준의 객체 지향 언어이면서도 뛰어난 성능을 제공하기 때문이라고 설명했다. 아울러 [C++을 사용하면] 개발자는 유지관리 악몽에 시달리지 않고 수백만 줄 이상의 코드로 방대한 소프트웨어 시스템을 빠르게 구축할 수 있다고 전했다. 또한 국제표준 C++11과 C++20의 도입이 본격화되며 C++의 활용성이 높아졌다고 티오베는 진단했다.  한편 2022년 티오베 지수에서 러스트, 루아, F#, 코틀린, 줄리아, 다트도 상승세를 보였다. 2023년 1월 티오베 지수의 상위 10개 언어는 다음과 같다.  1. 파이썬(16.36%) 2. C(16.26%) 3. C++(12.91%) 4. 자바(12.21%) 5. C#(5.73%) 6. 비주얼 베이식(4.64%) 7. 자바스크립트(2.87%) 8. SQL(2.5%) 9. 어셈블리(1.6%) 10. PHP(1.39%) 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검...

2023.01.09

기고ㅣ‘파이썬’이 비즈니스 애널리스트에게 주목받는 이유

비즈니스 애널리스트가 BI 도구의 한계에 부딪히며 더 고급 애널리틱스를 수행할 방법을 찾고 있다. 파이썬이 바로 그 열쇠다.   데이터가 기업의 성공에 그 어느 때보다 중요해지면서, ‘파이썬’이 데이터 전문가를 넘어 비즈니스 애널리틱스 및 기타 비-기술 사용자에게도 채택되고 있다. 파이썬을 비교적 처음 사용한다면 어떤 기회가 있으며, 성공을 위해 어떤 모범 사례를 알아야 할까?    많은 기업에서 비즈니스 요구 사항이 데이터 팀의 리소스와 역량을 초과하고 있는 가운데, 데이터 전문가는 찾기 힘든 유니콘과도 같다. 한편 비즈니스 애널리스트는 BI 도구로 할 수 있는 작업의 한계에 부딪히며 더욱더 고급 애널리틱스를 수행할 수 있는 방법을 모색하고 있다. 여기서 파이썬은 성공의 열쇠다.  파이썬 사용이 빠르게 증가하고 있다. 올해 초 2만 명 이상의 개발자를 대상으로 한 슬래시데이터(SlashData)의 설문조사(State of the Developer Nation)에 따르면 파이썬이 인기도(popularity) 측면에서 자바스크립트에 이어 2위를 차지했으며, 아울러 파이썬은 지난 6개월 동안 330만 명의 순 신규 사용자를 추가하여 전 세계적으로 1,570만 사용자에 도달했다.  최근 몇 년 동안 파이썬 커뮤니티는 고급 애널리틱스, 머신러닝, 앱 개발을 위해 비-전문가가 이 언어에 쉽게 접근할 수 있는 새 프레임워크와 패키지를 만들었다. 예를 들면 수치 데이터용 오픈소스 파이썬 라이브러리 넘파이(NumPy), 예측 실행을 위한 프로펫(Propet), (우버(Uber)에서 시작된) 지리 공간 데이터를 조작하기 위한 H3 프로젝트 등이다.  비전문 개발자 사이에서의 파이썬 확산이 전례 없는 일은 아니다. 셀프서비스 BI 도구의 등장과 함께 현업 부문의 사용자가 자체적인 엑셀(Excel) 매크로를 스크립팅하는 방법을 배우면서 비슷한 패턴이 나타난 바 있다. 사용 확대는 언어 자체가 매우 유용하기 때문에 앞...

파이썬 비즈니스 애널리틱스

2022.12.09

비즈니스 애널리스트가 BI 도구의 한계에 부딪히며 더 고급 애널리틱스를 수행할 방법을 찾고 있다. 파이썬이 바로 그 열쇠다.   데이터가 기업의 성공에 그 어느 때보다 중요해지면서, ‘파이썬’이 데이터 전문가를 넘어 비즈니스 애널리틱스 및 기타 비-기술 사용자에게도 채택되고 있다. 파이썬을 비교적 처음 사용한다면 어떤 기회가 있으며, 성공을 위해 어떤 모범 사례를 알아야 할까?    많은 기업에서 비즈니스 요구 사항이 데이터 팀의 리소스와 역량을 초과하고 있는 가운데, 데이터 전문가는 찾기 힘든 유니콘과도 같다. 한편 비즈니스 애널리스트는 BI 도구로 할 수 있는 작업의 한계에 부딪히며 더욱더 고급 애널리틱스를 수행할 수 있는 방법을 모색하고 있다. 여기서 파이썬은 성공의 열쇠다.  파이썬 사용이 빠르게 증가하고 있다. 올해 초 2만 명 이상의 개발자를 대상으로 한 슬래시데이터(SlashData)의 설문조사(State of the Developer Nation)에 따르면 파이썬이 인기도(popularity) 측면에서 자바스크립트에 이어 2위를 차지했으며, 아울러 파이썬은 지난 6개월 동안 330만 명의 순 신규 사용자를 추가하여 전 세계적으로 1,570만 사용자에 도달했다.  최근 몇 년 동안 파이썬 커뮤니티는 고급 애널리틱스, 머신러닝, 앱 개발을 위해 비-전문가가 이 언어에 쉽게 접근할 수 있는 새 프레임워크와 패키지를 만들었다. 예를 들면 수치 데이터용 오픈소스 파이썬 라이브러리 넘파이(NumPy), 예측 실행을 위한 프로펫(Propet), (우버(Uber)에서 시작된) 지리 공간 데이터를 조작하기 위한 H3 프로젝트 등이다.  비전문 개발자 사이에서의 파이썬 확산이 전례 없는 일은 아니다. 셀프서비스 BI 도구의 등장과 함께 현업 부문의 사용자가 자체적인 엑셀(Excel) 매크로를 스크립팅하는 방법을 배우면서 비슷한 패턴이 나타난 바 있다. 사용 확대는 언어 자체가 매우 유용하기 때문에 앞...

2022.12.09

수십 년째 요지부동, 'C 언어'가 왕좌 지키는 이유

‘C 언어’는 지난 1972년 개발돼 지금까지 전 세계적으로 널리 사용되고 있으며, 소프트웨어 시대의 핵심적인 기본 구성요소로 군림하고 있다. 하지만 지난 수십 년 동안 새로운 언어가 많이 등장했다. 그중에는 노골적으로 C 언어의 아성에 도전한 언어도 있었고, 인기를 끌면서 C 언어를 조금씩 갉아먹은 언어도 있었다. 여기서는 C 언어와 C++, 자바, C#, 러스트, 파이썬 그리고 ‘쌩신입’ 카본을 비교해 살펴봤다.    C vs. C++ C 언어의 가장 흔한 비교 대상은 C++다. 이름에서 알 수 있는 것처럼 C++는 C 언어의 확장판으로 개발됐다. C++의 구문 및 접근 방식은 C와 유사하지만 이는 네임 스페이스, 템플릿, 예외 처리, 자동 메모리 관리 등 C에서는 기본 제공하지 않는 매우 유용한 기능을 지원한다. 데이터베이스나 머신러닝 시스템 등 최상급 성능을 요하는 프로젝트는 C++의 이러한 기능을 사용해 작성되는 경우가 많다. 또한 C++는 C보다 훨씬 더 적극적인 확장 중이다. 곧 출시될 C++ 23은 모듈, 코루틴, 더 빠른 컴파일, 모듈화된 표준 라이브러리 등 많은 기능을 제공할 예정이다. 반면에 C 표준의 최신 버전(C2x)은 추가 기능이 거의 없으며, 하위 호환성 유지에 주안점을 두고 있다.  문제는 C++의 모든 장점이 동시에 단점으로 작용하기도 한다는 것인데, 이 단점이 크다. C++의 기능을 많이 사용할수록 복잡성이 증가하며, 결과를 통제하기가 어려워진다. C++의 특정 부분만 제한적으로 사용하면 최악의 문제는 대부분 피할 수 있다. 이러한 복잡성을 원천적으로 차단하기도 한다. 예를 들면 리눅스 커널(Linux Kernel) 개발팀은 C++를 기피하며, 대부분의 리눅스는 여전히 C로 작성된다(현재 러스트를 향후 커널 추가를 위한 언어로 보고 있긴 하다).  물론 C++가 고수준 기능을 풍부히 갖추고 있는 이유는 분명하다. 하지만 현재와 미래의 프로젝트 및 프로젝트팀에 미니멀리즘이 더 적합하다면...

C 언어 C++ 파이썬 러스트 카본 자바 프로그래밍 언어 개발 언어 개발자 소프트웨어 개발

2022.09.30

‘C 언어’는 지난 1972년 개발돼 지금까지 전 세계적으로 널리 사용되고 있으며, 소프트웨어 시대의 핵심적인 기본 구성요소로 군림하고 있다. 하지만 지난 수십 년 동안 새로운 언어가 많이 등장했다. 그중에는 노골적으로 C 언어의 아성에 도전한 언어도 있었고, 인기를 끌면서 C 언어를 조금씩 갉아먹은 언어도 있었다. 여기서는 C 언어와 C++, 자바, C#, 러스트, 파이썬 그리고 ‘쌩신입’ 카본을 비교해 살펴봤다.    C vs. C++ C 언어의 가장 흔한 비교 대상은 C++다. 이름에서 알 수 있는 것처럼 C++는 C 언어의 확장판으로 개발됐다. C++의 구문 및 접근 방식은 C와 유사하지만 이는 네임 스페이스, 템플릿, 예외 처리, 자동 메모리 관리 등 C에서는 기본 제공하지 않는 매우 유용한 기능을 지원한다. 데이터베이스나 머신러닝 시스템 등 최상급 성능을 요하는 프로젝트는 C++의 이러한 기능을 사용해 작성되는 경우가 많다. 또한 C++는 C보다 훨씬 더 적극적인 확장 중이다. 곧 출시될 C++ 23은 모듈, 코루틴, 더 빠른 컴파일, 모듈화된 표준 라이브러리 등 많은 기능을 제공할 예정이다. 반면에 C 표준의 최신 버전(C2x)은 추가 기능이 거의 없으며, 하위 호환성 유지에 주안점을 두고 있다.  문제는 C++의 모든 장점이 동시에 단점으로 작용하기도 한다는 것인데, 이 단점이 크다. C++의 기능을 많이 사용할수록 복잡성이 증가하며, 결과를 통제하기가 어려워진다. C++의 특정 부분만 제한적으로 사용하면 최악의 문제는 대부분 피할 수 있다. 이러한 복잡성을 원천적으로 차단하기도 한다. 예를 들면 리눅스 커널(Linux Kernel) 개발팀은 C++를 기피하며, 대부분의 리눅스는 여전히 C로 작성된다(현재 러스트를 향후 커널 추가를 위한 언어로 보고 있긴 하다).  물론 C++가 고수준 기능을 풍부히 갖추고 있는 이유는 분명하다. 하지만 현재와 미래의 프로젝트 및 프로젝트팀에 미니멀리즘이 더 적합하다면...

2022.09.30

딥러닝 프레임워크 ‘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

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

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

Copyright © 2023 International Data Group. All rights reserved.

10.5.0.9