タグ

ブックマーク / blog.katty.in (3)

  • スーパーユーザー権限が必要なファイルにcatコマンドでテキストを書き込む。

    いまだにChefのようなかっこいいツールが使えない僕は、インフラの設定をシェルスクリプトでつらつらと残していたりします。 設定ファイルの書き換えや作成などが少し面倒で、catコマンドでテキストを吐かせて出力をファイルにリダイレクトさせて書き込みます。 cat << 'EOT' > ./config Host myserver HostName 8.8.8.8 User katty0324 EOT こういう感じです。 書き込み権限がないとcatの出力を書き込めない これは書き込み先のファイルの権限があれば良いのですが、権限がないと書き込めないような場合、少し困ります。 sudo chmod u-w ./config わざと書き込み権限を除去して同じコマンドを実行します。 $ cat << 'EOT' > ./config > Host myserver > HostName 8.8.8.8

    スーパーユーザー権限が必要なファイルにcatコマンドでテキストを書き込む。
  • iOS7でプッシュ通知のデバイストークンに大きな変更

    iOS7でプッシュ通知にもいくつかの機能追加が加えられていますが、おそらくドキュメントに書かれていないことで、場合によっては問題が生じるかもしれない変更が加えられているようです。 Appleのドキュメント → Local and Push Notification Programming Guide プッシュ通知のデバイストークンは端末ごとに一意 感覚的には、プッシュ通知のデバイストークンは、取得メソッドを呼んだ時にアプリごとに生成されているように思います。しかし、実際にはアプリごとに異なるデバイストークンが取得されるわけではなく、同じ端末ならばどのアプリから取得しても同じデバイストークンが取得されるようです。 Stack Overflowなどでも、「デバイストークンってアプリごとに違うんですか?」「アプリが違っても同じトークンです」みたいなやりとりがされています。 Is the APN

    iOS7でプッシュ通知のデバイストークンに大きな変更
  • Objective-CのBlocksの循環参照に関する僕なりのベストプラクティス

    「Objective-CのBlocksの循環参照とその解決策」では、Blocksのメモリ管理の難しさと、世間ではよく使われている「weakSelfパターン」があまり良くないのではないかということを書きました。 このブログでは、いろいろ考えた結果たどりついた、僕が考えるBlocksの使い方を書きたいと思います。 サンプルをgithubに載せましたので、良ければそちらも参照してください。( BlocksMemoryExample ) Blocksを安全で便利に使うために必要なこと 先に、Blocksを安全で便利に使うためには、どんなことが必要なのかというのを考えておきたいと思います。 循環参照におちいらず、使用後に解放される。 使い手が内部の実装をできるだけ意識する必要がない。 おまじない的なコードを書く必要がない。 できるだけBlocksに渡すオブジェクトの存在を保証する。 そして、Bloc

    Objective-CのBlocksの循環参照に関する僕なりのベストプラクティス
  • 1