SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
CARTHAGE+MVVM
YURU-HUWA LT 2015-12-11
KHANEDA@JUMBOS5
CARTHAGE
CARTHAGE
なんなのか?
▸ cocoapodsに変わる新しいiOSのパッケージ管理ツール
▸ 分散型依存性管理フレームワークとも言われている
CARTHAGE
COCOAPODSとのちがいは?
▸ そもそもの哲学から違う
carthage
$ pod install$ carthage update
+ +
WORKSPACEは
LIBを管理するる
PROJは
LIBを管理しない
Podspec
CARTHAGE
COCOAPODSとのちがいは?
▸ 哲学から違いからうまれるちがい
carthage
分散型 集約型
‣ iOS8からのみ

Dynamic Frameworkを使うため
‣ Dynamic Frameworkなのでビルドが早い

余計なビルドがない
‣ 変にprojファイルをいじらないので健全
‣ Podspec fileが必要
‣ workspaceがごちゃごちゃしている
‣ でもworkspaceはライブラリが管理しやすい
‣ まだメジャー
CARTHAGE
PERFORMANCE - BUILD
xcodebuild -workspace MvvmSample2.xcworkspace -scheme
MvvmSample2 18.92s user 5.33s system 257% cpu 9.415 total
xcodebuild -project MvvmSample.xcodeproj -target 

MvvmSample 0.49s user 0.10s system 105% cpu 0.559 total
TIME COMMAND
+
XCODEBUILD DEBUG
CARTHAGE
LET’S CARTHAGE!!! BUT …
▸ リポジトリ上のコードがdynamic Framework用の

schemeを用意していないといけない
▸ Carthage に対応しているライブラリは Xcode の Shared
Build Scheme を設定しており, この Scheme でビルドする
と Framework が出力されるように設定されています.
https://github.com/SwiftBond/Bond
CARTHAGE
結論
▸ projが綺麗なまま
▸ ビルドも早く
▸ 簡単に使える
▸ 対応していないライブラリにはPull Requestを!
MVVM
MVVM
なんじゃそれ
▸ まぁなんとなく

Model

View

ViewModel



だというのはわかる。

知りたいのは

▸ 何が便利?
▸ どう使えばいいの?
*関係のないKeynoteの

デフォルトの画像
MVVM - なにが便利?
各クラスが公開インスタンス変数を管理することによって、

画面状態の管理を安全に行うアーキテクチャです
ロジック同士のリレーション MVCが準拠される環境でのMVVM
http://rarcher.azurewebsites.net/Post/PostContent/25
MVVM - なにを使おう
流行りは・・・
‣ SwiftBond/Bond 

https://github.com/SwiftBond/Bond

⭐️ 1,891
‣ ReactKit/ReactKit

https://github.com/ReactKit/ReactKit

⭐️ 1,017
‣ ReactiveCocoa/ReactiveCocoa

https://github.com/ReactiveCocoa/ReactiveCocoa

⭐️ 11,600
MVVM - どれがいいのか
‣ SwiftBond/Bond

Libraries for the Swiftbyyohei sugigami 

http://sssslide.com/speakerdeck.com/susieyy/libraries-for-the-
swift
‣ ReactKit/ReactKit

SwiftTask(Promise拡張)でリアクティブプログラミング

http://qiita.com/inamiy/items/d68cdb528b482ee0d8c1
‣ ReactiveCocoa/ReactiveCocoa

ReactiveCocoaをかじってみた

http://qiita.com/paming/items/9ac189ab0fe5b25fe722
それぞれ特徴が違うが関連の定義付け易さで選べばいいと思う
MVVM - 関連の定義付け易さ
‣ ReactKit/ReactKit

SwiftTask(Promise拡張)でリアクティブプログラミング

http://qiita.com/inamiy/items/d68cdb528b482ee0d8c1
‣ streamとか<~が気に食わない・・・
‣ KVOを利用している
var textFieldStream: Stream<String?>?
self.textFieldStream = self.textField.textChangedStream()
(self.textLabel, ”text”)<~ self.textFieldStream
MVVM - 関連の定義付け易さ
‣ ReactiveCocoa/ReactiveCocoa

ReactiveCocoaをかじってみた

http://qiita.com/paming/items/9ac189ab0fe5b25fe722
‣ Functional Reactive Programming
‣ いろんなStreamとViewを関連付ける
self.startTimeTextField.rac_signalForControlEvents(.EditingDidBegin).toSignalProducer()
|> start(next: { _ in
self.dismissKeyboards()
})
https://blog.alltheflow.com/reactive-swift-upgrading-to-reactivecocoa-3-0/
MVVM - 関連の定義付け易さ
‣ SwiftBond/Bond

Libraries for the Swiftbyyohei sugigami 

