2014-07-26

ReactiveCocoa 勉強会に参加した #rac_kansai

2014-07-26 (土)。はてなの京都オフィスを借りて開催された ReactiveCocoa 勉強会に参加した。

内容は Objective-C で Reactive プログラミングを行なうライブラリー ReactiveCocoa の勉強会。

LT で 10 分弱、話しをしたので資料を置く。

ReactiveCocoa では直接 Collection 系 (NSMutableArray とか NSMutableDictionary とか) を Observe できない。RACSubject を使えば大低の場合、代替の機能を提供できる、という話をした。

スライドには簡略化したコードしか書いていない。サンプル・コードは ViewController の他に ViewModel と Model を作って MVVM な作りにしてある。また、口頭でしか伝えなかった KVO と ReactiveCocoa を使った Observe のサンプル・コードも書いてある。興味のある方はどうぞ。

see also.

2014-07-14

find コマンドでファイル名正規表現検索

find コマンドの検索では専ら -name オプションを使う。これだと細かいファイル名指定が出来ない。先日、正規表現が使えると教えてもらったのでメモ。

画像検索を例に...

JEPG, PNG 画像を検索してみる。-name オプションを使う場合はこんな感じ。二回に検索を分ける。

$ find . -name '*.jpg'
$ find . -name '*.png'

正規表現を使う

正規表現を使う場合、検索開始パスの前に -E オプションを付ける。検索には -name の代わりに -regex を使う。拡張子 .jpg と .png なファイルを検索する場合はこんな感じ。

$ find -E . -regex '^.+\.(jpg|png)$'

大文字・小文字を無視したい

Windows 系のソフトを使うと、ファイル名が大文字だったりする。アルファベットの大文字・小文字を無視させて検索する場合は -regex ではなく -iregex を使う:

$ find -E . -iregex '^.+\.(jpg|png)$'

沢山の画像フォーマットに対応

JPEG の拡張子は .jpg の他に .jpeg も使われる。画像ファイルには GIF もまだ健在。ウェブをやっていると ico ファイルも扱うか? 最近は .svg も使われるようになってきた。全部に対応するよう、正規表現を書いてみる。

$ find -E . -iregex '^.+\.(jpe?g|png|gif|ico|svg)$'

ここまでくると、随分、実用的になったかな。

Man は Mac OS X に付いてくるものを参考にした。BSD 系の find みたいね。