63
ぼくにもできたよ! Ruby を使ったデブラブハック 世界一言語トークス Ruby (西口 直樹)

ぼくにもできたよ! Rubyを使ったデブラブハック

Embed Size (px)

Citation preview

Page 1: ぼくにもできたよ! Rubyを使ったデブラブハック

ぼくにもできたよ!Ruby を使ったデブラブハック

世界一言語トークスRuby (西口 直樹)

Page 2: ぼくにもできたよ! Rubyを使ったデブラブハック

なぜ、プログラミングするんだろう?

•プログラムを書くのが仕事だから•お客様のご要望を実現できるから•お金をもらえるから

Page 3: ぼくにもできたよ! Rubyを使ったデブラブハック

なぜ、プログラミングするんだろう?

•プログラムを書くのが仕事だから•お客様のご要望を実現できるから•お金をもらえるから

それだけ?

Page 4: ぼくにもできたよ! Rubyを使ったデブラブハック

なぜ、プログラミングするんだろう?

•プログラムを書くのが楽しいから•自分のアイデアが動くモノになる喜び•生活を楽にしたいから

Page 5: ぼくにもできたよ! Rubyを使ったデブラブハック

それ、 ならできるよ

Page 6: ぼくにもできたよ! Rubyを使ったデブラブハック

Rubyの良さって何だろう?• スクリプト言語• インタプリタ言語• オブジェクト指向言語• 動的言語• プラットフォームに非依存• 生産性が高い• 読み易い

Page 7: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 8: ぼくにもできたよ! Rubyを使ったデブラブハック

Rubyの良さって何だろう?

•ぼくでも書いてて楽しい

•ぼくでも動くモノが作れる

•ぼくでも生活を楽に出来た

Page 9: ぼくにもできたよ! Rubyを使ったデブラブハック

ぼくって誰だよ?

Page 10: ぼくにもできたよ! Rubyを使ったデブラブハック

C と Scala を楽しみにいらっしゃった皆さんこんにちは。

Page 11: ぼくにもできたよ! Rubyを使ったデブラブハック

自己紹介•西口 直樹 と申します。

•はてな id:nsgc

• Twitter @nsgc

• TIS株式会社

• Ruby プログラマー

Illustration by 尚治みきゆhttp://mikiyu.oops.jp/405/

Page 12: ぼくにもできたよ! Rubyを使ったデブラブハック

自己紹介

•とても、スーツです•目立ったプロダクトは無いです•言語について、お話するの初めてです•よろしくお願いします

Illustration by 尚治みきゆhttp://mikiyu.oops.jp/405/

Page 13: ぼくにもできたよ! Rubyを使ったデブラブハック

ぼくにもできたよ!Ruby を使ったデブラブハック

世界一言語トークスRuby (西口 直樹)

Page 14: ぼくにもできたよ! Rubyを使ったデブラブハック

AGENDA(1) 自己紹介

(2) Ruby を使ったデブラブハック

‣ DevLOVEのサイトの更新チェック

‣ DevLOVEについて、つぶやく

‣ DevLOVEの感想を、お近くのブログに書く

(3) まとめ

Page 15: ぼくにもできたよ! Rubyを使ったデブラブハック

AGENDA(1) 自己紹介

(2) Ruby を使ったデブラブハック

‣ DevLOVEのサイトの更新チェック

‣ DevLOVEについて、つぶやく

‣ DevLOVEの感想を、お近くのブログに書く

(3) まとめ

Page 16: ぼくにもできたよ! Rubyを使ったデブラブハック

AGENDA(1) 自己紹介

(2) Ruby を使ったデブラブハック

‣ DevLOVEのサイトの更新チェック

‣ DevLOVEについて、つぶやく

‣ DevLOVEの感想を、お近くのブログに書く

(3) まとめ

Page 17: ぼくにもできたよ! Rubyを使ったデブラブハック

Ruby を使ったデブラブハック

DevLOVEHacks(デブラブハック)とは、プログラマが自分の仕事を片付けるために書いている小さなプログラムであるHackを、仕事や生活全般、さらにはDevLOVEに広げたもの。 その根底に流れるのは、「シンプルかつ楽しくするような習慣を生み出してデブラブとフュージョンしちゃおう」という考え方。

Page 18: ぼくにもできたよ! Rubyを使ったデブラブハック

Ruby を使ったデブラブハック

DevLOVEHacks(デブラブハック)とは、プログラマが自分の仕事を片付けるために書いている小さなプログラムであるHackを、仕事や生活全般、さらにはDevLOVEに広げたもの。 その根底に流れるのは、「シンプルかつ楽しくするような習慣を生み出してデブラブとフュージョンしちゃおう」という考え方。

