SlideShare a Scribd company logo
1 of 18
Download to read offline
“Next	Step”of	becoming	familiar	with

RxSwift	&	MVVM	Pattern.
Fumiya	Sakai	(Just1factory)
2018/12/18	potatotips	#57	@	istyle	Inc.
自己紹介
・Fumiya	Sakai
・Mobile	App	Engineer
アカウント:
・Twitter:	https://twitter.com/fumiyasac

・Facebook:	https://www.facebook.com/fumiya.sakai.37

・Github:	https://github.com/fumiyasac	

・Qiita:	https://qiita.com/fumiyasac@github
発表者:
・Born	on	September	21,	1984
これまでの歩み:
Web	Designer
2008	~	2010
Web	Engineer
2012	~	2016
App	Engineer
2017	~	Present
ほんの少しだけ告知と宣伝
「少しの工夫とアイデアでできる表現集」として、これまでサンプル開発や実務の
中で培ったノウハウ等から、UI実装いくつかのまとまったサンプル実装を例にUI構
築をする上で重要な実装ポイントやアイデアを紹介していく形式にしてみました。
収録サンプル:
https://github.com/fumiyasac/ios_ui_recipe_showcase
現在Boothにて販売中です(近日アップデート予定)	¥1,000
同人誌「iOSアプリ開発	UI実装であると嬉しいレシピブック」を書きました。
https://booth.pm/ja/items/1021745
概要:
今回取り組む事になったきっかけ
この記事を書いた時から1年以上の月日が流れてしまった…危機感。
1年前に書いた記事の知識から1歩踏み出す:
RxSwiftでの実装練習の記録ノート(前編:Observerパターンの例とUITableViewの例)

https://qiita.com/fumiyasac@github/items/90d1ebaa0cd8c4558d96

RxSwiftでの実装練習の記録ノート(後編:DriverパターンとAPIへの通信を伴うMVVM構成のサンプル例)

