ブラウザ確認のためのオンラインシミュレータ

ブラウザからインストール無しでiPhoneiPadでの表示確認をしたい場合、
オンラインシミュレータがオススメ。


オンラインシミュレータのサイトを表示して、iPhoneiPadの疑似表示の
ブラウザURL欄に確認したいサイトのURLを入れればOK。
簡単な分、完璧にはなかなかなりませんが、ちょっとした時に調べれる手軽さが良い。


今回、機会があって少し調べたので記録の意味も込めてメモメモ。


iPhone用オンラインシミュレータ
testiPhone.com
→ 結構使える
iPhone4Simulator
→ こちらもいい感じ。ただiPadでは使えなかった


iPad用オンラインシミュレータ
iPad Peek
→ iPadシミュレータでは有名みたい


# ちなみにブラウザはiPhone/iPadに沿うならSafariを使う方が再現度が高いです。

配列の配列を検索したい!

あっという間に2011年も終わり、2012年もひと月が過ぎようとしていますね。
今年もまったりとわからない箇所を模索しながらやっていこうと思います。
よろしくお願いします。


今回は配列の配列のお話。
結構、マトリクスなどを表示するときやコンボボックス生成時に使っちゃう
配列に配列を格納したようなもの。
例で言うとこんな感じです。

arr = [ [ "米", 1], ["麦", 2], ["小麦粉", 3 ] ]


これの中から特定の要素を取得したい場合、
例えば「麦」という単語で引っ張ってきたい場合は

arr.assoc("麦")
> ["麦", 2]


とできます。assocは最初の要素で検索してくれるようです。
それでは、その次の数値から検索したい時にはどうすればよいかというと、

arr.rassoc(2)
> ["麦", 2]


のように、rassocを使用すれば良いようです。
それでは、配列の配列の要素数がそれ以上の場合だったらどうするんだろ?
と、調べてみましたがちょっとわかりませんでした。
これ以上はループで回すしかないのかなぁ?

htaccessの設定でハマる(初心者)

特定のIPだけしかアクセス出来ないようにしよう!ということで
.htaccess」ファイルを作って設置したら上手く動かない!


設定はこんな感じ

order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX

とりあえず全拒否したあとで、「XXX.XXX.XXX.XXX」だけ許可しようという作戦。


なんで動かないのかとエラーログを見てみると・・・

.htaccess: order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'

と出てる。
調べてみると、みんな「deny,allow」の間に半角スペースが入っちゃって上手くいっていない
みたいなんだけど、僕のはちゃんと詰まってるもんなぁ・・・。


と、色々と見ていたら、なんと原因は改行コードでした。


手元のMacで作成してLinuxに放り込んでたのですが、
Macで作成した際に改行コードが「CR」になっていたのですが、
Linuxでは「LF」なので、その部分を変更して再度トライしたら成功!!!


超初心者な場所で詰まってしまったのですが、
灯台下暗しということで案外こういうミスって多いのです。


忘れてしまわないようにメモメモ

Ruby on Railsのlink_toで「:method => :post」が効かない

リンクをPOSTで投げたくて link_to のオプションに「:method => :post」を添えたのだけど上手くいかない。
なんでかなー、と色々と試行錯誤した結果、

JavaScriptを読み込んでいないことが原因でした。
rails.js」の中に処理があったのでそいつを読み込まないといけないみたい。


こんなことに時間が結構かかってしまった。。。

PostgreSQLの自動起動がきかない

PostgreSQLをサーバインストールしてごにょごにょしていて、
PostgreSQLをサーバ再起動と同時に起動させようとしたのに起動しない。

なーんてことが起こり色々探り助言を頂きしていたら、
chkconfigにダブって登録してあることが判明。

# chkconfig --list
・・・
postgresql-9.0 0:off 1:off 2:on 3:on 4:on 5:on 6:off
pgsql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
・・・


なので、

# chkconfig postgresql-9.0 off

として片方を起動しないようにしたら解決した。

number_with_delimiter がrails3で動かない

number_with_delimiter
というヘルパ関数があって、それを使うと
1234567→1,234,567
といったように変換してくれるそれはそれは便利なものがあるのですが・・・

それがなぜか今のプロジェクトでは動かない!!!
Rails3系なのでなんで動かないんだろう?と思って色々調べてみると

以下に答えが書いてあった。
http://followsearch.com/references/number_with_delimiter


適応バージョン:

1.0.0
1.1.0
1.1.1
1.1.6
1.2.0
1.2.6
2.0.0
2.0.1
2.0.3
2.1.0
2.2.1
2.3.2
2.3.8
3.0.0
3.0.5
3.0.7
3.0.9

現在の自分のプロジェクトのRailsのバージョン:

3.0.3

なんてこった。
丁度このバージョンだけ対応してないじゃん!

なんでこの期に及んでこんな事が起きてしまうのか!という感じですが、
対応していないものは仕方がないので、大人しくRailsをアップデートするかなぁ。。。

MovableTypeでCannot decode string with wide charactersエラー

今回はMovableTypeでのエラーでひっかかったので、その自分メモ。

今回しようとしたこと。
MovableType5.0.6のデータを
新サーバへ移行し、データの復元しようとした。

復元時に以下のようなエラーが発生

Cannot decode string with wide characters at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm line 173.

調べてみるとどうやら文字エンコードが上手くいっていない模様。
それに対する対処法はどうやら「_utf8_off」を利用すればよいみたいだけど、
ではどのファイルをどうすれば?


今回は以下のファイルを修正してなんとかなった。
mt/lib/MT/BackupRestore/BackupFileHandler.pm
413行目付近

sub _decode {
Encode::_utf8_off( $_[0] ); ←追加
Encode::decode_utf8( $_[0] );
}

これが本当に正しい解決方法かどうかは不明。