• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
 
 

iPhone OS 4の対応をしていたら、小さなことにハマってしまったのでメモ。

iPhone SimulatorでiPhone4表示が小さい(320x480)

Hardware - Device - iPhone4にしたのに、普通のiPhoneと同じ大きさで混乱していたら、Window - Scale - 100%にしたらちゃんと640x960で見れました。

xCodeのBuild ResultsでCodeSignとProcessProductPackaging(embedded.mobileprovision)の詳細が見れない

各項目を右クリックExpand All Transcriptsで見る事ができます。

posted by Png satoko on Fri 2 Jul 2010 at 05:09

WWDC 10のビデオを見ているんですが、メモ。

Session 116 - Model-View-Controller for iPhone OS
https://deimos.apple.com/WebObjects/Core.woa/BrowsePrivately/adc.apple.com.4092349126.04109539109.4144345609?i=1812791157

Session116で出てきた、Object間でのやり取りの方法として3つ

  • Target - Action
  • Delegate
  • Notification

特に気になったのが後者の二つの違い。 下記Referenceによると、

  • Notification受信はいくつものObjectが受信することができる。対して、Delegateはdelegation objectのみ。また、Notificationは戻り値がない。
  • Notification受信側は、あらゆるmessageを受信することができるのに対し、Delegateは前もって宣言されたmethodsのみ。
  • Notification発信側は、受信者がいるかどうかは関知していない

http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/Notifications/Articles/Notifications.html#//apple_ref/doc/uid/20000215-73929

Session116では、NotificationはBroadcast channelsと記述されていました。わかりやすい表現。

posted by Png satoko on Fri 25 Jun 2010 at 22:15

tech-tips系なので久しぶりにこちら更新です:

"option-command-double click" で doc windowが出るようになったようです。

どうやら3.2系では以前からこうみたいです。最近、やっとSnow Leopardにしたので、やっとこの仕様になったのかも。

BTW - do you know if there is a way to instantly open the item in the docs window? Option-double click used to do this, now it opens the quick help view

Ah, option-command-double click!

http://www.iphonedevsdk.com/forum/iphone-sdk-tools-utilities/27625-xcode-3-2-bug-documentation-not-available.html

posted by Png satoko on Tue 22 Jun 2010 at 03:40

手元のファイルは残しておきたいけれど、インデックスからは削除したいという場合には、以下のように --cached オプションをつけるとうまくいきます。

   1  % git rm --cached /path/to/files

ディレクトリをインデックスから削除する場合は -r オプションを忘れずに。

posted by Png genki on Tue 15 Jun 2010 at 02:02

iPadの解像度は

  • 1024×768ピクセル、解像度132 ppi
  • 画素数は786,432 画素

32bitカラーで3MB

posted by Png genki on Sun 30 May 2010 at 09:29

Ubuntu 10.04 では、JDKのデフォルトが SunJDK から OpenJDK に変更され、SunJDK はパッケージにも含まれなくなりました。 恐らく、今後の Sun によるサポートを不安視する声が多く、 将来的に安定したパッケージリリースを行うために独立する流れになったのだと思われます。

しかしながら、OpenJDKは若干機能的にSunJDKに遅れている事もあり、 SunJDKが使えないと困る局面があるのも事実です。 その場合、以下のpartnerパッケージを追加することで、 10.04でもSunJDKが利用できるようです。

   1  deb http://archive.canonical.com/ lucid partner

   1  # aptitude update
   2  # aptitude search sun-java6
   3  p   ia32-sun-java6-bin      ...
   4  p   sun-java6-bin           ...
   5  # aptitude install sun-java6-jdk

また、OpenJDKと併用している場合は、 下記でパッケージのデフォルト設定を SunJDK にすることが可能です。

   1  # update-alternatives --config java

posted by Png maiha on Thu 27 May 2010 at 14:37

嫌がらせとしか思えないのですが、MacOSのJDK6は、デフォルトのエンコーディングがSJISになっています。JDK5ではUTF8だったのに、なぜ...

とりあえず、デフォルトでUTF8にしたい場合は、~/.zshrc あたりで

   1  export _JAVA_OPTIONS=-Dfile.encoding=UTF-8

しておけばok. 嵌りかけました。

posted by Png genki on Wed 26 May 2010 at 19:08

bzrを使って指定したリビジョンの状態に戻す場合は以下のようにする

   1  % bzr revert -r 881

posted by Png genki on Thu 20 May 2010 at 01:12

ext3の1ディレクトリに大量のファイルを配置すると、 ファイルアクセスが遅くなります。 一般的な回避策は、何らかのハッシュ値でディレクトリを階層的にする方法ですが、実際にやるとなると数行でできるとは言えちょっと面倒です。 そこで、これを手軽に実現できるようにライブラリに追加しました。

Pathnameと同じAPIですので、 最初はPathnameで使っておいて、 数が増えたらHashnameに変えるという使い方ができるので便利だと思います。 (マイグレーションも両者で一緒にloopするだけでOK)

   1  import com.s21g.rubyist.{Pathname,Hashname}
   2  
   3  val path = Pathname("data/users/910.xml")
   4  val hash = Hashname("data/users/910.xml")
   5  
   6  path.path  // => "data/users/910.xml"
   7  hash.path  // => "data/users/e/2/0/e205ee2a5de471a70c1fd1b46033a75f/910.xml"
   8  
   9  hash.write("Love Scala!")
  10  hash.read  // => "Love Scala!"

また、com.s21g.rubyistには先日の rescue の実装も入っていますので、 よかったら使ってみてください。 jar ファイルは Downloads から入手可能です。

参考

posted by Png maiha on Wed 19 May 2010 at 03:44

中置記法と暗黙変換のコンビネーションでRubyの後置rescue的なものをScalaで実装してみました。

   1  class Rescueable[A](a: => A) { 
   2    def rescue[B](b: => B) = try{a}catch{case _ => b}
   3  }
   4  
   5  implicit def anyToRescueable[A](a: => A) = new Rescueable(a)
   6  
   7  println("12341234".toLong rescue 0)  // => 12341234
   8  println("1234x1234".toLong rescue 0) // => 0

call-by-nameがポイントです。

Update

bがcall-by-nameになっていなかったので修正しました。

posted by Png genki on Tue 11 May 2010 at 11:06
Contents
[iPhone] xCodeでの2つの小さなtips
[iPhone] WWDC 2010 Session 116 - Model-View-Controller for iPhone OS メモ:NotificationとDelegationの違い
Xcode 3.2.3にしたら、Option-double clickでdoc windowではなくてquick helpが表示されるようになった
gitで手元のファイルを残しつつindexからファイルを削除する方法
iPadの解像度と画素数(ピクセル数)のメモ
Ubuntu 10.04 (lucid) でSunJDKを使う方法
MacOSのJDK6環境はデフォルトでShift JIS
bzrメモ(指定したりビジョンに戻す)
Hashname: 大量のファイルをScalaで楽に扱う方法
Rubyスタイルの後置rescueをScalaで実現する
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
KingofSmack: Here also good reads for this mobile applicatio... '14-5
Spencer: You don't have to re-compile it, this version w... '14-4
staiano: Any chance we can get a recompile for 10.9? '14-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