SlideShare a Scribd company logo
1 of 57
Download to read offline
RealmRealm Tech Talk #1, #2 / Realm Meetup #1
Impression of Realm Java / ver.2
Realm
1. ChatWork
2. Android and SQLite
3. SQLite to Realm
4. Realm impression
5. Advertise
Ryutaro Miyashita
Mobile Application Engineer
ChatWork, Android Team
ビジネス向けのコミュニケーションサービス
テキスト, ボイス, ビデオ, タスク, ファイル共有
導入社数 57,000 を突破
弁護士事務所や工務店など、非 IT 系にも広がる
ChatWork for Android
2011/06
First Version (Titanium)
2014/04
“Harukas” (Titanium)
2014/12
“The Shard” (Native)
2015/xx
Future version (Native)
“The Shard”
会社初のネイティブアプリ
Realm を使用 (一部)
ChatWork for Android
Android Persistent
SharedPreferences か SQLite か
SharedPrefs SQLite
XML KVS
Easy to use
Slow
RDBMS
SQL
Hi-Speed
Select ORM
SQLite wrapper library
greenDAO
ハイパフォーマンス, 準備が面倒
ActiveAndroid
ActiveRecord パターン, 分かりやすい
Select ActiveAndroid
簡単に使えることをまずは重視
@Table(name="rooms")
public class Room extend Model {
@Column(name="_id", index=true, unique=true)
public long _id;
@Column(name="name")
public String name;
}
Define
Use
Room room = new Room();
room._id = 100l;
room.name = "Room name";
room.save();
MAGICAL
BUT
INSERT is slow
魔法のようだけど、インサートが遅め
5,000 rooms
1,000 users
インサートが遅いと辛い
Initialize state……
I need more SPEED!
ボトルネックを解消したい!
Realm
a replacement for SQLite & Core Data
@wasabeef_jp さんの記事と出会えて良かったです

