SlideShare a Scribd company logo
1 of 35
Download to read offline
チュートリアルを
リッチにしよう
2016/2/17
potatotips #26
@sakebook
https://github.com/sakebook
http://sakebook.hatenablog.com/
自己紹介
• 酒本伸也 @sakebook
• Android Developer
• 初級ライフロガー
• JX通信社
• NewsDigest
• 少しのSwift
目次
• ViewPager
• インジケータをつける
• 背景をグラデーションさせる
• 視差をつける
• デモ
ViewPager
スワイプできるやつ
• ListViewと同じくAdapterでつなぐ
• Viewの再利用
• フォーカスが当たっているものと

1つのViewを保持
20 1 3 4
{
FragmentPagerAdapter#getCount = 5
ViewPager#getCurrentItem = 1
・ViewPagerは1以外に、0と2を保持している。
・保持の範囲外となったものは破棄され、
範囲内になった時に再生成される。
インジケータをつける
インジケータ
• チュートリアルの進 を可視化
• Nページだから見ようと思わせる
• ViewPagerの動きと連動させたい
10
20 1
ViewPager#OnPageChangeListenerを
実装する。
• onPageScrolled(int position, float positionOffset, int
positionOffsetPixels)
• スクロール中に何度も呼ばれる
• onPageSelected(int position)
• 別のViewへフォーカスが移った時に呼ばれる
• onPageScrollStateChanged(int state)
• スクロールの状態が変わった時()に呼ばれる
• スクロール始め、スクロール中、View確定時
onPageScrolled(int position, float
positionOffset, int positionOffsetPixels)
• position
• 現在左端に見えているViewのページ番号
• positionOffset
• 現在左端に見えているViewの、横幅の表示され具合
• 0 <= positionOffset < 1
• positionOffsetPixels
• 現在左端に見えているViewの、横幅の表示され具合
• 0 <= positionOffsetPixels < view.getWidth()
2
1080
0 110
• position = 0
• positionOffset = 0.66
• positionOffsetPixels = 720
0
1080
21 1 2
• position = 1
• positionOffset = 0.33
• positionOffsetPixels = 360
0.66
0.33
onPageScrolledで
次のメソッドを作り呼び出す
• スライドの都合上先に説明
• private void indicatorTransform(int position,
float positionOffset)
• 5枚のViewのViewPagerで、インジケーターの大
きさを1 2倍へ変形
private void indicatorTransform(int position, float positionOffset) {
switch (position) {
case 0:
indicator1.setScaleX(2 - positionOffset);
indicator1.setScaleY(2 - positionOffset);
indicator2.setScaleX(1 + positionOffset);
indicator2.setScaleY(1 + positionOffset);
break;
...
case 3:
indicator4.setScaleX(2 - positionOffset);
indicator4.setScaleY(2 - positionOffset);
indicator5.setScaleX(1 + positionOffset);
indicator5.setScaleY(1 + positionOffset);
break;
case 4:
indicator5.setScaleX(2 - positionOffset);
indicator5.setScaleY(2 - positionOffset);
break;
}
}
背景を
グラデーションさせる
背景をグラデーション
• シームレスな画面遷移
• 動きのあるものに注目させられる
• 真っ白でなく、質素でない
10
01
1
ArgbEvaluatorを使う
• public Object evaluate(float fraction, Object startValue, Object endValue)
• 2色間の色を返す
• ObjectをIntegerにキャストして扱う
• fraction
• 0 <= fraction < 1
• startValue
• 始まりの色
• endValue
• 終わりの色
• startValue = Color.RED
• endValue = Color.BLUE
fraction0 1
0.25 0.5 0.75
※スライド上の色は厳密な色と違う
onPageScrolledで色を計算
• スライドの都合上先に説明
• fraction == positionOffsetとみなす
• スクロールと共に色を計算し、設定する。
• 3枚のViewのViewPagerで、赤 青, 青 緑とグラデーショ
ン
• 0 -> 赤、1 -> 青、2 -> 緑
• OutOfBoundsを防ぐために一つ多く色を用意
// メンバ変数
private ArgbEvaluator argbEvaluator = new ArgbEvaluator();
private Integer[] colors;
// どこかで初期化
private void initColor() {
this.colors = new Integer[]{
Color.RED,
Color.BLUE,
Color.GREEN,
Color.BLUE, // for end evaluate
};
}
@Override
public void onPageScrolled(int position, float positionOffset, int
positionOffsetPixels) {
viewPager.setBackgroundColor((Integer) argbEvaluator.evaluate(positionOffset,
colors[position], colors[position + 1]));
}
視差をつける
視差
• = Parallax
• かっこいい
• 見せ方に幅が出る
• じっくり見られる
0 1 10 1 1
視差あり 視差なし
ViewPager#PageTransformerを
実装する。
• 実装したクラスをセットする
• ViewPager#setPagetransformer(false, 実装したクラス)
• transformPage(View page, float position)
• ViewPagerが保持しているViewの数だけ、スクロール中に何度も呼ばれる
• ViewPager#setOffscreenPageLimit(int limit)
• ViewPagerが保持するViewの数を設定できる。
• デフォルトのlimitは1
• Viewの数は 1 + (limit * 2) = 3
transformPage(View page,
float position)
• page
• ViewPagerが保持しているView。tagやidで識別する。
• idはViewのルートのidが返る
• position
• 画面に表示されている左端を0とし、一画面分を1とみた時の、

ViewPagerが保持しているViewの左端までの距離
• -(n + 1) / 2 <= position <= (n + 1) / 2
• nは奇数
• デフォルトのnは3
0 110
• 2度呼ばれる
• page = 0
• position = -0.66
• page = 1
• position = 0.33
1
0
32 2 3
• 3度呼ばれる
• page = 1
• position = -1.33
• page = 2
• position = -0.33
• page = 3
• position = 0.660.33
0
1
0.66
1
transformPageで
視差を生み出す
• スライドの都合上先に説明
• position < -1, position > 1 は画面に表示されていないView
• -1 <= position < =0 は画面左側に表示されているView
• 0 < position < =1 は画面右側に表示されているView
• FragmentでViewHolderを生成し、Tagとして設定
• setTranslationXでスワイプの動きとずらす
• transitionは自作ViewHolderのメソッド
@Override
public void transformPage(View page, float position) {
if (position <= -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
} else if (position <= 1) {
((ViewHolder)page.getTag()).transition(page, position);
} else { // (1,+Infinity]
// This page is way off-screen to the right.
}
}
@Override
public void transition(View page, float position) {
if (-1 < position && position < 0) {
// left
leftIcon.setTranslationX(position * page.getWidth() * 2);
rightIcon.setTranslationX(-position * page.getWidth() / 4);
} else if (0 <= position && position <= 1) {
// right
leftIcon.setTranslationX(position * page.getWidth() * 2);
rightIcon.setTranslationX(position * page.getWidth());
}
centerIcon.setTranslationX(-position * page.getWidth());
}
デモ
手段でしかない
• チュートリアルをリッチにするのは、ユーザにアプ
リを理解してもらうための手段。
• 手段を用いて、アプリを理解してもらえるようにす
るのが大切。
• 手段にとらわれて、かっこいいけど意味不明はダメ。
以上
参考
http://qiita.com/ksoichiro/items/6a2ae3877bccf1c75860
https://developer.android.com/intl/ja/training/animation/screen-slide.html
サンプルコード
https://github.com/sakebook/android-sample-Tutorial

More Related Content

Viewers also liked

脱swift初心者するための2つのきっかけ
脱swift初心者するための2つのきっかけ脱swift初心者するための2つのきっかけ
脱swift初心者するための2つのきっかけDaiki Mogmet Ito
 
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いiOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いniwatako
 
Can we live in a pure Swift world?
Can we live in a pure Swift world?Can we live in a pure Swift world?
Can we live in a pure Swift world?toyship
 
5分でわかるText Kit
5分でわかるText Kit5分でわかるText Kit
5分でわかるText KitRyota Hayashi
 
PUSH通知の許可をよりもらうためのUI考察など
PUSH通知の許可をよりもらうためのUI考察などPUSH通知の許可をよりもらうためのUI考察など
PUSH通知の許可をよりもらうためのUI考察などTsuyoshi Yonemoto
 
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016Tomoki Hasegawa
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practicecch-robo
 
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?ak_shio_555
 
全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-Ryutaro Miyashita
 
Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Masahiro Hidaka
 
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介Masataka Kono
 
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiReact Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiYukiya Nakagawa
 

Viewers also liked (13)

脱swift初心者するための2つのきっかけ
脱swift初心者するための2つのきっかけ脱swift初心者するための2つのきっかけ
脱swift初心者するための2つのきっかけ
 
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いiOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱い
 
Foreground検知
Foreground検知Foreground検知
Foreground検知
 
Can we live in a pure Swift world?
Can we live in a pure Swift world?Can we live in a pure Swift world?
Can we live in a pure Swift world?
 
5分でわかるText Kit
5分でわかるText Kit5分でわかるText Kit
5分でわかるText Kit
 
PUSH通知の許可をよりもらうためのUI考察など
PUSH通知の許可をよりもらうためのUI考察などPUSH通知の許可をよりもらうためのUI考察など
PUSH通知の許可をよりもらうためのUI考察など
 
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
 
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
 
全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-
 
Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Androidアプリのストレージ戦略
Androidアプリのストレージ戦略
 
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
 
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiReact Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
 

Similar to チュートリアルをリッチにしよう

droidgirls Recyclerview
droidgirls Recyclerviewdroidgirls Recyclerview
droidgirls RecyclerviewYuki Anzai
 
Storyboard
StoryboardStoryboard
StoryboardAkura Pi
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on AndroidYuki Anzai
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Androidyo_waka
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発tak-nakamura
 
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetinaKazuya Hirobe
 
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要TomomitsuKusaba
 
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。Yossy Taka
 

Similar to チュートリアルをリッチにしよう (9)

droidgirls Recyclerview
droidgirls Recyclerviewdroidgirls Recyclerview
droidgirls Recyclerview
 
Storyboard
StoryboardStoryboard
Storyboard
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on Android
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
 
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
 
Play with Playframework
Play with PlayframeworkPlay with Playframework
Play with Playframework
 
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
 
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。
 

More from shinya sakemoto

ScreenshotをPCから手軽に扱えるようにしたい
ScreenshotをPCから手軽に扱えるようにしたいScreenshotをPCから手軽に扱えるようにしたい
ScreenshotをPCから手軽に扱えるようにしたいshinya sakemoto
 
Gitpodでブラウザからflutterで開発する
Gitpodでブラウザからflutterで開発するGitpodでブラウザからflutterで開発する
Gitpodでブラウザからflutterで開発するshinya sakemoto
 
Flutter for Webで値を保存する
Flutter for Webで値を保存するFlutter for Webで値を保存する
Flutter for Webで値を保存するshinya sakemoto
 
Material Designなdrawerを実装したい
Material Designなdrawerを実装したいMaterial Designなdrawerを実装したい
Material Designなdrawerを実装したいshinya sakemoto
 
Gradleプラグインを作成してみた
Gradleプラグインを作成してみたGradleプラグインを作成してみた
Gradleプラグインを作成してみたshinya sakemoto
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみたshinya sakemoto
 
インストールリファラでハマった話
インストールリファラでハマった話インストールリファラでハマった話
インストールリファラでハマった話shinya sakemoto
 
ちょっと優しい入力項目
ちょっと優しい入力項目ちょっと優しい入力項目
ちょっと優しい入力項目shinya sakemoto
 
foursquareの楽しみ方
foursquareの楽しみ方foursquareの楽しみ方
foursquareの楽しみ方shinya sakemoto
 

More from shinya sakemoto (14)

ScreenshotをPCから手軽に扱えるようにしたい
ScreenshotをPCから手軽に扱えるようにしたいScreenshotをPCから手軽に扱えるようにしたい
ScreenshotをPCから手軽に扱えるようにしたい
 
Gitpodでブラウザからflutterで開発する
Gitpodでブラウザからflutterで開発するGitpodでブラウザからflutterで開発する
Gitpodでブラウザからflutterで開発する
 
Flutter for Webで値を保存する
Flutter for Webで値を保存するFlutter for Webで値を保存する
Flutter for Webで値を保存する
 
Android study part5
Android study part5Android study part5
Android study part5
 
Android study part4
Android study part4Android study part4
Android study part4
 
Android study part3
Android study part3Android study part3
Android study part3
 
Android study part2
Android study part2Android study part2
Android study part2
 
Android study part1
Android study part1Android study part1
Android study part1
 
Material Designなdrawerを実装したい
Material Designなdrawerを実装したいMaterial Designなdrawerを実装したい
Material Designなdrawerを実装したい
 
Gradleプラグインを作成してみた
Gradleプラグインを作成してみたGradleプラグインを作成してみた
Gradleプラグインを作成してみた
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
 
インストールリファラでハマった話
インストールリファラでハマった話インストールリファラでハマった話
インストールリファラでハマった話
 
ちょっと優しい入力項目
ちょっと優しい入力項目ちょっと優しい入力項目
ちょっと優しい入力項目
 
foursquareの楽しみ方
foursquareの楽しみ方foursquareの楽しみ方
foursquareの楽しみ方
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

チュートリアルをリッチにしよう