Archive for the ‘技術’ Category
Rails3.1でdebuggerを使ってデバッグをしてみた
もう全然やり方が判らなかったんですが、1日かけてやっと判ったので自分用にメモしておきます。
まずはruby-debug19をインストールしておきます。
Railsアプリを作るとGemfileに勝手に追加されてるので、それをコメントアウトするだけです。
次にデバッガーを有効にします。
config/environments/development.rb の最初に
Debugger.start
を追記します。
あとはブレイクポイントを仕込みたい箇所に
を書いておきます。
これでデバックしたロジックを通るように操作するとWebサーバを上げたコンソールでコマンドを使ってデバッグができる様になります。
取りあえず”help”と叩くと使えるコマンドが表示されるので手当たり次第打って見ました。
backtrace delete enable help list ps save thread var
break disable eval info method putl set tmate where
catch display exit irb next quit show trace
condition down finish jump p reload source undisplay
continue edit frame kill pp restart step up
まずは、実行してるソースコードをlistで表示してstepでステップイン、nextでステップオーバーしながらたまにppで変数の確認をすると言う方法でデバックしました。
デバッグが終わったらcontinueで再開します。
他にもコマンドが一杯ありますが、そこまで使いこなせてないです。
しかも、そもそもバグがあった箇所が全然特定出来ませんでした。
デバッグの仕方が判っただけでもヨシとするか。
Padrinoで多言語化

Padrinoを試してるんですが、簡単に使えて良い感じです。
なかでも多言語化は楽ですねー。
Titaniumで横向きで起動する
スプラッシュを横向きにしたくて調べてたんですが情報が無かったので書いておきます。
Titanium Studioで実機に転送できたけど動かない。。。
実機に転送まで出来たんですが、起動するとすぐに落ちてしまいます。
iOSシミュレータでは動くのでどうやってデバッグするか難しいところです。
そこで、build/iphoneのしたにXcodeのプロジェクトファイルが出来てるのでそれを使ってXcodeを使って実機で動かしてみました。
結果、ログも出されるので動かない原因が分かりました。
また一歩進みました。
Titanium Studioで実機に転送できない
昨夜から実機に転送全然できなくてググっても情報が出てこないからどうするかなーなんて思ってたんですがあっさり解決しました。
File "/Library/Application Support/Titanium/mobilesdk/osx/1.7.1/iphone/builder.py", line 1296, in main
execute_xcode("iphoneos%s" % iphone_version,args,False)
File "/Library/Application Support/Titanium/mobilesdk/osx/1.7.1/iphone/builder.py", line 1057, in execute_xcode
output = run.run(args,False,False,o)
File "/Library/Application Support/Titanium/mobilesdk/osx/1.7.1/iphone/run.py", line 39, in run
sys.exit(rc)
SystemExit: 65
Titanium Studioでプロジェクトを作る時にApplication IDを入れるんですが、ここにApp IDを設定していました。
僕の場合、App IDにアスタリスクを付けていたのでこれがダメだったようです。
やっと実機に転送できましたー。
転送できただけですけど。
続】Firefox3.6でiframeが複数あると内容が同じになる
昨日のエントリーに書いたFirefoxでのiframeの挙動についてbugzillaをずっと探してて、それらしきモノを見つけました。
iPadで開発はできるのか???
ipad単体で開発は出来ないですが、サーバに接続してのコーディングなら出来そうです。
用意するモノ
・Apple Wireless Keybord
・Prompt – Panic, inc.
Read the rest of this entry »
Rails3+Haml+MondoDB+jQuery
自分用メモですが、コード書き出すまでの手順をひとつ。
こちらのサイトを参考に試しました。
Rails 3 + mongoDB + haml + RSpec + jQuery のインストール – 1
Rails3 対応 MongoDB ORM、Mongoid 詳解―インストール
秀丸を卒業したい・・・
もう。20年近く使ってる秀丸エディタですが、そろそろ卒業したいなーって思い立って、折角だからmacで使ってる(というほど使ってない)textmateに似たエディタが無いかと探してました。
ありましたよー。
しかもオープンソースでクロスプラットフォーム!なんて最高です。
Redcar
ということで早速インストールしました。
jrubyで動くらしく、rubyとjavaが入ってる必要がありますのでまだの方は今すぐインストールしてください。
・インストール
コマンドライン(黒い画面)で操作します。
sudo gem install redcar
redcar install
起動は、
redcar
だけです。
簡単ですね−。
textmateのバンドル、スニペットもサポートしてるのもGood!ですね。
macの人でtextmateを買うほどではないなーって方はこれで十分じゃないでしょうかー。
macでターミナルの操作に自信が無いひとはKUROIGAMENの記事を読むと黒い画面が怖くなくなると思います。
Vagrant & Chef 自分用メモ
Update 2011.3.16 コマンドを追加、修正
Vagrantが素晴らしいので、簡単に開発環境ができる様に手順を整理しました。
準備
VirtualBox、Rubyをインストール
・VirtualBox
VitualBoxのサイトからダウンロードしてきてインストール
・ rubyをインストール
RubyInstallerから1.8系をダウンロードしてきてインストール
・Vagrantインストール
vagrant box add [イメージ名] http://files.vagrantup.com/lucid32.box
mkdir [インストールフォルダ]
cd [インストールフォルダ]
vagrant init [イメージ名]
vagrant up
Vagrantはkomagataさんのサイトが詳しいです。
・SSHでの接続
Macだとvagrant upしたときに表示されるコマンドでいいですが、Windowsだと別途SSHが使えるターミナルを用意する必要があります。
僕の場合はPuTTY ごった煮版を使わせて頂いてます。
Puttyで接続するときは、
自動ログインのユーザ名:vagrant
[rubyインストールフォルダ]?lib?ruby?gems?1.8?gems?vagrant-0.6.7?keys?vagrant.ppk
で接続できます。
これでUbuntu環境のできあがりです。
VagrantのイメージはChefが入ってるので会社で共通の開発環境はChefを使って共通化すると楽できます。
まずは、UbuntuにSSHでログイン
Chefはサーバを用意するのが一番ですが、ウチの会社はそこまでするほどの人数ではないので、chef soloで環境を作ります。
Cookbookの元ネタはopscodeのcookbookをフォークして作りました。
ウチはchefのcookbookをgithubに置いてるので、そこからファイルを取ってきます。
ただ、Vagrantのイメージは残念ながらgitがインストールされてないので、gitを事前にインストールする必要があります。
sudo gem update --system
git clone git://github.com/mongorian-chop/Chef-CookBooks.git cookbooks
cd cookbooks
sudo chef-solo -c .chef/solo.rb -j .chef/chef.json
これで僕のPCだと20分ほど放置で環境が作れます。
zsh、screen、vim、gitの設定ファイルはこちらのサイトを参考に作りました。
取りあえず、僕の環境はこれだけでOKです。
レシピはJSONの中にインストールしたいソフトのフォルダ名(cookbook直下のやつ)を書くだけなので簡単でいいですねー。
サーバを使うと設定ファイルをもっとカスタマイズ出来そうなので、次はそれをやってみたいと思います。