http://qiita.com/wasabeef_jp/items/92bb700e37a0a57fc765
ActiveAndroid → Realm
AA から Realm への置き換えの流れ
1. AA Model → Realm Bean
AA Model から Realm 指定の Bean に
http://ja.wikipedia.org/wiki/ネジレフサマメノキ#mediaviewer/File:Parkia_speciosa.JPG
AA
@Table(name="rooms")
public class Room extend Model {
@Column(name="_id", index=true, unique=true)
public long _id;
@Column(name="name")
public String name;
}
public class Room extend RealmObject {
@PrimaryKey private long roomId;
private String name;
public void setRoomId(long roomId) {
this.roomId = roomId;
}
public long getRoomId() {
return this.roomId;
}
// name も同様に getter / setter を準備
}
Realm
AA
Room room = new Room();
room._id = 100l;
room.name = "Room name";
room.save();
Realm realm = Realm.getInstance(CONTEXT_OBJECT);
realm.beginTransaction();
Room room = realm.createObject(Room.class);
room.setRoomId(100l);
room.setName("Room name");
realm.commitTransaction();
Realm
2. Logic → Service Layer
RealmObject にはロジックを置けない
http://ja.wikipedia.org/wiki/海老名サービスエリア#mediaviewer/File:Ebina-SA-Nobori.JPG
@Table(name="rooms")
public class Room extend Model {
@Column(name="name")
public String name;

……
public void sendChat(String message) {
// Send chat logic
}
}
// room.sendChat("Your message");
AA
Realm
public class RoomService {
 ……
public static void sendChat(long roomId,
String message) {
// Send chat logic
}
}
// RoomService.sendChat(100, "Your message");
3. Thread をまたがない
Realm X は Thread ごとに参照する
http://upload.wikimedia.org/wikipedia/commons/2/21/Naisten_400_m_aidat.jpg
long roomId = 100;
Room room = new Select().from(Room.class)
.where("_id = ?", roomId)
.executeSingle();
……
new Thread(() -> { // RetroLambda
// room を使った何か
}).start();
AA
Realm
final long roomId = 100;
Realm realm = Realm.getInstance(CONTEXT_OBJECT);
Room room = realm.where("id", roomId).findFirst();
……
new Thread(() -> {
Realm realm = Realm.getInstance(CONTEXT_OBJECT);
Room room = realm.where("id", roomId).findFirst();
……
}).start();
4. Realm を close する
使い終わったらお片付け!
http://upload.wikimedia.org/wikipedia/commons/b/b6/A_Photograph_of_an_Original_Door_from_the_Bolduc_House_in_Ste_Genevieve_MO.png
new Thread(() -> {
Realm realm = Realm.getInstance(CONTEXT_OBJECT);
try {
Room room = realm.where("id", roomId).findFirst();
……
} finally {
if (realm != null) realm.close();
}
}).start();
Realm
Realm impression
何が良くて, 何に気をつけたいか
Awesome
良いと思ったところ
1. Fast
納得いくスピード
http://upload.wikimedia.org/wikipedia/commons/f/f0/Ferrari_Formula_1_lineup_at_the_N%C3%BCrburgring.jpg
“RealmCW”
ChatWork API を使用
LogCat に処理時間を出力
Realm を使ったデモアプリ
初期化時間[ms]
0
400
800
1200
1600
ActiveAndroid Realm
Nexus 4 / Android 5.0.1
https://api.chatwork.com/v1/rooms INSERT 件数 619 件
1551
414
2. Fluent API
流れるように使える API
http://commons.wikimedia.org/wiki/File:%E5%B2%B7%E5%8E%BF%E6%B4%AE%E6%B2%B3%E6%B9%BF%E5%9C%B0.jpg
RealmResults<Room> results = realm.where(Room.class)
.contains(
"name", // 検索カラム
"YOUR SEARCH TERM", // 検索語
RealmQuery.CASE_INSENSITIVE // 大文字小文字区別なし
)
.findAllSorted(
"sticky", false, // ソート1, 降順
"lastUpdateTime", false // ソート2, 降順
);
Realm
3. New choice
SharedPreferences, SQLite に次ぐ選択肢
http://upload.wikimedia.org/wikipedia/commons/7/7e/BalanceMineralPachuca.JPG
iOS Android
Object archive
Property list
NSUserDefaults
Core Data
* SQLite base / Raw SQL = FMDB
SharedPreferences
SQLite
* Plain SQL, Content Provider
Realm
+
Be careful
気をつけたいところ
1. Multi-thread environment
マルチスレッドでの取り扱い
http://upload.wikimedia.org/wikipedia/commons/a/a7/Colourful_thread_in_Chinatowns_market_streets_%286491930649%29.jpg
2. Drastic update
0.01 のアップデートも要注意!
http://upload.wikimedia.org/wikipedia/commons/1/10/Various_cutter_knives.jpg
0.77
1. In-memory Standalone Object
2. “executeTransaction” method
// Realm.createObject(MyRealmObj.class)
MyRealmObj obj = new MyRealmObj();
……
realm.executeTransaction(_realm -> {
_realm.copyToRealm(obj);
});
2015/1/16
0.78
1. Enable encryption
byte[] key = new byte[64];
new Random(365762536).nextBytes(key);
// Encrypt realm
Realm realm = Realm.getInstance(CONTEXT, key);
2015/1/22
0.79
1. Primary key
2. Insert or Update = Replace
public class MyRealmObj extends RealmObject {
@PrimaryKey
private long id;
}
realm.copyToRealmOrUpdate(REALM_OBJECT);
2015/2/16
3. Read the docs!
迷ったら 英語の ドキュメントを読もう!
http://ja.wikipedia.org/wiki/%E6%9C%AC#mediaviewer/File:Livre_Ouvert.jpg
0.79 0.72
4. Read the GitHub!
“changelog” ファイルを読もう!
まだリリースされていない
Conclusion
結び
高速, 綺麗な API / 継続的なウォッチ必須
Realm
My recommendation
Ultra Fast Searchable Cache
Demo apps
https://github.com/ryugoo/RealmCW
http://qiita.com/ryugoo/items/b2dea8ad4a24fdd620b6
My Qiita article
Advertise
宣伝
エンジニア "大" 募集中です
Web apps engineer
ReactiveCocoa, Mantle
iOS apps engineer
Realm, RxJava, RxAndroid
Android apps engineer
Scala, spray, DDD✎ ✎
✎
Thank you
おしまい :)

More Related Content

Viewers also liked

混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
スタートアップを陰ながら支えるときに心がけるべき5ヶ条
スタートアップを陰ながら支えるときに心がけるべき5ヶ条スタートアップを陰ながら支えるときに心がけるべき5ヶ条
スタートアップを陰ながら支えるときに心がけるべき5ヶ条Atsumi Kawashima
 
形態素解析も辞書も言語モデルもいらないend-to-end音声認識
形態素解析も辞書も言語モデルもいらないend-to-end音声認識形態素解析も辞書も言語モデルもいらないend-to-end音声認識
形態素解析も辞書も言語モデルもいらないend-to-end音声認識Tomoki Hayashi
 
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)lestrrat
 
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jumpei Miyata
 
Architecture driven development のすすめ
Architecture driven development のすすめArchitecture driven development のすすめ
Architecture driven development のすすめAtsushi Fukui
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)yoyamasaki
 
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Yuki Anzai
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Naoaki Okazaki
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldSATOSHI TAGOMORI
 
データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例 〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』
データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例  〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例  〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』
データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例 〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』The Japan DataScientist Society
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Recruit Technologies
 
DeNAの報告書を可視化して雰囲気をつかむ
DeNAの報告書を可視化して雰囲気をつかむDeNAの報告書を可視化して雰囲気をつかむ
DeNAの報告書を可視化して雰囲気をつかむYusuke Fukasawa
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するTomoki Hasegawa
 
正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくるtoshihiro ichitani
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門Developers Summit
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionJaroslaw Szymczak
 
