▲GN⁺ 2024-06-02 | parent | ★ favorite | on: 과학적으로 페타바이트 데이터를 분석하는 ROOT(root.cern)Hacker News 의견 과거의 추억: 입자 물리학에서 ROOT를 많이 사용했음. 기술 부채와 특이점이 많았지만, 히스토그램이나 구조화된 데이터 처리 등 특정 작업은 ROOT가 더 쉬웠음. 객체 지향 API가 직관적이었음. 변화의 과정: 5년 전에 떠났지만, ROOT는 변화 중이었음. CINT 인터프리터를 제거하고 클랭 기반 코드로 전환했으며, 이제 Jupyter에서 C++ 또는 Python으로 분석 가능함. 새로운 분석 도구: 새로운 분석에는 ROOT 대신 uproot 같은 더 사용자 친화적인 도구를 사용하는 것이 좋음. 일부는 레거시 워크플로우 때문에 ROOT를 계속 사용할 수 있음. 흥미로운 404 페이지: ROOT의 404 페이지가 재미있음. (방 404와는 무관함) 과학적 발견: 대규모 소프트웨어 프로젝트가 과학적 발견에 사용되는 것이 멋짐. 예를 들어, LIGO에서 중력파를 GStreamer로 발견했음. ROOT의 문제점: ROOT는 많은 기능을 가지고 있지만, API 설계가 좋지 않고 라이브러리와 프로그램 간의 분리가 부족함. ROOT 6에서 일부 문제를 해결하려 했지만 시간이 걸림. 입출력 형식 문제: 오래된 ROOT의 입출력 형식이 잘 문서화되지 않았음. 이제는 groot와 uproot 덕분에 ROOT 데이터를 쉽게 읽고 쓸 수 있음. ROOT 6의 감사: 매일 ROOT 6 이상의 버전을 사용하게 되어 감사함. 디버깅의 추억: 컴퓨터 과학 배경이 없는 뛰어난 물리학자들이 작성한 코드를 밤새 디버깅했던 기억이 떠오름. 입자 물리학의 중추: ROOT는 실험 입자 물리학에서 많은 작업의 중추이지만, 새로운 대학원생들에게는 악몽임. Cling 사용: Jupyter 노트북에서 C++ 인터프리터 Cling과 Xeus를 사용함. Python 3보다 훨씬 빠름. Cling을 주로 C++로 컴파일되는 언어의 JIT로 사용함. 소스 코드: ROOT 프로젝트의 소스 코드는 GitHub에서 확인 가능함. 디버깅 악몽: CERN ROOT 스크립트와 프로그램을 Eclipse IDE에서 디버깅하는 것은 악몽이었음. 하지만 끔찍한 환경에서도 놀라운 것을 만들 수 있다는 것을 보여줌.
Hacker News 의견