2013年10月25日

C言語な感じとオブジェクト指向っぽい話

オブジェクト指向とは、みたいな話をした際に基底クラスとか継承とか、車とスーパーカーとか、そういうのじゃなくて、C言語臭いJavaとそうでないJavaみたいなのがあって、できればJavaっぽくしてほしいなぁ、という曖昧な何かを必死に具体化してみました。

○仮定

以下のようなデータを取り扱うシステムを開発するとします。

NAME:山田太郎
SEX:男
YEAR:4
ORG:開発部
HISTORY:2013;検討S
HISTORY:2012;プロジェクトD
HISTORY:2011;プロジェクトB
HISTORY:2010;試作X
NAME:鈴木花子
SEX:女
YEAR:2
ORG:営業部
HISTORY:2011;プロジェクトB
HISTORY:2010;プロジェクトA

最終的にはファイルだったりどっかからとってきたり○xcelとかからインプットされたりしますが、きっと初期値はコードに書いてふるまいをざっと組んでみたりしますよね、C言語な人がJavaで書くとどうなるのでしょう、順番に具体例を並べてみることにします。

続きを読む "C言語な感じとオブジェクト指向っぽい話"

2013年10月18日

iBeaconは結局何なのか

iBeaconまとめ_20131021.png

iOS7からの新機能(?)として話題のiBeaconについて、ちょっとO2Oとか決済関連で、違うんじゃないかなー?という流れがある中、BLEとiBeaconなAPIについて、ちまっと試したのでまとめてみました。

○参考

Developers.IO:[iOS 7] 新たな領域観測サービス iBeacon を使ってみる
http://dev.classmethod.jp/references/ios7-ibeacon-api/

stackoverflow:Combine iBeacon bluetooth low energy with Android 4.3
http://stackoverflow.com/questions/17875430/combine-ibeacon-bluetooth-low-energy-with-android-4-3
> I have ported the iOS7 iBeacon SDKs to Android, and was able to see standard iBeacons and estimate their range.

Reinforce-Lab.'s Blog:iBeaconの解説
http://reinforce-lab.github.io/blog/2013/10/21/ibeacon/

○iBeaconとは

タグとしての正体は、サービス識別のための128bit UUID、それぞれ16bitのmajor番号・minor番号、それと1byteの電波強度を含む、BLE Advertiseする子の様です。

APIとしては、Developers.IOさんのタイトルそのままですが、Apple公式docに「Monitoring Beacon Regions」って書いてあってそのまんまですね。
(BLEでぴこーんぴこーんAdvertiseを吹く)ビーコンで領域(Region)に入った/出たをモニタリングするもの、でしかないです。

Q「NFCに代わるものなの?」
A「NFCをただのRFID読み取り技術と思っていたらそうかもしれませんね。」

# AndroidにもPeripheral対応はよ!

※@u_akihiroさんから指摘をもらってBT4なロゴがおかしいのと固定8byteの表現が違うとのことです。サボらないでもちょっと調べて更新します、ありがとうございます!

(2013.10.21追記)
画像にBluetooth SMART/SMART Readyのロゴとestimoteのタグがone of themなことについて少し表現を修正、またアドバタイズパケットのフォーマットについて以下追記。

続きを読む "iBeaconは結局何なのか"