普通のPythonistaが
PHPやってみた。hideo54
自己紹介(2回目)
• Twitter: @hideo54 • 今日で15歳になりました(wishlist.hideo54.com)
• 好きなもの • Apple, Twitter, Python
普段Pythonで
何やってるかというと
tweepyでTwitterbotを
作ったりしています
自分だけでなくみんなが
使えたら楽しいのになあ
( ˘⊖˘) .oO(Web…?)
( ˘⊖˘) .oO(やってみるか…)
やろうと思ったこと
• Twitterbotを作れるWebサービス • 既にある気がするけど(゚ε゚)キニシナイ!!
やろうと思ったこと
• ユーザーはいわゆる“Sign in with Twitter”でログインする
• お手製のログインシステムを作る必要がない
• MySQLにAccessTokenを保存するだけ
初めてのPHPの練習には
最適じゃなイカ?
図解
ConsumerKey&Secretから RedirectURL作る
TwitterAccountで ログインしてもらう
ページ内の ボタン
twitteroauth.php OAuth.php
index.php
Library
図解
返されたTokenから AccessTokenゲット
→SESSION, DBに保存
Tokenを 返してくれる
twitteroauth.php OAuth.php
SESSIONに AccessTokenが あるのを確認
index.php
Library
図解
ページ内の ボタン
index.php
DBにbot内容を保存
MySQL Database
図解
MySQL-Connector Tweepy
Library
MySQL Database
bot内容を取得し 定時実行ファイルを出力
atコマンドで実行時刻を指定
execute.py
感想
• PHP思ったより簡単(書いてたら慣れる) • ずっとPythonマンだったのでブラウザで自分の作ったものが動くのは嬉しい
• Webで公開するのはセキュリティ心配
感想
• サーバー設定がつらかった
• 「MySQLに接続できない…」で3日
感想
• Pythonでのbot処理の方法考えるのもつらかった
• 結局、DBからデータを引いてくる→atコマンドでそれぞれのbot用の実行プログラムを作り定時実行する、という形に
• よりよい方法ありそう…
今後のタスク
• セキュリティざるい • 実はまだSQLインジェクション対策してない
• デザインがクソ • CSS書いてない
まだ公開できない OSSとはなんだったのか
今回成長したこと
• 初めてPHPを触った • 初めてMySQLを触った • 実装はわりといけた • できることが広がったので頑張りたい(小並感)
頑張りましたのん (のんのんびより7巻OAD付き入手できなかったマン)
ただ…
• 面白くない • 新規性がない • ダメ
展示• CharacterTrends • 今まで見たアニメ(animetick.net/users/
hideo54)に出てきたキャラに関するツイートを拾い、自然言語処理を通してポジティブ度を算出
• つぶやかれている頻度とともに可視化
展示• キャラをクリックすると+1できる • 投票者の中での人気度とTwitterでのポジティブ度とをグラフにとって相関関係を見たりもできる
• データがまだ少なめなのでよければご協力ください
展示
• Developer • Python: @hideo54 • JavaScript: @hakatashi(OB) • 実は@hakatashiのほうが頑張ってる
感想
• 誰得ではあるが新規性は生えていて僕にしてはアイデアすごいと思った
• @hakatashiが「単位いいいいいいい」って言ってて罪悪感
• 生まれ変わったらWebマンになりたい
( ˘⊖˘) .oO(今から勉強して
みるのもありかな…)
公開できない OSSとはなんだったのか
Thank you for listening!
ご清聴ありがとうございました