ハードディスクの正しい消去(2015.7)
ハードディスクの正しい消去(2015.7)ハードディスクの正しい消去(2015.7)
ハードディスクの正しい消去(2015.7)UEHARA, Tetsutaro
 

Viewers also liked (20)

混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
スタートアップを陰ながら支えるときに心がけるべき5ヶ条
スタートアップを陰ながら支えるときに心がけるべき5ヶ条スタートアップを陰ながら支えるときに心がけるべき5ヶ条
スタートアップを陰ながら支えるときに心がけるべき5ヶ条
 
形態素解析も辞書も言語モデルもいらないend-to-end音声認識
形態素解析も辞書も言語モデルもいらないend-to-end音声認識形態素解析も辞書も言語モデルもいらないend-to-end音声認識
形態素解析も辞書も言語モデルもいらないend-to-end音声認識
 
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
 
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
 
Architecture driven development のすすめ
Architecture driven development のすすめArchitecture driven development のすすめ
Architecture driven development のすすめ
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
 
Phantom Type in Scala
Phantom Type in ScalaPhantom Type in Scala
Phantom Type in Scala
 
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
 
データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例 〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』
データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例  〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例  〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』
データサイエンティスト協会 木曜勉強会 #04 『クラスター分析の基礎と総合通販会社での活用例 〜 ビッグデータ時代にクラスター分析はどう変わるか 〜』
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
 
Vue.js with Go
Vue.js with GoVue.js with Go
Vue.js with Go
 
DeNAの報告書を可視化して雰囲気をつかむ
DeNAの報告書を可視化して雰囲気をつかむDeNAの報告書を可視化して雰囲気をつかむ
DeNAの報告書を可視化して雰囲気をつかむ
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知する
 
正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくる
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competition
 
ハードディスクの正しい消去(2015.7)
ハードディスクの正しい消去(2015.7)ハードディスクの正しい消去(2015.7)
ハードディスクの正しい消去(2015.7)
 

Similar to Impression of realm java

東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolateskoichik
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索FessShinsuke Sugaya
 
2014 dart flight school in Tokyo
2014 dart flight school in Tokyo2014 dart flight school in Tokyo
2014 dart flight school in Tokyonothingcosmos
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
Docker 18.09 新機能
Docker 18.09 新機能Docker 18.09 新機能
Docker 18.09 新機能Akihiro Suda
 
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphereQuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphereWataru Unno
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念Masahito Zembutsu
 
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma次世代DaoフレームワークDoma
次世代DaoフレームワークDomaToshihiro Nakamura
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World将 高野
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)inaz2
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~decode2016
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringYahoo!デベロッパーネットワーク
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/AndroidセキュアコーディングMasaki Kubo
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方Fumihiko Shiroyama
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみたFujishiro Takuya
 

Similar to Impression of realm java (20)

東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
 
Sc2009autumn s2robot
Sc2009autumn s2robotSc2009autumn s2robot
Sc2009autumn s2robot
 
2014 dart flight school in Tokyo
2014 dart flight school in Tokyo2014 dart flight school in Tokyo
2014 dart flight school in Tokyo
 
Xml Security
Xml SecurityXml Security
Xml Security
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
activerecord-turntable
activerecord-turntableactiverecord-turntable
activerecord-turntable
 
Docker 18.09 新機能
Docker 18.09 新機能Docker 18.09 新機能
Docker 18.09 新機能
 
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphereQuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
 
DartVM on Android
DartVM on AndroidDartVM on Android
DartVM on Android
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/Androidセキュアコーディング
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
 
オタク×Node.js勉強会
オタク×Node.js勉強会オタク×Node.js勉強会
オタク×Node.js勉強会
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
 

More from Ryutaro Miyashita

全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-Ryutaro Miyashita
 
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいことTitanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいことRyutaro Miyashita
 
Titanium ユーザーが Swift を触ってみたら
Titanium ユーザーが Swift を触ってみたらTitanium ユーザーが Swift を触ってみたら
Titanium ユーザーが Swift を触ってみたらRyutaro Miyashita
 
re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2Ryutaro Miyashita
 
今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium今ここでもう一度初めての Titanium
今ここでもう一度初めての TitaniumRyutaro Miyashita
 
Titanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTTitanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTRyutaro Miyashita
 
Titanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoTitanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoRyutaro Miyashita
 

More from Ryutaro Miyashita (9)

全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-
 
Wearable realm
Wearable realmWearable realm
Wearable realm
 
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいことTitanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
 
Titanium ユーザーが Swift を触ってみたら
Titanium ユーザーが Swift を触ってみたらTitanium ユーザーが Swift を触ってみたら
Titanium ユーザーが Swift を触ってみたら
 
re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2
 
今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium
 
Titanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTTitanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LT
 
Titanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoTitanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.Todo
 
Ti.tokyo.GIG 2012
Ti.tokyo.GIG 2012Ti.tokyo.GIG 2012
Ti.tokyo.GIG 2012
 

Impression of realm java