SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
軽量・高速モバイルデータベース
Realm入門を使って学ぶRealmの勘所
DevSap勉強会 17/03/26
菅原 祐
@yusuga_
Aplos for Twitter
Realmの本を書きました!
軽量•高速モバイルデー
タベ ー ス
Re�alm
入門
菅原祐蕃
Realm岸川克己監修
「Swift」と
「Realm Mobile Database」
によるiOSアプリ開発を
徹底解説!
区モバイルデー
タペー
スを使ったことがない方
図「SQ Lite」や「Core Data」から置き換えたい方
区より実践的な使用方法を知りたい方
にオススメ!
授術評編社
本日のテーマ
本日のテーマ
1. 軽量・高速モバイルデータベース
Realm入門を使って学ぶRealmの勘所
本日のテーマ
1. 軽量・高速モバイルデータベース
Realm入門を使って学ぶRealmの勘所
2. サンプルからRealmの概要を掴む
サンプルDL (195MB)
1. Google検索: realm入門
2. 軽量・高速モバイルデータベース Realm入門:書籍案内|技術
評論社
3. 本書のサポートページ
書籍「軽量・高速モバイルデータベー
ス Realm入門」を使って学ぶRealmの
勘所
Realmとは (前書き)
• 世界初のモバイルファーストなデータベース
• 2016年5月にバージョン1.0がリリース
• 最新は2017年3月13日にリリースされたv2.4.4
• 本書は、v2.4.2をサポート Swift 3.0.2
Realmの特徴 (p007)
• クラス定義 == モデル定義(テーブル定義)
• DBの非同期処理をサポート
• 高速 (p009)
• 独自のストレージエンジン(C++)
Realmの特徴 (p007)
• マルチプラットフォーム (p010)
• iOS (Swift, Objective-C)
• Android (Java, Kotlin)
• React Native (JavaScript)
• Xamarin (C#)
• データベースファイルは完全なマルチプラットフォームをサポー
ト
• iOSで作ったRealmファイルをAndroidで開くことも可能
Realmの特徴 (p007)
• 日本語で問い合わせ可能なユーザサポートの窓口 (p011)
• Slack
• Realm Japan User Group (Facebook)
• OSS (p012)
• realm-cocoa
• realm-core
Realmのインストール (p014)
• Dynamic Framework
• CocoaPods
• Carthage
モデル定義 (p027)
import RealmSwift
class Person: Object { // RealmSwift.Objectクラスを継承
dynamic var name = "" // String型
let dogs = List<Dog>() // 1対多の関連
}
class Dog: Object {
dynamic var name = ""
dynamic var age = 0
}
モデル定義チートシート (p272)
• 非オプショナル型/オプショナル型
• 1対1/1対多/逆方向の関連
• プライマリキーの指定
• インデックスの指定
• 保存しないプロパティの指定
• 暗黙的に保存しないプロパティ
モデルオブジェクトの生成と初期化 3種類 (p035)
1. プロパティ値
let dog = Dog()
dog.name = "Momo"
dog.age = 9
モデルオブジェクトの生成と初期化 3種類 (p035)
2. KVCに準拠しているオブジェクトで初期化
let dog = Dog(value: ["name": "Momo",
"age": 9])
モデルオブジェクトの生成と初期化 3種類 (p035)
3. 各プロパティの値の配列で初期化
let dog = Dog(value: ["Momo", 9])
モデルオブジェクトの追加 (p039)
let realm = try! Realm()
// このrealmインスタンスを使いデータベースの操作を行う
// 書き込みトランザクション
realm.beginWrite()
realm.add(mydog) // モデルオブジェクトの追加
try! realm.commitWrite()
モデルオブジェクトの取得 (p055)
let results = realm.objects(Dog.self) // すべてのDogオブジェクト
.filter("name CONTAINS 'x'") // nameにxを含む
自動更新 (p069)
let realm = try! Realm() // デフォルトRealmを取得
// resutlsを生成
let results = realm.objects(Cat.self) // Catモデルオブジェクト
.filter("age >= 5") // 5歳以上
.sorted(byKeyPath: "age",
ascending: true) // ageで昇順ソート
// データベースにCatがないので、resultsは0件です。
print("results.count: (results.count)") // 0
自動更新 (p069)
// cat1を加えます。ageは1です。
let cat1 = Cat(value: ["name": "Toto",
"age": 1])
try! realm.write {
realm.add(cat1)
}
// データベースにCatは1件あるのですが、
// cat1.ageが5未満なのでresultsは変わらず0件です。
print("results.count: (results.count)") // 0
自動更新 (p069)
// cat1.ageを10に変更します。
try! realm.write {
cat1.age = 10
}
// cat1が5歳以上の条件にマッチしたので、
// resultsにcat1が自動で追加されます。
print("results: (results)") // [cat1]
自動更新 (p069)
// cat2を追加します。ageは5です。
let cat2 = Cat(value: ["name": "Rao",
"age": 5])
try! realm.write {
realm.add(cat2)
}
// cat2は5歳以上の条件にマッチしているので、
// resultsにcat2が自動で追加されます。
// ageで昇順ソートもされています。
print("results: (results)") // [cat2, cat1]
自動更新 (p069)
// cat2を削除します。
try! realm.write {
realm.delete(cat2)
}
// cat2がデータベースから削除されたので、
// resultsからcat2が自動で取り除かれます。
print("results: (results)") // [cat1]
マルチスレッド (p074)
// マルチスレッドでデータベースにアクセス
DispatchQueue.global().async {
// デフォルトRealmを取得
let realm = try! Realm()
// モデルオブジェクトの生成
let otherdog = Dog()
otherdog.name = "Hachi"
otherdog.age = 5
realm.beginWrite()
realm.add(otherdog) // モデルオブジェクトの追加
try! realm.commitWrite()
}
通知 (p080)
class TableViewController: UITableViewController {
// 通知を有効にしたい期間中は、
// NotificationTokenを強参照で保持する必要があります。
var token: NotificationToken?
override func viewDidLoad() {
super.viewDidLoad()
let realm = try! Realm()
// Realmクラスの通知ハンドラを追加する。
token = realm.addNotificationBlock
{ (notification, realm) in
// 通知ハンドラ
}
}
}
通知をサポートしているクラス
• Realmクラス: いずれかのオブジェクトの変更
• Objectクラス: オブジェクト自身の変更
• コレクションクラス: コレクションクラスが持つオブジェクトの
変更
(Results、List、LinkingObjects)
サンプルからRealmの
概要を掴む
サンプル 7選
1. 基本
サンプル/11-01_通知/RealmNotification.xcodeproj
2. 応用
サンプル/11-05_通知のスキップ/RealmWithoutNotifying.xcodeproj
サンプル 7選
3. 通知の細かい挙動
サンプル/11-03通知ハンドラRealmCollectionChange-updateの挙動
確認/RealmCollectionChange.xcodeproj
4. 検索
サンプル/19-08_タイムラインをフィルタリングする/
TwitterFilter.xcodeproj
サンプル 7選
5. マイグレーション
サンプル/20-02_仕様変更のマイグレーションに対応する/
TwitterMigration.xcodeproj
6. Realmファイルの動的な切り替え
サンプル/20-03_複数ユーザのログインに対応する/
TwitterMultiple.xcodeproj
サンプル 7選
7. 実践的な開発
サンプル/20-04_その後の開発/TwitterApp.xcodeproj
よくある質問
Q. どういう場合にRealmを選択すればいいの?
A. UserDefaults以上に複雑なことをしたい
よくある質問
Q. Core Dataよりいいの?
A.
- 学習コスト低
- APIがシンプル
- 処理が高速
書籍プレゼント
3冊
優先
- 勉強会に初めて来た方
- Realmを使ったことない方
ご静聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Masaru Watanabe
 
JavaScriptから利用するFirebase
JavaScriptから利用するFirebaseJavaScriptから利用するFirebase
JavaScriptから利用するFirebaseTakuji Shimokawa
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリYukiya Nakagawa
 
GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発Fumihiko Shiroyama
 
RubyもApache Arrowでデータ処理言語の仲間入り
RubyもApache Arrowでデータ処理言語の仲間入りRubyもApache Arrowでデータ処理言語の仲間入り
RubyもApache Arrowでデータ処理言語の仲間入りKouhei Sutou
 
Hadoop Troubleshooting 101 - Japanese Version
Hadoop Troubleshooting 101 - Japanese VersionHadoop Troubleshooting 101 - Japanese Version
Hadoop Troubleshooting 101 - Japanese VersionCloudera, Inc.
 
How Smalltalker Works
How Smalltalker WorksHow Smalltalker Works
How Smalltalker WorksSho Yoshida
 
AngularFireで楽々バックエンド
AngularFireで楽々バックエンドAngularFireで楽々バックエンド
AngularFireで楽々バックエンドYosuke Onoue
 
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
 PHPでPostgreSQLとPGroongaを使って高速日本語全文検索! PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!Kouhei Sutou
 
お金をかけないDBチューニング
お金をかけないDBチューニングお金をかけないDBチューニング
お金をかけないDBチューニングKazuya Sato
 
Cloud computing competition by Hapyrus
Cloud computing competition by HapyrusCloud computing competition by Hapyrus
Cloud computing competition by HapyrusKoichi Fujikawa
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)Hadoop / Spark Conference Japan
 
