タグ

2012年2月28日のブックマーク (13件)

  • 「このプログラムは◯◯言語で書きました」の本当の意味 | quipped

    例:「このプログラムはC言語で書きました」=「このプログラムはGDBでひたすらデバッグしてvalgrindでメモリリークをチェックしました」 以下絵が続きます。チャートそのものはd3.jsで描かれていて、このgistを拝借して手を加えています。

    DNPP
    DNPP 2012/02/28
    D のコミッタクール
  • UIKit とスレッドのお約束

    アプリが小気味よく動くようにするために、メインスレッドでの重たい処理を避けて、適宜バックグラウンドスレッドに処理を回すことはよくあります。 このとき注意が必要なのは、バックグラウンドでの処理結果を画面に反映させる時の以下のお約束です。 UIKit のオブジェクトはメインスレッド以外からアクセスしてはいけない Apple のドキュメントとしては Cocoa Fundamentals Guide に “All UIKit objects should be used on the main thread only” と書いてあります。この制限は UIKit 特有ではなく、Java の Swing などでも共通の設計です。GUI のパフォーマンスを良くするために、スレッドセーフをあえて捨てて単純化しているのです。 ではどうすれば良いのかと言うと、バックグラウンドスレッドからメインスレッドに処理を

    UIKit とスレッドのお約束
  • Cocoaの日々: [iOS][Mac] Xcode4 : ドラッグ&ドロップで IBOutlet コードを生成する

    知ってはいたが試してなかった。こりゃ便利。 #しこしこ手で書いていた今まではいったいなんだったのか。。 以下、手順 まず Xib を開いた後、右上の Editor から真ん中の Assistant Editor を開く。

    Cocoaの日々: [iOS][Mac] Xcode4 : ドラッグ&ドロップで IBOutlet コードを生成する
  • NSView と UIView

    こんにちは、iOS/Mac アプリ開発担当の宮です。 最近は、Sleipnir Mobile for iPhone と Sleipnir for Mac を開発しています。 Sleipnir for Mac の開発では、UIKit と AppKit の違いに苦戦しています。 出てくるクラス名も接頭辞が違うだけのものが多いので、ほとんど変わらないと思っていたのですが、ふたを開けてみると全くの別物でした。 今回は、その中でベースのビューとなるクラス NSView と UIView の違いについて紹介します。 これから Mac アプリを開発する方は参考にしてみてください。 ■ NSView には見た目に関するプロパティが全然ない NSView のクラスリファレンスを見るとビックリするぐらい UIView にあるプロパティがありません。最初、backgroundColor がないのには驚きました

    NSView と UIView
  • Core Animation で画像を回す

    データのダウンロード中など待ち状態のときに、画像をくるくる回して読み込み中だということを表したいことってありますよね。アニメーション GIF や複数の画像の切り替えでも表現できますが、今回は1枚の画像を Core Animation の transform プロパティを使って回す方法を紹介したいと思います。 まず、アニメーションには CABasicAnimation を使います。作成するときに、animationWithKeyPath に transform をセットします。 つぎに、回転のはじめと終わりの角度を設定します。時計回りの場合は fromValue を 0、toValue を 2π にします。反時計回りと場合は fromValue と toValue の値を入れ替えてください。 そして、valueFunction で回転軸を決めます。今回は z 軸で回転させたいので、kCAVa

    Core Animation で画像を回す
  • より豊かな表現のために、3つのステップで実装する Core Text

    こんにちは、開発担当の眞弓です。 テキストを表示するとき、通常は UILabel などを使いますがときどき「凝った文字列を使いたい」ということはないでしょうか? そんなときのために、今回は Core Text の基的な使い方について書いてみようと思います。 人によってやり方は違うと思いますが、ちょっとしたことに使う場合に私がやっててわかりやすかった方法を紹介します。 位置を指定するやりかたはイメージしにくいので、文字列単位で扱えるやり方で実装をしてみました。 以下のような感じで、「属性付き文字列を作って、その文字列を付け足していって、最後にまとめて表示」というやり方です。 1 : 文字列を作成 2 : フレームを作成 3 : DrawRect 1 : 文字列を作成 属性付き文字列は以下のような感じで作っていきます。 atrString = [[NSMutableAttributedStr

    より豊かな表現のために、3つのステップで実装する Core Text
  • Nib ファイルから Objective-C のソースコードを生成する

    iOS/Mac 開発担当の松です。 突然ですが、Nib ファイル(以下 Nib)が好きになれません。確かに GUI の部品をレイアウトするコードを書くのは大変なので、Interface Builder で直感的に画面を作っていけるのはありがたいです。 しかし Visual Studio 等と違って、作った画面がソースコードではなく Nib というリソースになるため、言語や環境によって動的に部品を変更する必要が出てくると、Nib とソースコードに画面を作成する為の情報が散らばってしまいますね。これだと管理コストも高くなりますし、何より気持ちが悪いです。 どうしてソースコードが生成されないんだ!と憤っていたら、nib2objc という Nib から Objective-C のコードを生成するツールが、公開されていることを知りました。しかも随分前からあるみたいです。 早速ですが Mosa の、

    Nib ファイルから Objective-C のソースコードを生成する
  • UITextField でのバリデーションのタイミング

    アプリによってはユーザーの入力値をバリデーションする必要がある場合があります。今回はバリデーションを行うタイミングについて書きたいと思います。 今回は以下のようなアカウント情報入力画面を考えてみます。 UITextField が画面に表示されている NavigationBar には「保存」ボタンが設置されている 入力値が「カラ」もしくは「空白文字」以外の場合を正常な入力とする UITextField への入力値が不正な値の場合には「保存」ボタンを無効化する UITextField のデリゲートでは不十分? UISearchBarDelegate には以下のような入力後に呼ばれるデリゲートメソッドがあります。 - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText しかし、UITextFi

    UITextField でのバリデーションのタイミング
  • メソッドの遅延実行

    あるメソッドを一定時間後に実行したい、ということはよくあります(これを、メソッドの遅延実行と呼ぶことにします)。そんなときにまず思いつくのは NSTimer を使う方法ではないでしょうか。 NSTimer を使う以外にも、NSObject にある次のメソッドで簡単に同じことができます。 NSObject - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay 例として、iPhone 標準搭載の写真アプリを見てみましょう。 写真アプリでは、写真を見ている間に一定時間ユーザの操作が無ければ、ツールバーとナビゲーションバーが消えます。 この処理は次のようなコードで実現できます。 // self は UIViewController … { … // 一定時間

    メソッドの遅延実行
  • Xcode 4 の IBOutlet 追加機能がとても便利

    こんにちは。開発担当の金内です。 iPhone アプリ開発に欠かせないツールといえば Xcode ですね。 今年の3月に大幅なアップデートとなった Xcode 4 正式版がリリースされたことはご存知のとおり。シングルウィンドウ化や Interface Builder の統合など、ほとんど別物といってもいい変貌をとげてくれました。 さて、Xcode 3.x でバリバリとコーディングしていたみなさんは、Xcode 4 に移行しているでしょうか? 筆者の周囲の声を聞いてみると「自宅では使ってるけど仕事では…」とか「まだバグが気になるから…」と、まだ移行に踏み切れない空気を感じます。激変してますからね。気持ちはとてもよくわかります。 しかし、いずれは移行しなければならないわけですし、みなさん興味はお持ちだと思うので、iPhone アプリプログラマに嬉しい Xcode 4 の便利機能を1つご紹介しま

    Xcode 4 の IBOutlet 追加機能がとても便利
  • [PDF] N極・S極だけをもつ磁石・磁気モノポールの発見|首都大学東京

    平 成 2 4 年 2 月 2 7 日 公立大学法人首都大学東京 首都大学東京大学院理工学研究科 准教授 多々良源と日学術振興会特別研究員 竹内祥人は、 N 極または S 極だけをもつ磁石(磁気モノポール)を、普通の磁石と白金を組み合わせた簡単な構 造で作ることができることを理論的に示しました。 モノポールを磁石と白金の接合という簡単な構造で作ることができれば、 情報機器中で N 極だけ をもつ磁石を作ることが可能になり、資源の埋蔵に問題のあるレアアース金属を利用せずに高密度 デバイスを作成できる可能性があります。またモノポールを操作し流れを作れば、磁場と電場を対 等に操作することができるようになり、これまでの動作原理を超えた新しい情報伝達や情報記録が 可能になると期待されます。 自然界の磁石はすべて N 極と S 極からできており、それらを分離して N 極または S 極だけからな るモ

  • 東京マラソン 2012 「仮装ランナー」 まとめ : ニュー速VIPブログ(`・ω・´)

  • http://stevelosh.com/media/extra/vim.svg

    image/svg+xml Visual Modes Visual Visual Line Visual Block Replace Modes Replace Virtual Replace Select Modes Select Block Select Line Select Insert Visual Modes Insert Visual Line Insert Visual Block Insert Visual Insert Select Modes Insert Select Line Insert Select Block Insert Select Operator Pending Replace Pending i I o O a A Ctrl-C gR :vi Ctrl-G Ctrl-G Ctrl-O ! / : ? Ctrl-V V v Ins Ins :star