http://sssslide.com/speakerdeck.com/susieyy/libraries-for-the-
swift
‣ <~は廃止された、bindって書くことになった
‣ KVOを綺麗に書ける感じ
textField.bnd_text.bindTo(viewModel.text)
class HomeViewModel {
var text = Observable<String?>(“")
}
http://sssslide.com/speakerdeck.com/susieyy/libraries-for-the-swift
MVVM - なにが便利?
SWIFTBONDで始めるMVVM
▸ https://github.com/SwiftBond/Bond
import UIKit
class HomeViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var textField: UITextField!
let viewModel = HomeViewModel()
override func viewDidLoad() {
super.viewDidLoad()
textField.bnd_text.bindTo(viewModel.text)
label.bnd_text.bidirectionalBindTo(viewModel.text)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
class HomeViewModel {
var text = Observable<String?>("")
}
Bindされることで、

Modelの変更がViewに反映される。

Controllerに書くべき処理、

Modelでするべき処理が明確になる
MVVM - なにが便利?
DEMO
▸ APIを叩いて結果をTableViewで表示する
▸ 作ろうと思ったらいい感じのがあった

https://github.com/SwiftBond/Bond-Demo-App
ListViewController
ListViewModel
ListCellViewModel
ListCellView
ListCellViewModel
ListCellViewModel
UITableView
ListCellView
ListCellView
bind
MVVM - なにが便利?
説明
ListViewController
ListViewModel
ListCellViewModel
ListCellView
ListCellViewModel
ListCellViewModel
UITableView
ListCellView
ListCellView
bind
var dataSource: ObservableArray<ObservableArray<ListCellViewModel>>!
dataSource.bindTo(tableView) { (indexPath, dataSource, tableView) -> UITableViewCell in
let cell = (tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as? ListCellView)!
let viewModel = dataSource[indexPath.section][indexPath.row]
viewModel.name.bindTo(cell.nameLabel.bnd_text).disposeIn(cell.bnd_bag)
viewModel.username.bindTo(cell.ownerLabel.bnd_text).disposeIn(cell.bnd_bag)
viewModel.photo.bindTo(cell.avatarImageView.bnd_image).disposeIn(cell.bnd_bag)
viewModel.fetchPhotoIfNeeded()
return cell
}
まとめ
CARTHAGE, MVVM
▸ どっちも便利
▸ carthage
▸ ビルド時間の短縮
▸ 綺麗なprojファイル
▸ MVVM
▸ Bindで振る舞いを切り分ける

Weitere ähnliche Inhalte

Ähnlich wie Carthage+mvvm

Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)オラクルエンジニア通信
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法Kazuto Kusama
 
TokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoopTokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoopTeruo Kawasaki
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopTakashi Kambayashi
 
Gcpug tokyo february 2016
Gcpug tokyo february 2016Gcpug tokyo february 2016
Gcpug tokyo february 2016Makoto Uehara
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜Yuji Nojima
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Kazuto Kusama
 
Tech lounge gcp_20190313
Tech lounge gcp_20190313Tech lounge gcp_20190313
Tech lounge gcp_20190313yutaka_baba
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料Takashi Aoe
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編GoAzure
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩Fumito Ito
 
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ  20140909Drupal business consortiam in Japan:DBCJ  20140909
Drupal business consortiam in Japan:DBCJ 20140909Hidekazu Ikeda
 
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」オラクルエンジニア通信
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来Kazuto Kusama
 
内製パッケージによるHadoopデータ解析基盤の構築と運用
内製パッケージによるHadoopデータ解析基盤の構築と運用内製パッケージによるHadoopデータ解析基盤の構築と運用
内製パッケージによるHadoopデータ解析基盤の構築と運用cyberagent
 
AsakusaのドキュメントをDashで見たい
AsakusaのドキュメントをDashで見たいAsakusaのドキュメントをDashで見たい
AsakusaのドキュメントをDashで見たいTakashi Aoe
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -Yukihiko SAWANOBORI
 

Ähnlich wie Carthage+mvvm (20)

Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
 
TokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoopTokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoop
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for Hadoop
 
Gcpug tokyo february 2016
Gcpug tokyo february 2016Gcpug tokyo february 2016
Gcpug tokyo february 2016
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
Tech lounge gcp_20190313
Tech lounge gcp_20190313Tech lounge gcp_20190313
Tech lounge gcp_20190313
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
PSGIへの誘い
PSGIへの誘いPSGIへの誘い
PSGIへの誘い
 
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ  20140909Drupal business consortiam in Japan:DBCJ  20140909
Drupal business consortiam in Japan:DBCJ 20140909
 
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
内製パッケージによるHadoopデータ解析基盤の構築と運用
内製パッケージによるHadoopデータ解析基盤の構築と運用内製パッケージによるHadoopデータ解析基盤の構築と運用
内製パッケージによるHadoopデータ解析基盤の構築と運用
 
AsakusaのドキュメントをDashで見たい
AsakusaのドキュメントをDashで見たいAsakusaのドキュメントをDashで見たい
AsakusaのドキュメントをDashで見たい
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 

Kürzlich hochgeladen

論文紹介: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 UnderstandingToru Tamaki
 
論文紹介: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...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: 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 Gamesatsushi061452
 

Kürzlich hochgeladen (11)

論文紹介: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
 
論文紹介: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...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 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
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 

Carthage+mvvm