1.2.2 자바스크립트 생태계
딥러닝처럼 특정 유형의 애플리케이션에 대한 자바스크립트의 적합성을 평가할 때 자바스크립트가 아주 강력한 생태계를 가진 언어라는 점을 간과해서는 안 됩니다. 수년 동안 깃허브의 저장소 개수와 풀(pull) 요청 수 측면에서 자바스크립트는 수십 개의 프로그래밍 언어 중에서 꾸준히 1등을 차지했습니다(http://githut.info 참조). 자바스크립트 패키지의 실질적인 공공 저장소인 npm에 있는 패키지 개수는 2018년 7월 기준으로 600,000개가 넘습니다. 파이썬 패키지 저장소인 PyPI에 있는 패키지보다 네 배 이상 많습니다(www.modulecounts.com).21 파이썬과 R이 머신 러닝과 데이터 과학 분야에서 더 확고한 커뮤니티를 가지고 있지만, 자바스크립트 커뮤니티도 머신 러닝 관련 데이터 파이프라인을 위한 지원을 구축해가고 있습니다.
클라우드 스토리지나 데이터베이스에서 데이터를 입력받고 싶은가요? 구글 클라우드와 아마존 웹 서비스는 모두 Node.js API를 제공합니다. MongoDB와 RethinkDB 같은 오늘날 가장 인기 있는 데이터베이스들이 Node.js 드라이버를 최우선적으로 지원합니다. 자바스크립트로 데이터 랭글링(wrangling)을 하고 싶은가요? 애슐리 데이비스(Ashley Davis)의 <Data Wrangling with JavaScript>22라는 책을 추천합니다. 데이터 시각화가 필요한가요? 여러 면에서 파이썬 시각화 라이브러리를 능가하는 d3.js, vega.js, plotly.js 같은 성숙하고 강력한 라이브러리가 있습니다. 입력 데이터가 준비되면, 이 책의 주제인 TensorFlow.js가 데이터를 받아 딥러닝 모델을 만들고 훈련하고 실행할 수 있습니다. 물론 모델을 저장하고 로딩하고 시각화할 수도 있습니다.