Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
細かすぎて伝わらないAAあるある
Search
IQBocchi
December 27, 2020
Technology
1k
0
Share
細かすぎて伝わらないAAあるある
IQBocchi
December 27, 2020
More Decks by IQBocchi
See All by IQBocchi
AIには考えられないことを考えられる人になるために
iqbocchi
1
120
AIの精度と正義の話
iqbocchi
0
210
NiFiフローのバージョン管理
iqbocchi
0
260
Other Decks in Technology
See All in Technology
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
0
200
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
250
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
580
食べログのサーキットブレーカー導入を振り返って
atpons
1
150
権限管理設計を完全に理解した
rsugi
2
230
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
920
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
170
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
380
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
120
Javaで学ぶSOLID原則
negima
1
230
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
140
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
My Coaching Mixtape
mlcsv
0
140
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
580
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
520
Tell your own story through comics
letsgokoyo
1
930
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
The Invisible Side of Design
smashingmag
302
52k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Transcript
細かすぎて ベンダーも 知らなかった 便利機能& AAあるある オートメーション・エニウェア・ジャパン 佐野千紘 (IQぼっち)
最初に 5分のLTにしては 内容を詰め込みすぎました。 めっちゃダッシュで話しますが ご了承ください。 ※ LT内で紹介するBotの作り方や詳細が 知りたい方は、Twitterでからんでください!
自己紹介 $ 名前 $ 佐野千紘(IQぼっち) $ 出身 $ 山梨県 $
細かすぎて伝わらないモノマネ選手権 っぽく、今日のLTをネタ振り $ オレンジが好きという理由だけで RPAベンダーに就職し、 まもなく1年半が経過するにも関わらず 諸般の事情でBot開発経験をあまり積んで来なかったエンジニアが AAを使って今さら驚いた初心者のような発見 ※ 本日の発表内容は所属企業に関係なく、個人の見解です
作ったBot つぶやきをExcel上で書きためて TweetDeckで一気に予約投稿するBot
こんなBotです 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
最初のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ レコーダーアクションの プロパティ画面 (本文を入力する部分) レコーダーが自動取得した オブジェクトプロパティ
入力内容 Excel上の 列名に合わ せて指定 こういう指定が できることを 知らなかった (・_・;)
① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ ベンダーのくせに知らなかった理由 - レコード型(ExcelやCSVの1行をまるっと格納するタイプの変数) の 値取得には2つのモードがある
→ インデックス別 / 名前別 - 以前はインデックス別がデフォルト (今は名前別がデフォルト) - ハンズオンもインデックス別で実施 - インデックス別の指定に慣れすぎて、 名前別の指定について全く調べて いなかった ごめんなさい - 女子部の指摘により初めて調べ、判明 女子部のみなさんありがとう♡ インデックス別の場合 $変数名[インデックス]$ 名前別の場合 $変数名{”列名”}$ 名前別/イン デックス別では、 かっこの形が 変わります
続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
② 四則演算のやりかた 細かすぎて度 : ★☆☆☆☆ 数字を扱うアクションの一覧 ?! 四則演算が ない・・・ (・_・;)
?! !! 「代入」のアクションの中で 実施するシステム!! このボタンを 押す回数を 求めたい!
② 四則演算のやりかた 細かすぎて度 : ★★★★★ 実は……「文字列変換」の中でも計算できる その後計算に使わない 値を表示/設定する ときには便利かも?
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 親Bot → 子Botを呼び出す方法 親Bot 子Bot
入力変数 引数 親からもらいたい値を 入力変数に指定 親に渡したい値を 出力変数に指定 $ディクショナリ名{”子Botの出力変数名”}$ の要領で使用
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 細かすぎる話はここからです ここの「説明」って、 入れる意味ある ・・・(・_・;)? 子Botにおける入力変数の編集画面
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 意味ありました!!!!!!!!!!!!!!!! 親Botにおける子Bot呼び出しのプロパティ画面 入れておいたコメントが こんなところに (◎ロ◎;)!!
どひゃーっ!と 驚いて ひっくりカエル
続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 1日をクリックしたときの素の状態 RPAが自動取得&判定子として適切と判断したオブジェクトがまず表示される カレンダーから投稿日の日付をクリックする処理
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 展開すると、さらに いろんな要素が出てくる この3つの要素は、 1日をクリックした際に 「1」だった。
→ ここが日付を判定 する根拠になるかも? ……と、 まずは仮説 を立てる。
④ プロパティを変数指定して画面操作 1日をクリックしたときの オブジェクト 2日をクリックしたときの オブジェクト 3日をクリックしたときの オブジェクト 細かすぎて度 :
★★★☆☆ 1 1 1 2 2 2 3 3 3 うむ! やはり、 「要素の内容= 日付」という 規則性が 成り立っておる!
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ レコーダーの使いこなし方 - レコーダーが自動認識したオブジェクトの中から、 取得したいボタンや入力欄を安定的に判定できる 要素を特定し選択する(DOMXPathなど)
- オブジェクトプロパティの規則性を見つけ出し、 該当する要素を変数にして対象を取得する Tweetdeckのカレンダーでは、 innerHTML / HTML InnerText / HTML Hrefの最終要素が 必ず日付と一致する → この3つを変数に! 最終的なオブジェクト プロパティの状態
最後のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 クリックすることによって、 ボタンの状態が切り替わる ボタンの現在の 状態を根拠に、
押すか押さないか を判断する
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 オブジェクトのプロパティを取得し 変数に格納
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 ① ボタンの 現在の状態 (さっき取得したプロパティ)
が… ② 投稿したいAM /PMの指定 (Excelの該当列) と…… ③ 違っていたら …… ④ クリック!
最後に 芸人らしい おもしろい つぶやき! - ネタの一部(③)は 先輩SEでも知りませんでした - BotのおかげでIQ ぼっちのツイートは
2021年2月9日分まで予約完了♪ - 同じBotをCommunity Edition (無料)でも作って動かせます - ハンズオンやってほしい人は Twitterでからんでください♪