SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Container View Controllerを
正しく使おう
potatotips (iOS/Android開発Tips共有会) 第14回
2015/2/18
@asakahara
自己紹介
id:sakahara
Twitter: @asakahara
・http://sakahara.hatenablog.jp/
・はてなのアプリケーションエンジニア
・はてなブックマークチームに所属
・iOS/Androidを主に担当
Container View Controllerのメリット
1. UINavigationController、UITabBarControllerのように独自の
transitionを組み込んでView Controllerを管理する仕組みを実装で
きる
Container View Controllerの初期化時に各View Controllerへ依存性の
注入を行えるメリットも
2. View Controllerから別のView Controllerを表示することが簡単に
実現できる
3. ログイン状態を確認してログイン画面を出すかその他の画面を出
すの切り替えが容易にできる
かつてViewDidAppear:などでログインしてなかったらログイン画面の
モーダルを出してたようなコードとおさらばできる
今更ではありますが
Container View Controller
を正しく使えているでしょうか?
実装が間違っていてもちゃんと動くケースが
多いので意外に気づいてない方がいるかも
まずは基本からおさらい
コンテナへView Controllerを追加
1. addChildViewController:を呼び出す
そのタイミングで自動的に追加した子の
willMoveToParentViewController:が呼び出される
2. 子のビューを自身のビュー階層に追加する
3. 子のdidMoveToParentViewController:を明示的に呼び出して、処理
が終了した旨のシグナルを送信する(transitionが無い場合、すぐに
呼び出す)
addChildViewController(contentViewController)
view.addSubview(contentViewController.view)
contentViewController.didMoveToParentViewController(self)
コンテナからView Controllerを削除
1. 子のwillMoveToParentViewController:を引数にnilを渡して
呼び出し、削除されることを通知する
2. 子のビューをビュー階層から削除する
3. 子のremoveFromParentViewControllerを呼び出して、コン
テナから削除する
そのタイミングで子のdidMoveToParentViewController:が
自動的に呼び出される
contentViewController.willMoveToParentViewController(nil)
contentViewController.view.removeFromSuperview()
contentViewController.removeFromParentViewController()
func transitionFromViewController(fromViewController: UIViewController,
toViewController: UIViewController) {
!
fromViewController.willMoveToParentViewController(nil)
addChildViewController(toViewController)
!
let width = view.bounds.size.width
let height = view.bounds.size.height
let startFrame = CGRectMake(0, height, width, height)
!
toViewController.view.frame = startFrame
let endFrame = CGRectMake(0, 100, width, height)
!
transitionFromViewController(fromViewController,
toViewController: toViewController,
duration: 0.25,
options: .TransitionNone,
animations: {
toViewController.view.frame = fromViewController.view.frame
fromViewController.view.frame = endFrame
}) { _ in
fromViewController.removeFromParentViewController()
toViewController.didMoveToParentViewController(self)
}
}
Transitionについて
transitionFromViewController:
transitionFromViewController:toViewController:duration:
options:animations:completion:
!
このメソッドは自動的に新しいビューを追加し、アニメーショ
ン表示を行ってから古いビューを削除する。
そのためaddSubview:、removeFromSuperviewは不要
!
isMovingFromParentViewController
親から削除中かどうかを判定をする
viewWillDisappear:、もしはviewDidDisappear: から呼ばれた場合の
みYESを返す
!
isMovingToParentViewController
親に追加中かどうかを判定をする
viewWillAppear:、もしはviewDidAppear: から呼ばれた場合のみYES
を返す
!
shouldAutomaticallyForwardAppearanceMethods
ドキュメントを見ると「このメソッドをオーバーライドして
NOを返すことで外観に関するコールバックの制御権を取得
できる」とか書いてある・・・
分かりにくい
更にこんな機能もあります
簡単に言い直すと
shouldAutomaticallyForwardAppearanceMethodsをオーバーライ
ドしてNOを返すことでトランジションが発生した際の通知を子に自
動的に送らないようして、手動で行うようにする(デフォルトはYES)
!
子の下記メソッドを呼ぶタイミングを手動で調整できる
• viewWillAppear/ViewDidAppear:animated
• viewWillDisappear/ViewDidDisappear:animated
• willRotateToInterfaceOrientation:duration:
• willAnimateRotationToInterfaceOrientation:duration:
• didRotateFromInterfaceOrientation:
しかし・・・
•viewWillAppear:/DidAppear:
•viewWillAppear/DidDisappear:
!
を直接呼ぶのはNG
!
その代わりに子の
!
•beginAppearanceTransition:animated:
•endAppearanceTransition
!
メソッドを呼び出すようにする
override func shouldAutomaticallyForwardAppearanceMethods() -> Bool {
return false
}
!
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
contentViewController?.beginAppearanceTransition(true, animated: animated)
}
!
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
contentViewController?.endAppearanceTransition()
}
!
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
contentViewController?.beginAppearanceTransition(false, animated: animated)
}
!
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
contentViewController?.endAppearanceTransition()
}
例えばこんな感じで
private func transition(from: UIViewController, to: UIViewController) {
if from == to { return }
!
from.beginAppearanceTransition(false, animated: false)
to.beginAppearanceTransition(true, animated: false)
!
from.view.removeFromSuperview()
to.view.frame = view.bounds
view.addSubview(to.view)
!
from.endAppearanceTransition()
to.endAppearanceTransition()
}
var selectedIndex: Int = 0 {
didSet {
transition(childViewControllers[oldValue] as UIViewController,
to: childViewControllers[selectedIndex] as UIViewController)
}
}
Viewの切り替えを行う例
まとめ
• Container View Controllerへの追加や削除をする
際にいくつかの手続きがあることを知っておく
• これらのルールを守っておけば基本的に問題ない
• shouldAutomaticallyForwardAppearanceMetho
dsでNOを返すことで、コールバックの制御を自
分でコントロールできることも知っておくとよい
もっと詳しく知りたい方は
• iOS View Controllerプログラミングガイド
• UIViewController Class Reference
!
これらを読んでより理解を深めましょう
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
FIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみたFIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみたFIDO Alliance
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説Fumiya Sakai
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得Reimi Kuramochi Chiba
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!増田 亨
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツpospome
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことasakahara
 
