Click here to check if anything new just came in.
February 27 2012
xcodebuildにXcodeの場所が変わったことを教える
Xcodeのバージョンアップをしてから、/Developer ディレクトリがなくなり
/Applicationsの下に引っ越したようなので、
xcodebuildコマンドが動かなくなりました。
1 Error: No developer directory found at /Developer. Run /usr/bin/xcode-select to up 2 date the developer directory path.
xcode-selectコマンドで新しい場所を教えて上げる必要があるようです。
1 xcode-select -switch /Applications/Xcode.app
これでok.
February 02 2012
androidのViewGroupの派生クラスでonDrawを使用する
カスタムViewGroupを作成した場合に、onDrawで独自の描画処理を行いたい場合、 以下のフラグを立てる必要があります。
1 setWillNotDraw(false);
December 24 2011
検索エンジンbotのアクセスを検出するrack-turing-test
久々にrubygemsをリリースしました。
Rack::Requestで検索エンジンのbotからのアクセスかどうか判定します。
1 request.bot? #=> true or false
これだけ。
githubで検索してみたら、個別に実装している例がたくさん見つかったわりに、単体で切り出されているものがあまりなさそうだったので作ってみました。
December 23 2011
プルダウン・プルアップでページ移動するUI
前回に続いてUI特許取得回避のための記事です。
Twitterアプリのタイムラインでプルダウンして指を離すと新着確認するUIがありますが、iBooksやPDFビューアなどのページ単位のナビゲーションをするアプリで、下図のように

