Tweet

2018年11月24日土曜日

Amazon Alexaスキル開発 開発環境を改めて整えたら作業効率・正確性が100倍になった話

こういう人向け

  • Amazon Alexaスキル開発を整備したい人。
  • Gitを利用して言語開発をしたい人。
  • 履歴や変更点、差分などを確認したい人。


私の環境、使用ソフト

  • Macbook pro
    • 2011年モデルをめっちゃ騙し騙し使ってます。最新PCではないです。
  • SourceTree
    • Gitを利用した開発者を支援するサービスのひとつ。
  • ATOMエディタ
    • 有名なエディタ。ローカルで「index.js」を開く時に使っています。
  • Chromeブラウザ
    • Amazon Developer ConsoleやAWSにログインする時は、開発用ユーザー作成して、ログインしております。

はじめに

まず、私がどういう風に開発しているかの流れを書いてから
実際に新規でスキル開発プロジェクトを立ち上げているのか、流れも書こうと思います。
イメージはつかめるのではないでしょうか。

そもそも元々どうやって開発していたか。

お恥ずかしい話ですが、はじめてのAmazonAlexa開発ということもあり…
  • AWS Lambda上のインラインコード編集で「index.js」を編集して保存してテスト
ひたすらコレでしたね。
ただ、今考えるとウェブブラウザ上でのエディタって最適化されていないので、
下記のような不便な点を感じる事がありました。
  • if構文の{}の数が合わなくても警告が目立ちにくく実行失敗になる。
  • 変数名の変え忘れに気づかない。
  • フォントサイズなどの変更自由度が低いので見にくい状況でコーディング
  • ウェブブラウザの縦幅しか表示できない。

最初はインラインコード編集は便利かなって思ったんですけど、
json形式で500件ほどデータを追加してから処理がとても重くなってしまい、
スクロールのたびにイライラするのであまりオススメしないです。


元々の開発環境の問題点について

  • バックアップが残らない。
  • 差分が確認できない。
  • デグった時に以前のコミットに戻る事が出来ない。
  • コーディングしている時に処理落ちする。
  • デザイン性が自分とは合っていない。
  • 複数人で共有して作業することも出来ない。


どのように改善したか。

具体的には「SourceTREE」「ATOMエディタ」を今回導入しました。
仕事で「SourceTREE」は使っていて慣れ親しんでいるので選びました。
ATOMは未経験でしたが、有名で存在は知っておりましたので今回使ってみました。

結果的には良かったです。


開発の流れ(ふだん)

  1. SourceTREEでローカルリポジトリを作成し、その中にAWS lambda開発に必要な3ファイルを入れる。
    下層に直接置いていないですけど別に問題ないです。
    気持ち悪い人は「sourceTreeLecture」直下に3ファイル置いてみてください。
    極端な話すれば、ほとんど「index.js」しか触らないので「index.js」だけでもOK。

  2. ATOMエディタで「index.js」を編集。

  3. ATOMエディタで「自動保存」がオンになっているのでリアルタイムでSourceTREEのファイルステータスに追加される。
  4. SourceTREE上でコミットすればOK。
  5. 基本的には、ATOMエディタで編集し、AWS Lambda関数へ反映させたい時に、ATOMエディタのコードをCtrl+Aでコピーして、インラインコード編集に全ペーストして保存してテストする。


環境を整える上で注意点

  • 1人で作業する分にはリモートリポジトリの作成は不要。
    • ローカルリポジトリで対応可能。
  • ATOMは自動保存(autoSave)をしっかり有効にさせる(最重要、利便性に大きく異なる)
ATOMを自動保存を有効しない場合
→ATOMを毎回Ctrl+SしないとSourceTREEに差分が登録されない。

ATOMを自動保存を有効にした場合
→ATOMに少し編集を加えるだけでSourceTREE上で差分が反映される。

ATOMで自動保存を行う方法についてはこちらの記事をご参考くださいませ。


開発環境を整えての感想、以前との比較

ひとことで言えば、ストレスフリーになりました。
差分も分かるからデグった時も以前のコミットに遡る事が出来ますし。
ATOMを自分好みにカスタマイズして見やすくなったのは非常に良いなと思いました。

ブログのエディタじゃないんだからわざわざネットでコーディングする必要も無かったわけです。

iOS開発者なのにSourceTREEを自分用のPCに導入していなかったので、
良い機会だと思って朝から取り組みました。





0 件のコメント:

コメントを投稿