Terraform始めました
Terraform始めましたTerraform始めました
Terraform始めましたw1mvy pine
 
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)Daisuke Kikuchi
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理博文 斉藤
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introductionMisa Kondo
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発Nomura Yusuke
 
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムMySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムKouhei Sutou
 

Was ist angesagt? (20)

Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界
 
JavaScriptから利用するFirebase
JavaScriptから利用するFirebaseJavaScriptから利用するFirebase
JavaScriptから利用するFirebase
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
 
GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発
 
RubyもApache Arrowでデータ処理言語の仲間入り
RubyもApache Arrowでデータ処理言語の仲間入りRubyもApache Arrowでデータ処理言語の仲間入り
RubyもApache Arrowでデータ処理言語の仲間入り
 
Hadoop Troubleshooting 101 - Japanese Version
Hadoop Troubleshooting 101 - Japanese VersionHadoop Troubleshooting 101 - Japanese Version
Hadoop Troubleshooting 101 - Japanese Version
 
How Smalltalker Works
How Smalltalker WorksHow Smalltalker Works
How Smalltalker Works
 
AngularFireで楽々バックエンド
AngularFireで楽々バックエンドAngularFireで楽々バックエンド
AngularFireで楽々バックエンド
 
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
 PHPでPostgreSQLとPGroongaを使って高速日本語全文検索! PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
 