https://qiita.com/fumiyasac@github/items/da762ea512484a8291a3
自分が試してみたいUIライブラリと組み合わせた実装を使ってRxSwiftを利用したサンプルを作る
以前の復習も込めて応用した実装を試みる:
この記事ではあくまで既存のサンプルコードに関する解説とRxSwiftの基本理解についての解説まで
※	記事自体も年末にテコ入れします
※	RxSwiftの	Observer	/	Driver	パターンを使用
今回の発表でのサンプルコード
実際に動かせるコードもご用意しました	&	解説コメントも残しました。
https://github.com/fumiyasac/RxSwiftUIExample
Storyboardの構成
実装部分に集中するため構成は比較的シンプルで基本的な形にしています。	
MainViewControllerの
Floating Menuから遷移
ContainerViewで表示
ライブラリを使った
Floating Menu
データとUIの関連性
Model	-	ViewModel	-	Viewにおける処理と役割の概要の図解になります。	
状態更新のリクエスト
ViewController ViewModel Model
NewYorkTimesProductionAPI
利用するデータの作成
※ ViewModelでAPIリクエストを実行する場合
UI側への変更を伝える 利用するデータの受取
利用したUI構築用ライブラリの一覧
下記の様なUIライブラリを活用して構築をしています。
Floaty:
Androidの様なフローティングメニューを実現
DeckTransition:
Apple	Musicの様なハーフモーダル表示を実現
AnimatedCollectionViewLayout:
UICollectionViewを動かす際に様々な動きをつける
全体の画面構成を決めるものからオマケ的な要素のものまで
アニメーションや表現が綺麗でかつ取り扱い易そう(RxSwiftの実装と調和しそう)なものを選びました。
FontAwesome.swift:
「Font	Awesome」アイコンを利用する
BTNavigationDropdownMenu:
UINavigationBarにドロップダウンメニューを実現
Toast-Swift:
Androidの様なToast型のポップアップ表示をする
UICollectionViewをベースにしたカルーセルを表示する
UI部分に関するちょっとした考慮をRxSwiftで上手に表現する。
カルーセルの回転部分の表現は
ライブラリ: AnimatedCollectionViewLayoutで実現
// ViewController側で利用するためのプロパティ
let featuredLists: Observable<[FeaturedModel]>!
let shouldHidePreviousButton = BehaviorRelay<Bool>(value: true)
let shouldHideNextButton = BehaviorRelay<Bool>(value: false)
let currentIndex = BehaviorRelay<Int>(value: 0)
前へ・次のボタンの表示状態と
現在の表示位置に応じた振る舞い
ボタン押下
ViewModelに定義したBehaviorRelayの値変化とUIが関連する
① ボタンタップ処理でViewModelのプロパティを更新
② 変更されたViewModelのプロパティを元に
View要素の状態が決定される
ドロップダウンメニューから表示内容を変更する
UIライブラリと組み合わせた表現をRxSwiftで上手に表現する。
// ViewController側で利用するためのプロパティ
let allTitles: Observable<[String]>!
let selectedInformation = BehaviorRelay<InformationModel?>(value: nil) タイトルを押下すると内容が切り替わる
項目選択
ドロップダウンメニューを表示する表現について
はBTNavigationDropdownMenuを利用
ViewModelに定義したBehaviorRelayの値変化とUIが関連する
② タップ処理でViewModelのプロパティを更新
③ 変更されたViewModelのプロパティ
を元にView要素の状態が決定される
※ BTNavigationDropdownMenuに関する初期設定を行う部分。
① 表示要素の初期設定
初回表示状態からボタンを押すと末尾に10件ずつデータを表示する
API通信を利用してデータを取得して伴う表示部分の調整を実行する。
// ViewController側で利用するためのプロパティ
let isLoading = BehaviorRelay<Bool>(value: false)
let isError = BehaviorRelay<Bool>(value: false)
let recentNewsLists = BehaviorRelay<[RecentNewsModel]>(value: [])
変数: resentNewsListsへ10件ずつ値が追
加されてContainerViewの高さも増加する
ボタン押下
API通信でデータを取得する部分に関するコード例
① Single<JSON>型として、リクエストが1度だけ成功
か失敗かのレスポンスを返すような形にする
② ViewModel部分でAPI通信処理を実行
し結果に応じてプロパティを更新する
※ BehaviorRelay<[RecentNewsModel]>へ追記
インクリメンタルサーチで該当したデータを最大10件表示する
入力された文字列の長さを考慮しながらAPIのリクエストを実行する。
// ViewController側で利用するためのプロパティ
let isLoading = BehaviorRelay<Bool>(value: false)
let isError = BehaviorRelay<Bool>(value: false)
let searchNewsLists = BehaviorRelay<[SearchNewsModel]>(value: [])
3文字以上
入力する
// 検索ボックスの値変化を監視対象にする
private var searchBarText: Observable<String> {
// ① 3文字未満のキーワードの場合は受け付けない
// ② APIリクエストの際に0.5秒のバッファを持たせる
return keywordSearchBar.rx.text
.filter { $0 != nil }
.map { $0! }
.filter { $0.count >= 3 }
.debounce(0.5, scheduler: MainScheduler.instance)
.distinctUntilChanged()
}
必要以上のAPIリクエストをしない様に配慮
※ debounce / throttle を上手に活用
今回の発表内容の補足と詳細
本日お話した内容に関しては下記の記事にもまとめております。
https://qiita.com/fumiyasac@github/items/e426d321fbb8ab846bb6
今回のまとめ
RxSwiftとMVVMパターンの組み合わせとUI実装との連結いいと思った!
Step1)	基本のおさらい
まずはRxSwiftの復習

・Observerパターン

・Driverパターン

・頻出のOperatorの理解
このサンプル開発を通じて:	
データ層やUIと関わり合いがある層に関する構成をアーキテクチャも混みで整理した形にすることで、

どの値変化によって関連するUI要素が変化するかの見通しや関係性を持っているか?ということが見

