python lt

42
初初初初 PYTHON

Upload: soutarou-takeshita

Post on 23-Jan-2017

715 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Python LT

初めての PYTHON

Page 2: Python LT

自己紹介▸ 竹下 颯太郎▸ 電気通信大学学部三年生▸ 大学では C 言語▸ 来年もう一回、三年生▸ 国際交流サークル 副代表 ( 名前だけ )

▸ 春にメキシコ行ってきます

Page 3: Python LT

話したい内容▸ request と beautifulsoup を使ってみた話▸ bottle を使ってみた話▸ 前から欲しかったものを作ろうとしてみた話( 時間があるところまで頑張ります。 )

Page 4: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 5: Python LT

したかったこと▸ php で書いた web アプリの拡張

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 6: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

FURLY.ME▸ 友人と二人で作ってみた動画のブックマーキングサービス▸ 未完成だけど一応公開してあります。

Page 7: Python LT

HTTP://WWW.GIZMODO.JP/REQUEST と BEAUTIFULSOUP を使ってみた話

Page 8: Python LT

やったこと▸ request でページのソースコード取得▸ beautifulsoup で動画のコードを見つける▸ Furly.me に渡してあげる (cakephp)

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 9: Python LT

手が震えてるんでデモはしません

Page 10: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 11: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 12: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 13: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 14: Python LT

ディレクトリ構造REQUEST と BEAUTIFULSOUP を使ってみた話

Page 15: Python LT

REQUEST と BEAUTIFULSOUP を使ってみた話

HTTP://WWW.GIZMODO.JP/

欲しい一行

Page 16: Python LT

REQUEST -> BEAUTIFULSOUPREQUEST と BEAUTIFULSOUP を使ってみた話

IFRAME タグを探して格納

FULRY.ME 用に整形

URL の HTML を取ってくる

Page 17: Python LT

CAKEPHP に動画を渡す(方法がダサい)REQUEST と BEAUTIFULSOUP を使ってみた話

PYTHON

CAKEPHP

Page 18: Python LT

感想▸ PHP 使ってできないことではなかった。▸ でも、欲しい行を見つけてくるのは bs4 使うと楽。▸ なんでかわからないけど自作モジュールを import することがすごく楽しい。

REQUEST と BEAUTIFULSOUP を使ってみた話

Page 19: Python LT

BOTTLE を使ってみた話

Page 20: Python LT

BOTTLE を使ってみた話

したかったこと▸ Python の Web フレームワーク触ってみたかった。▸ 簡単に友人と URL を共有できるものをつくりたかった。

Page 21: Python LT

なぜ BOTTLE?

▸ cakephp フルスタックフレームワークもいいけど、ちょろっと実装したい▸ bottle は 1 ファイルのみで構成されてるみたい。 (4107行 )▸ 必要な機能はプラグインで後から追加できる。

BOTTLE を使ってみた話

Page 22: Python LT

やったこと▸ bottle, postgresql, jinja2 を使って簡単な CMS

BOTTLE を使ってみた話

Page 23: Python LT

デモします

Page 24: Python LT

BOTTLE を使ってみた話

ディレクトリ構造

bootstrap

サーバーURL に対応するサイトのタイトルを所得する

フロント

初期のデータベース操作

Page 25: Python LT

サーバーサイド?BOTTLE を使ってみた話

データベース (postgresql)

Page 26: Python LT

サーバーサイド?BOTTLE を使ってみた話

データベース (postgresql)

代入

Page 27: Python LT

サーバーサイド?BOTTLE を使ってみた話

データベース (postgresql) 引っかかった

Page 28: Python LT

サーバーサイド?BOTTLE を使ってみた話

データベース (postgresql) 引っかかった

Page 29: Python LT

サーバーサイド?BOTTLE を使ってみた話

セッション

Page 30: Python LT

サーバーサイド?BOTTLE を使ってみた話

セッション書き込み

読み出し

各関数毎に呼び出さなきゃいけない

Page 31: Python LT

サーバーサイド?BOTTLE を使ってみた話

ルーティング

Page 32: Python LT

感想▸ cakephp と違って導入が一瞬で楽チン▸ 簡単な cms なら十分▸ jinja2 も python コード簡単に埋め込めていい

BOTTLE を使ってみた話

Page 33: Python LT

最後

Page 34: Python LT

前から欲しかったものを作ろうとしてみた話

Page 35: Python LT

前から欲しかったものを作ろうとしてみた話

したかったこと▸ 洋楽の歌詞のリスニング教材作成を自動化したかった

Page 36: Python LT

デモします

Page 37: Python LT

前から欲しかったものを作ろうとしてみた話

やったこと▸ request, bs4 で歌詞サイトから歌詞を持ってくる▸ random モジュールをつかってランダムに単語を抜く

Page 38: Python LT

文字抜きのところ前から欲しかったものを作ろうとしてみた話

原始的

一行ずつ取り出して

記号が入っている単語は PASS して

所々単語を抜く

1 単語ずつ取り出して

Page 39: Python LT

前から欲しかったものを作ろうとしてみた話

今後の目標▸ 文字抜きのアルゴリズムを改善したい

▸ 間違えやすい英単語を優先的に▸ 連続で2単語抜かない▸ 適度な間隔で

Page 40: Python LT

PYTHON 勉強してみての感想

Page 41: Python LT

JEDI-VIM (VIM エディターのプラグイン )すごく良かったです。

Page 42: Python LT

ご静聴ありがとうございました