realm,rx swift,repro を使ってみて
TRANSCRIPT
![Page 1: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/1.jpg)
Realm,RxSwift,Reproを使ってみて
![Page 2: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/2.jpg)
Realm
![Page 3: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/3.jpg)
データベースFrameWork
![Page 4: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/4.jpg)
FrameWorkとは枠組み、骨組み、骨格、下部構造、構造、組織などの意味を持
つ英単語。
![Page 5: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/5.jpg)
RxSwift
![Page 6: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/6.jpg)
関数型言語を使用したFrameWork
![Page 7: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/7.jpg)
Repro
![Page 8: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/8.jpg)
ユーザーのアプリ利用動画を
使ってコンバージョン率や定着
率を改善するモバイルアナリティ
クスツール。
![Page 9: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/9.jpg)
今回の発表内容
仕事、プライベートで使用した中で、感じた気づきの共有
![Page 10: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/10.jpg)
永田大祐フリーランスios歴1.5年週7日実施(少し他言語も)1日12時間〜20時間実施
![Page 11: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/11.jpg)
この2ヶ月ぐらいで登壇をさせていただきました。
![Page 12: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/12.jpg)
青葉台 カジュアルSwift勉強会様Swift愛好会様
ios馬場様フリースタイルPort もくもく会様
Realm Meet Up 様AKIBA.swift 様
第2回RxSwift勉強会 @ Sansan 様
![Page 13: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/13.jpg)
iosエンジニアニュースアプリ ReacticeCocoa Realm 使用相続税アプリ CoreData使用SDK Realmを使用漫画アプリ Obcセキュリティアプリ Obcカメラアプリ Obc
Androidアキパス
![Page 14: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/14.jpg)
プライベートでは仕事を獲得するために、短期間でアプリを多数作りました。
![Page 15: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/15.jpg)
RateDollarMapこちらでReproを使用していま
す。
![Page 16: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/16.jpg)
プログラミングを初めて作ったアプリ
![Page 17: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/17.jpg)
iosがこちら
![Page 18: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/18.jpg)
Androidがこちら
![Page 19: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/19.jpg)
現在はリモート業務や、常駐で実施しています。勉強会も登壇させていただきましたが、これからは、製品レベルを上げた物を作るため時間を確保したいと思います。
![Page 20: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/20.jpg)
それでは発表します。
![Page 21: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/21.jpg)
Realm
![Page 22: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/22.jpg)
RealmをCoreDataと比べて
![Page 23: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/23.jpg)
CoraDataの基本
![Page 24: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/24.jpg)
モデルクラスを作る 自動生成
XXX .xcdatamodeldでクラス内の変数を設定する。
NSMnaegedObjectNSManagedObjectContextでレコード(RDB)を呼ぶ
NSFetchedResultsControllerオブジェクトの挿入
あとは画面に表記するコードを書く
![Page 25: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/25.jpg)
クラス設計
![Page 26: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/26.jpg)
http://www.gologo13.com/2014/01/02/note-about-nsfetchedresultscontroller-in-coredata/
![Page 27: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/27.jpg)
モデルクラスの作成
![Page 28: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/28.jpg)
![Page 29: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/29.jpg)
コードで作成
![Page 30: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/30.jpg)
![Page 31: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/31.jpg)
プロトコルで宣言して
![Page 32: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/32.jpg)
NSManagedObject
永続化するオブジェクトは必ずこのクラスのオブジェクトかこのクラスのサブクラスのオブジェクトでなければいけない。
NSManagedObjectContext
データの検索挿入更新削除やUndoRedoを行うクラス
NSFetchRequest
データの検索条件を管理するクラスここで指定した条件がSQLに変換されてデータの検索に使われる
NSManagedObjectオブジェクトを監視するコントローラクラス
NSManegedObjecrオブジェクトが挿入、変更削除された時にNSFecthdResultsControllerDelegateオブジェクトに通知する
NSEntityDescpritonエンティティの定義を管理するクラス。エンティティ記述と呼ばれているエンティティについては後術
NSManagedObjectModelエンティティ同士の関連を管理するクラス
NSPrerisitenteStoreConrdinatorNSpersistentStoreを管理するクラス。データベースを複数管理することができる
![Page 33: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/33.jpg)
上記のメソッドを駆使して、データベースを作成します。
感じたことは、メソッド名が長く、
ロジックを理解するのが大変でした。
実際に業務で使用した場合も、メソッド名が似ていて、
名前が長く、ロジックを理解するのが大変でした。
![Page 34: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/34.jpg)
Realm
![Page 35: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/35.jpg)
Realmクラスを作る型は多数サポート
してます。
![Page 36: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/36.jpg)
![Page 37: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/37.jpg)
Realmファイルが自動で作成されるので、データ保存、削除が基本
![Page 38: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/38.jpg)
Realmコードサンプル
![Page 39: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/39.jpg)
シンプルで効率良く、
開発できます。
今回は割愛ますが、
NsFileManagerも同時に勉強する
と良いと思います。
![Page 40: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/40.jpg)
RxSwift
![Page 41: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/41.jpg)
Map関数の併用
![Page 42: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/42.jpg)
Map関数とは?配列内の要素に処理を適用し、その配列を使
いたい場合に使用します。
![Page 43: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/43.jpg)
判定分のような使い方
RxSwiftサンプルコード
![Page 44: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/44.jpg)
突然に思いました。
関数型言語を理解する上で必要な
こと。
Swiftらしいコーディングを実施する
中で必要なこと。
![Page 45: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/45.jpg)
Generics
![Page 46: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/46.jpg)
Genericsを用いることで指定した要件、もしく
は任意の様々な型を扱うことができるので、柔
軟で再利用可能な型や関数を定義することが
できます。
![Page 47: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/47.jpg)
いくつもの種類が
あると思いますが、今回Swift3で引
数の書き方など変更があると思う
ので、キーワードで。
![Page 48: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/48.jpg)
大きく分けて2つGeneric Types Associated Types
![Page 49: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/49.jpg)
Generic Types 構造体・クラス
![Page 50: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/50.jpg)
Associated Types プロトコル
![Page 51: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/51.jpg)
あとは自分で勉強してください。
![Page 52: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/52.jpg)
Swiftのコーディングを実施する上で、
関数型言語のライブラリー
Genericsなどの関数を使用するメソッドを探求
していく必要があると思いました。
これらを理解する事により、文字数的に可読性
がある運用ができると思います。
逆に理解していないと運用厳しい。
![Page 53: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/53.jpg)
Repro
![Page 54: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/54.jpg)
Repro
![Page 55: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/55.jpg)
ユーザーのアプリ利用動画を
使ってコンバージョン率や定着
率を改善するモバイルアナリティ
クスツール。
![Page 56: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/56.jpg)
アプリを使用するユーザーにPusu通知も送れます。
![Page 57: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/57.jpg)
![Page 58: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/58.jpg)
![Page 59: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/59.jpg)
![Page 60: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/60.jpg)
![Page 61: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/61.jpg)
Reproを使用して気づいた事
![Page 62: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/62.jpg)
プライベートでは仕事を獲得するために、短期間でアプリを多数作りました。
![Page 63: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/63.jpg)
このぐらいの利用率じゃ儲ける事はできない。
![Page 64: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/64.jpg)
製品レベル、デザインレベル楽しさ、Swiftらしさ
を向上させて
![Page 65: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/65.jpg)
アプリを作ろう。
![Page 66: Realm,rx swift,repro を使ってみて](https://reader031.vdocuments.net/reader031/viewer/2022021813/5871240b1a28abe4448b5bbb/html5/thumbnails/66.jpg)
Thank you iosDCReject!!!