RESTful Webサービス 第5章 読み取り専用のリソース指向サービスの設計

地図サービスの設計を通じて、RESTfulで、リソース指向で、アドレス可能で、ステートレスで、十分に接続されているサービスの設計手順を学ぶ。Web関連の仕事をしていて、本書をここまで読んできてこの章を読んでいると、全体的に「当たり前のこと」を丁寧に…

グループ参加祭り

今日はなぜかいろんなはてなグループに参加した。nitsujiの日記 - はてなグループ::ついったー部 nitsujiの日記 - Runnersグループ nitsujiの英文解釈日記 - englishstudyグループランナーと英語は書くことあると思うんだけどついったー部にはなにを書いたら…

第136回 TOEIC公開テスト、他

LISTENING 330、READING 320の650点でした。今回は試験を受けていてサッパリ分からんと思っていたのでおおむね予想通りです。 毎年1回、新年1回目を受験してきて(早いもので)今年で4回目です。点数の推移は、 595 → 640 → 690 → 650 です。 毎年TOEIC用の…

センター試験の英語をやってみた

2008年センター試験 英語(筆記)をやってみました。 きっかけはあきれす軒 in Deutschland : センター試験 英語 2008年です。 ちなみに大学には行ってないのでセンター試験というものをこれまで一度もやったことがありません。 センター試験初体験だ! …

RESTful Webサービス 第4章リソース指向アーキテクチャ(ROA)

