配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack

1,263 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,263
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
2
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack

  1. 1. dotcloudによるすぐ始める twitter webアプリ開発 Twitter API勉強会 2012年4月24日 python-CLI編 PHP編 #twtr_hack @yut148
  2. 2. 自己紹介@yut148 職業 クラウドを大量に使っているゲーム会社 or エンターテイメント会社に勤めています。 最近所属変更があって担当職務がよくわかりませんが、 前職含め、ゲーム会社にてサーバ管理の仕事が多い。 写経家 要はコピペPG程度(←↑今日はこれ大事) 会社のソースはPHPが多い
  3. 3. 本日のお題1)twitterの webアプリケーション開発上の  問題2)dotcloudについて3)サンプル
  4. 4. 皆様、twitterのwebアプリ開発されてますか?アプリケーション登録必要ですよね。。ところで、サーバどうしてますか?・リアルなサーバで開発を行うデメリット →電気代、ハードウェア故障、熱・VPS、レンタルサーバ、クラウドで開発を行うデメリット →利用用金、クレジットカード
  5. 5. 皆様、twitterのwebアプリ開発されてますか?アプリケーション登録必要ですよね。。ところで、サーバどうしてますか?これらに共通の問題・リアルなサーバで開発を行うデメリット →電気代、ハードウェア故障、熱・VPS、レンタルサーバ、クラウドで開発を行うデメリット →利用用金、クレジットカードネットワーク設定 ドメイン費用、名前解決、NAT設定OS等の環境設定 ミドルウェアの設定 Apache、.htaccess、sshセキュリティパッチ 故障対応ログの維持
  6. 6. 皆様、twitterの開発されてますか?ところで、サーバどうしてますか?・リアルなサーバで開発を行うデメリット →電気代、ハードウェア故障、熱 要は結局の所・VPS、レンタルサーバ、クラウドで開発を行うデメリット 結論:めんどくさい →利用用金、クレジットカードネットワーク設定 ドメイン費用、名前解決、NAT設定OS等の環境設定 ミドルウェアの設定 Apache、.htaccess、sshセキュリティパッチ 故障対応ログの維持
  7. 7. 2)dotcloudについてそこで、PaaSのdotcloudなら、、↓これらの作業は不要です。ネットワーク設定 BIND、名前解決、NAT設定OS等の環境設定 ミドルウェアの設定 Apache、.htaccess、sshセキュリティパッチ 故障対応ログの維持
  8. 8. 2)dotcloudについてそこで、PaaSのdotcloudなら、、↓これらの作業は不要です。ネットワーク設定 BIND、名前解決、NAT設定OS等の環境設定 ミドルウェアの設定 Apache、.htaccess、sshセキュリティパッチ 故障対応ログの維持しかもFreeアカウントならクレジットカード 等不要
  9. 9.          dotcloud.comdotcloudなら、とりあえずドメインがふられる。 ∴ アプリケーション登録ができる。
  10. 10. dotcloud Sign UpSign Up(アカウント作成)に必要なもの・python環境 ver2.6が必要 windowsでもMacでもLinuxでもOK  けれど、virtualBOXとかでLinuxを動かした ほうがおすすめ・メールアドレス gmailとかでok
  11. 11. dotcloud.com サインはこちらから ※サービス名+アカウント名のドメインになるの で、アカウント登録の時に注意
  12. 12. 開発環境の下準備 dotcloudというコマンドのインストール詳しくは   →http://goo.gl/cCYVx
  13. 13. 3)サンプル python編 コマンドラインでの利用
  14. 14. 入門ソーシャルデータ 著者Matthew Russell(P96)twitterのフォローしているユーザID取得を試すには、、 このコードを試したい↓https://github.com/ptwobrussell/Mining-the-Social-Web/blob/master/python_code/friends_followers__get_friends.pyhttp://goo.gl/QJxXL
  15. 15. しかしtwitterのアプリケーション登録ってドメイン必要ですよね。。 ここ
  16. 16. でdotcloudなら、、http://friendsfollowersgetfriens-3opsr7qp.dotcloud.com/サブドメインが設定されます。アプリケーション名ーユーザ名.dotcloud.comこれでアプリケーション登録できます。※実際は設定されたドメインを調べる必要があります。
  17. 17. 開発手順1)自分の環境でディレクトリとファイルを作る[root@localhost ‾]# ls -laR friends_followers__get_friends/friends_followers__get_friends/:total 16drwxr-xr-x 3 root root 4096 Apr 14 12:10 .dr-xr-x---. 5 root root 4096 Apr 14 12:36 ..-rw-r--r-- 1 root root 62 Apr 14 12:10 dotcloud.ymldrwxr-xr-x 2 root root 4096 Apr 14 16:14 friends_followers__get_friendsfriends_followers__get_friends/friends_followers__get_friends:total 12drwxr-xr-x 2 root root 4096 Apr 14 16:14 .drwxr-xr-x 3 root root 4096 Apr 14 12:10 ..-rw-rw-r-- 1 root root 2341 Mar 29 23:02 friends_followers__get_friends.py[root@localhost ‾]# cat friends_followers__get_friends/dotcloud.ymlweb: type: python approot: friends_followers__get_friends
  18. 18. 開発手順2)dotcloud コマンドでpushしてdotcloud push friendsfollowersgetfriendsfriends_followers__get_friends3)sshでログインdotcloud ssh friendsfollowersgetfriends.webtwitterだけはインストール# $SHELLdotcloud@friendsfollowersgetfriends-default-web-0:‾$ easy_install twitter
  19. 19. 実行dotcloud@friendsfollowersgetfriends-default-web-0:‾/code/friends_followers__get_friends$ pythonfriends_followers__get_friends.py sarasvati_dev VJxJYySM6XjJA7ydEB5BA4SVrl6ABSVmCm51IrdBCqxZudiElsjtWw9MWLBP0Hi there! Were gonna get you all set up to use MiningTheSocialWeb./home/dotcloud/env/lib/python2.6/site-packages/twitter-1.7.2-py2.6.egg/twitter/api.py:84: DeprecationWarning: object.__init__() takes no parametersIn the web browser window that opens please choose to Allowaccess. Copy the PIN number that appears on the next page and paste ortype it here:Opening: http://api.twitter.com/oauth/authorize?oauth_token=53cVoKMztBC8i9tfykDLbaGEiZxwluj07EGrYeyH4Uh, I couldnt open a browser on your computer. Please go here to getyour PIN:http://api.twitter.com/oauth/authorize?oauth_token=53cVoKMztBC8i9tfykDLbaGEiZxwluj07EGrYeyH4 ↑ブラウザから入力
  20. 20. PINコードがとれる。
  21. 21. 表示されたPINコードを入力した結果↑地味だな。。無事、フォローしている人のIDが取れる。(上の例では7名)※ただし再度pushしたらtwitterを入れ直し 一度のpushでがんばるのがいいか。。
  22. 22. 3)サンプル php編
  23. 23. Twitter API ポケットリファレンス  著者 山本 裕介 氏P201 サンプルコード リスト購読者の管理http://goo.gl/Mfeho
  24. 24. 実行手順1)自分の環境でディレクトリとファイルを作る[root@localhost ‾]# tree twtr-api-pocket-reference/ ←ディレクトリtwtr-api-pocket-reference/ ←ディレクトリ├── dotcloud.yml ←ファイル└── twtr-api-pocket-reference ←ディレクトリ ├── manage_list_subscription.php ←phpファイル └── tmhOAuth.php ←phpファイル1 directory, 3 files[root@localhost ‾]# cat twtr-api-pocket-reference/dotcloud.ymlweb: ←dotcloud.ymlという定義ファイルの中身 type: php approot: twtr-api-pocket-reference作るファイルは2ディレクトリと3ファイルだけ
  25. 25. 実行手順2)dotcloud コマンドでcreateしてdotcloudにアプリケーションを作る[root@localhost ‾]# dotcloud createtwtrapipocketreferenceCreated application "twtrapipocketreference"※最初の1回だけハイフン(-)は使えない
  26. 26. 実行手順3)dotcloud コマンドでpushして[root@localhost ‾]# dotcloud push twtrapipocketreference /root/twtr-api-pocket-reference
  27. 27. # upload /root/twtr-api-pocket-reference ssh://dotcloud@uploader.dotcloud.com:443/twtrapipocketreference# rsyncPseudo-terminal will not be allocated because stdin is not a terminal.building file list ... done./dotcloud.ymltwtr-api-pocket-reference/twtr-api-pocket-reference/manage_list_subscription.phpsent 1.40K bytes received 56 bytes 265.27 bytes/sectotal size is 2.83K speedup is 1.9405:13:12 ---> Deploy of "twtrapipocketreference" scheduled for revision rsync-1335071591826 at 2012-04-22 05:13:1205:13:12 ---> Building the application...05:13:12 [web] Build started for revision rsync-1335071591826 (clean build)05:13:19 [web] Build completed successfully. Compiled image size is 428KB05:13:19 ---> Initializing new services... (This may take a few minutes)〜中略〜Deployment finished. Your application is available at the following URLsweb: http://twtrapipocketreference-3opsr7qp.dotcloud.com/
  28. 28. 実行手順3)dotcloud コマンドでsshログインコードを直す[root@localhost]# dotcloud ssh twtrapipocketreference.web# $SHELLdotcloud@twtrapipocketreference-default-web-0:‾$アプリケーション名.サービス名でssh
  29. 29. 実行手順4)dotcloudでviを使うdotcloud@twtrapipocketreference-default-web-0:‾$ vi code/twtr-api-pocket-reference/manage_list_subscription.phpmacの場合ターミナルの環境設定..→設定→詳細→言語環境でUnicode(UTF-8)にしないと文字化けする
  30. 30. 実行手順5)manage_list_subscription.phpを修正12 array("consumer_key" => "コンシューマキー",13 "consumer_secret" => "コンシューマシークレット",14 "user_token" => "アクセストークン",15 "user_secret" => "アクセストークンシークレット"));macの場合ターミナルの環境設定..→設定→詳細→言語環境でUnicode(UTF-8)にしないと文字化けするdotcloudでもphpソースの変更は不要
  31. 31. 6)修正したらブラウザから確認http://twtrapipocketreference-3opsr7qp.dotcloud.com/manage_list_subscription.phphttp://goo.gl/re0Fd鍵アカウントの場合なにも表示されない。
  32. 32. 6)修正したらブラウザから確認
  33. 33. まとめtwitterアプリを開発するなら dotcloud.comがお手軽です。
  34. 34. Freeアカウントを使いましょう。
  35. 35. 制限事項(Freeアカウントの場合) 登録できるアプリは基本2つまで。  とはいえサブディレクトリで工夫できる ディスク容量お困りの際は@yut148まで ベストエフォートでお答えします。

×