SlideShare une entreprise Scribd logo
1  sur  25
私がみんなにおすすめする
Jupyterを使ったコードの記録
#nds48 @civic
Jupyter
Jupyterとは?
Jupyterとは?
• コードを書いて
• 実行できるノート
• ブラウザ上
• お手軽
デモ
ファイル一覧
ファイル一覧
フォルダ
ノートブックの新規作成
ノートブックの新規作成
ノートブックの編集
セル
どのように使うのか?
ちょっと試しに
コードを実行したい
ちょっとコード実行
Read
Print
Eval
REPL
ちょこっとコード実行
複数行の
入力エリア
ちょっと癖があるけど
コード補完
ちょこっとコード実行
リファレンス閲覧
?で実行
記録を残したい
記録を残したい
• ノートとして記録を残す
• Markdown形式で
リッチな表現が可能
実行結果の見える化
実行結果の見える化
単純な式
コード断片
実行結果の見える化
統計データ
実行結果の見える化
グラフ
実行結果の見える化
ノートブックは
githubで表示可能
実行について
いろいろなカーネル
• 実行する言語を選択可能
https://github.com/ipython/ipyt
hon/wiki/IPython-kernels-for-
other-languages
Jupyterを使うには
• ホスティングされたWebサービス
https://try.jupyter.org/
• dockerで用意
• $ docker pull jupyter/datascience-notebook
• $ docker run -p 8888:8888 jupyter/datascience-notebook
• 自前で構築
• anacondaを使うと、もろもろのpython環境が揃ってて楽
• 参考 Vagrantfile
https://github.com/civic/jupyter-vagrant-quickstart
今日のおみやげ
おみやげ
• Jupyterノートブックというツール
• Jupyterの概要
• 導入の仕方

Contenu connexe

Similaire à jupyterの紹介 #nds48

20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
Masanori Kado
 
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
nishikawa_makoto7
 

Similaire à jupyterの紹介 #nds48 (20)

今日から始める Go言語 と appengine
今日から始める Go言語 と appengine今日から始める Go言語 と appengine
今日から始める Go言語 と appengine
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
 
20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
 
TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化
 
デザインパターンを用いたリファクタリング
デザインパターンを用いたリファクタリングデザインパターンを用いたリファクタリング
デザインパターンを用いたリファクタリング
 
Linux debug
Linux debugLinux debug
Linux debug
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
130207_evernote活用術
130207_evernote活用術130207_evernote活用術
130207_evernote活用術
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
Programming camp code reading
Programming camp code readingProgramming camp code reading
Programming camp code reading
 
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
 
ページャ lessを使いこなす
ページャ lessを使いこなすページャ lessを使いこなす
ページャ lessを使いこなす
 
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
 
Python勉強会 2015-12-02
Python勉強会 2015-12-02Python勉強会 2015-12-02
Python勉強会 2015-12-02
 
リーダブルコード
リーダブルコードリーダブルコード
リーダブルコード
 
Fluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent Bit
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
 

Plus de civicpg

オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!
civicpg
 

Plus de civicpg (9)

オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!
 
#nds54 ルーチンワーク自動化の話
#nds54 ルーチンワーク自動化の話#nds54 ルーチンワーク自動化の話
#nds54 ルーチンワーク自動化の話
 
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
 
第52回なんてかんたんなJavaEE
第52回なんてかんたんなJavaEE第52回なんてかんたんなJavaEE
第52回なんてかんたんなJavaEE
 
第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51
 
第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ
 
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
 
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
 
Amazon SESのメール受信対応でサーバー減らせた話 #nds44
Amazon SESのメール受信対応でサーバー減らせた話 #nds44Amazon SESのメール受信対応でサーバー減らせた話 #nds44
Amazon SESのメール受信対応でサーバー減らせた話 #nds44
 

Dernier

Dernier (12)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

jupyterの紹介 #nds48

Notes de l'éditeur

  1. 今日みなさんにオススメするテーマとして「Jupyter」というツールについてご紹介します。
  2. 一言で言えば、コードを書いて実行できるノートブックです。 それがブラウザ上で動くのです。お手軽です。
  3. ノートブックの一覧があります。フォルダも作成することができますので、ファイルの整理もできますね
  4. ノートブックを新規作成します。今回は私の愛用しているPythonを実行できるノートブックです。
  5. ここにコードを書いていきます。コードを書いてすぐに実行し、結果を得ることができます。 簡単ですよね?セルという単位でコードの断片を実行することができます。セルを再編集して再実行することもできます。
  6. さて、そのjupyterの用途ですが、 ちょっと試しにコードを実行したい 試行錯誤した記録を残したい→実験ノート 実行結果を見える化して残したい こんな用途に便利です。
  7. ちょっと実行という用途であれば、最近のプログラミング言語にはREPLと呼ばれるような、実行環境がよくついてきていますね。
  8. アレをもうちょっと便利にしたような感じです。一緒です。
  9. テキストエリア上で入力するので複数行のコードも書きやすいです。 ちょっとクセもありますがコード補完もできますし、
  10. リファレンスなんかもサッと見る事ができます。 記録が残ってるところがREPLより便利です。
  11. REPLでは実行のヒストリーとして残すことはできますが、記録とはちょっと違いますよね。
  12. jupyterは見ての通りノートに書き綴ったように実行結果を残すことができます。他の人が後からこのノートブックを見て、実行結果付きで追うことができます。 書けるのはコードだけでなく、文書も残せます。 マークダウン形式のセルに書けばちょっとしたリッチテキストも書き残すことができます。
  13. コードを実行した結果なのですが、足し算した結果が出力されるというのは当たり前の事です。単純な値ではない結果もイイ感じに出力してくれます。
  14. 最近はPythonといったらデータ分析で有名ですよね。データサイエンティストさんの間ではjupyterが愛用されてるようです。 pandasという統計データ用ライブラリがあります。これを使って統計データを読み込んでみてデータを覗いたり、
  15. グラフを表示する。というのが簡単にできます。
  16. こうして記録したノートブックをgithubにアップすればgithubはノートブック形式を解釈して表示してくれるので、記録の公開にも便利です。(実行はしてません)
  17. 今回はpythonを使った実行を試してみましたが、Python以外のコードも実行できます。コードを実行する部分をカーネルと呼ぶのですが、Python以外にも色々なカーネルに対応しています。 元々jupyterはipython notebookというのが前身だったのですが、データ分析でよく使われるjulia、python、Rを使えるようにしてjupyterって事らしいです。
  18. 最後にJupyterの環境構築です。一番楽なのはホスティングされたWebサービスを使うものです。 でも、保存とかには向いてません。 dockerで自前の環境を用意すればローカル環境を汚さず実行できます。 一から環境作る場合には、anacondaというPythonの環境色々詰めました。みたいなパッケージを使うのが楽です。 anacondaをつかって環境構築するvagrantファイルを用意しました。 興味があったらこれに従ってインストールすると良いと思います。