illustration by guata

Page 19: ぼくにもできたよ! Rubyを使ったデブラブハック

Ruby を使ったデブラブハック

‣ DevLOVEサイトの、更新チェック‣ DevLOVEについて、つぶやく‣ DevLOVEの感想を、お近くのブログに書く

Page 20: ぼくにもできたよ! Rubyを使ったデブラブハック

Ruby を使ったデブラブハック

➡DevLOVEサイトの、更新チェック

‣ DevLOVEについて、つぶやく‣ DevLOVEの感想を、お近くのブログに書く

Page 21: ぼくにもできたよ! Rubyを使ったデブラブハック

DevLOVEサイトの、更新チェック

Page 22: ぼくにもできたよ! Rubyを使ったデブラブハック

DevLOVEサイトの、更新チェック

•やりたかったこと✓サイトの更新があったら、すぐに知りたい

✓毎日確認しに行くのは嫌

•作ったもの✓DevLOVEサイトのRSSメーカー

Page 23: ぼくにもできたよ! Rubyを使ったデブラブハック

DevLOVEサイトの、更新チェック<rss> <channel> <title> Devlove </title> <link> DevLOVEサイトのURL </link> <description> サイトについて </description> <item> <title> 開催概要 (12/10 12:00) </title> <link> 開催概要のURL </link> <description> 開催概要の本文 </description> <pubdate> 2009/12/10 12:00 </pubdate> </item> <item> <title> タイムテーブル (12/9 17:50) </title> <link> タイムテーブル のURL </link> <description> タイムテーブルの本文 </description> <pubdate> 2009/12/9 17:50 </pubdate> </item> </channel></rss>

Page 24: ぼくにもできたよ! Rubyを使ったデブラブハック

DevLOVEサイトの、更新チェック<rss> <channel> <title> Devlove </title> <link> DevLOVEサイトのURL </link> <description> サイトについて </description> <item> <title> 開催概要 (12/10 12:00) </title> <link> 開催概要のURL </link> <description> 開催概要の本文 </description> <pubdate> 2009/12/10 12:00 </pubdate> </item> <item> <title> タイムテーブル (12/9 17:50) </title> <link> タイムテーブル のURL </link> <description> タイムテーブルの本文 </description> <pubdate> 2009/12/9 17:50 </pubdate> </item> </channel></rss>

<rss> <channel> <title> Devlove </title> <link> DevLOVEサイトのURL </link> <description> サイトについて </description> <item> <title> 開催概要 (12/10 12:00) </title> <link> 開催概要のURL </link> <description> 開催概要の本文 </description> <pubdate> 2009/12/10 12:00 </pubdate> </item> <item> <title> タイムテーブル (12/12 9:00) </title> <link> タイムテーブル のURL </link> <description> タイムテーブルの本文 </description> <pubdate> 2009/12/12 9:00 </pubdate> </item> </channel></rss>

更新

Page 25: ぼくにもできたよ! Rubyを使ったデブラブハック

今回使用した添付ライブラリ達

•rss/maker : その名のとおり、RSS/Atomを生成するのに便利

•net/http : HTTPクライアントとしてお仕事をしてくれる

Page 26: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 27: ぼくにもできたよ! Rubyを使ったデブラブハック

RSSオブジェクトの生成

Page 28: ぼくにもできたよ! Rubyを使ったデブラブハック

対象のページの各item要素生成

Page 29: ぼくにもできたよ! Rubyを使ったデブラブハック

レスポンスの内容で各要素生成

Page 30: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 31: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 32: ぼくにもできたよ! Rubyを使ったデブラブハック

Ruby を使ったデブラブハック

‣ DevLOVEサイトの、更新チェック➡DevLOVEについて、つぶやく

‣ DevLOVEの感想を、お近くのブログに書く

Page 33: ぼくにもできたよ! Rubyを使ったデブラブハック

DevLOVEについて、つぶやく

Page 34: ぼくにもできたよ! Rubyを使ったデブラブハック

•やりたかったこと✓Twitter 上のDevLOVEに関する発言をチェック

✓Twitter で ハッシュタグ#devloveでつぶやく

✓いちいち、検索するのも、ハッシュタグ付けるのもめんどくさい

•作ったもの✓デブラブ専用Twitter

DevLOVEについて、つぶやく

Page 35: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 36: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 37: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 38: ぼくにもできたよ! Rubyを使ったデブラブハック

今回使用したGemライブラリ達

•twitter : Twitter API とよろしくやってくれる

•sinatra : 3分でWebアプリを作るためのフレームワーク

