2013年12月21日土曜日

LINEが嫌い

今更ながらですが。全然眠れないので。

LINEが出たとき、うっかりダマされて、電話帳データを攫われて以来、ぜってー使うもんかと思ってたんですが、相変わらず流行ってるみたいですねLINE。ウチのオカンとか基本連絡がLINEベースです。
アプリ開発してると、”人様の電話帳データに触るのはちょっと…”とか”データの扱い間違えたらセキュリティクラスタにフルボッコやで”とか思って自主規制してしまいますし、同じ文脈でLINEが叩かれてるのをよく見ます。
でも、正直言って、そういう自主規制こそがウンコだと思いますし、現実問題としてあれだけ受け入れられているのを見ると、全然アリなんだなと思ったりします。うん。セキュリティクラスタの人が叩く程は悪く無い。むしろ、そういう言説で自主規制を求めてイノベーションを阻害している事の方が害悪じゃねーかなと思ったりね。

嫌いは嫌いなのは全然変わらないんだけど、電話帳データを攫うのも自由なんですよね実際。良い悪いはユーザーが決める事ってのもごもっとも。嫌なら使わなきゃいいだけ。俺は使わないけどね。

って思うと、変な自主規制で縛られてる事って意外とあるよねと思ったりします。

来年はそういう既成概念を超えて頑張る所存。

つか、テクノロジーは進歩しても人間って意外とやってる事、進化してねーんだなと最近凄く思う。もうちょっとコモンセンスを身につけたり色々知恵を絞りたいです。

2013年12月12日木曜日

CoreDataでドはまり。

Objective-CのCoreDataは独自仕様のO/Rマッパー的な物で、上手に使えば便利そうなのにイマイチ流行っていない。今回は、ドはまりした事で、その流行らない一端が垣間見えたので、メモ。

CoreDataの正体はアプリ内で管理されるSQliteを上手い事覆うO/Rマッパーな訳だけれども、以下の便利な点がある。
・一貫してObjective-Cで書ける。(SQL文を書かなくていい)
・モデル構造を視覚的に設計する事が出来る。
・実装の際、データのマイグレーションなどを気にする場合は管理がナンボかラク。
大体こんなイメージである。間違ってたらゴメンナサイ。

一方、使ってみて非常に不便だなと思ったのが、
・DB内の値の確認がやりにくい。
・データ構造が簡単だとコード量が増える(SQL直書き比で)

で、今回ハマった点は、
・プロジェクトに後からCoreDataを追加する場合、非常にめんどくさい。

というのも、CoreDataはNSManagedObjectContextというのをAppDelegateで生成して引き回して各クラスからCoreDataにアクセスするんだけれども、独自仕様な上に、初期から使う事が決まっていればコードがある程度自動生成される所が、後から追加しようとするとコレが非常に面倒だった。一応出来たけど。
CoreDataを生成した生のプロジェクトとAppDelegateを比較したりして、地道にやりました。でも、理解の浅い所なので非常に手間取った。

もう何となくお作法は理解したので、今後は大丈夫かとは思うけど、CoreDataを使う場合は設計の初期段階から使うって決めウチした方が楽です。
作り始めてから、データの永続化の仕組みなどが必要になった場合は、とりあえず他の手段を検討してみる事をお勧めします。