読者です 読者をやめる 読者になる 読者になる

Perlがくしゅう帳(Rubyも)

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_で活動しています。 最近は主にPerl関連の勉強会やコミュニティに参加しています。移転前のブログはこちら->http://ruby.doorblog.jp/

第2期Perl入学式修了したので、MojoliciousとtwitterAPIのおさらい的なアプリを作ってみた

Perl入学式第2期が無事終了しました。

今期は非力ながらサポーターとして関わらせていただき、色々なエンジニアの方々との出逢いもあり、とても楽しく実りのある1年が過ごせました。

 

せっかくのタイミングなので、非ITエンジニアで何の知識も無い人でも、Perl入学式で1年学べば、こんな感じのものは作れるようになりますよ的なアプリを作ってみました。

 

 

少し前に、

Macのターミナルから喋らせる事ができる事を教えてもらったので、TL上でよく見かける面白ツイートを喋らせてみました。

 

今回新たにチャレンジしてみたこと

Config::PLモジュール

前にNet::Twitter::Lite::WithAPIv1_1を使ってtwitterbotを使った時は、TwitterAPIにアクセスする為のパスワードとかキーとかの公開しちゃいけない設定ファイルは、テクストファイルをわざわざopen関数で開いて、読んで、閉じて、使っていたのですが、songmuさんの作られたConfig::PLという、設定ファイル内容(キーと値)をハッシュ形式で書いて.plファイルとして保存しておけば、簡単にキーと値が読み出せるモジュールを使いました。面倒くさくなくて超便利。書いたコードも短いので、使い方は見たままです。 

 

TwitterAPIから目的のTweetをとってくる部分をモジュール分離にした

Mojoliciousのgenerateコマンドで作られる最初のひな形コードに、TwitterAPIを弄るコードを直接書かず、Tweet.pmというモジュールに分離してみました。モジュールでは、引数に引用したいtwitterユーザーのidを渡してオブジェクトを生成すると、そのオブジェクトのget_tweetメソッドで対象ユーザーの過去300件のtweetから15文字以内の短いセンテンスのツイート群を配列リファレンスととして返すというものです。perlオブジェクト指向っぽいコードの書き方を試してみました。

 

 

generate Mojoで作った実行ファイル「sample」を、とりあえずmorbo sampleで実行して、127.0.0.1:3000にアクセスしてみたらこんな感じです。

f:id:tomcha0079:20140413133106p:plain

 

いつもの例によって、ひさいち先生にご登場頂きました。ボックスにtwitterIDを入れてボタンを作るボタンを押すと、しゃべらせるボタンが生成されます。

f:id:tomcha0079:20140413133126p:plain

流石先生、いい感じなボタンが沢山生成されましたね。実際ボタンを押すと、

f:id:tomcha0079:20140413140728p:plain

 

こんなことや

f:id:tomcha0079:20140413133251p:plain

 

 

こんなことを

f:id:tomcha0079:20140413133330p:plain

Macがしゃべります。

 

 コードはGithubのこちらに上げました。コードもごく短かく、見たまんまです。動作はMac限定です。

TwitterAPIを使うための各種キーの取得方法は、ゆーすけべーさんのこちらの記事が参考になります。