える形になる。それによってUI実装という観点からも大きくメリットがあると認識できた。
Step2)	実装に関する研究
実装例の考察やサンプル研究

・想定している動き

・MVVMパターンの理解

・新旧バージョンの差分
Step3)	実装とUIの結合
ショーケース的なサンプル実装

・UIとViewModel実装の結合

・Operatorの利用方法の理解

・UI表現とRxSwiftの調和
Thank	you	for	listening	!

More Related Content

What's hot

動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
Fumiya Sakai
 
Abc2013 spring appinventorユーザー会
Abc2013 spring appinventorユーザー会Abc2013 spring appinventorユーザー会
Abc2013 spring appinventorユーザー会
Takeaki Tada
 

What's hot (20)

少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
 
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOSApproach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOS
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめできるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ
 
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
 
Abc2013 spring appinventorユーザー会
Abc2013 spring appinventorユーザー会Abc2013 spring appinventorユーザー会
Abc2013 spring appinventorユーザー会
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めよう
 
まずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装についてまずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装について
 
Swift勉強会2
Swift勉強会2Swift勉強会2
Swift勉強会2
 

Similar to RxSwiftとMVVMパターンと仲良くなる次のステップ

属人化したフロントエンドのJavaScriptを、 ‘新規機能開発を止めずに’改善するために行った取り組みについて。 及びその経過報告。
属人化したフロントエンドのJavaScriptを、‘新規機能開発を止めずに’改善するために行った取り組みについて。及びその経過報告。属人化したフロントエンドのJavaScriptを、‘新規機能開発を止めずに’改善するために行った取り組みについて。及びその経過報告。
属人化したフロントエンドのJavaScriptを、 ‘新規機能開発を止めずに’改善するために行った取り組みについて。 及びその経過報告。
Jun Suzuki
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
Masakazu Muraoka
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
Masakazu Muraoka
 

Similar to RxSwiftとMVVMパターンと仲良くなる次のステップ (17)

Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
 
メディアアプリでよく見る無限スクロールするタブの動きへの考察
メディアアプリでよく見る無限スクロールするタブの動きへの考察メディアアプリでよく見る無限スクロールするタブの動きへの考察
メディアアプリでよく見る無限スクロールするタブの動きへの考察
 
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
 
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞくReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
 
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみるWeb屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
 
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話
 
OpenCV on mobile
OpenCV on mobileOpenCV on mobile
OpenCV on mobile
 
属人化したフロントエンドのJavaScriptを、 ‘新規機能開発を止めずに’改善するために行った取り組みについて。 及びその経過報告。
属人化したフロントエンドのJavaScriptを、‘新規機能開発を止めずに’改善するために行った取り組みについて。及びその経過報告。属人化したフロントエンドのJavaScriptを、‘新規機能開発を止めずに’改善するために行った取り組みについて。及びその経過報告。
属人化したフロントエンドのJavaScriptを、 ‘新規機能開発を止めずに’改善するために行った取り組みについて。 及びその経過報告。
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
 
20220716_jsfes.pdf
20220716_jsfes.pdf20220716_jsfes.pdf
20220716_jsfes.pdf
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
 
何を自動化するのか
何を自動化するのか何を自動化するのか
何を自動化するのか
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
 
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
 
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
 
あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 

More from Fumiya Sakai

既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
Fumiya Sakai
 

More from Fumiya Sakai (9)

RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために
 
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwiftMeasures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
 
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
 
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
 
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察するUIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
 
Hint of a little ingenuity about UI.
Hint of a little ingenuity about UI.Hint of a little ingenuity about UI.
Hint of a little ingenuity about UI.
 
書籍執筆からの今後に向けてのロードマップ
書籍執筆からの今後に向けてのロードマップ書籍執筆からの今後に向けてのロードマップ
書籍執筆からの今後に向けてのロードマップ
 
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版
 

Recently uploaded

Recently uploaded (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

RxSwiftとMVVMパターンと仲良くなる次のステップ