Jupyter Notebookは、以下の2つのコンポーネントを組み合わせて構成されています。
Webアプリケーションコンポーネントは、「説明テキスト」「数学」「計算」「リッチメディア出力」を組み合わせたドキュメントのインタラクティブオーサリングのためのブラウザベースのツールです。
・ブラウザー内コード編集機能---自動構文強調表示、インデント、タブ補完、イントロスペクション
・コード実行機能
・リッチメディア表現による計算結果表示機能---HTML、LaTeX、PNG、SVG
・Markdownマークアップ言語サポート
・数学表記機能---LaTeX
・ネイティブレンダリング機能---MathJax など
ノートブックドキュメントは完全な計算記録として機能し、「計算の入力と出力」「説明テキスト」「数学」「画像」「オブジェクトのリッチメディア表現」など、Webアプリケーションで表示されるすべてのコンテンツの表現が含まれます。
「インタラクティブセッションの入力と出力」「コードに付属しているが実行を目的としていない追加テキスト」も含まれます。
これらのドキュメントは内部的にはプレーンテキスト形式のJSONファイルであるため、バージョン管理により共有できます。
Jupyter Notebookは、Project Jupyter用の言語に依存しないHTMLノートブックアプリケーションです。
Jupyter Notebookは、インタラクティブコンピューティング用の一連のオープンスタンダードに基づいています。
開発者は「HTML」「CSS」「JSON」などのオープンスタンダードを活用して、組み込みのインタラクティブコンピューティングでカスタマイズされたアプリケーションを構築できます。
Jupyter Notebookは、JSONに基づいたオープンドキュメント形式です。
これらには、「コード」「説明テキスト」「方程式」「豊富な出力」など、ユーザーセッションの完全な記録が含まれています。
Jupyter Notebookは、「ZMQ」および「WebSocket」を介したJSONデータに基づいたオープンネットワークプロトコル「Interactive Computing Protocol」を使用して、Jupyterカーネルと通信します。
Jupyterカーネルは、特定のプログラミング言語でインタラクティブコードを実行し、ユーザーに出力を返すプロセスです。
カーネルは「タブ補完」や「イントロスペクション」などのリクエストにも応答します。
Jupyter Notebookは、「Python」「R言語」「Julia」「Scala」を含む、40以上のプログラミング言語に対応しています。
OSS×Cloud ACCESS RANKING