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
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
The Rise of LLMOps
asei
7
1.4k
Taming you application's environments
salaboy
0
190
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Lambdaと地方とコミュニティ
miu_crescent
2
370
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
250
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6k
Designing for humans not robots
tammielis
250
25k
Making Projects Easy
brettharned
115
5.9k
Rails Girls Zürich Keynote
gr2m
94
13k
Being A Developer After 40
akosma
86
590k
What's in a price? How to price your products and services
michaelherold
243
12k
Happy Clients
brianwarren
98
6.7k
Unsuck your backbone
ammeep
668
57k
Embracing the Ebb and Flow
colly
84
4.5k
Agile that works and the tools we love
rasmusluckow
327
21k
Facilitating Awesome Meetings
lara
50
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
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