お金をかけないDBチューニング
お金をかけないDBチューニングお金をかけないDBチューニング
お金をかけないDBチューニング
 
Cloud computing competition by Hapyrus
Cloud computing competition by HapyrusCloud computing competition by Hapyrus
Cloud computing competition by Hapyrus
 
Rakuten tech conf
Rakuten tech confRakuten tech conf
Rakuten tech conf
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
 
Terraform始めました
Terraform始めましたTerraform始めました
Terraform始めました
 
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
 
Shizupptx
ShizupptxShizupptx
Shizupptx
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発
 
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムMySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
 

Andere mochten auch

Presentation11112
Presentation11112Presentation11112
Presentation11112yahya_ahmad
 
Presentacions tic
Presentacions ticPresentacions tic
Presentacions ticfede32
 
Summer Placement Report 2016-18
Summer Placement Report 2016-18Summer Placement Report 2016-18
Summer Placement Report 2016-18Deepak V
 
“Coming clean” about researching multilingually – learning from different dis...
“Coming clean” about researching multilingually – learning from different dis...“Coming clean” about researching multilingually – learning from different dis...
“Coming clean” about researching multilingually – learning from different dis...RMBorders
 
clinical anatomy of mid brain
clinical anatomy of mid brainclinical anatomy of mid brain
clinical anatomy of mid brainRaghav Nirula
 
