きりかノート 3冊め

おあそびプログラミング

第56回 Cocoa勉強会に行ってきた(11/23)

会場は千葉県は松戸のSENDAI-YA今年の2月にも会場になったところですね。

以下発表など。今回はいつものなんだかよくわからないディープな技術ネタよりは豆知識的な話が多かった、かな?

個人開発者用WebSite構築 (その他)

個人開発者としての自分のウェブサイトを作るにあたって検討したことなどなど。

(アプリのサポート体制についての議論)

  • facebook上のみとしているケース
  • サポートメール送信機能にアプリ/OSのバージョン等の情報をあらかじめ入れるようにしている

小ネタ集 (iOS/Mac

  • @"abc" "def"は@"abc" @"def"と同じ結果になる(前者は構文エラーだと思ってたよ、、)
  • synthesizeが今でも必要なケース
  • Xcodeリファクタリング
    • コードのクラス名だけでなく、ファイル名やNib内のクラス名も変更される
    • CoreDataのエンティティが誤って変更されてしまったことがある

iOS5/iOS6な話

  • storyboardのウィンドウ生成の仕組み。
  • Autolayout/Autosizing, 回転, ローカライズ
    • AutolayoutはMacのLion, Mountain Lionで非互換なのでおすすめしない
    • ローカライズXcode上でベース言語の指定ができるように。Storyboard+stringsで多言語対応。今まではibtoolで処理していたもの。

画面遷移と通信 (iOS

通信を制御する単一オブジェクトとそれを参照するビューコントローラの実装モデルについて。

(議論など)

  • キュー/NSOperationQueueを使うのが良いのでは?
  • クライアントのリクエスト回数/頻度を抑えるよう、サーバ側の担当から要求されることがけっこうあるよね。
  • blocksで描画するとき、ビューコントローラのキャプチャが残ってしまうことがある?

(感想)このへん、ちょうどリアクティブプログラミングの守備範囲なんじゃないかなーと思ったり。Mac/iOSだとReactiveCocoaとゆーのがあるんだけど、だいぶ前にブクマしただけでまだ読んでないぜ。

リッチなディスクイメージの作り方 (Mac

FirefoxOmniみたいないい感じのディスクイメージの作成方法について。(背景があって、"Applications"にドラッグしてね!的になってるやつ)

  • アイコン/背景画像/ツールバー等の非表示 の設定方法について
  • ディスクユーティリティでは隠し機能でbzip2での圧縮が使える
    • かなり古いシステム(10.3 Pantherあたり)でも展開可能

その他の話題

  • Windows8を購入した人が2名ほど
  • マイナーな課題のときのstackoverflow.comのお役立ち度
  • 暗号化をcommon cryptとopensslコマンドでそれぞれ行うときの注意
    • プログラムで扱う場合はパスフレーズでなく初期化ベクター+キーとしたほうがよい。opensslコマンドはいろいろ親切にやってくれるので返ってハマることがある。
  • RetinaQuartzのパフォーマンスが急に落ちたケースが。
    • 描画領域を分割して処理するようにしたら解決。100分割くらいがちょうど良かった。

次回の予定

来年1/26(土)、いつもの新宿三丁目でやります。