タグ

ブックマーク / tnakamura.hatenablog.com (3)

  • Sinatra アプリケーションに Warden で認証を実装する - present

    Warden は Rack アプリケーションで認証を実装するときの定番です。だけど、ネットで見つかるのは OmniAuth と組み合わせるサンプルが比較的多め。 Warden を使ったサンプルで、自分にとってわりやすいものが見つからなかったので、試しに書いてみました。Sinatra と Warden のサンプルです。コードを単純にするため、ユーザー名とパスワードは test で固定しています。 # coding: utf-8 require "sinatra" require "warden" # Sinatra のセッションを有効にする enable :sessions # ユーザー ID をもとにユーザー情報を取得する # 今回は単なる Hash だけど、実際の開発ではデータベースから取得するはず Warden::Manager.serialize_from_session do |i

    Sinatra アプリケーションに Warden で認証を実装する - present
  • Backbone.js を使った開発で QUnit を試してみた - present

    最近は Backbone.js をよく触っています。Backbone.js を使った場合、そこそこな規模の UI が出来あがるわけで、品質を上げるためにはテストが必要不可欠です。 Backbone.js みたいな MVC フレームワークを導入するメリットとしては、「役割がはっきりしてソースコードがすっきりする」ことの他に、「テストがしやすくなる」というのもあると思います。クライアントサイド MVC に限ったことではないけど、ロジックをモデルに集約し、ビューは表示に徹することで、UI のかなりの部分が自動テストできます。 JavaScript のテストでは JsUnit と QUnit あたりが鉄板。JavaScript のテストライブラリは初めて使うので、軽くドキュメントを読んで簡単そうに感じた QUnit を選択します。試しに、モデルのテストを書いてみたのがこちら。 <!DOCTYPE

    Backbone.js を使った開発で QUnit を試してみた - present
  • Pjax を使ってフォームの submit で非同期にページを更新してみた - present

    前回、非常に苦労して Pjax を試しました。 Pjax に挑戦したら思っていた以上に苦労した話 - present ページ移動を非同期で行えるようになったので、次はフォームの submit 後も同じようにページを移動したい、と考えてしまうのは当然ですよね。これも Pjax でやりたい。 jquery.pjax のソースコードを見たところ、a タグなどの click イベントを捕まえて、非同期でページ更新を行っていました。フォームの submit イベントには対応していません。さて、どうしよう。 Pjax の $.pjax メソッドを使えば、$.ajax みたいに POST リクエストを送信できるので、これを使って自前でフォームデータを送信すれば上手くいきそうです。 <!DOCTYPE html> <html> <head> <title>PjaxSample</title> </head

    Pjax を使ってフォームの submit で非同期にページを更新してみた - present
  • 1