•haml : HTML にうんざりしてる人のための、マークアップ言語

Page 39: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 40: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 41: ぼくにもできたよ! Rubyを使ったデブラブハック

Twitterクライアント生成

Page 42: ぼくにもできたよ! Rubyを使ったデブラブハック

GETメソッド “/”を定義

Page 43: ぼくにもできたよ! Rubyを使ったデブラブハック

index.haml の内容を表示

Page 44: ぼくにもできたよ! Rubyを使ったデブラブハック

ローカル変数に検索結果を

Page 45: ぼくにもできたよ! Rubyを使ったデブラブハック

POSTメソッド “/say”を定義

Page 46: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 47: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 48: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 49: ぼくにもできたよ! Rubyを使ったデブラブハック
Page 50: ぼくにもできたよ! Rubyを使ったデブラブハック

Ruby を使ったデブラブハック

‣ DevLOVEサイトの、更新チェック‣ DevLOVEについて、つぶやく➡DevLOVEの感想を、お近くのブログに書く

Page 51: ぼくにもできたよ! Rubyを使ったデブラブハック

•やりたかったこと✓DevLOVE2009 の感想を はてな で書く

✓同じ感想を、社内SNSの SKIP にも書く

✓記法が異なるが、手でいちいち修正したくない

•作ったもの✓はてな記法、SKIPHiki の変換器

DevLOVEの感想を、お近くのブログに書く時間無いから多分飛ぶんだろうなぁ

Page 52: ぼくにもできたよ! Rubyを使ったデブラブハック

時間無いから多分飛ぶんだろうなぁ

Page 53: ぼくにもできたよ! Rubyを使ったデブラブハック

元々はRedmineHikiとSKIPHiki用

Page 54: ぼくにもできたよ! Rubyを使ったデブラブハック

後日公開する資料を見てネ!!!

Page 55: ぼくにもできたよ! Rubyを使ったデブラブハック

デブラブハックやってみて~利用者アンケート結果~

• 呑んだくれて家に帰っても、寝る前には手軽にデブラブ情報チェックできた (品川区在住 28歳男性)

• papanda 氏の熱い発言を見て元気が出た(品川区在住 28歳男性)

• “デブラブ(DevLOVE) ” という、言葉に嫌という程、包まれた (品川区在住 28歳男性)

• 講演者の詳細が更新されるとワクワクするが、本発表資料の進捗具合にビクビクした (品川区在住 28歳男性)

• デブラブラブになった (品川区在住 28歳男性)

Page 56: ぼくにもできたよ! Rubyを使ったデブラブハック

デブラブハックやってみて~利用者アンケート結果~

• 呑んだくれて家に帰っても、寝る前には手軽にデブラブ情報チェックできた (品川区在住 28歳男性)

• papanda 氏の熱い発言を見て元気が出た(品川区在住 28歳男性)

• “デブラブ(DevLOVE) ” という、言葉に嫌という程、包まれた (品川区在住 28歳男性)

• 講演者の詳細が更新されるとワクワクするが、本発表資料の進捗具合にビクビクした (品川区在住 28歳男性)

• デブラブラブになった (品川区在住 28歳男性)

Page 57: ぼくにもできたよ! Rubyを使ったデブラブハック

AGENDA(1) 自己紹介

(2) Ruby を使ったデブラブハック

‣ DevLOVEのサイトの更新チェック

‣ DevLOVEについて、つぶやく

‣ DevLOVEの感想を、お近くのブログに書く

(3) まとめ

Page 58: ぼくにもできたよ! Rubyを使ったデブラブハック

伝えたかったこと

•我々はデベロッパー世の中を便利にするのがお仕事でプロのはず

•そんな我々が自分の周りを、ちょっとでも便利にするのは当然ですよね

•そこで、お勧めするのが Ruby ですよ

Page 59: ぼくにもできたよ! Rubyを使ったデブラブハック

何故、Ruby か?

•ぼくでも書いてて楽しかった

•ぼくでも動くモノが作れた

•ぼくでも生活を楽に出来た

Page 60: ぼくにもできたよ! Rubyを使ったデブラブハック

何故、Ruby か?

•きみも書いてて楽しい

•きみも動くモノが作れる

•きみも生活を楽に出来る

Page 61: ぼくにもできたよ! Rubyを使ったデブラブハック

帰納法的に

•みんな書いてて楽しい

•みんな動くモノが作れる

•みんな生活を楽に出来る

Page 62: ぼくにもできたよ! Rubyを使ったデブラブハック

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

Page 63: ぼくにもできたよ! Rubyを使ったデブラブハック

Rubyに興味を持たれた方は

角谷さんのプレゼンへ

GO!