タグ

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

  • jquery-mockjax 使えよ色々と捗るぞ - present

    jQuery や Backbone.js で UI を開発していて面倒なのが、サーバー側の API を呼び出す部分の実装です。呼び出したい API が既に実装されていないと、細かいところまで作り込めません。 あと、上手く動かなかったときも面倒です。原因がクライアント側ならすぐ直せますが、サーバー側だった場合、サーバー側のコードを修正して、テストまでしないといけません。効率悪いですよね。 できれば、クライアント側の開発はクライアント側だけで完結したい。さらに欲を言えば、最終的にサーバー側の API を呼び出すように修正するとき、出来るだけ少ない修正で済むようにしたい。 API 呼び出しを抽象化してダミーの処理と差し替えたり、jQuery.ajax を上書きしたり、色々工夫して最後に行き着いたのが『jquery-mockjax』。 appendto/jquery-mockjax · GitHu

    jquery-mockjax 使えよ色々と捗るぞ - present
  • AngularJS で Web API を呼び出す - present

    AngularJS で Web API を呼び出すのに使う $resource が、ドキュメントを読んだだけじゃイマイチ分からなかったんで、簡単なサンプルを書いてみた。 まず、呼び出す対象の Web API は Sinatra でさくっと作成。 # coding: utf-8 require "sinatra" require "json" # データはメモリ上に保存 # 行儀よくないけど定数に配列を入れてしまう GUESTS = [] get "/" do erb :index end # ゲスト一覧を JSON で取得する API get "/guests" do content_type :json, :charset => "utf-8" GUESTS.to_json end # ゲストを追加する API post "/guests" do # POST したデータを params

    AngularJS で Web API を呼び出す - present
  • Evergreen で Rails アプリの JavaScript を単体テストする - present

    はじめに Rails アプリの JavaScript のテストは capybara(+capybara-webkit) を使えば一応できるけど、統合テストなのがね…。統合テストもちゃんと書くけど、やりたいのは JavaScript の単体テストなのに。 そこで Evergreen そんな中で最近知ったのが Evergreen っていう gem。 jnicklas/evergreen · GitHub こいつを簡単に説明すると、Rails に組み込める Jasmine テストランナー。Jasmine も同梱されてるので、インストールすればすぐに JavaScript のテストが書ける。 Evergreen のインストール Gemfile に group :test, :development do gem "evergreen", :require => "evergreen/rails"

    Evergreen で Rails アプリの JavaScript を単体テストする - present
  • QUnit はオワコン!?Jasmine を使ってみる - present

    はじめに JavaScript でテストするためのフレームワークは QUnit と Jasmine が人気を二分していたみたいですが、最近は Jasmine が優勢?雑誌やブログで Jasmine を推しているのをよく見かけました。中には「QUnit はオワコン。これからは Jasmine!」って感じの過激な意見も。 私は QUnit を使ってきましたが、Jasmine の勢いは見逃せない。 ってわけで Jasmine 試してみます。どちらが優れているかは、実際に使ってみないと分からないですから。 Jasmineについて introduction.js RSpec 風に記述できる、JavaScript のテスティングフレームワーク。スタンドアロン版とRuby版とNode版があります。スタンドアロン版は QUnit 同様に、ブラウザで実行するタイプ。Ruby 版と Node 版は、なんとコマ

    QUnit はオワコン!?Jasmine を使ってみる - present
  • Backbone.js と比較しながら Knockout.js を試してみた - present

    Backbone.js を試したから Knockout.js にも挑戦 JavaScript のクライアント MVC フレームワークは Backbone.js でいこうと思っていたんですが、Knockout.js が Ver 2.0 でかなり機能追加されて、ちょっと心変わり。もともと Knockout.js のデータバインディング機能に興味を持っていたところに、テンプレート機能が追加されて、試してみたくなりました。 念のため説明すると、Knockout.js は、.NET 開発者にはお馴染みの、データバインディングや MVVM パターンが特徴のフレームワークです。 Knockout : Home ちなみに、Backbone.js の記事はこちら。 作って覚える Backbone.js - present 作って覚える Backbone.js (2) Router 編 - present T

    Backbone.js と比較しながら Knockout.js を試してみた - present
  • Underscore.js はもっと評価されていい - present

    Backbone.js が注目されがちですけど、Backbone.js を支えている Underscore.js も、実はかなり便利なライブラリです。公式サイトを見ると、よさげなメソッドが盛りだくさん。 Underscore.js 私自身はまだ Backbone.js のついでに使っている段階ですけどね。 Underscore.js が提供するメソッドは数が多いので、今回はよく使ったものに絞って取り上げてみます。それ以外は公式ドキュメントを見てください。 each test("each", function() { var data = []; _.each(["foo","bar","hoge","fuga"], function(n){ data.push(n); }); equals(data.length, 4); equals(data[0], "foo"); equals(da

    Underscore.js はもっと評価されていい - present
  • Python のマイクロフレームワーク『Flask』を試してみた - present

    今更なんですか… 最近になって、『Flask』という Python のマイクロフレームワークの存在を知りました。フリスクじゃないよ。 ずっと Kay や Django みたいなフルスタックフレームワークを追っていたから、Flask に気付くのが遅れました。…って、これは言い訳ですね。 Flask の一番の特徴 何といっても、URL マッピングをデコレータで指定できるところがステキです。Ruby の Sinatra みたいに手軽に使えます。 さっそく App Engine で Flask 試してみます まず環境構築 Python 用の App Engine SDK をインストールしておくのは必須。あとは、下記 URL から Flask の GAE プロジェクトテンプレートを入手すると手っ取り早いです。 gigq/flasktodo · GitHub 一番単純なサンプル これがフツーに Goo

    Python のマイクロフレームワーク『Flask』を試してみた - present
  • Pjax に挑戦したら思っていた以上に苦労した話 - present

    GitHub が採用している、非同期でぬるぬる動く画面遷移、これ pushState と Ajax を組み合わせたテクニックで実現されているんですね。その名も Pjax。 HTML5 の history.pushState を使うからブラウザの履歴にも対応でき、しかも URL がキレイ。Pjax についての詳細な説明は下記のエントリが参考になりました。 pjax こそが pushState + Ajax の命 - punitan (a.k.a. punytan) のメモ Pjax 始まったな。 |i \      |.| ト\   /| ト | トヽ   / | | ト | | トヽ\/| | | ト    / | | | ト\≧三ミゞ=イ/ ム彡''´ ̄ ̄    ̄ ヽ{__.. /             V´ ノ  __          ', ,. == y ̄, __、\_   

    Pjax に挑戦したら思っていた以上に苦労した話 - present
  • webtest を使った Google App Engine アプリケーションのテスト - present

    Google App Engine (以下 GAE)アプリケーションの、Web API 部分のテストを自動化するために、webtest というツールを導入してみた。 webtest は WSGI アプリケーションをテストするための便利ツール。WSGI アプリケーションにダミーのリクエストを簡単に送る事ができる。webtest は easy_install を使ってインストール。 GAE アプリケーションは、中で Datastore API や Memcached API を使っている場合がほとんど。そのため、テストではスタブを登録する必要がある。以前紹介した GAETestBase を継承してテストクラスを作るといい。 webtest を使ったテストコードのサンプルがこちら。パスの設定と GAETestBase クラスの定義は、別ファイルに書いて import した方が、後々使い回せていい

    webtest を使った Google App Engine アプリケーションのテスト - present
  • CSSフレームワーク『BlueTrip』が想像以上にすごい - present

    CSS フレームワークを再認識 CSS フレームワークって、名前だけは知っていましたが、どういうものなのか全く知りませんでした。次の記事を読むまでは。 404 Not Found - ゆーすけべー日記 確かに、これは便利そうですね! さっそく、CSS フレームワークを導入してみます。 BlueTrip を導入 CSS フレームワークはいろいろありますが、今回は先の記事で紹介されていた BlueTrip を導入してみます。 次のページからアーカイブをダウンロードし、解凍して css ファイルと画像を static フォルダに配置。 BlueTrip CSS Framework | A beautiful and full-featured CSS framework HTML の head 部に、下記を追加。 <link rel="stylesheet" href="css/screen.c

    CSSフレームワーク『BlueTrip』が想像以上にすごい - present
  • Google App Engine/Python で単体テスト - present

    Google App Engine SDK for Python には、単体テスト用に各サービスのスタブが提供されています。このスタブと unittest を使えば、ローカル環境で GAE 用アプリの単体テストが可能です。 GAE/Pythonunittest を使って、単体テストを行うサンプルは次の通り。 #!/usr/bin/env python #encoding: utf-8 import os import sys # 環境設定 # これをしないと GAE のモジュールをインポートできない。 # テスト対象のクラスも同様。 # ここを自分の環境に合わせて書き変えます GAE_HOME = 'Google App Engine SDK ディレクトリのパス' PROJECT_HOME = 'アプリケーションのルートディレクトリのパス' # テストで使う GAE のモジュールのパ

    Google App Engine/Python で単体テスト - present
  • 1