검색
검색
공개 노트 검색
회원가입로그인

Positron, 차세대 데이터 과학 IDE 전격 공개

Positron, 데이터 과학을 위한 새로운 IDE의 등장

Posit 컨퍼런스 2024에서 Positron이라는 새로운 데이터 과학 IDE가 공개되었습니다. Positron은 아직 초기 단계의 프로젝트이지만, 공개된 지 6주 만에 많은 관심을 받고 있습니다. 이번 세션에서는 7명의 발표자가 각 10분씩 Positron에 대해 소개하고, 마지막에는 질의응답 시간을 가질 예정입니다. 발표 중 궁금한 점은 Slido를 통해 질문해주시면 됩니다. Slido 코드는 일정표 또는 Discord에서 확인할 수 있습니다.

Positron, 차세대 데이터 과학 IDE 전격 공개  image 1

Julia Silge는 Posit에서 엔지니어링 매니저로 Positron 팀에서 1년간 근무했습니다. Positron은 차세대 데이터 과학 IDE로, 통합 개발 환경(IDE)입니다. IDE는 사용자가 소프트웨어를 개발할 수 있도록 지원하는 소프트웨어입니다. Positron은 데이터 과학에 특화된 IDE를 목표로 개발되었습니다. 예시 화면에서 보듯이, Positron은 Quarto와 R을 사용하여 보고서를 작성하는 데 유용합니다. 시중에는 다양한 IDE가 존재하지만, Positron은 기존 IDE와 차별화되는 새로운 기능과 특징을 제공합니다.

이번 세션에서는 Positron의 새로운 점, 차이점, 특별한 점을 소개하고, Positron이 개발된 이유와 사용자에게 적합한 IDE인지 판단하는 데 도움을 드리고자 합니다. Positron은 데이터 과학 IDE를 지향합니다. Posit은 데이터 과학 툴링 분야에서 풍부한 전문 지식을 보유하고 있으며, 데이터 분석 코드를 작성하는 사람과 일반 소프트웨어 엔지니어는 근본적으로 다르다는 것을 인지하고 있습니다. 웹사이트나 모바일 앱 개발과 같은 일반적인 소프트웨어 엔지니어링 목적의 코드 작성과는 달리, 데이터 과학 코드는 데이터 분석이라는 특수한 목적을 가지고 있습니다.

Posit은 GUI 툴, 노코드/로우코드 솔루션보다는 코드 우선 데이터 과학을 지향합니다. 일반 소프트웨어 엔지니어를 위해 개발된 툴은 데이터 분석 코드를 작성하는 데이터 과학자에게는 적합하지 않은 경우가 많습니다. Posit은 데이터 전문가가 데이터 과학 작업을 더욱 생산적으로 수행할 수 있도록 특화된 툴을 개발하는 데 집중하고 있습니다. 이것이 바로 Positron이라는 새로운 IDE를 개발하는 이유입니다. Positron은 기존 IDE와는 다른 독창적인 기능을 제공하며, 데이터 과학의 모든 것을 포괄하는 통합 플랫폼을 지향합니다.

Positron, 다국어 지원 및 확장성을 갖춘 차세대 IDE

Positron은 다국어, 즉 Polyglot IDE를 지향합니다. 현재 R과 Python을 모두 지원합니다. 대부분의 데이터 분석 환경은 특정 언어만 지원하는 경우가 많습니다. RStudio, MATLAB, Spyder 등이 대표적인 예시입니다. 하지만 이러한 툴과 IDE는 한계가 있습니다. 특히 데이터 과학에 두 가지 이상의 언어를 사용하는 사용자에게는 더욱 그렇습니다. Positron은 이러한 한계를 극복하고, 다양한 언어를 사용하는 데이터 과학자를 위한 IDE를 목표로 개발되었습니다.

Positron을 통해 R과 Rust를 같은 프로젝트에서 사용할 수도 있고, 프로젝트별로 Python과 R을 번갈아 사용할 수도 있습니다. Positron은 사용자 인터페이스(Front-end) 기능과 언어 엔진(Back-end)을 분리하여 설계되었습니다. 사용자 인터페이스는 플롯, 변수 확인 등 데이터 과학 작업에 필요한 기능을 제공하는 데 집중하고, 언어 엔진은 R, Python 등 각 언어별 기능을 지원합니다. Positron은 사용 언어에 관계없이 데이터 과학 작업을 효율적으로 수행할 수 있도록 지원하는 툴입니다.