предложения с чужой речью
предложения с чужой речьюпредложения с чужой речью
предложения с чужой речьюoquzaman
 
презентація
презентаціяпрезентація
презентаціяSprint
 
Анализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертов
Анализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертовАнализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертов
Анализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертовa2consulting
 

Andere mochten auch (18)

презентация к 20.03.17 копия
презентация к 20.03.17   копияпрезентация к 20.03.17   копия
презентация к 20.03.17 копия
 
Presentation11112
Presentation11112Presentation11112
Presentation11112
 
Is Xanax Safe During Pregnancy?
Is Xanax Safe During Pregnancy?Is Xanax Safe During Pregnancy?
Is Xanax Safe During Pregnancy?
 
Prime rilevazioni pd
Prime rilevazioni pdPrime rilevazioni pd
Prime rilevazioni pd
 
Presentacions tic
Presentacions ticPresentacions tic
Presentacions tic
 
Question 7
Question 7Question 7
Question 7
 
Summer Placement Report 2016-18
Summer Placement Report 2016-18Summer Placement Report 2016-18
Summer Placement Report 2016-18
 
Museum of London
Museum of LondonMuseum of London
Museum of London
 
“Coming clean” about researching multilingually – learning from different dis...
“Coming clean” about researching multilingually – learning from different dis...“Coming clean” about researching multilingually – learning from different dis...
“Coming clean” about researching multilingually – learning from different dis...
 
Curso de formador de formadores
Curso de formador de formadoresCurso de formador de formadores
Curso de formador de formadores
 
Facebook para empresas
Facebook para empresasFacebook para empresas
Facebook para empresas
 
Recits
RecitsRecits
Recits
 
Pai educación infantil tambor
Pai educación infantil tamborPai educación infantil tambor
Pai educación infantil tambor
 
clinical anatomy of mid brain
clinical anatomy of mid brainclinical anatomy of mid brain
clinical anatomy of mid brain
 
предложения с чужой речью
предложения с чужой речьюпредложения с чужой речью
предложения с чужой речью
 
презентація
презентаціяпрезентація
презентація
 
Анализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертов
Анализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертовАнализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертов
Анализ Клиентов. Геоаналитика, анализ лояльности, советы от экспертов
 
Curso de excel 2010 avanzado
Curso de excel 2010 avanzadoCurso de excel 2010 avanzado
Curso de excel 2010 avanzado
 

Ähnlich wie 書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所

イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情takezoe
 
Maiking RIA Apps by Ruby
Maiking RIA Apps by RubyMaiking RIA Apps by Ruby
Maiking RIA Apps by Rubyshozon
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方linzhixing
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
Data management of cosmos db using apache gremlin
Data management of cosmos db using apache gremlinData management of cosmos db using apache gremlin
Data management of cosmos db using apache gremlinTakao Tetsuro
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for SmalltalkSho Yoshida
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLTaisuke Fukuno
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoShoot Morii
 
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介Ryo RKTM
 
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.jsYuto Suzuki
 
Springでdao 20070413
Springでdao 20070413Springでdao 20070413
Springでdao 20070413Funato Takashi
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッションYuichi Hasegawa
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-靖 小田島
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
 
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道Yasushi Hara
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24Kazuhiro Sera
 

Ähnlich wie 書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所 (20)

イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
Maiking RIA Apps by Ruby
Maiking RIA Apps by RubyMaiking RIA Apps by Ruby
Maiking RIA Apps by Ruby
 
Realmという衝撃
Realmという衝撃Realmという衝撃
Realmという衝撃
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
Data management of cosmos db using apache gremlin
Data management of cosmos db using apache gremlinData management of cosmos db using apache gremlin
Data management of cosmos db using apache gremlin
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
 
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介
 
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
 
Springでdao 20070413
Springでdao 20070413Springでdao 20070413
Springでdao 20070413
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
 

書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所