Twitter Bootstrapを今作っているウェブアプリケーションに導入しています。
Twitter Bootstrapはグリッドやテンプレート、マルチデバイスサポートのレイアウトやボタン、またGlyphiconsも無料で使える契約をTwitterがしてくれています。
CSSエンジンのLess、HTMLの構造などを調べればかなり速く、フレキシブルなUI の構築ができます。Railsでも使えるgemが出ていますし、多分他のウェブ開発フレームワークでも使えるようにしてくれている人がいると思います。
Showing posts with label Rails. Show all posts
Showing posts with label Rails. Show all posts
Tuesday, 20 November 2012
Thursday, 8 November 2012
RailsとRubyのエラーハンドリングの違い
ウェブアプリケーションを作っていると
if !object.method
do_this
else
do_that
end
という方法でユーザを誘導する習慣が付いていますが、Rubyで組み込みやデスクトップアプリケーションなどを開発する際には下のようにする人が多いのではないでしょうか?
begin
do_this
do_that
rescue
error_handling_method($!)
end
こうしておいて
def do_this
raise 'Specific error message' if !some_method
end
などとそれぞれのメソッドの中でRuntime errorを発生させれば最後のrescueの所でまとめてエラーを処理できるので便利でした。例えばSTDOUTに表示させるとか、ログにまとめるとか、メールでエラーを報告するなどなど。
ちなみにRSpecではこのサイトに書いてある通り
it "should raise" do
expect{Object.non_existent_message}.to raise_error(NameError) end
とすればテストが書けます。
Railsでも同じようにエラーの処理はできると思いますが、通常begin, rescue, endは使わないですね。ディベロッパー向けのAPI以外では、ウェブアプリケーションはエラーメッセージは極力詳細は出さない事もセキュリティー上大切なのでこのような設計になるのでしょうね。例外が発生したら多くの場合シンプルにbreakして500を返しますもんね…。ウェブサービスでもREST APIを作る人はもっと複雑なエラーハンドリングを開発しているんでしょうね。お疲れさまです。
if !object.method
do_this
else
do_that
end
という方法でユーザを誘導する習慣が付いていますが、Rubyで組み込みやデスクトップアプリケーションなどを開発する際には下のようにする人が多いのではないでしょうか?
begin
do_this
do_that
rescue
error_handling_method($!)
end
こうしておいて
def do_this
raise 'Specific error message' if !some_method
end
などとそれぞれのメソッドの中でRuntime errorを発生させれば最後のrescueの所でまとめてエラーを処理できるので便利でした。例えばSTDOUTに表示させるとか、ログにまとめるとか、メールでエラーを報告するなどなど。
ちなみにRSpecではこのサイトに書いてある通り
it "should raise" do
expect{Object.non_existent_message}.to raise_error(NameError) end
とすればテストが書けます。
Railsでも同じようにエラーの処理はできると思いますが、通常begin, rescue, endは使わないですね。ディベロッパー向けのAPI以外では、ウェブアプリケーションはエラーメッセージは極力詳細は出さない事もセキュリティー上大切なのでこのような設計になるのでしょうね。例外が発生したら多くの場合シンプルにbreakして500を返しますもんね…。ウェブサービスでもREST APIを作る人はもっと複雑なエラーハンドリングを開発しているんでしょうね。お疲れさまです。
Wednesday, 24 October 2012
Railsでたくさんページがあるサイトを作る時はパーツをwidget化すると便利ではないでしょうか?
apotomoというwidgetを表示するgemがありました。ページがたくさんあるサイトはサイドバーに幾つかのページで共通のwidgetがあるのが一般的ではないでしょうか?
できるだけコードを少なくして手間を少なくするのはプログラマーの一般的習性かと思います。viewのお掃除には勿論Railsのサブレイアウトを使う手段がありますが同時に、レイアウト間で共通に使用するアイテムはwidget化してしまうのも一つの手段です。
使い方は制作者のサイトにスクリーンキャストがあるので、見せてもらいました。
以下、全く本文とは関係無いトピックです。一つのスクリーンキャストを見終わった時に全然関係無いLinuxのスクリーンキャスト作成ツールを紹介するスクリーンキャストが出てきたのですが、このスクリーンキャストがまたスイートです。テック系でこんなスイートなスクリーンキャストを見る事ができるのは素晴らしいアイデアですね。ノックアウトという感じです…。
できるだけコードを少なくして手間を少なくするのはプログラマーの一般的習性かと思います。viewのお掃除には勿論Railsのサブレイアウトを使う手段がありますが同時に、レイアウト間で共通に使用するアイテムはwidget化してしまうのも一つの手段です。
使い方は制作者のサイトにスクリーンキャストがあるので、見せてもらいました。
以下、全く本文とは関係無いトピックです。一つのスクリーンキャストを見終わった時に全然関係無いLinuxのスクリーンキャスト作成ツールを紹介するスクリーンキャストが出てきたのですが、このスクリーンキャストがまたスイートです。テック系でこんなスイートなスクリーンキャストを見る事ができるのは素晴らしいアイデアですね。ノックアウトという感じです…。
Subscribe to:
Posts (Atom)