【Swift】ローカル通知のバックグラウンド対応
【Swift】ローカル通知のバックグラウンド対応【Swift】ローカル通知のバックグラウンド対応
【Swift】ローカル通知のバックグラウンド対応Nekokichi
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRshinnosuke kugimiya
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!Masahiko Nakamura
 
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)Takahiro Miyaura
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
 
Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Miki Masumoto
 
階層的決定性ウォレットを理解しよう
階層的決定性ウォレットを理解しよう階層的決定性ウォレットを理解しよう
階層的決定性ウォレットを理解しようbitbank, Inc. Tokyo, Japan
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけらAtsushi Nakamura
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門Naohiro Fujie
 

Was ist angesagt? (20)

Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
FIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみたFIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみた
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
【Swift】ローカル通知のバックグラウンド対応
【Swift】ローカル通知のバックグラウンド対応【Swift】ローカル通知のバックグラウンド対応
【Swift】ローカル通知のバックグラウンド対応
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
HoloLensでONNXを使って推論(Custom Vision - Object Detection編)
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能
 
階層的決定性ウォレットを理解しよう
階層的決定性ウォレットを理解しよう階層的決定性ウォレットを理解しよう
階層的決定性ウォレットを理解しよう
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 

Ähnlich wie Container View Controllerを正しく使おう

Ojbecitve-C Use ContainerView (Stroyboard)
Ojbecitve-C Use ContainerView (Stroyboard)Ojbecitve-C Use ContainerView (Stroyboard)
Ojbecitve-C Use ContainerView (Stroyboard)Jaeeun Lee
 
UIViewController のコンテナ機能
UIViewController のコンテナ機能UIViewController のコンテナ機能
UIViewController のコンテナ機能Yuichi Fujishige
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない今城 善矩
 
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介Fumiya Sakai
 
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更するサーバーからiOSアプリを変更する
サーバーからiOSアプリを変更するtoyship
 
UIImagePickerController よもやま話
UIImagePickerController よもやま話UIImagePickerController よもやま話
UIImagePickerController よもやま話Kei Kusakari
 
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発Kenta Ohsugi
 
Cocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイCocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイMasayuki Nii
 
Whats new in_a360-19-20_jp
Whats new in_a360-19-20_jpWhats new in_a360-19-20_jp
Whats new in_a360-19-20_jpssuser033561
 
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!Toshiki Iga
 
Application Insight Introduction
Application Insight IntroductionApplication Insight Introduction
Application Insight IntroductionKazushi Kamegawa
 
【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する
【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する
【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲するHiroyuki Kusu
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateappTakayoshi Tanaka
 

Ähnlich wie Container View Controllerを正しく使おう (13)

Ojbecitve-C Use ContainerView (Stroyboard)
Ojbecitve-C Use ContainerView (Stroyboard)Ojbecitve-C Use ContainerView (Stroyboard)
Ojbecitve-C Use ContainerView (Stroyboard)
 
UIViewController のコンテナ機能
UIViewController のコンテナ機能UIViewController のコンテナ機能
UIViewController のコンテナ機能
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない
 
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
 
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更するサーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
 
UIImagePickerController よもやま話
UIImagePickerController よもやま話UIImagePickerController よもやま話
UIImagePickerController よもやま話
 
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
 
Cocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイCocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイ
 
Whats new in_a360-19-20_jp
Whats new in_a360-19-20_jpWhats new in_a360-19-20_jp
Whats new in_a360-19-20_jp
 
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
 
Application Insight Introduction
Application Insight IntroductionApplication Insight Introduction
Application Insight Introduction
 
【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する
【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する
【Roppongi.aar #1】Activity/FragmentからControllerへ処理を委譲する
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
 

Kürzlich hochgeladen

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
論文紹介: 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
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: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
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Kürzlich hochgeladen (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介: 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
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: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...
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Container View Controllerを正しく使おう