ROAは、RESTful Webサービスによって問題を解決する手段である。 RESTはアーキテクチャではなく一連の設計条件。 リソースはURIで表すことができる。リソースの表現は複数あることがある(言語の違いなど)。それを取得する手段はいくつかある(URIを別にす…

Catalyst本がやってきた

衝動買いしてしまったCatalyst本がようやくやってきた。12/10にPacktで注文して1/2に発送したよーってメールが来て今日(1/15)届いた。 20% Pre-Order Discountというので買ったから39.99ドルのところを31.99ドルで買えた。支払いはVISAで換算レートが1ドル…

RESTful Webサービス 第3章 RESTfulサービスの特徴

やっと読んだ。Amazon S3へのオブジェクト指向インターフェースを作成するという内容。 URIへの署名の仕方やアクセス制御の話もある。コードは全部Rubyだけどそれほど難しくないのでだいたい分かった気がする。最後にRailsのActiveResourceを使うと簡単にRes…

SVN::Webでシンタックスハイライト

SVN::WebっていうPerlで書かれたSubversionフロントエンドがあります。基本的にTracのBrowse Sourceのところを切り出しただけな感じですが(ほんとはもっといろいろできるかもしれないけど知らない)、Tracがシンタックスハイライトされるのに対してSVN::Web…

2008年の目標と心がけ

書かなきゃ書かなきゃと思っていたけどついに書く。 2007年末からなんとなく2008年にやりたいことを箇条書きにしていて、今そのリストが17項目ある。あれもこれも!という気持ちを抑えて3つずつに絞りたいと思う。目標は具体的に、心がけはときどき思い出す…

Tracのシンタックスハイライト

Tracがどうやってシンタックスハイライトしてるか気になったので調べた。 以下の手順でMIMEタイプを判定。 ファイルの拡張子から判定 mimetypesモジュールで判定 ファイル内容のshebang行、Emacsの-*- mode -*-、vimのsyntax=を正規表現で判定 ファイル内容…

pythonのGearman Client

ここにあるのでチェックアウトしてインストールする。 http://code.sixapart.com/svn/gearman/trunk/api/python/インストールはいつも通り、 $ sudo python setup.py installとしておいた。 使い方 「hello」というWorkerが動いてて「hello 引数」という文字…

RESTful Webサービス 第1章 プログラマブルWebとWebサービス

RESTful Webサービスを衝動買いしてしまったので渋々読んでいる。 渋々なのでなかなか頭に入ってこなくて困ったけど、なんとか1章を読み終わって何が書いてあったのか分かった気がしたのでメモっておくよ。 ポイントはメソッド情報とスコープ情報。 Webサー…

FC6のperlをアップデートした

redhat系のperl5.8.8にあてられているパッチのせいで動作が遅いという件に対応したのでメモ。ずっとスルーしてたんだけどDBIx::Class::Cursor::Cachedを入れたら新しいDBIx::ClassがインストールされてしまいCatalystのテストサーバーを起動するたびに警告メ…

Yahoo!不動産の検索結果をGoogle Mapsに表示する

もう絶対に誰かがやっていそうだけど。 いま横浜に住んでいて会社は恵比寿なので通勤に1時間以上かかっているんだけど、最近になって時間がすごくもったいないと実感するように(ようやく?)なってきた。往復で2時間半は下らないのでこれが例えば30分になっ…

HTML::FormFu 0.02

最近HTML::FormFuを試して見ているんだけど、タイムリーなことに0.02系に更新されたようです。http://search.cpan.org/~cfranks/HTML-FormFu-0.02001/DBIx::Class::HTML::FormFuがHTML::FormFu::Model::DBICに置き換わったりしているので後で試す。 - 追記:…

HTML::FormFuでDBカラムのユニークチェックをする

調べたのでちょっとメモ。 ユニーク制約付きのカラムのユニークチェックをして違反してたらエラーメッセージを出す。このMLを参考にした。 http://grokbase.com/topic/2007/09/25/html-formfu-force-error-on-field/yoP3-UCIz8etTxOgftmcYMqZEGA 1. evalとCo…

TheSchwartzのworkerはdaemontoolsで動かすことにしたよ

daemontools daemontools howto daemontoolsのインストール、サービスの作成については上の2つを参考にする。作ったのは以下のようなサービスディレクトリ。/service以下からここにシンボリックリンクを張って使用する。 http://trac.onot.in/public/browser…

TheSchwartzを使ってみた

TheSchwartzについては以下がわかりやすい。 TheSchwartzは非同期かつ分散した環境で各種ジョブを処理させるという枠組みを再実装して利用しやすくしたもので,MySQL(SQLiteもサポート)上のデータベースにジョブを格納し,各ワーカープールで処理を行って…

KML Makerというのを作ったよ

http://takatoshi.dyndns.org/kmlmaker/ KMLというのは、 KML (Keyhole Markup Language) は、Google Earth や Google マップに表示するポイント、線、イメージ、ポリゴン、およびモデルなどの地理的特徴をモデリングして保存するための XML 文法および XML …

楽天オークションで出品できない商品

楽天オークションでは、以下のような商品は出品できませんのでご注意ください。ゆうパックの場合 ・ 梱包したときに縦/横/高さの合計が170cmを超えるもの ・ 梱包したときに重量が30kgを超えるものヤマト運輸 宅急便の場合 ・ 梱包したときに縦/横/高さの合…

FindBin::libsがCygwinで動かない

追記(2008/01/15) 1.36で修正されたようです。 1.36 Sun Jan 13 22:37:46 EST 2008Add eval for abs_path, apparently Cygwin's abs_path croaks when the path doesn't exist (vs. simply returning undef). Fix is to eval the abs_path calls. http://s…

DjangoのAdminサイトのリスト表示で論理削除したレコードを表示しない方法

・・・がよくわかんなかったんだけどそれなりにできてしまって、このやり方に全く自信がないという話です。 - 地域と店舗があって多対1の関係とします。「地域 has many 店舗」です。 テーブルのカラムにdeleted_atというDateTime型のカラムを持たせてこれに…

てすと

Catalyst::Plugin::I18Nを使ってメッセージ類をControllerに直接書かないようにする

例えばカテゴリを削除するアクションを実行した結果を表示したい。 flashを使って例えばこんな感じにする。 if ($c->form_submitted) { if (my $name = $c->forward('do_delete')) { $c->flash->{notice} = sprintf('カテゴリ「%s」を削除しました', $name);…

問題はCatalyst::Plugin::FormValidator::Simple::AutoのYAMLのprofileのフォーマットにあるのではないか

Catalyst::Plugin::FormValidator::Simple::AutoでマルチカラムのUNIQUEチェックをする場合 - libnitsuji.soの続き。 いろいろ考えてるうちに問題はYAMLの書き方じゃなくてほかのところにある気がしてきました。 つまりハッシュをキーにするという考えがまず…

Catalyst::Plugin::FormValidator::Simple::AutoでマルチカラムのUNIQUEチェックをする場合

昨日に引き続き今日もまた躓いています。 FormValidator::Simple::Plugin::DBIC::Uniqueでマルチカラムのユニークチェックをしたい。 たとえば「このID(自分自身)以外で名前が重複するカラムがあるか?」みたいなチェックをするためには SELECT COUNT(*) F…

CatalystでFormValidator::Simple::AutoでDBIC_UNIQUE使う場合

FormValidator::Simple::Plugin::DBIC::Unique - unique check for DBIC - metacpan.orgを見ると、Catalystの場合は # you also can pass resultset object. # in catalyst application, FormValidator::Simple->check( $q => [ name => [ ['DBIC_UNIQUE', $…

Net::Technorati書いた

テクノラティのAPIを使うためのモジュールはすでにWebService::Technoratiというのがあるんだけど。 WebService::Technorati - a Perl interface to the Technorati web services interface - metacpan.org 使い方がよくわからないんで自分で書いてみました…

DBIx::Class::Validation

DBIx::Class::Validation - Validate all data before submitting to your database. - metacpan.org モデル層でValidationするモジュールなんだけど、単純にCatalystで使ってみたらイマイチだったのでメモ。 イマイチというのはコントローラが思いのほか汚…

GD::Barcode::QRcodeのバグ?の件について

GD::Barcodeのバージョンは1.15で。 http://search.cpan.org/~kwitknr/GD-Barcode-1.15/newのパラメータにVersionというのがあり、これは以下のようにデフォルトではauto selectとなっているのですが動き的にはデフォルトは1になってしまいます。 Version Ve…