SlideShare una empresa de Scribd logo
1 de 47
- RxSwiftを実際に導入してみた件 -
辰己 佳祐
Twitter:@TK_u_nya
Github:cztatsumi-keisuke
Qiita:Nietzsche
• 所属
– 株式会社CyberZ OPENREC事業部
• 職種
– iOSエンジニア
• 個人アプリ
– AppStoreで「Keisuke Tatsumi」で検索検索ぅ〜♪
Agenda
• はじめに
• RxSwiftとは
• RxSwiftだとこう書ける
• RxSwiftを使ってみた結果
Agenda
• はじめに
• RxSwiftとは
• RxSwiftだとこう書ける
• RxSwiftを使ってみた結果
はじめに
• なぜRxSwiftを使うことになったのか
1.
2.
3.
はじめに
• なぜRxSwiftを使うことになったの?
1. 新規サービスの開発の話が来た
2.
3.
OPENREC Messenger
• ゲーマー向け無料コミュニ
ケーションアプリ
• 一人で複数のプロフィールを
使える
• AppStore、Google Play
にて、ダウンロード
よろしくお願いします!
はじめに
• なぜRxSwiftを使うことになったの?
1. 新規サービスの開発の話が来た
2. 開発言語をSwiftに
3.
OPENRECでのiOS開発
• OPENREC.tv は Objective-C で開発
• Version 4.0 で大幅なリニューアルを行った
• 今までの技術資産を使うのならそのままでも
OPENRECでのiOS開発
• OPENREC.tv は Objective-C で開発
• Version 4.0 で大幅なリニューアルを行った
• 今までの技術資産を使うのならそのままでも
ところが、、、
最近のiOS界隈
「Objective-Cはゴミ箱へ」というツイート Objective-C から Swift への変換サービス
最近のiOS界隈
「Objective-Cはゴミ箱へ」というツイート Objective-C から Swift への変換サービス
進むSwiftへの移行!
Swiftにしましょうか(ニッコリ
)
はじめに
• なぜRxSwiftを使うことになったの?
1. 新規サービスの開発
2. 開発言語をSwiftに
3. 流行に乗ろう
RxSwiftにピンッときたら
• 最近よく「RxSwiftはいいぞ。」といった内容の
記事やスライドをよく目にする
• 他社も導入しはじめている
– ニコニコ漫画アプリ(ドワンゴ)、アッテ(メルカリ)、
ヤフオク!(ヤフー) など
• RxSwiftの知見が増えてきている
乗るしかない このビッグウェーブに!
ー Butchさん
はじめに
• なぜRxSwiftを使うことになったの?
1. 新規サービスの開発
2. 開発言語をSwiftに
3. 流行に乗ろう
というわけで、、、
はじめに
• なぜRxSwiftを使うことになったの?
1. 新規サービスの開発
2. 開発言語をSwiftに
3. 流行に乗ろう
やっはろー !!!
RxSwift World!
というわけで、、、
Agenda
• はじめに
• RxSwiftとは
• RxSwiftだとこう書ける
• RxSwiftを使ってみた結果
RxSwiftとは
• RxSwiftではなく、Rx + Swift = RxSwift
– RxSwiftとは、RxのSwift版のこと
• Rx = Reactive Extensionsの略
– イベントストリームを抽象化するライブラリ
(メルカリのishkawaさんの表現をお借りしました)
– 他にもいろんな言語のRxがある
http://reactivex.io/
ロゴかっこいい →
シャケかな? →
イベントストリームを抽象化するライブラリ
(´・ω・`)ちょっと何言ってるかわかんない
イベントストリームを抽象化するライブラリ
イベントストリームとは
×
受け取った値
エラー 完了開始
マーブル図によるストリームのイメージ
時間
• 流れのイメージは「川」
• 川から流れてくるのは値、エラー、完了の3種類
• 値のみ必要な場合はエラーと完了は無視することもできる
RxSwiftはこの川を監視する
何をストリームにできるの?
• UIイベント
• KVO
• デリゲートメソッドの呼び出し
• 文字列 などなど…
ほぼ全てストリームにできます!
ex.1)UIButtonのタップ
タップ
時間
タップ
時間差で2回タップしたでござるの巻
ex.2)UITextFieldのテキストの変化
a ab
aを入力
時間
bを入力
時間差で文字を入力したでござるの巻
a
bを削除
Ex.3)UITableViewの生成
セルのアイテム数を取得
時間
セルそのものを取得
テーブルを作りたいでござるの巻
テーブルの更新
では、実際に書くとどうなる?
Agenda
• はじめに
• RxSwiftとは
• RxSwiftだとこう書ける
• RxSwiftを使ってみた結果
ex.1)UIButtonのタップ
ex.1)UIButtonのタップ
① ②
①:@objc を付けなければならない
②:メソッドとして分ける必要がある
ex.1)UIButtonのタップ
①:@objc を付けなくてもよい!
②:メソッドとして分ける必要がない!
ex.2)UITextFieldのテキストの変化
ex.2)UITextFieldのテキストの変化
①
②
③
①:デリゲートを宣言しなければいけない
②:デリゲートを設定しなければいけない
③:デリゲートメソッドを使って検知する必要がある
ex.2)UITextFieldのテキストの変化
①:デリゲートを宣言しなくてよい!
②:デリゲートを設定しなくてよい!
③:デリゲートメソッドとかいらないね!
Ex.3)UITableViewの生成
Ex.3)UITableViewの生成
①
②
③
①:デリゲートを宣言しなければいけない
②:デリゲートを設定しなければいけない
③:デリゲートメソッドを使って検知する必要がある
Ex.3)UITableViewの生成
①:デリゲートを宣言しなくてよい!
②:デリゲートを設定しなくてよい!
③:デリゲートメソッドとかやっぱりいらないね!
RxSwiftすごすぎないですか?
RxSwift使ってみたくなりません?
Agenda
• はじめに
• RxSwiftとは
• RxSwiftだとこう書ける
• RxSwiftを使ってみた結果
RxSwiftを導入した結果
短所
• 学習コストは高め
– 慣れるためにチーム内で勉強会を開いたり、情
報共有用のスプレッドシートを作成したりしました
• ビルドに少し時間がかかる
– たまに補完が狂ってコードのハイライトが真っ黒
になるときもある
• アプリのバイナリサイズは10MBほど増える
RxSwiftを導入した結果
長所
• 慣れれば超便利
– 使えるようになると、手放せなくなりそう
• ストリームで監視するため、フラグが減った
– OPENREC.tvの開発時には多数生成していた状態
保持用のフラグがほぼ不要になった
• コードの可読性が上がった
– デリゲートやボタンの反応など、メソッドの目移り
をする必要がなくなった
結果的には導入して正解!
みなさんもRxSwiftで楽しませんか?
以上です!
ご静聴ありがとうございました!

Más contenido relacionado

La actualidad más candente

マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャota42y
 
The World is Connected
The World is ConnectedThe World is Connected
The World is ConnectedKoichi ITO
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015Takayuki Shimizukawa
 
受託開発とRubyGems
受託開発とRubyGems受託開発とRubyGems
受託開発とRubyGemsKoichi ITO
 
インタフェースのこころ
インタフェースのこころインタフェースのこころ
インタフェースのこころKoichi ITO
 
進撃の受託開発
進撃の受託開発進撃の受託開発
進撃の受託開発Koichi ITO
 
Reading 1st dRuby
Reading 1st dRubyReading 1st dRuby
Reading 1st dRubyKoichi ITO
 
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡Haruna Nakayama
 
Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話Alisa Sasaki
 
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライドSkinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライドKazuhiro Sera
 
Skinny Framework で始めた Scala
Skinny Framework で始めた ScalaSkinny Framework で始めた Scala
Skinny Framework で始めた ScalaRyuji Yamashita
 
180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう
180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう
180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみようMichio Kataoka
 
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介kk_Ataka
 
海外で注目されてるJs framework “mithril”の特徴
海外で注目されてるJs framework “mithril”の特徴海外で注目されてるJs framework “mithril”の特徴
海外で注目されてるJs framework “mithril”の特徴Shoyo Kyou
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門ryoheiseki1
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザインKazuhiro Hara
 
Swiftで、Webサーバにデータを送信・登録しよう!
Swiftで、Webサーバにデータを送信・登録しよう!Swiftで、Webサーバにデータを送信・登録しよう!
Swiftで、Webサーバにデータを送信・登録しよう!Kanako Kobayashi
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜Koichi ITO
 

La actualidad más candente (20)

マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
The World is Connected
The World is ConnectedThe World is Connected
The World is Connected
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015
 
受託開発とRubyGems
受託開発とRubyGems受託開発とRubyGems
受託開発とRubyGems
 
インタフェースのこころ
インタフェースのこころインタフェースのこころ
インタフェースのこころ
 
進撃の受託開発
進撃の受託開発進撃の受託開発
進撃の受託開発
 
Reading 1st dRuby
Reading 1st dRubyReading 1st dRuby
Reading 1st dRuby
 
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
 
Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話
 
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライドSkinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
 
Skinny Framework で始めた Scala
Skinny Framework で始めた ScalaSkinny Framework で始めた Scala
Skinny Framework で始めた Scala
 
180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう
180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう
180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう
 
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
 
海外で注目されてるJs framework “mithril”の特徴
海外で注目されてるJs framework “mithril”の特徴海外で注目されてるJs framework “mithril”の特徴
海外で注目されてるJs framework “mithril”の特徴
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザイン
 
Swiftで、Webサーバにデータを送信・登録しよう!
Swiftで、Webサーバにデータを送信・登録しよう!Swiftで、Webサーバにデータを送信・登録しよう!
Swiftで、Webサーバにデータを送信・登録しよう!
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
進撃のSbt
進撃のSbt進撃のSbt
進撃のSbt
 

Destacado

サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」VirtualTech Japan Inc.
 
あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法x1 ichi
 
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)VirtualTech Japan Inc.
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Masaru Watanabe
 
F.O.Xを支える技術
F.O.Xを支える技術F.O.Xを支える技術
F.O.Xを支える技術Yuto Suzuki
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVYusuke Goto
 
Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01Kazuhiro Ota
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境Katsutoshi Nagaoka
 
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウGameCreators,CyberAgent
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみたKatsutoshi Nagaoka
 
レスポンシブWebデザインでうまくやるための考え方
レスポンシブWebデザインでうまくやるための考え方レスポンシブWebデザインでうまくやるための考え方
レスポンシブWebデザインでうまくやるための考え方Hayato Mizuno
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 

Destacado (12)

サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」
 
あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法
 
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界
 
F.O.Xを支える技術
F.O.Xを支える技術F.O.Xを支える技術
F.O.Xを支える技術
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTV
 
Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
 
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
レスポンシブWebデザインでうまくやるための考え方
レスポンシブWebデザインでうまくやるための考え方レスポンシブWebデザインでうまくやるための考え方
レスポンシブWebデザインでうまくやるための考え方
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 

Similar a ご注文はRxですか? -RxSwiftを実際に導入してみた件-

第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索APIYusuke Yamamoto
 
Swiftを迷わず選んだ理由
Swiftを迷わず選んだ理由Swiftを迷わず選んだ理由
Swiftを迷わず選んだ理由zuckerburg
 
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)mecha mogera
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うSatoshi Yoshikawa
 
Javascript を使ってみよう!!
Javascript を使ってみよう!!Javascript を使ってみよう!!
Javascript を使ってみよう!!誠 小林
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方健一 辰濱
 
HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例Naoto Koshikawa
 
Promise in Swift by PromiseKit - Swift勉強会 2015/05/25
Promise in Swift by PromiseKit - Swift勉強会 2015/05/25Promise in Swift by PromiseKit - Swift勉強会 2015/05/25
Promise in Swift by PromiseKit - Swift勉強会 2015/05/25Yuta Shimizu
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのかKatsunori Kanda
 
ruby、sinatraで作るfacebookアプリ
ruby、sinatraで作るfacebookアプリruby、sinatraで作るfacebookアプリ
ruby、sinatraで作るfacebookアプリToshiya Kurishima
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackMocel Mocelic
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれからYohei Yamamoto
 
How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3Junichi Ito
 
女性エンジニアの1週間
女性エンジニアの1週間女性エンジニアの1週間
女性エンジニアの1週間x1 ichi
 
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)Takashi Sogabe
 
Webサイト向けAPI #twtr_hack
Webサイト向けAPI #twtr_hackWebサイト向けAPI #twtr_hack
Webサイト向けAPI #twtr_hackYusuke Yamamoto
 
広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っていますYoshitake Takata
 

Similar a ご注文はRxですか? -RxSwiftを実際に導入してみた件- (20)

第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API
 
Swiftを迷わず選んだ理由
Swiftを迷わず選んだ理由Swiftを迷わず選んだ理由
Swiftを迷わず選んだ理由
 
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使う
 
Javascript を使ってみよう!!
Javascript を使ってみよう!!Javascript を使ってみよう!!
Javascript を使ってみよう!!
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方
 
Enumerate
EnumerateEnumerate
Enumerate
 
HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例
 
[Dots.]taiga
[Dots.]taiga[Dots.]taiga
[Dots.]taiga
 
Promise in Swift by PromiseKit - Swift勉強会 2015/05/25
Promise in Swift by PromiseKit - Swift勉強会 2015/05/25Promise in Swift by PromiseKit - Swift勉強会 2015/05/25
Promise in Swift by PromiseKit - Swift勉強会 2015/05/25
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか
 
ruby、sinatraで作るfacebookアプリ
ruby、sinatraで作るfacebookアプリruby、sinatraで作るfacebookアプリ
ruby、sinatraで作るfacebookアプリ
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3
 
女性エンジニアの1週間
女性エンジニアの1週間女性エンジニアの1週間
女性エンジニアの1週間
 
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
 
Webサイト向けAPI #twtr_hack
Webサイト向けAPI #twtr_hackWebサイト向けAPI #twtr_hack
Webサイト向けAPI #twtr_hack
 
React vtecx20170822
React vtecx20170822React vtecx20170822
React vtecx20170822
 
広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています
 

ご注文はRxですか? -RxSwiftを実際に導入してみた件-

Notas del editor

  1. 何の魚か知ってる人いたら教えてください。
  2. 可愛い娘を監視するのではなくて川を監視するのです。
  3. Pub / Sub モデル: Publish / Subscribe disposeBag:監視対象のストリームを登録しておくと、自身のクラスが解放された時に監視を終了させてくれます。逆にこれを用意していないとずっと監視が終了しませんので要注意 rx_tap:ボタンのタップ検知用のストリーム
  4. Pub / Sub モデル: Publish / Subscribe disposeBag:監視対象のストリームを登録しておくと、自身のクラスが解放された時に監視を終了させてくれます。逆にこれを用意していないとずっと監視が終了しませんので要注意 rx_text:textfieldの文字列変化検知用のストリーム
  5. Pub / Sub モデル: Publish / Subscribe disposeBag:監視対象のストリームを登録しておくと、自身のクラスが解放された時に監視を終了させてくれます。逆にこれを用意していないとずっと監視が終了しませんので要注意 Variable:RxSwiftのSubjectsクラスの一つで、プロパティの変化を監視できるようにするKVO的なやつです。 rx_itemWithIdentifier:RxSwiftのデータバインド用メソッドの一つで、UITableViewDataSourceのcellForRowAtIndexPathと連動しています。