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
元インフラエンジニアのガチAlexaスキル開発/alexa-skill-gachi-20190312
Search
mochan-tk
March 12, 2019
Technology
1
420
元インフラエンジニアのガチAlexaスキル開発/alexa-skill-gachi-20190312
下記の発表資料になります。
Mar 12th, 2019 -- 個人開発 Night #1 @ギフティ
https://giftee.connpass.com/event/119934/
mochan-tk
March 12, 2019
Tweet
Share
More Decks by mochan-tk
See All by mochan-tk
Azure AI によって広がる開発者の可能性と最新動向/MSBuild AzureAI for Everyone
mochan_tk
0
300
IT活用・自動化にも繋がるLINEの開発者向け テクノロジー紹介 / LINE Technology for External Developer at RPACommunity Event
mochan_tk
0
2.4k
あなたのアプリをもっとスマートに!Azure AIできり拓く新しいアプリ開発の可能性あなたのアプリをもっとスマートに!Azure AIできり拓く新しいアプリ開発の可能性 / talking about Azure AI for LINE API Expert x Microsoft MVP Community Day
mochan_tk
0
100
機械学習の民主化が加速する! 新サービス SageMaker Canvas について /new service sagemaker canvas for reinvent 2021
mochan_tk
0
1.2k
[GitHub Copilot]あなたもコードの自動生成を体験できる! with VSCode/vscodemeetup #17 GitHub Copilot with VS Code
mochan_tk
0
630
Azure OpenAI Service関連について! / cogbot #34 Ignite 2021 Nov Recap about Azure OpenAI Service
mochan_tk
0
440
Azure OpenAI Service関連について! / Microsoft Ignite autumn 2021 about Azure OpenAI Service
mochan_tk
0
1.5k
Getting Started with LINE Notify / SORACOM IoT Meetup #4
mochan_tk
0
3.3k
様々なオンラインイベントを開催して見えたリアルな情報の共有 / comucal#4
mochan_tk
0
1.8k
Other Decks in Technology
See All in Technology
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
890
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
180
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
430
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
170
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
複雑なState管理からの脱却
sansantech
PRO
1
150
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Mobile First: as difficult as doing things right
swwweet
222
8.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
900
4 Signs Your Business is Dying
shpigford
180
21k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
GraphQLとの向き合い方2022年版
quramy
43
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Code Review Best Practice
trishagee
64
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Transcript
〜元インフラエンジニアのガチAlexaスキル開発(個人)〜 1 Mar 12th, 2019 -- 個人開発 Night #1 @ギフティ
2018年8月頃のことです Alexaスキルをガチで開発することに。。 (諸事情でスキルの内容には触れません) 2
個人開発事情 3 • 本業があるので片手間、空いた時間にやるしかない • 実は僕インフラのエンジニアどす/(^o^)\ ◦ (当時もDRサイト側のDBの復旧作業とかやってました。。) • メンバー1人(It's
me!) 時間が、、リソースとかが圧倒的に足りない。。
開発に伴うタスクどうする? 4 • 設計をしなければならない -> ノンコーディングのツール活用 • コードを書かないといけない -> Webブラウザで使えるIDEを活用
• デプロイまでの様々な作業が都度発生する -> AWSを活用してCI/CD • 品質を担保しなければならない -> 静的コードチェックとテストコード • ドキュメントを書かなければいけない -> ドキュメント自動生成とGoogleのサ ービス
設計どうやったの? 5 • ノンコーディングでAlexaスキルが作れるサービス使った ◦ 最初からコード書かない ◦ 固定の動作なら実装〜動作確認が早い ◦ VUI/VUXの確認を行う
◦ 作業を進めながら視覚的な設計図も残せる ◦ プロトタイプ作りに注力できる ノンコーディングのサービスで設計を高速に固め た
どこでコードを書いたの? 6 • AWS Cloud9使った ◦ Webブラウザがあれば/場所/PC/時間に依存せず作業で きる ◦ デフォルトで必要なソフトウェアがインストールされて
いる ◦ CLI叩ける ◦ 環境の作り直しが容易(やり直しが簡単) ◦ 安価 着手が早くスキマ時間も有効に使えた
CI/CDは? 7 • AWS CodePipline使った ◦ コード修正後~デプロイまで自動化 ▪ build/静的Codeチェック/Test Code実行/デプロイ
◦ Git Pushをトリガーに発動 ◦ dev環境の実績が人間系のミスなく本番環境に適用でき る コードを修正するだけ(まるで自分がスケールし かのよう
どうしても自動化できない部分が! 8
CI/CDは? 9 • Alexa Developer Consoleで設定した対話モデルの定義
CI/CDは? 10 • Alexa Developer Consoleで設定した対話モデルの定義 ◦ ダイアログモデルはコードで更新しないGUIでやる ▪ Developer
Consoleが高機能なので ◦ ASK CLIで定義はダウンロード ◦ git のバージョン管理に入れるよう構成した いったん定義ファイルをバージョン管理するだけ とした
品質の担保はどうしたの? 11 • 静的コードチェック • テストコードを書いた
品質の担保はどうしたの? 12 • 静的コードチェック ◦ TSLint使った ▪ 書いたコードを定義したルールに従って静的に解析 して問題を検出してくれる •
可読性の良いコードになる • バグっぽいコードが事前にわかる 静的コードチェックは入れといて損はないので入 れるべし
品質の担保はどうしたの? 13 • テストコードを書いた ◦ テスト書いてないとか言えないので。。 でもAlexaのテストコードってどう書くのん?
品質の担保はどうしたの? 14 • テストコードは下記を採用した ◦ Jest ◦ Virtual Alexa UnitTest系(JUnitなど)やE2E(Geb,Selenium)は経
験があるものの音声アプリのテストって。。
品質の担保はどうしたの? 15 • Jest ◦ facebook製のJavascript ユニットテストのためのツール ◦ ユニットテストを作成するのに必要な機能はコレ1つで 揃う
品質の担保はどうしたの? 16 • Virtual Alexa ◦ プログラムでAlexaスキルの会話テストが行えるテスト フレームワーク ◦ DyanamoDBの処理部分もモック化できて非常に便利だ
った
ドキュメントはどうしたの? 17 • TypeDoc • Google ドキュメント
ドキュメントはどうしたの? 18 • TypeDoc ◦ TypeScriptのソースを解析してドキュメントを自動で作 ってくれるツール 簡単に成果物を1つ増やすことに成功♪
ドキュメントはどうしたの? 19 • Google ドキュメント ◦ ブラウザさえあればドキュメントが作成できる ドキュメントを作る上で充分な機能を有してい る!
見事にミッションをクリア! (もちろん時間の兼ね合いで妥協した部分もあります) 20
ちなみにお気づきでしたか? 21
個人開発を支える技術 22 • 設計をしなければならない -> ノンコーディングのツール活用 • コードを書かないといけない -> Webブラウザで使えるIDEを活用
• デプロイまでの様々な作業が都度発生する -> AWSを活用してCI/CD • 品質を担保しなければならない -> 静的コードチェックとテストコード • ドキュメントを書かなければいけない -> ドキュメント自動生成とGoogleのサ ービス 個人開発の大部分を支えているのはAWSのサービ ス達! AWS Cloud9 AWS CodePiplineなど
個人開発がとっても捗る そうAWSならね。。 23
ご清聴ありがとうございました! 24