Submit Search
Upload
Javascriptを書きたくないヒ トのためのPythonScript
•
31 likes
•
21,623 views
Kazufumi Ohkawa
Follow
Javascriptを書きたくないヒ トのためのPythonScript
Read less
Read more
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 25
Download now
Download to read offline
Recommended
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
Pynyumon03 LT
Pynyumon03 LT
drillan
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
Recommended
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
Pynyumon03 LT
Pynyumon03 LT
drillan
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
WindowsでPython
WindowsでPython
drillan
Stapy#17LT
Stapy#17LT
drillan
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
Python札幌201406
Python札幌201406
Shinya Okano
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
gree_tech
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
drillan
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
Stapy#22 LT
Stapy#22 LT
NaoY-2501
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Atsushi Odagiri
S14 t0 introduction
S14 t0 introduction
Takeshi Akutsu
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
プログラミング入門 Python超入門編
プログラミング入門 Python超入門編
ナレッジコミュニケーション
今日から始めるPython
今日から始めるPython
Keisuke Imura
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
More Related Content
What's hot
WindowsでPython
WindowsでPython
drillan
Stapy#17LT
Stapy#17LT
drillan
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
Python札幌201406
Python札幌201406
Shinya Okano
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
gree_tech
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
drillan
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
Stapy#22 LT
Stapy#22 LT
NaoY-2501
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Atsushi Odagiri
S14 t0 introduction
S14 t0 introduction
Takeshi Akutsu
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
プログラミング入門 Python超入門編
プログラミング入門 Python超入門編
ナレッジコミュニケーション
What's hot
(20)
WindowsでPython
WindowsでPython
Stapy#17LT
Stapy#17LT
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
S18 t0 introduction
S18 t0 introduction
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Python札幌201406
Python札幌201406
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Stapy#22 LT
Stapy#22 LT
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
S14 t0 introduction
S14 t0 introduction
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
プログラミング入門 Python超入門編
プログラミング入門 Python超入門編
Similar to Javascriptを書きたくないヒ トのためのPythonScript
今日から始めるPython
今日から始めるPython
Keisuke Imura
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
Fpgax20170924
Fpgax20170924
Natsutani Minoru
PyPy 紹介
PyPy 紹介
shoma h
Django で始める PyCharm 入門
Django で始める PyCharm 入門
kashew_nuts
Anaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみた
Yosuke Onoue
PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
書籍 「Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方」 を通して伝えたいFlaskのプラクティス.pdf
書籍 「Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方」 を通して伝えたいFlaskのプラクティス.pdf
taisa831
20190920 hannaripython20
20190920 hannaripython20
Otazo Man
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
marsee101
Homebrewによるソフトウェアの実装 (3)
Homebrewによるソフトウェアの実装 (3)
Yoshihiro Mizoguchi
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Tetsuya Morimoto
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
Iosif Takakura
Introduction pp.js
Introduction pp.js
Mizushima Kazuhiro
Pykonjp2014
Pykonjp2014
masahitojp
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
ssuserc75dc7
第2回関西ソーシャルゲーム勉強会
第2回関西ソーシャルゲーム勉強会
ha1t
OSS 資料管理システム kassis orange のご紹介
OSS 資料管理システム kassis orange のご紹介
Akifumi Nakamura
Similar to Javascriptを書きたくないヒ トのためのPythonScript
(20)
今日から始めるPython
今日から始めるPython
Python札幌 2012/06/17
Python札幌 2012/06/17
Pyconjp2014_implementations
Pyconjp2014_implementations
Fpgax20170924
Fpgax20170924
PyPy 紹介
PyPy 紹介
Django で始める PyCharm 入門
Django で始める PyCharm 入門
Anaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみた
PHPとJavaScriptの噺
PHPとJavaScriptの噺
書籍 「Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方」 を通して伝えたいFlaskのプラクティス.pdf
書籍 「Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方」 を通して伝えたいFlaskのプラクティス.pdf
20190920 hannaripython20
20190920 hannaripython20
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Homebrewによるソフトウェアの実装 (3)
Homebrewによるソフトウェアの実装 (3)
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
Introduction pp.js
Introduction pp.js
Pykonjp2014
Pykonjp2014
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
第2回関西ソーシャルゲーム勉強会
第2回関西ソーシャルゲーム勉強会
OSS 資料管理システム kassis orange のご紹介
OSS 資料管理システム kassis orange のご紹介
More from Kazufumi Ohkawa
圏論walker
圏論walker
Kazufumi Ohkawa
ハッピーハッピー構造生成まつり’67
ハッピーハッピー構造生成まつり’67
Kazufumi Ohkawa
ClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅ
Kazufumi Ohkawa
SAR精度70% その先へ
SAR精度70% その先へ
Kazufumi Ohkawa
視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること
Kazufumi Ohkawa
量子化学計算外伝 すごいよ!! FMO
量子化学計算外伝 すごいよ!! FMO
Kazufumi Ohkawa
あまり知られていない静岡の言語戦争の歴史
あまり知られていない静岡の言語戦争の歴史
Kazufumi Ohkawa
IPython notebookを使おう
IPython notebookを使おう
Kazufumi Ohkawa
Mishimasyk141025
Mishimasyk141025
Kazufumi Ohkawa
実践コンピュータビジョン8章
実践コンピュータビジョン8章
Kazufumi Ohkawa
R -> Python
R -> Python
Kazufumi Ohkawa
ChEMBLを使おう
ChEMBLを使おう
Kazufumi Ohkawa
Unigram mixtures
Unigram mixtures
Kazufumi Ohkawa
エンジョイ☆スクレイピング
エンジョイ☆スクレイピング
Kazufumi Ohkawa
Redmineでもめない会議☆
Redmineでもめない会議☆
Kazufumi Ohkawa
pythonでオフィス快適化計画
pythonでオフィス快適化計画
Kazufumi Ohkawa
入門機械学習読書会9章
入門機械学習読書会9章
Kazufumi Ohkawa
入門機械学習6章
入門機械学習6章
Kazufumi Ohkawa
入門機械学習読書会二回目
入門機械学習読書会二回目
Kazufumi Ohkawa
入門機械学習1,2章
入門機械学習1,2章
Kazufumi Ohkawa
More from Kazufumi Ohkawa
(20)
圏論walker
圏論walker
ハッピーハッピー構造生成まつり’67
ハッピーハッピー構造生成まつり’67
ClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅ
SAR精度70% その先へ
SAR精度70% その先へ
視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること
量子化学計算外伝 すごいよ!! FMO
量子化学計算外伝 すごいよ!! FMO
あまり知られていない静岡の言語戦争の歴史
あまり知られていない静岡の言語戦争の歴史
IPython notebookを使おう
IPython notebookを使おう
Mishimasyk141025
Mishimasyk141025
実践コンピュータビジョン8章
実践コンピュータビジョン8章
R -> Python
R -> Python
ChEMBLを使おう
ChEMBLを使おう
Unigram mixtures
Unigram mixtures
エンジョイ☆スクレイピング
エンジョイ☆スクレイピング
Redmineでもめない会議☆
Redmineでもめない会議☆
pythonでオフィス快適化計画
pythonでオフィス快適化計画
入門機械学習読書会9章
入門機械学習読書会9章
入門機械学習6章
入門機械学習6章
入門機械学習読書会二回目
入門機械学習読書会二回目
入門機械学習1,2章
入門機械学習1,2章
Javascriptを書きたくないヒ トのためのPythonScript
1.
Javascriptを書きたくないヒ トのためのPythonScript Shizuoka.py #2 @kzfm
2.
私について • @kzfm – 製薬会社の研究員(最近インフラ周りばかり) – perl ->
python (-> haskell) • 最近pandas(Rみたいに使えるやつ)が お気に入り • PyconAPACも参加登録済み
3.
マリー・アントワネット曰く
4.
じJajavascriptがいやなら pythonで書けばいいじゃない
5.
これによりPython革命勃発 (私の中で)
6.
ブラウザでのPython実行方法 1. javascriptでpythonを実装する 1. <script type=
text/python ></ script> 2. pythonで書いてjavascriptにコンパ イルする 1. 実行されるのはjavascript 1. sass -> css 2. jade -> html
7.
Brython javascriptに汚染されて汚れまくった この世界をPythonで浄化してやる! (意訳) h%p://www.brython.info/
8.
python inside !
9.
いいところ、わるいところ • brython.jsを読みこめばpythonで開発で きるのでお手軽にはじめられる • 開発も活発 •
jQuery等のjavascript資産を気軽に流用 できなさそう • 最初の読み込みで若干モサッとする – javascriptのパーサを通して構文解析して構文 木をつくってjavascriptを出力してevalしてい る
10.
我々は 完全に浄化された言語世界では 生きられないのです!
11.
ブラウザでのPython実行方法 1. javascriptでpythonを実装する 1. <script type=
text/python ></ script> 2. pythonで書いてjavascriptにコンパ イルする 1. 実行されるのはjavascript 1. scss -> css
12.
Javascriptと Pythonの 融合個体的アプローチ
13.
PythonScript • Pythonサブセット • javascriptライブラリ を簡単に取り込める h%p://apppyjs.appspot.com/
14.
はじめかた pip install pythonscripttranslator wget
http://bit.ly/YSAbSS -O pythonscript.js echo 'print "Hello Shizuoka"' > app.py pythonscript < app.py > app.py.js (app.py.js) console.log("Hello Shizuoka");
15.
<!DOCTYPE html> <html>
<body> <h1>PythonScript Example</h1> <script src="pythonscript.js"></script> <script src="app.py.js"></script> </body> </html>
16.
補足 • pythonscripttranslatorをインス トールするとpythonscriptというコマ ンドが使えるようになります • これはpythonをjavasrcriptに変換し ます。 •
wgetでDLしたpythonscript.jsには 上記javascriptが必要とする関数が定義 されています。
17.
コンパイルの流れ 1. コードをPythonの astモジュールで パースして抽象構文 木に変換 2. PythonToPytho nJSにより抽象構文 木がPythonJSに変 換 3.
PythonJSの抽象構 文木から Javascript生成
18.
jQueryの使い方 • PythonScriptにjQueryバインディン グがついてるのでそれを読み込んでおく • J関数でアクセスできる($といっしょ) •
jQueryオブジェクトはj bu%on = J("#newtask”) bu%on.bind("click", false, self.create) j = J("#taskinput").j name = JS("j.val()")
19.
Javascriptを取り込む • JS関数を使えばいい • 例)handlebarsをつかう source
= "<div class='view'>{{name}}<a href='#' class='destroy'></a></div>" + “” template = JS("Handlebars.compile(source)") name = self.model.name data = JS("template({name:name})") 注1)0.7.3だとJS関数の中で文字列をそのまま書くとコケる 注2)文字列も一度評価しないといけない感じ (+ )
20.
開発Tips • livereloadを使えば、コードの更新を検知 してコンパイル、ブラウザのリロードをして くれる – http://blog.kzfmix.com/entry/ 1367924270 •
よく監視させてるもの – Jade – Sass/Compass – PythonScript
21.
いいところ、わるいところ • Javascriptの資産を手軽に使えるので 便利 • 楽しい、超楽しい、そして超ハマる •
バージョン上がると「えー動かんやん、な んでやーーー!?」ってなる – 発展途上
22.
はまったところ • jQueryバインディングにdelegateがなかった – 自分で追加して解決 •
ブラウザのイベントが受け取れない – どうすんの? • クラスメソッドが使えない – シングルトンの作り方が分からなかった • *args,**kwargsはサポートされているが – 関数で渡せなくてこまった • が使えないのもテンプレート書くときに ちょっとめんどくさかった
23.
デモ • HakuinというSpine.jsインスパイアな フロントエンドMVCフレームワークを紹 介します。 • 白隠正宗美味いので飲むといいよ
24.
あなたが使うべきなのは、 PythonScript? それともJavaScript?
25.
CoffeeScriptでしたー (^O^)/ javascript
Download now