- 上端位置からプルダウンして指を離す→前項の下端に移動
- 下端位置からプルアップして指を離す→次項の上端に移動
できるとスムーズなページ送りができて便利だと思います。
December 22 2011
何もない場所をもう一度クリック/タップしたら最寄りのボタンにhitしたことにする
UI特許取得を避けるために書いておきます。
クリック���タップでボタンを外した場合に、もう一挑戦してまた外れた場合、タップ地点の近くにあるボタンなどのUI要素をクリック���タップしたことにすると便利だと思います。
3回失敗、4回失敗するごとに、徐々に探索半径を広げていっても良いかもしれません。
December 20 2011
NSString.stringWithCString:length:encoding: は無い?
deprecatedになっているNSString.stringWithCString:length:を使っている古いコードがあり、新しい記述に書き換えようとしたのですが、documentによると length 指定ができない NSString.stringWithCString:encoding:
を使えという指示しかないようです。
等価なコードで置き換えるとしたらこんな感じかな���
1 //[NSString stringWithCString:bytes length:length]; 2 [[[NSString alloc] initWithData: 3 [NSData dataWithBytes:bytes length:length] 4 encoding:NSUTF8StringEncoding] autorelease];
ARC使用でしたら autorelease は不要ですね。
December 17 2011
Rails-2.3.x のログを無効化する
production環境などでログ自体を無効化するには
config/environments/production.rb あたりで
1 RAILS_DEFAULT_LOGGER = Logger.new("/dev/null")
すればok.
December 13 2011
デプロイ先の .rvmrc をtrustする
.rvmrc ファイルを置いておくと自動的に使用するRubyのバージョンを切り替えられるので便利ですが、デプロイ先で利用する場合に毎回 .rvmrc を信頼するか Yes/No? と聞かれるのが自動化と相性が良くないので、
1 % cd /path/to/.rvmrc 2 % rvm rvmrc trust
しておくとその後何も聞かれなくなります。
December 12 2011
Chiyoda.rbを発足いたしました
新しい地域Rubyコミュニティ Chiyoda.rb を発足いたしました。
千代田区周辺のRubyに縁のある企業に会場をお借りして定期的に会合を開催し、Rubyプログラマーの間で情報交換を行う場所を提供する事を目的としております。
株式会社万葉様のご協力により、第1回の会合を開催する運びとなりました。
Rubyistの皆様方におかれましてはお誘い合わせの上ご参加いただければ幸いです。 よろしくお願いいたします。
December 10 2011
Rails3.1でscssではなくsassを使う
SCSSよりSASSが好きです。 時々SCSSのことをSASSと呼んでるものがあって紛らわしいですね。
Rails 3.1では config/application.rb に
1 config.sass.preferred_syntax = :sass
と記述すれば SASS をデフォルトで使ってくれるようです。
Let's prefer the SASS :)
December 09 2011
IKImageBrowserViewの背景色を透明にする
IKImageBrowserViewは画像のリストを表示する場合に非常に重宝します。
現時点ではIBから背景色を設定することができないのですが、以下のようにすると背景色を設定できます。
1 [imageBrowserView 2 setValue:[NSColor clearColor] 3 forKey:IKImageBrowserBackgroundColorKey];
December 03 2011
brew upgradeで"Error: undefined method `include?' for nil:NilClass"が出たら
brew upgrade groonga しようとしたら、以下のようなエラーが出てきました。
1 Error: undefined method `include?' for nil:NilClass
これはbrewのバージョンが古いのが原因らしい。
1 cd `brew --prefix`/Library/Contributions/examples 2 git clean -n 3 rm brew-upgrade.rb
して再挑戦したら上手く動きました。
November 30 2011
herokuでRails3.1を使う
新しい環境に移行すべく、ruby-1.9.3, rails-3.1.3 で作ったwebアプリをherokuにデプロイしてみたりしています。 いくつか注意点があったのでメモ。
application.css isn't precompiled
手元の環境で動いていても、いざデプロイすると以下のようなエラーが出ることがあります。
1 ActionView::Template::Error (application.css isn't precompiled):
事前に bundle exec rake assets:precompile してから生成物をgitに含めてデプロイすればいいのですが、自動的に生成して欲しい場合には、
config/environments/production.rb で
1 config.assets.compile = true
を指定します。これで勝手に生成してくれます。
Could not find a JavaScript runtime
これもassetsの生成に関する問題なのですが、jsファイルを生成するにあたって、jsのランタイム環境が必要になります。
これもherokuの環境でやるためには、Gemfile に以下を追加します。
1 group :production do 2 gem 'therubyracer-heroku' 3 end
これでok
November 20 2011
rvmとCapistranoを併用する
rvmを使ってcapistranoでアプリケーションごとに異なるrubyのバージョンを利用するには、Capfileの先頭に以下のような記述をすればok
1 $:.unshift(File.expand_path('./lib', ENV['rvm_path'])) 2 require "rvm/capistrano" 3 set :rvm_ruby_string, '1.9.3' 4 set :rvm_type, :user
ついでに ROOT に .rvmrc を追加して中身に
1 rvm 1.9.3
のようにしておけば cd したときにrubyのバージョンが切り替わって便利です。
ruby-1.9.xで自動的にmagic-commentをつける
結構需要がありそうな割に、決定版的なツールがなんなのかわからなかったのですが、とりあえずこれを使えば目的を果たせます。
使い方:
1 % gem install magic-commenter 2 % cd /path/to/root/of/ruby/files 3 % magic-commenter
あとは自動的にmultibyteキャラクタを含んでいる rbファイルを見つけて マジックコメントを挿入してくれます。
November 19 2011
NetGenesis SuperOPT-GFiveでMSQ session table full
NetGenesis SuperOPT-GFiveを使っているのですが、特定のPCを接続するとIPマスカレードのセッションテーブルがいっぱいになるという問題が発生しており、原因を調べておりました。
という記事があり、webalizerが原因か、と疑ってみましたが、そのPCにはwebalizerは入ってません。 topでプロセスの動きを眺めていると、haproxyが変な動きをしていたのでこれをpurgeしてみると、どうやらビンゴのようでした。 ということで、特に使ってなかったのでhaproxy を削除してsession table full問題は解決。
November 07 2011
Sqlite3でSQLite3::BusyExceptionが出たら
database.ymlに
1 development: 2 timeout: 2000
のようにタイムアウトをミリ秒で指定すればok デフォルトでは 0 になっていて掲題の例外が発生するようです。
October 25 2011
バックグラウンドジョブのプロセスIDを表示する
バックグラウンドジョブの一覧は
1 % jobs
で得ることができますが、そのままではPIDがわかりません。
1 % jobs -p
とやると PID を含めた結果が得られます。
October 20 2011
ハンドミラー30万ダウンロード達成御礼
iPhone/iPad向けのハンドミラーアプリですが、iPhone4発売の頃にリリースして以来一年とちょっとで30万回ダウンロードされるに至りました。 ご愛顧のほど御礼申し上げます。

iPhone4S特需
つい先日までずっと500DL/dayぐらいで推移していたのですが、iPhone4Sがリリースされてから急激にダウンロード数が伸び、現在のところ 20000DL/day に達しています。 機種変時にDLが急増してランキング上位に来るということは、DL後もずっと使い続けてくれている人が多いということだと思うので、非常に嬉しい限りです。
将来の予定
他人目線で自分を見れる反転機能を搭載予定です。 実装はすでにできているのですが、いかにシンプルさを保ったまま導入できるかUIを考えているところです。 シンプルさが唯一にして最大の取り柄ですので、将来にわたって広告を表示する予定はありません。もちろんスパイウェアのような事もしません。 今のところ収益0ですが、製作時間10分(アイコンは半日がかりですが)程度なので特に気にせず気長に構えております。
今後ともご愛顧のほど宜しくお願いいたします。
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
