2010-11-19 00:51:48 +0900
Plancastというものを始めてみた。そんなに登録する予定があるわけではないけど。
Plancastというものを始めてみた。そんなに登録する予定があるわけではないけど。
ブログSimpleBitsのDan Cederholmさんが、A Book ApartからCSS3 For Web Designersという書籍を出した。
これだけだとなんだソレという感じだけど、個人的に、
という点で結構期待している(まだ注文してません)。Zeldmanとか懐かしいねー。CSSが登場した前後のころはとにかく彼らのサイトを分解して解析したもんだ。
SimpleBitsのCederholmさんは今年になってDribbble - What are you working on?というサイトもはじめていて、これも何ヶ月か前から注目していた。サイト自体はWebデザイナー向けの作品見せ合いっこコミュニティというもので、クオリティを保つために登録はInvitationオンリーという念の入れよう。その甲斐あってか、いつ見てもインスピレーションを受けるいいデザインが勢揃いしていて蚊帳の外でも結構楽しめる。
サイト名のとおりバスケットボールをモチーフにした構成になっていて、アップロードされた画像をShots、メンバーをPlayersと呼んだり、アップロードされた画像の累計ピクセル数をフッターに「6,522,494,874 pixels dribbbled」と表示したりする遊び心がいい(でもピクセルのドリブルって何?)。他に、アップされた画像への返信として新しい画像を登録する機能もあって、これはリバウンドと呼ばれる。
インターフェース面でも、タグ一覧ではredやblueといったタグの代わりにクリッカブルなカラー・バーを表示していたり、
Dribbble Popular Tags | Flickr - Photo Sharing!
画像に付けられたタグを表示する際に、タグ付けされた数を反映して棒グラフ状に見せたり、
Dribbble Tags Bar | Flickr - Photo Sharing!
小さいけど気の利いたデザインが多くて勉強になる。ニッチなソーシャルサイトっぽいものは、こういった細かな気配りがファンベースの拡大に寄与するんだろうね。
ところで誰かDribbble Teeのまとめ買いに興味ある人いないかな。1着だけだと$22のシャツに送料が$16.71もかかるんですよ…。
EコマースサイトのSaaSであるShopifyが、サービスをRails 3ベースにアップグレードした際の模様をブログに公開した。
曰く、Rails 3に移行したことで当然パフォーマンスも向上したが、一番の収穫は、新しいAPIによってよりクリーンなコードを書けるようになったことと、新機能の実装が迅速に行えるようになったことの2つ。
ただ、ShopifyのようにRailsをかなり早い時期から採用しているアプリケーションでは、今回のようなアップグレードはかなりの大仕事だったようだ(Shopifyコードの最初のチェックインは2004年、Rails 0.5のリリース日である)。それから6年が経ち、最初は開発者2人だったものが、今では11人がフルタイムで取り組むまでの規模になった。
現在のShopifyのコードは、
app/models
以下のファイルが327app/controllers
以下のファイルが131というサイズ。6年間での累計コミット数は約12,000だそう。
以下、とりあえず読んだところまでの要点を抜き出してみた。興味のある人は頑張って続きを読んでみて。
app/helpers
以下のモジュールをすべて目視でチェックして怪しい箇所を探すRSpecで書いているスペック(テスト)がどうも冗長になっている気がして、いいテストのリファクタリング指針はないかなと探してみたところ、RSpecのベストプラクティスをまとめているページを2つほど見つけたのでまとめておく。
(My) RSpec best practices and tips | EggsOnBread
specify {}
やit {}
、subject {}
といったショートカット記法を使うcontext
を'when'や'with'で始めて、メソッドの説明には'#'を使う
it
ブロックには1つのExpectationだけを記述するdescribe
とcontext
をふんだんに使うMy top 7 RSpec best practices | Dmytro Shteflyuk's Home
before :all
ブロックは注意して使う
before :all
ブロックで生成する際は、それらがトランザクションでラップされず、テスト後もデータのロールバックが行われないことに注意after :all
ブロックでデータの削除を明示的に行う必要があるbefore :each
に書き換えれば実行毎にロールバックが行われるようになるfactory_girl
などのライブラリを使うcontext
を使うspec_helper
が何度もロードされないようにする(重複してロードされた際は警告を表示するようにする)でも、テストコードのリファクタリングという観点でもっとも参考になったのはid:t-wadaさんの「RSpec の入門とその一歩先へ」シリーズ。
この内容ならEPUBやPDFで販売されてても買っちゃうなあ。
ドメイン失効を防ぐためのドメイン一括管理サービスという、あまり見かけないけどニーズはありそうなRoboDomainというサービスを発見。
RoboDomain | Flickr - Photo Sharing!
ドメイン名を登録するとExpiration DateやWHOIS情報などが一覧できるようになり、更新タイミングについてはメール通知やRSS配信でキャッチするほかに、iCalやGoogleカレンダーにインポートすることもできる。ドメインのrenewやtransferを行った際の記録を残しておけば、コストを視覚化してくれたりもするみたい。まだベータ期間中なので料金は無料です。フッターの「Handcrafted in Rome, Italy.」が素敵ですね。
ドメインに限りませんが、最近は社外のいろいろなリソース・サービスを組み合わせて使うスタイルが増えているので、地域やプロバイダーといったものをまたがってリソースを集約・一覧するサービスのニーズは高まっていると思います。例えば、ソーシャルプラットフォームのアグリゲーションだとConversocialやFlowtownとかですね。理想を言えばアグリゲーションサービス側で個々のリソースの管理・操作までできると素晴らしいのですが、そこまでいかずとも、閲覧だけでも結構便利になるだろうものは多いはず(国内サービスを対象にしたアグリゲーションだと公開APIが絶望的なのがネックですが)。