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
430
元インフラエンジニアのガチ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
320
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
110
機械学習の民主化が加速する! 新サービス 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
640
Azure OpenAI Service関連について! / cogbot #34 Ignite 2021 Nov Recap about Azure OpenAI Service
mochan_tk
0
450
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.4k
様々なオンラインイベントを開催して見えたリアルな情報の共有 / comucal#4
mochan_tk
0
1.8k
Other Decks in Technology
See All in Technology
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
520
非機能品質を作り込むための実践アーキテクチャ
knih
3
950
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
730
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
180
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
kargoの魅力について伝える
magisystem0408
0
200
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
A Tale of Four Properties
chriscoyier
157
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Being A Developer After 40
akosma
87
590k
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