070929 Ruby勉強会#5 Rails開発ツールガイド
-
Upload
tomoki-maeda -
Category
Technology
-
view
4.810 -
download
4
Transcript of 070929 Ruby勉強会#5 Rails開発ツールガイド
今日の内容自己紹介
2
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
22007年9月30日日曜日
/ 55
自己紹介株式会社アンタス
Webアプリケーション・Webサービスの設計・開発・運用保守を中心に幅広くやっています。納品物にRubyやRailsを利用したものがいくつかあります。前田智樹エンジニアをしています。RubyやRailsの開発者でも何でもありませんが、Rubyは1999年から愛用してます。ここ1年ぐらい仕事は全部Rubyです。7月に3万行強のRailsを利用したプロジェクトを納品。元気に稼働中(`・!・´) v
Javaはもう忘れました。 PHPは全く知りません。RubyKaigi2006と2007に行ってきました。
3
32007年9月30日日曜日
マニュアル
4
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
42007年9月30日日曜日
/ 55
マニュアル重要!大抵のことはマニュアル読めば解決
最も信頼性が高い
マニュアルはPCさえあれば見られる
5
52007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
6
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
62007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
7
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
72007年9月30日日曜日
/ 55
Webで見る$Ruby編Ruby
本家(http://www.ruby-lang.org/ja/man/)
rdoc(http://www.ruby-doc.org/)
Programming Ruby 第1版もあり
8
82007年9月30日日曜日
/ 55
Webで見る$Rails編Rails本家(http://api.rubyonrails.org/)
http://railsmanual.com/いろいろなバージョンのマニュアルあり翻訳プロジェクト(http://techno.hippy.jp/
apidoc/)Rails南蛮通事(http://www.ey-office.com/
tsuuji/)翻訳ブックマークサイト
9
92007年9月30日日曜日
/ 55
Webで見る$その他編DevBoiいろいろなマニュアルがFirefoxのサイドバーから見られるようになるFirefox Plugin
HTMLJavaScriptCSSprototype.jsあんまり使わないけど一応RubyとかRails
もあり10
102007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
11
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
112007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
12
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
122007年9月30日日曜日
/ 55
ローカルHTML$Ruby編Ruby本家(http://www.ruby-lang.org/ja/man/)
静的HTML版Windows HTML Help版
13
132007年9月30日日曜日
/ 55
ローカルHTML$Rails編Rails
gem_serverコマンドラインから起動してhttp://
localhost:8088/へアクセス
14
$ gem_server[2007-09-29 04:18:52] INFO WEBrick 1.3.1[2007-09-29 04:18:52] INFO ruby 1.8.6 (2007-03-13) [powerpc-darwin8.9.0][2007-09-29 04:18:52] INFO WEBrick::HTTPServer#start: pid=9013 port=8808
142007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
15
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
152007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
16
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
162007年9月30日日曜日
/ 55
コマンドラインツールri
Ruby1.8標準英語
refe(りふぇ)
標準では入っていないgem install refe -y でインストール日本語
17
172007年9月30日日曜日
/ 55
コマンドラインツールri
Ruby1.8標準英語
refe(りふぇ)
標準では入っていないgem install refe -y でインストール日本語
18
182007年9月30日日曜日
/ 55
riの使い方
19
クラスメソッドはピリオド、インスタンスメソッドはシャープで指定
$ri -h % riのヘルプを表示$ri -c % riでマニュアルを見られるクラスの一覧$ri ActiveRecord::Base &ActiveRecord::Baseクラスの概要やメソッド一覧$ri ActiveRecord::Base.find &ActiveRecord::Base.findメソッドのマニュアル$ri ActiveRecord::Base#save &ActiveRecord::Base#saveメソッドのマニュアル
192007年9月30日日曜日
/ 55
コマンドラインツールri
Ruby1.8標準英語
refe(りふぇ)
標準では入っていないgem install refe -y でインストール日本語
20
202007年9月30日日曜日
/ 55
コマンドラインツールri
Ruby1.8標準英語
refe(りふぇ)
標準では入っていないgem install refe -y でインストール日本語
21
212007年9月30日日曜日
/ 55
refeの使い方
22
riと同様、クラスメソッドはピリオド、インスタンスメソッドはシャープで指定
$refe -h % refeのヘルプを表示$refe -a % refeでマニュアルを見られるクラス一覧$refe Array &Arrayクラスの概要とかメソッド一覧$refe Array.[] &Array.[]メソッドのマニュアル$ri Array#[] &Array#[]メソッドのマニュアル
222007年9月30日日曜日
/ 55
マニュアルを見る手段Webで見る
23
ローカルに保存した静的HTMLで見るコマンドラインツールで見る
"全文検索ができる"常に最新の情報#ネット接続が必要
232007年9月30日日曜日
マニュアル
24
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
242007年9月30日日曜日
試行錯誤ツール
25
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
252007年9月30日日曜日
試行錯誤ツールirbInteractiveなRuby入力したプログラムを逐次実行して結果を表示してくれるscript/console (Railsの場合)Rails環境を読み込んだirbRailsで独自に拡張された機能や、Rails内に自分で作成したクラスも利用可能
262007年9月30日日曜日
ちょっと横道
272007年9月30日日曜日
運用でも役に立つscript/console
script/consoleがないと
id name client_type image_path1 foo 1 /hoge/aaa/1.jpg2 bar 2 /hoge/bbb/2.jpg3 baz 1 /hoge/aaa/3.jpg
下記のようなテーブルにおいて、client_typeが1の画像だけを/tmp/zzzの下に集めてきてください。
Clients.find(:all, :conditions=>”client_type=1”).each {|c| `mv #{c.image_path} /tmp/zzz`}
SQLだけでは処理が難しいものもサクッとDBだけで用事が済まない場合SQLで書くのは大変な場合(複雑な正規表現とか)
282007年9月30日日曜日
横道しゅーりょー
292007年9月30日日曜日
試行錯誤ツール
30
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
302007年9月30日日曜日
デバッグツール
31
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
312007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
322007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
332007年9月30日日曜日
/ 55
logger
RailsのModelおよびController内から何の準備も無しに “logger” という変数名で利用可能出力すべきもの
obj.class (objのクラス名)
obj.inspect (objの中身)
obj.methods.join(“¥n”) (objのメソッド一覧)34
<あるコントローラー内のコード>@todos = Todo.find(:all, :order => “priority”)logger.debug(“todos=” + @todos.inspect)
342007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
352007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
362007年9月30日日曜日
/ 55
<%= debug obj %>
37
<あるビュー(rhtml)内のコード><%=debug @todos %><% for todo in @todos %><%= todo.description %><% end %>
RailsのView内から何の準備も無しに “debug”
というメソッド名で利用可能オブジェクトがYAML形式に整形されて表示
372007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
382007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
392007年9月30日日曜日
/ 55
ruby-debugいわゆるデバッガ標準では入っていないのでgemでインストール
40
$sudo gem install ruby-debug -y
402007年9月30日日曜日
/ 55
ruby-debug 使い方
41
ソースコード内に “debugger” と書くと、そこで処理が止まって、デバッガに制御が移るステップ実行、ソースコードの表示、ブレークポイントの追加や削除などが可能Rails本体(ActiveRecordとか)の挙動を調べたいときなどに便利RailsだけじゃなくどんなRubyスクリプトでも利用可能
412007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
422007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
432007年9月30日日曜日
/ 55
Firefox: Live HTTP Headerブラウザがサーバーとやり取りするHTTP
ヘッダを表示、保存、編集して再生することができる Firefox Extension
AJAXによる通信やFlashからのHTTP通信も表示可能
44
442007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
452007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
462007年9月30日日曜日
/ 55
Firefox: Web Developer名前の通り、Web開発者を支援する機能がてんこ盛りのFirefox Extension
Formの詳細(POST先URLや、各要素のnameなど)を見たり、hiddenの内容を書き換えたりdivやテーブルに枠をつけたり、idやclassを表示したりDOM操作後のHTMLソースを表示したり
47
472007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
482007年9月30日日曜日
デバッグツールloggerobj.class とか obj.inspect<%=debug obj %>ruby-debugFireFoxLive HTTP HeadersWeb DeveloperFirebug
492007年9月30日日曜日
/ 55
Firefox: FirebugWeb Developerと同じくWeb開発者向け機能てんこ盛りのFirefox Extension
HTML内のある要素にどのCSSファイルのどの記述が適用されているかがわかるJavaScriptにブレークポイントはってステップ実行
50
502007年9月30日日曜日
デバッグツール
51
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
512007年9月30日日曜日
その他のツール
52
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
522007年9月30日日曜日
/ 55
その他のツールrake
rake --tasks rake で実行できるタスク一覧rake stats ソースコードの行数rake test:recent10分以内に変更があったUnitTestファイルを実行rake test:uncommittedコミットされてないMode/Controllerのテストを実行
53
532007年9月30日日曜日
その他のツール
54
試行錯誤ツール
デバッグツール
その他のツール
マニュアル
実装ツール
542007年9月30日日曜日
/ 55
まとめいろいろなツールを駆使して、もっともっと効率よく開発しましょう!
55
552007年9月30日日曜日