以下のメソッドを呼び出すと何が得られるだろうか?

   1  def foo
   2    return 1
   3  ensure
   4    return 2
   5  end

以下のように、ensure内でreturnされた2が帰ります。

   1  foo #=> 2

面白いですね。何かに使えそうだ。

posted by Png genki on Tue 9 Dec 2008 at 09:36 with 1 comment

現在審査中のversion 1.1が出るのを待って、アップデートの申請を予定している PokéDia version 1.2から、 今日の残タスク(チェックボックスがついているメモ)数をバッジで表示できるようになります。

ss01

設定画面はこんな感じです。デフォルトではオフになっています。

ss02

このようなタスクがある場合、

ss03

このように、残タスク数を表示します。

posted by Png genki on Tue 9 Dec 2008 at 07:02

iPhone内で使われている最適化されたPNGについて解説しているページ。

最適化されたPNGと、そうでないPNGでは、[UIImage drawInRect:]の速度が大分違うようです。 PNGの最適化は、Xcodeがリソース中のPNGをBundleにコピーする時に行われる模様。

posted by Png genki on Sun 7 Dec 2008 at 11:32

現在開発中のPokéDia 1.2から、起動時に表示される日を選べるようになります。

ss1

デフォルトではオフで、終了時に表示していたページを表示します。 オンにすると、常に今日のページを表示するようになります。

posted by Png genki on Sat 6 Dec 2008 at 14:08

今日は、報告いただいていたバグのうち、重要なものについては修正が完了しました。 以下は、解決済みのバグです。

  • メモを浮かせてフリックで移動して固定した後に、逆方向にフリックして閉じるとメモが消える。
  • チェックボックスをオンにすると禁則処理によって意図しない改行が入り、表示が乱れる。
  • メールアドレスを沢山登録すると設定画面のスクロールが乱れる

その他、比較的すぐに実現出来る機能改善などを行っていきます。

  • 起動中にLoadingの表示を入れる
    IMG_0016.PNG

同じアプリのアップデートを同時に複数審査してもらう事が出来ないので、 メール送信のバグを修正した version 1.1 の審査が通り次第、現在開発しているversion 1.2を申請いたします。

posted by Png genki on Sat 6 Dec 2008 at 04:02

メール通知機能がSPAM扱いをされてしまい、メールが送信が出来なくなるトラブルが解決できたので、 PokéDia-1.1をiTunesストアに申請いたしました。 承認されるまで、今しばらくおまたせいたしますが、 何卒よろしくお願いいたします。

今後とも、ご報告いただいている不具合の修正を進めるとともに、 ご要望いただいている機能の実装などを行っていきます。

それでは、今後ともよろしくお願いいたします。

posted by Png genki on Thu 4 Dec 2008 at 12:06

PokéDiaをお買い上げいただいた皆様。

現在(12/4)のところ、PokéDiaのメール送信機能がSPAM扱いされてしまい、うまく機能してない状態になっております。 そのため、現在メール送信機能を一時停止させて頂いております。 ご不便をおかけいたしまして申し訳ございません。

現在、この問題に対処するための改善を実装中です。 最速でアップデートが受理される事を期して、 まずは本件の修正のみを行ってアップデート申請を行う予定です。

他にもいくつかの不具合のご報告を頂いておりますが、 こちらにつきましても速やかに修正してアップデート申請をいたします。 バグ修正状況につきましては、随時このブログや、 http://pokedia.com/でご報告いたします。

至らない点が多く恐縮ですが、 何卒今後ともよろしくお願いいたします。

posted by Png genki on Thu 4 Dec 2008 at 04:52

美谷さん と一緒に作っていたiPhone用の手帳アプリ、 PokéDia (日本語圏ではPokeDiaと表記しています) がiTunesストアで販売が開始されました。

pokedia

PokéDiaはiPhone/iPod touch向けの日めくり手帳です。

画面全体を一日分のページとして利用できる手帳アプリとなっています。 日記、スケジュール、ToDoリストなど日々思いついたことを画面上の好きな 位置に紙の手帳と同じ感覚で書き留めることができます。

  • 1日1画面のレイアウト
  • 翌日、前日には画面フリックで移動
  • 1年間だけでなく、何十年先まで利用できる万年手帳
  • テキストの色を黒、赤、緑、青の4色に変更できます。
  • 入力したテキストはタップした後、ドラッグしたりページをフリックすることでページ内の別位置や、別の日付に移動させることが可能。
  • iPhone発売国を含む世界84カ国の祝日情報
  • 月齢アイコン
  • 書いたメモはE-mailで転送することができます。

メモした情報は日付別のページに保存され、後から情報を見返すときも手帳をめくる感覚で操作することができます。

ss01.jpg

See Also

posted by Png genki on Wed 3 Dec 2008 at 17:49

CapistranoをMerbでDataMapperを使ってる場合に、 cap deploy:migrationsを実行した時に、rake db:migrateではなく、 rake db:autoupgradeをするようにするための設定の書き方のメモです。

具体的には、以下のようにdeploy:migrateタスクを書き換えます。

config/deploy.rb

   1  namespace :deploy do
   2    desc "Run autoupgrade"
   3    task :migrate do
   4      run "cd #{release_path}; rake db:autoupgrade MERB_ENV=production"
   5    end
   6  end

これでOKです。

posted by Png genki on Tue 2 Dec 2008 at 15:10

merbのsliceはRubyGemsの形で提供されているのですが、 これをmerbアプリケーションの中に展開する方法は、 freezeとunpackの2通りあります。

  • freezeは、sliceのapp/以下のみを展開する
  • unpackは、sliceの中身全部を展開する

freezeを使う目的は、sliceの挙動を一部変更する事です。 そのため、sliceをfreezeしても、config/dependencies.rbの中で sliceに対するdependencyを削除する事は出来ません。 依然としてsliceのgemに依存したままになります。

これに対して、unpackを使った場合、gemに内在する全てのファイルが展開されるため、config/dependencies.rbの中のsliceに対するdependencyを削除しても大丈夫な状態になります。

posted by Png genki on Tue 2 Dec 2008 at 09:57