현재 Positron은 초기 단계로 Python과 R만 지원하지만, 향후 다른 데이터 과학 언어를 추가할 수 있도록 확장성을 고려하여 개발되었습니다. 새로운 언어는 물론, 아직 존재하지 않는 미래의 언어까지 Positron에 통합될 수 있습니다. 많은 분들이 Positron으로 즉시 전환해야 할지 궁금하실 것입니다. 데이터 과학에 두 가지 이상의 언어를 사용하는 사용자라면 Positron이 좋은 선택이 될 수 있습니다. 하지만 Positron은 아직 초기 단계의 프로젝트이므로, 현재 코드 작성 환경에 만족한다면 এখনই 전환할 필요는 없습니다.

이번 세션의 나머지 발표는 Positron이 사용자에게 적합한 IDE인지, 전환해야 할 시점인지 판단하는 데 도움을 드리고자 합니다. Positron은 확장성과 친숙함을 동시에 추구합니다. Positron의 디자인은 Posit의 RStudio 개발 경험을 바탕으로 설계되었기 때문에 RStudio 사용자에게 친숙한 인터페이스를 제공합니다. 콘솔, 소스 편집기, 도움말 창 등 RStudio와 유사한 인터페이스를 Python 환경에서도 사용할 수 있습니다. 이는 많은 사용자들이 오랫동안 기다려온 기능일 것입니다.

RStudio와 Positron, 공존과 발전

RStudio 사용자 중에는 Positron의 등장에 대해 RStudio의 미래를 걱정하는 분들도 있을 것입니다. RStudio는 매우 안정적이고 견고한 소프트웨어이며, 10년 이상 실무 환경에서 사용되어 왔습니다. 현재 RStudio는 여전히 많은 사용자에게 최적의 선택이며, 앞으로도 오랫동안 그럴 것입니다. Posit은 RStudio를 장기간 유지 관리할 것을 약속드립니다. RStudio는 앞으로도 계속 발전하고 개선될 것입니다.

Positron은 Visual Studio Code(VS Code) 사용자에게도 친숙하게 느껴질 것입니다. Positron은 VS Code의 오픈 소스 프로젝트인 Code OSS를 기반으로 개발되었기 때문입니다. Positron은 Code OSS의 확장성을 활용하여 다양한 기능을 추가할 수 있습니다. Code OSS를 기반으로 구축함으로써, Positron은 VS Code 호환 확장 프로그램 생태계의 이점을 누릴 수 있습니다. 사용자들은 VS Code 확장 프로그램을 통해 Positron IDE를 더욱 강력하고 편리하게 확장할 수 있습니다.

Positron 개발의 핵심 투자 중 하나는 R용 최신 언어 툴링 개발입니다. Python용 언어 툴링은 이미 존재했지만, R용 툴링은 처음부터 새로 개발해야 했습니다. Positron은 Ark(An R Kernel)라는 새로운 R용 Jupyter 커널을 탑재했습니다. Ark는 Positron과 같은 Front-end와 R Back-end 간의 통신을 지원하는 소프트웨어입니다. Ark는 코드 자동 완성, 진단, 디버깅 등 다양한 기능을 제공하여 R 코드 작성 경험을 향상시킵니다. 특히 디버깅 기능은 R 코드 작성 시 발생하는 오류를 해결하는 데 매우 유용합니다. Positron은 Ark를 통해 R 사용자에게 더욱 강력하고 편리한 개발 환경을 제공합니다.

데이터 과학 워크플로우 혁신: Amplenote의 4분할 화면

Isabel은 데이터 과학 워크플로우를 혁신하는 Amplenote의 다양한 기능들을 소개합니다. Amplenote는 4분할 화면을 통해 데이터 과학 작업에 최적화된 환경을 제공합니다. 코드 편집기, 콘솔, 변수 뷰어, 플롯 뷰어를 하나의 화면에서 효율적으로 사용할 수 있습니다. 이러한 4분할 화면은 코드 우선 데이터 과학 경험을 대체하는 것이 아니라, UI와 코드를 결합하여 생산성을 높이고 데이터 과학 작업을 더욱 즐겁게 만들어줍니다.

Amplenote는 Python 환경 설정의 어려움을 해결해줍니다. Python 사용자라면 virtual environment 설정 및 관리에 어려움을 겪은 경험이 있을 것입니다. Amplenote는 Interpreter Selector를 통해 virtual environment를 쉽게 선택하고 활성화할 수 있도록 지원합니다. Conda, Pyenv, Venv, Poetry, Virtualenv 등 다양한 virtual environment 관리 툴을 지원하며, 클릭 한 번으로 virtual environment를 활성화할 수 있습니다. Amplenote는 컴퓨터에 설치된 모든 virtual environment를 자동으로 검색하고, 프로젝트별 virtual environment 설정을 기억하여 프로젝트를 열 때마다 자동으로 활성화해줍니다.

