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
450
元インフラエンジニアのガチ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
340
IT活用・自動化にも繋がるLINEの開発者向け テクノロジー紹介 / LINE Technology for External Developer at RPACommunity Event
mochan_tk
0
2.5k
あなたのアプリをもっとスマートに!Azure AIできり拓く新しいアプリ開発の可能性あなたのアプリをもっとスマートに!Azure AIできり拓く新しいアプリ開発の可能性 / talking about Azure AI for LINE API Expert x Microsoft MVP Community Day
mochan_tk
0
120
機械学習の民主化が加速する! 新サービス 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
660
Azure OpenAI Service関連について! / cogbot #34 Ignite 2021 Nov Recap about Azure OpenAI Service
mochan_tk
0
460
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.5k
様々なオンラインイベントを開催して見えたリアルな情報の共有 / comucal#4
mochan_tk
0
1.8k
Other Decks in Technology
See All in Technology
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.6k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
100
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
990
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
260
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
220
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
アジャイル開発とスクラム
araihara
0
170
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
19
7.7k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Facilitating Awesome Meetings
lara
52
6.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
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