昔は mysql_retry_lost_connection というものがあったのですが、最近 (Rails-2.3以降) は config/database.yml の中で

   1  production:
   2    reconnect: true

とやるだけで、接続が切れた場合に再接続してくれるようです。 まあ、ここまで用意するならデフォルトでそうなってても良いと思うんですけどね。

posted by Png genki on Sat 11 Jun 2011 at 07:06

Rails-2.3.11用のExceptionNotificationプラグインは以下にあるようです (via @a_matsuda

基本的にはこれを script/plugin install -r 2-3-stable すれば良いのですが、ConsiderLocalの実装にバグがあるので 直す必要があります。

具体的には、以下のファイルの self.included の場所をConsiderLocalモジュールの直下に移動します。

あとはREADME通りに設定して、ConsiderLocalをApplicationControllerからincludeすればok

posted by Png genki on Sat 11 Jun 2011 at 06:51

GitリポジトリのRailsプラグインをインストールするときに、 標準では master ブランチがインストールされますが、 特定のブランチの内容をインストールしたい場合には、以下のように -r オプションを使用します。

   1  script/plugin install --force https://github.com/rails/exception_notification.git -r 2-3-stable

上記の例では 2-3-stable ブランチをインストールします。

posted by Png genki on Sat 11 Jun 2011 at 05:21

ちょっと調べ物。オープンソースのアドサーバー

OpenX Ad Server

ASB MyAds

posted by Png genki on Fri 10 Jun 2011 at 22:08

iOS5、発表されましたね。
個人的には、焦っても仕方ないので、ぼちぼち練りながらニッチな所をやっていこうと思います。

さて、ハーバード大学 講座 「CS 193P iPhone Application Development」、以前資料が公開されて話題になったのですが、2010-2011 Fallの資料も公開されていたのでメモ。

2010-2011 Fall
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall

基本的な講義とともに、気になったのは下記の回:

  • Title: Lecture 8: Gesture Recognizers
  • Title: Lecture 13: Blocks and Multithreading
  • Title: Bonus Lecture: Accessibility

特に、8と13はこれからの基本かなと思うのと、アクセシビリティは障害者の方だけでなく、みんなで使えば新しいシンプルなUIができるのかなと想像するところもあって勉強したくなりました。

以前に話題になった講座資料も挙げておきます:

2009-2010 Winter
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter

【追記 2011.6.8 14:31】
@splhack さんにお勧めいただいたコンテンツを追記させて下さい。
Madison Area Technical College、すごいですね…advancedとあるだけに内容が楽しみです… :)

iOS5、発表されましたね。
個人的には、焦っても仕方ないので、ぼちぼち練りながらニッチな所をやっていこうと思います。

さて、ハーバード大学 講座 「CS 193P iPhone Application Development」、以前資料が公開されて話題になったのですが、2010-2011 Fallの資料も公開されていたのでメモ。

2010-2011 Fall
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall

基本的な講義とともに、気になったのは下記の回:

  • Title: Lecture 8: Gesture Recognizers
  • Title: Lecture 13: Blocks and Multithreading
  • Title: Bonus Lecture: Accessibility

特に、8と13はこれからの基本かなと思うのと、アクセシビリティは障害者の方だけでなく、みんなで使えば新しいシンプルなUIができるのかなと想像するところもあって勉強したくなりました。

以前に話題になった講座資料も挙げておきます:

2009-2010 Winter
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter

【追記 2011.6.8 14:31】
@splhack さんにお勧めいただいたコンテンツを追記させて下さい。

@splhackさんのブログ:Grand Central Dispatchについての考察
http://tumblr.splhack.org/post/5662664642/grand-central-dispatch

Madison Area Technical College

posted by Png satoko on Wed 8 Jun 2011 at 14:11

結構長いことredmineを使ってるのですが、wikiのサイドバーを作れることに最近気が付きました。

作り方は単純で Sidebar という名前のページを作ればok. サイドバーに入れる場合、見出しは h3 が良さそうです。

posted by Png genki on Fri 3 Jun 2011 at 04:56

Gestureメモ。扱われているRecognizerも挙げておく。

Touches

コード内には二つプロジェクトがあって、Touches_GestureRecognizersがGestureのサンプルコード。指でviewを拡大・回転する。もう一方はUIResponderのサンプル。

  • UIRotationGestureRecognizer
  • UIPinchGestureRecognizer
  • UIPanGestureRecognizer
  • UILongPressGestureRecognizer

http://developer.apple.com/library/ios/#samplecode/Touches/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007435

Table View Animations and Gestures

セルを指で広げるサンプルアプリ。

  • UIPinchGestureRecognizer

http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010139

SimpleGestureRecognizers

  • UITapGestureRecognizer
  • UISwipeGestureRecognizer

http://developer.apple.com/library/ios/#samplecode/SimpleGestureRecognizers/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009460

posted by Png satoko on Wed 1 Jun 2011 at 14:20

iftopコマンドを使うと、特定のインターフェイス/ポート番号における通信量を調べることができます。

ローカルのポート1234への通信量を調べる例:

   1  iftop -i lo -B -f "dst port 1234"

転送されるデータ量を測定してチューニング、使ってるか使ってないかわからないサーバプロセスの発見などに使えます。

ubunut/debianなら、

   1  # apt-get install iftop

でインストールできます。

posted by Png genki on Tue 31 May 2011 at 06:23

spec_helper.rbの中でRSpec.configure を呼び出している場合、 以下のような警告が出てくることがあります。

   1  ******************************************************
   2  DEPRECATION WARNING: you are using deprecated 
   3  behaviour that will be removed from RSpec 3.
   4  
   5  You have set some configuration options after an 
   6  example group has already been defined.  In RSpec 3,
   7  this will not be allowed.  All configuration should 
   8  happen before the first example group is defined.
   9  The configuration is happening at:
  10  
  11    /path/to/app/spec/spec_helper.rb:50
  12  ******************************************************

これは spec_helper.rb が何度も呼び出されてしまうことで、 configureブロックが2回以上呼び出されてしまうために起こる問題です。

そもそも Ruby の require は一度しかファイルを読み込まないように なっていますが、読み込んだかどうか判定する基準となるのが 読み込み対象のファイルの絶対パスではなく、require に渡された引数であるため、同じファイルをrequireしてもパスの指定の仕方によって何度も読み込まれてしまうのです。

そこで、以下のように spec_helper.rb の先頭に記述することで、 二度読みを回避して警告されないようにすることができます。

   1  $LOADED_FEATURES.push File.expand_path(__FILE__)
   2  def require(path)
   3    path = File.expand_path(path) if path =~ %r{^[./]}
   4    super path
   5  end

require を上書きして引数が "." か "/" で始まっている場合に expand_path を呼び出して正規化しています。 自分自身が呼び出される時のrequireは上書きできないので、 $LOADED_FEATURESに自分自身の絶対パスを追加しておきます。 require は $LOADED_FEATURESにpathが存在するする場合はスクリプトを読み込まなくなります。

posted by Png genki on Mon 30 May 2011 at 13:00

rake gems:unpack GEM=foo などでvender/gems 以下にunpackしたgemとbundlerを併用したい場合があります。 最近では、locale_rails-2.0.5にパッチをあてたものを利用したい局面でそうなりました。

こんな場合には、Gemfile にて

   1  gem 'locale_rails', '=2.0.5', :path => 'vendor/gems/locale_rails-2.0.5'

というように記述しておけば、unpack したgemを使ってくれます。 第二引数のversionは必須っぽいのでご注意。

posted by Png genki on Sun 29 May 2011 at 07:28