Amplenote의 Interpreter Selector는 Python뿐만 아니라 R도 지원합니다. R 사용자 역시 Amplenote를 통해 여러 버전의 R을 쉽게 관리하고 전환할 수 있습니다. Interpreter Selector 드롭다운 메뉴는 사용자가 사용하는 언어만 표시하므로, R만 설치한 경우에는 Python 관련 옵션은 표시되지 않습니다. Amplenote는 사용자에게 필요한 기능만 제공하여 complexity를 최소화합니다.

Amplenote는 Jupyter Notebook과 Python 스크립트 기반 워크플로우를 모두 지원합니다. 데이터 과학 작업은 실험적이고 반복적인 특성을 가지므로, 유연한 개발 환경이 필수적입니다. Amplenote는 Jupyter Notebook을 지원할 뿐만 아니라, Python 스크립트 기반의 interactive 콘솔을 내장하여 데이터 과학 개발 라이프사이클에 최적화된 환경을 제공합니다. Interactive 콘솔을 통해 코드 iteration, 데이터 탐색, 재현 가능한 스크립트 작성을 효율적으로 수행할 수 있습니다. Amplenote 콘솔은 자동 완성 기능과 같은 편리한 기능들을 제공합니다.

데이터 탐색 및 변수 관리 기능 강화

Amplenote는 데이터베이스 연결 및 데이터 탐색 기능을 강화하여 데이터 과학 워크플로우를 더욱 효율적으로 만들어줍니다. Amplenote Connections pane을 통해 데이터베이스 테이블, 로우, 컬럼 정보 등을 high-level glance로 빠르게 확인할 수 있습니다. SQLite와 같은 데이터베이스 연결 객체를 생성하면, Connections pane에 테이블 목록, 컬럼 정보, 데이터 유형 등이 표시됩니다. 데이터베이스 탐색을 더욱 쉽고 편리하게 만들어줍니다.

Amplenote Data Explorer는 데이터 탐색 및 tidyup 작업을 효율적으로 지원합니다. Amplenote는 Data Explorer를 통해 데이터의 missing data 비율, 데이터 미리보기, 필터링, 정렬 등 다양한 데이터 탐색 기능을 제공합니다. Data Explorer는 Polars, Pandas DataFrame, 데이터베이스 등 다양한 데이터 소스를 지원하며, 'eye' 아이콘 클릭, Variables pane 테이블 클릭, view data 명령어 입력 등 다양한 방법으로 실행할 수 있습니다. Data Explorer를 통해 데이터의 missing data 비율을 컬럼별로 확인할 수 있으며, 필터링 및 정렬 기능을 통해 특정 조건에 맞는 데이터를 빠르게 찾을 수 있습니다. Amplenote Data Explorer는 데이터 탐색 및 전처리 작업을 더욱 쉽고 빠르게 수행할 수 있도록 지원합니다.

Amplenote Variables pane은 변수 관리 기능을 강화하여 개발 생산성을 높여줍니다. Variables pane은 생성된 변수 목록, 데이터 미리보기, 변수 유형, 데이터 뷰어 실행 아이콘 등 다양한 변수 정보를 실시간으로 제공합니다. Variables pane을 통해 변수 이름, 값, 유형 등을 한눈에 파악하고, 데이터 뷰어를 통해 데이터 내용을 자세히 살펴볼 수 있습니다. 특히 dictionary, class, function과 같은 복잡한 객체의 경우, Variables pane에서 확장하여 내부 정보를 쉽게 확인할 수 있습니다. Amplenote Variables pane은 변수 관리의 효율성을 높여 개발 생산성을 향상시킵니다.

Amplenote Help pane은 함수, 클래스, 모듈 documentation을 빠르게 확인할 수 있도록 지원합니다. Amplenote는 Help pane을 통해 함수, 클래스, 모듈 documentation을 빠르게 검색하고 확인할 수 있도록 지원합니다. Python 함수, 클래스, 모듈 이름 옆에 '?'를 입력하면 Help pane에 documentation이 자동으로 표시됩니다. 웹 브라우저를 통해 documentation을 검색하는 번거로움 없이, IDE 내에서 documentation을 즉시 확인할 수 있습니다. Amplenote Help pane은 RStudio의 Help pane과 유사한 편리한 documentation 접근 방식을 Python 환경에서도 제공합니다. 특히 interlinked documentation은 함수, 클래스, 모듈 간의 관계를 쉽게 파악하고, documentation 탐색을 더욱 효율적으로 만들어줍니다.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 141
heart
T
페이지 기반 대답
AI Chat