rspecをちょこちょこ勉強しています。とりあえず下記を一通りやってみました。
Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
やってみた感想としては
- テストの構成単位を小さくできそう
- テストのコメント書きをしっかり書くようになりそう
と、テストをきちんとこなすための良い習慣がつくかも?という感じ。でもまだ始めたばかりなので、もう少し使ってみて判断してみます。
rspecをちょこちょこ勉強しています。とりあえず下記を一通りやってみました。
Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
やってみた感想としては
と、テストをきちんとこなすための良い習慣がつくかも?という感じ。でもまだ始めたばかりなので、もう少し使ってみて判断してみます。
最近、いろんなことをメモっています。
今は、まずemacsにメモして、プライベートモード&その場編集機能のはてなダイアリー(サブアカウント)に貼付けという方法でメモっていますが、いまひとつです。その場編集機能はとても便利なのですが、一日にいくつもエントリを書いたときに、そのうちの一つだけ削除するということができなくなってしまいます。また、タグの一括変更もサポートしていないので、記事の編集が大変。
そんなわけで、ちょっとメモ帳として使っている/使えそうなものを整理してみました。
はてなダイアリーで、kwoutで使われるmapタグが利用できるようになったらしいのでテスト。
[http://d.hatena.ne.jp/hatenadiary/20080410/1207821427:title=Webページを画像化して引用できる「kwout」の貼り付けに対応しました - はてなダイアリー日記]
あれ?mapタグ効いてなくない?
mapタグがエスケープされなくなっただけに見えるなあ
javascriptはまだまだ素人同然ですが、とりあえず今日勉強したことを書いときます。
別ウィンドウで、あるページを開くときはwindowオブジェクトのopen()メソッドを使う。
window.open("http://level20.jp/);
同じウィンドウで開くときはlocationプロパティを使う
location = "http://level20.jp/";
こんな方法もある。でもこれは履歴に残らない
location.replace("http://level20.jp/")
基本的にはどれも同じだが、リダイレクトされた時に異なる値を持つ。
location.hrefとdocument.locationは混同しやすいので、document.URLを使うのが推奨されているらしい。
firebugのコンソールにちょこちょこっと書いてすぐ実行できるのが楽しい!
早くjavascriptの勉強に本格的に取り組みたいなー
railsでRESTを実現するための方法についてまとめ。
ここからが本題。RAILS_ROOT/config/routes.rb内に下記のような文を追記する
map.resources :articles
そうすると、下記のようなRESTなルーティングが自動的に生成される。*1らくちん。
メソッド | URLのパス | アクション | ヘルパー "index")と同じ。">*2 |
---|---|---|---|
GET | /articles | index | articles_url |
POST | /articles | create | articles_url |
GET | /articles/new | new | new_article_url |
GET | /articles/1 | show | article_url(:id => 1) |
PUT | /articles/1 | update | article_url(:id => 1) |
GET | /articles/1/edit | edit | edit_article_url(:id => 1) |
DELETE | /articles/1 | destroy | article_url(:id => 1) |
controller名の単数形複数形、map.resourceの単数形複数形で振る舞いがいろいろ変わってくる。なのでcontrollerを作るときは単数系と複数形をきちんと意識した方がいいみたい。少なくともRESTを使うcontrollerの名前は複数形したほうがいい。もしかしたらcontrollerの名前は全部複数形に統一したほうがいいのかもしれない。*3
以下どのように変わるかのメモ。
controller名を単数形にすると、indexアクションのヘルパーが変化する。controller名が全部単数形になる。他は同じ
メソッド | URLのパス | アクション | ヘルパー |
---|---|---|---|
GET | /article | index | article_index_url |
POST | /article | create | article_index_url |
GET | /article/new | new | new_article_url |
GET | /article/1 | show | article_url(:id => 1) |
PUT | /article/1 | update | article_url(:id => 1) |
GET | /article/1/edit | edit | edit_article_url(:id => 1) |
DELETE | /article/1 | destroy | article_url(:id => 1) |
resourcesの方を単数形にすると、idを取り扱わないアクションとしてルーティングが作られる。
メソッド | URLのパス | アクション | ヘルパー |
---|---|---|---|
POST | /article | create | article_url |
GET | /article/new | new | new_article_url |
GET | /article/edit | edit | edit_article_url |
GET | /article | show | article_url |
PUT | /article | update | article_url |
DELETE | /article | destroy | article_url |
この時、パスは単数形(article)でもルーティング先のcontrollerの名前は複数形(articles)になる*4。
map.resoucesでルーティング定義したcontrollerに、newとかupdateとかデフォルトで定義された以外のアクションのルーティングを定義する場合。
/article/1/recentのように、各IDごとに作用するアクションのルーティングを定義する場合
map.resources :articles, :member => { :release => :put }
/article/releaseみたいな場合
map.resources :articles, :collection => { :recent => :get }
/articles/new/shortformのように、既存のアクションnewアクションに上乗せしたルーティングを定義する場合
map.resources :articles, :new => { :shortform => :post }
map.resourcesを使わないでRESTを実現したい(editとかupdateとかのアクション名が嫌いとか)
人は以下のようにしてひとつづつルートを設定する必要がある。面倒。
map.connect 'articles/:id', :conditions => { :method => :put }, :action => 'updatedayo'
RailsによるアジャイルWebアプリケーション開発 第2版
mac使いになって約半年。これまでoffice系のソフトは入れずに、previewの閲覧だけでなんとかしてましたがそろそろ本格的に
officeを使う手段が必要になってきました。で、どうやってmac de officeしようかともやもや考えています。
以下もやもやログ。
これが一番簡単な解決策。ファミリー版なら約2万ちょい。
不安材料としては、最新のoffice2008の評判が悪いこと。レビューを見たところ
というような書き込みがあり、踏み込めない。
Office 2008 for Mac ファミリー&アカデミック
keynoteとか使ってみたいなーというのがあり選択肢の一つにしてみた。価格は約1万。officeより安い。
でも体験版を試してみた時にexcelの表示が少し崩れたので、本気でofficeを使いたいなら対象外かな。
windows時代はこれ使ってた。価格は0円。一番安価な解決策。
でもmacのopenofficeはα版で不安定なよう。
Please make sure that you backup any documents used in OpenOffice.org Aqua. Time Machine is a backup system built into Leopard that you can use.
porting: OpenOffice.org for Mac OS X : Download Aqua
こんなの書かれてたら入れる気なくすよ。
macでのoffice環境を調べている際に、互換性の問題は何を使うにしろ残るなと感じたのでwindows環境を導入することも選択肢に。
エミュレータソフト価格は1万前後(parallels or vmware)+windowsの料金2万強+officeの料金4万
互換性の問題を考えなくていいのと、ついでにIEでのレンダリングチェックもできるのがメリット。だけど高いし面倒。
Microsoft Windows XP Home Edition Service Pack 2 通常版
Microsoft Office 2007 Standard
発売日直後に買ったものの読むためのまとまった時間がとれず今日まできてしまいましたが、ようやく「ウェブ時代5つの定理」を読みきりました。