Rubyの話を少し
-
Upload
fumitake-taniguchi -
Category
Technology
-
view
2.074 -
download
0
description
Transcript of Rubyの話を少し
![Page 1: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/1.jpg)
Rubyについての話を少し谷口文威 TANIGUCHI Fumitake
Talking about Ruby
ついての を
![Page 2: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/2.jpg)
自己紹介
![Page 3: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/3.jpg)
谷口文威 たにぐちふみたけ•北海道情報大学准教授•プログラミング言語教えてます•プログラマじゃありません•Ruby札幌運営チーム•会場確保係/会計係•あまりRubyのことは詳しくありません
![Page 4: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/4.jpg)
noplans
![Page 5: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/5.jpg)
I have no plans, and no plans to
plan.
![Page 6: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/6.jpg)
![Page 7: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/7.jpg)
Mac札幌
![Page 8: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/8.jpg)
Leopard(Mac OS X)
MacBook Air
![Page 9: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/9.jpg)
Ruby
![Page 10: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/10.jpg)
Rubyでプログラム
書いたことある
![Page 11: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/11.jpg)
気持ちが良い
![Page 12: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/12.jpg)
100.times do `say ‘hello’`end
![Page 13: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/13.jpg)
dictはHashで、 Keyに単語、Valに出現回数
dict.sort_by{|w| w[1]}.each do |key, value| puts "#{key}: #{value}"end
![Page 14: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/14.jpg)
1.day.ago=> Thu Jan 17 15:10:37 +0900 2008
![Page 15: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/15.jpg)
これだとよくわからん
![Page 16: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/16.jpg)
実際に使ってるものを紹介
![Page 17: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/17.jpg)
ActiveRecord
![Page 18: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/18.jpg)
接続
![Page 19: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/19.jpg)
ActiveRecord::Base.establish_connection( :adapter => 'sqlite3', :database => 'db.sqlite3', :timeout => 5000)
![Page 20: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/20.jpg)
モデル
![Page 21: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/21.jpg)
class User < ActiveRecord::Baseend
![Page 22: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/22.jpg)
テーブル作成
![Page 23: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/23.jpg)
省略
![Page 24: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/24.jpg)
class Migration < ActiveRecord::Migration def self.up create_table :users do |t| t.column :name, :string t.column :url, :string end end def self.down drop_table :users endend
![Page 25: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/25.jpg)
Pit
![Page 26: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/26.jpg)
Pit.get("www.twitter.com", :require => { :login => 'Your Account', :password => 'Password'})
![Page 27: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/27.jpg)
$EDITOR設定しないと動かない
![Page 28: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/28.jpg)
net/netrc
![Page 29: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/29.jpg)
~/.netrc にアカウント情報書いとく
machine www.twitter.comlogin dankogaipassword kogaidan
![Page 30: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/30.jpg)
netrc = Net::Netrc.locate "www.twitter.com"username = netrc.loginpassword = netrc.password
![Page 31: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/31.jpg)
~/.netrc のパーミッション
![Page 32: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/32.jpg)
WWW::Mechanize
![Page 33: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/33.jpg)
スクレイピングに使えるよ
![Page 34: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/34.jpg)
Webブラウザの代わり
![Page 35: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/35.jpg)
Hpricot
![Page 36: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/36.jpg)
スクレイピングに使えるよ
![Page 37: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/37.jpg)
HTMLなどの文書を解析
![Page 38: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/38.jpg)
実際作る
![Page 39: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/39.jpg)
tumblr
![Page 40: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/40.jpg)
私
following
followers
![Page 41: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/41.jpg)
followers
私
following
![Page 42: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/42.jpg)
<ul id="following">略
<div class="username"> <a href="url">name</a> </div>
![Page 43: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/43.jpg)
Hpricot
![Page 44: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/44.jpg)
<ul id="following">略
<div class="username"> <a href="url">name</a> </div>
![Page 45: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/45.jpg)
(doc/"#following" /"div.username" /"a")
![Page 46: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/46.jpg)
![Page 47: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/47.jpg)
twitter4R
![Page 48: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/48.jpg)
RubyCocoa
![Page 49: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/49.jpg)
いちおう先生なんで
![Page 50: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/50.jpg)
Ruby対 学生
![Page 51: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/51.jpg)
おまじない少ない
![Page 52: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/52.jpg)
短い記述
![Page 53: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/53.jpg)
達成感/全能感
![Page 54: Rubyの話を少し](https://reader034.fdocument.pub/reader034/viewer/2022042714/556a76d1d8b42a7c758b47df/html5/thumbnails/54.jpg)
やる気アップ