jQueryとjQuery mobileのバージョンに注意
jQuery mobile 1.00 final,1.0.1 ではjQuery1.6.4対応
jQuery mobile 1.1.0 RC1 ではjQuery1.7.1対応
jQuery mobile 1.00 final,1.0.1ではjQuery1.7では動作しません。(http://ja.wikipedia.org/wiki/JQuery_mobile)
2012年3月27日火曜日
phoneGap1.5 でコンパイルエラー
phoneGap1.5 でコンパイルエラー
コンパイルするとすぐにエラーになるので、いろんなところに情報が載っている。(http://sage.uraroji.com/)
解決方法:phoneGap1.5プロジェクトを作成するときに”Use Automatic Reference Counting”をオフにする。
それをしなかった場合はビルドセッティングを変更
”Build Setting” “Apple LLVM compiler 3.1 – Language” > “Objective-C Automatic Reference Counting” NOにする
原因:phoneGapコードがAutomaticReferenceCountingに対応していないだけのようだ。
原因:phoneGapコードがAutomaticReferenceCountingに対応していないだけのようだ。
virtualbox 4.1.10 VBOX_E_OBJECT_IN_USE (0x80BB000C) エラー
virtualbox 4.1.10 VBOX_E_OBJECT_IN_USE (0x80BB000C) エラー
かなり焦った。。。
解決方法:ここに書いているように(https://forums.virtualbox.org/viewtopic.php?f=6&t=48527) *.vbox,*.vbox-prev のisoを登録しているラインを消去。
原因:多分リンク先にも書いているように”Install Guest Additions"が関係していると思います。
Guest Additons関係のisoを登録しているラインを消去するだけで、動作可能になった為。 そのため4.1.10が直接関係しているかは不明です。
解決方法:ここに書いているように(https://forums.virtualbox.org/viewtopic.php?f=6&t=48527) *.vbox,*.vbox-prev のisoを登録しているラインを消去。
原因:多分リンク先にも書いているように”Install Guest Additions"が関係していると思います。
Guest Additons関係のisoを登録しているラインを消去するだけで、動作可能になった為。 そのため4.1.10が直接関係しているかは不明です。
2012年3月20日火曜日
携帯電話を変えました
今までのAUのガラパゴス携帯からスマートフォンに変更しました。
スマートフォンと言ってもキャリアがイオン(bmobile)の低速低価格タイプです。月額費用は約2300円(http://www.bmobile.ne.jp/aeon/)
スピードはやはり遅いですが、ナビは使えるので、最低限のスピードは確保出来ていると思います。
端末はXperia mini pro (http://juggly.cn/archives/27649.html) 小さくて(カードサイズ)、ハードキーボードがついているのが良いですね。この端末はイオンのサポートリストには記載は無かったですが、音声、データの送受信は問題なく出来ています。標準ではFOMAのエリアプラスに対応指定なのが残念。ネットをみているといろんな対応方法が有るみたいです。時間があるときに試してみようと思う。
一つ注意点が有ります。NMPをすると通話までに丁度二日ほど必要でした。(bmobileからsimが送られてきます)そのため二日間は携帯での通話は出来ませんでした。
2012年3月11日日曜日
賀名生梅林
2012年3月4日日曜日
rubyでメタプログラミング
rubyのライブラリを使うと宣言されていない関数が利用出る場合が有ります。大抵は以下で紹介するdefine_method,method_missingを利用しています。これを背静的言語で書くと引数に条件を入れて、大量のif文が書かなければならない事が想像出来ます。このようなプログラミングだけだと逆にわかりにくくなる事が有りますが、適度に使うのは有効だとは思います。(かなりの重複が排除される事が予想出来ます)
#メタプログラミング説明クラス class Meta #==abc関数を動的に追加 define_method(:abc){|a1,a2|self.add(a1,a2)} #==普通の関数 # *data1:数字 # *data2:数字 def add(data1,data2) data1 + data2 end #==関数として存在しない関数に対しての処理 def method_missing(id,*arg,&block) #引数の個数が2の場合強制的にaddコマンドをコール return add(arg[0],arg[1]) if arg.count() == 2 super end end m = Meta.new p m.abc(10,20) #=> 30 追加された関数abcに対して p m.add(10,20) #=> 30 通常の関数に対して p m.hoge(10,20) #=> 30 存在しない関数に対して p m.hoge("a","b") #=> "ab" 存在しない関数に対して
rails 3.1 でのajax 3
前回のajaxはrails同士のajaxでした。今回はサーバーはrails,クライアントは通常のajax(jQueryを使っています)
コードは以下のような感じになります。railsが頑張ってくれているので特に難しい事はないです。
xxx.html.erb
補足:/assets/javascripts/コントローラ名.jsにjavascriptを書く場合は以下はいりませんが、xxxx.html.erbに書く場合は以下は必要です。
<%= submit_tag '送信', :onclick => ("submit('');") %>html内のjavascript:ajax非同期送信
function submit(send_data){ $.ajax({ type: "POST", url: "http://192.168.100.242:3000/products/index2.html", data: "data1=John&data2=Boston", success: function(msg){/*alert(msg);*/} }); }こちらでも問題は有りません。
function submit(send_data){ $.ajax({ type: "POST", url: "/products/index2", data: "data1=John&data2=Boston", success: function(msg){/*alert(msg);*/} }); }html.erbに書く場合は以下のようになります。
html
コントローラー:ajax送信がここに入ってくる
def index2 @ret = "return data" endindex2.js.erb:index2のコントローラーの処理が終了した後このjavascriptがコールされる
$('#hoge').html("<%= @ret %>");routes.rb:ルーティング
post "products/index2"
xxxx.html.erb内では<%= %>は使えますが、コントローラ.js内ではつかえません。
登録:
投稿 (Atom)