AWSの話題を中心に、日々の業務やプログラミングの徒然を綴るエンジニアブログです。

HANDS LAB

HANDS LAB ENGINEERS BLOG

ハンズラボエンジニアブログ

CodeStar使ってみた

Pocket

こんにちは。2018年1月にハンズラボにジョインした北野です。

今回Node.jsで動かすAWS LambdaのCI環境構築を担当することになりました。

せっかくなので東京リージョンで利用できるようになった
CodeStarを使ってLambda(Node.js)で動くWebアプリケーションのCI環境を作ってみたので紹介します!

構成イメージ

システム構成イメージ

下図のようなシステムを開発するためのCI環境があっさり構築できます。

CI環境イメージ

CodeStarダッシュボード

CodeCommit&CodeBuild&CodePipeline

準備

CodeStarプロジェクトを作る前にちょっとだけ準備が必要です。

CodeStar関連

CodeStarの機能を使えるようにIAMユーザーの設定をします。

  • IAMユーザーでCodeStarフルアクセスを許可します。

  • IAMユーザーでAWSマネジメントコンソールへのアクセスを許可します。

CodeCommit関連

CodeCommitのGitリポジトリにsshでアクセスするための設定をします。
すでにCodeCommitへssh経由で接続できている方は不要です。

  • ローカルマシンでssh keysを生成します。

  • IAMユーザーの認証情報にSSH公開キーをアップロードします。

  • ローカルマシンの.ssh/configファイルにCodeCommit用のHostを追記します。

やってみた

まずはCodeStarのプロジェクトを開始します。

CodeStarで最初にプロジェクトを作成した時にサービスロールの作成を求められます。
「はい、ロールを作成します」を選択します。
(※このサービスロール作成にはIAM管理ユーザーまたはルートアカウントとしてサインインする必要がありますので注意してください。)

CodeStarを最初に利用したときに追加情報の入力を求められます。
ユーザ名とE-mailを入力して「次へ」を選択します。

(参考)入力した情報はプロジェクト作成後にプロジェクトチームのメンバー表示で使用されます。

開発環境に合わせてテンプレートを選択します。今回はNode.jsとLambdaでウェブアプリケーションを作成するテンプレートを使用します。

プロジェクト名の設定とリポジトリを選択します。今回はCodeCommitを使用します。

「AWS CodeStarが、お客様に代わって…」をチェックして、プロジェクトを作成します。

数分でプロジェクトが作成できます。

デプロイまで完了した後にアプリケーションのエンドポイントにアクセスするとサンプルページが表示されます!

ソースの変更とデプロイ

ソースの変更が自動でデプロイされるところもやってみます。

コードの編集手順はCodeStarのダッシュボードから参照することができます。

今回はコマンドラインツールで「git clone」します。

ページの文言をちょっとだけ変更しました。

これをcommitしてpushします。

pushするとCodePipelineが動きだし、Source->Build->Deployの順番で動作していきます。

デプロイが完了した後にエンドポイントにアクセスすると変更が反映されました!

感想

CodeStarを使用することでとても簡単にCI環境を作ることができました!
Node.jsとLambdaの知識をほとんど使わずに手軽にCI環境が構築できます。

自動テストをどうやって実行するのかとか課題があり、これだけでデプロイ環境が完璧にできるというものではありませんが、CI環境の足場を作るのにとても便利なので活用していきたいと思います。

Pocket

受託開発をスクラムでやってみる

Pocket

大雪予報で素直に喜べない年になってしまいました。
こんにちは、外販チームの鈴木です。

現在、小売業様の基幹システムの開発プロジェクトに参画し、
システム開発の日々を送っております。

受託開発ではありますが、スクラムチームでのアジャイル開発を行っており、
3ヶ月ほど経過したので感想をまとめておこうかと、記事を書くことにしました。

現在、チームとして実施しているスクラムイベント

デイリースクラム

毎朝、「前日にやったこと・今日の予定・困っていること」を報告しています。
スクラムの原則に従って、15分以内・スタンドアップで実施しています。

ToDo管理=ホワイトボード

ホワイトボードに付箋でタスクを貼り付けて「今何をしているか・何が残っているか・何が終わったか」を管理。

工数をポイントで管理

タスクの重さごとにポイントを振り、日数や時間ではなくポイントで工数・進捗を管理しています。

振り返り

2週間を一区切りとして、KPTを用いた振り返りを行なっています。

良くなったこと

コミュニケーションが増えた

デイリースクラムをしていることで、課題や悩み事があれば気軽に報告ができるため、
解決までに時間がかかることが少なくなりました。
また、気軽に報告・提案をしあえる環境ができているのがとても良いです。

設計・実装・テストのようなフェーズの区切りがない

機能単位で開発・デプロイができるようにタスクを分割して、
設計からテストまでを一貫して行うことができるようにしています。
「設計時にどうしてこう考えたんだっけな?」のようなことが発生しづらいです。

今後解決して行きたいこと

個人のスキルアップ

スクラムはあくまでもチームの生産性を高める方法のため、個人のスキルアップにはあまり使えませんでした。
別枠でスキルアップを考える必要があると感じています。

タスクが偏ってしまう

チームの生産性を上げるために、手の早い人が沢山のタスクを消化している事があります。
見かけ上チームの生産性が上がっているように見えるのですが、
個人に依存しているために今後を考えると良くないです。
また、タスクの見積もり精度によって見かけ上の生産性が上がったり下がったりも多く、
個人のスキルの標準化や、見積もり精度を上げることが必要だと思っています。

まとめ

まだまだスクラムチームとして稼働し始めたばかりですが、
一つのチームとしての生産性は確実に上がっていますし、
メリットデメリットがはっきり出ていて課題解決がしやすい開発体制だと感じています。
また案件の区切りがついた頃などに振り返ってみたいと思います。

【イベント開催のお知らせ】
2/1(木)、本ブログを書いた鈴木が登壇する「三つ巴☆テックナイト」を開催いたします!
ヴァル研究所、モビンギ、ハンズラボの3社で合同開催する技術イベントです。
詳細・お申し込みはconnpassページから。

Pocket

Ethereum入門 〜さくさくマイニング体験〜

Pocket

あけましておめでとうございます。POSチームの人見です。

2018年が始まりましたね。
2017年は2月にハンズラボに入社して、ものすごくインプットの多い1年でした。
今年はもっともっとわがままに興味のあることを突き詰めていって、
チャンスがあればハンズラボでサービス開発をしたいと思っています。

 

今年最初のテーマはブロックチェーンです。

今回はEthereum入門ということでプライベートネットを構築、マイニングと送金を試してみたいと思います。

 

Gethのダウンロード

まず、Gethを使ってプライベートネットを構築します。

https://geth.ethereum.org/downloads/
からGethをダウンロードします。

私はGeth 1.7.3 for macOSを使います。

 

Gethの設定

ダウンロードして解凍したgethファイルを「/tools/ethereum/Geth-1.7.3」 ディレクトリにコピーします。(ディレクトリはお好きなところで構いません。)

「/tools/ethereum/Geth-1.7.3」にPATHを通します。

これで準備完了です。

 

プライベートネットの構築

Genesisブロックの作成

「/tools/ethereum/Geth-1.7.3/home/eth_private_net」にgenesis.jsonを作成します。

 

初期化処理

成功すればSuccessfullyとでます。

Gethを起動

「Welcome to the Geth JavaScript console!」と表示されコンソールが起動されます。

 

 

マイニングと送金

次にマイニングと送金を試してみたいと思います。

 

アカウントの作成

まず、アカウントを2つ作成します。

アカウントの確認

マイニングするアカウントの確認

デフォルトではアカウント1になっています。

 マイニング

この状態でしばらく待つと残高が増えていきます。

残高確認

マイニング状態で放置しておくとどんどん残高が増えていきます。

送金

アカウント1からアカウント2に送金してみたいと思います。

 

残高確認

無事送金できていました。めでたし。

 

マイニングの停止

最後にマイニングを停止して終わります。

 

 

以上です。
意外と簡単にできるので、ぜひぜひお試しください。
これからブロックチェーンに使ったアプリケーションを開発していこうと思っています。
2018年も一緒に楽しんでいきましょう!本年もよろしくお願いいたします。

Pocket

【Alexa】非エンジニアにもできる!Alexaスキル開発 〜「StoryLine」編〜

Pocket

追記(2018/4/11)

Storylineが大幅にリニューアルし、日本語にも対応するようになっていました!すごい!
コーディングなしでサクッとAlexaスキルを作成できるサービス「Storyline」を試してみた

下記の当時投稿した情報は古くなってしまっていますのでご注意ください。

2017/12/17時点の情報

こんにちは、9月に入社したAWSチームの松本です。
AmazonEchoが発売して1ヶ月が経ちましたね。
招待メール、届いた方どのくらいいらっしゃいますでしょうか?

Echoに搭載されているAlexaの強みは、なんといってもスキルの数の多さ!
現在登録されているスキルの数は2万を超えており、
その数は今後もどんどん増えていくと思われます。
ハンズラボでもAlexaスキルを開発しました。 → 東急ハンズスキル

・・・

さて、Alexaスキルを開発する際、
そのユーザー体験を向上させるのに重要なポイント、それは…
「会話フロー」 です。

音声による情報のやりとりは、ちょっとした言い回しを変えるだけで
会話としてのスムーズさが劇的に向上することがあります。
そしてそういった言い回しの細やかな設計を行うには、繰り返しの微調整や
エンジニア以外の方の意見をいただくことが重要になるのではないでしょうか。

そんなとき、誰でも簡単に文言の修正ができるツールがあったら素敵!
ということで、先日 ハンズラボ Advent Calendar 2017 の12日目の記事で、
プログラム言語を用いずにAlexaスキルが開発できるツール
「StoryLine」をご紹介させていただきました。(※ただし英語・ドイツ語スキルの開発のみ)

紹介といってもスキル作成までの流れを淡々と書いた形になったのですが、
せっかく非エンジニアの方にも気軽にお使いいただける、直感的に操作ができるツールなので
もう少しマインドマップ部分の操作方法にも触れて、改めてご紹介したいと思います。

Storyline

https://thestoryline.io/

会話のスタート地点からマインドマップ形式で会話フローを作成していくと
Alexaスキルが出来上がります!

こちら、残念ながら今のところ対応言語が英語とドイツ語しかないですが、
英語は苦手…という方も安心!スマホの読み上げ機能を使って動かしてみることが可能でした!

事前準備

  1. Googleアカウントの用意
  2. Amazonアカウントの用意
  3. AWS開発者アカウントの用意(ASKを始めるところまで設定しておく

手順

Storylineの使い方について公式動画もあります(英語)

「+Create new」から新しい会話フローを作成します。
2.png

「Connect Coggle Mindmap」をクリック。
これで別サービスのCoggleというマインドマップ作成ツールと連携させます。
画面上はStorylineだけで完結しているのでCoggleとStoryLineを行き来する必要はありません。
3.png

「YES, ALLOW ACCESS」をクリック。
4.png

「Fact App」「Quiz Game App」・・・簡単なテンプレートが自動生成されます
「Create from Scratch」・・・自分で一から会話フローを作成します
今回は「Create from Scratch」を選択します。
5.png

AppName(会話フロー名)を決めます。後でApp一覧から名前を変更することも可能です。
7.png

この会話フローの言語を選択します。「英語(US)」「英語(UK)」「英語(インド)」「ドイツ語」から選択可能です。
8.png

そうすると自由に会話フローを生成できる画面になります。
グレーの部分にカーソルを合わせるとプラスボタンが表示されるのでクリックします。
9.png

そうするとブランチが出てきます。
英語スキルなので、適当に英語のセリフを入れてみます。
このとき、記号、図、フォントの太字斜体指定などができますが、Alexaの読み上げに効果をつけられるわけではないのでここでは使用しません。
10.png

入力規則などはこの「Cheatsheet」を見るとだいたいわかります。
例えば行頭を「//」で始めるとユーザーの発話の指定になります。
行頭が「==」で始めるセリフを複数行入力しておくと、Alexaがその中からランダムに1行選択し、セリフを話します。
11.png

ブランチをクリックするとクリックするとブランチのスタイルを選択できます。
ただし、無料プランでできるのは内側の円の中から色を選択するのみで、
外側の円からの色選択、ブランチの太さの指定などは有料プランになります。
ブランチの色を変更するとそのブランチより先の枝の方の色が一斉に変更されます。

ブランチを右クリックするとブランチの追加・削除・コピー・移動、コメント追加ができます。

ここからブラウザテストもできます。
12.png

「Start playing」で会話フローの「Start」の位置から自動再生、
プルダウンから会話フローの開始地点を指定することもできます。
ユーザーの音声入力シーンになるとマイク許可を求められるので承認します。
13.png

会話フローが完成したらAlexaスキルとして展開してみましょう。
「Deproy」をクリックするとAmazonアカウントとAWS開発者アカウントの登録画面になります。このとき、ASKを始めるところまで進めていないとデプロイが実行されないようなので注意してください。
14.png

「Deploy」ボタンの横に緑のチェックマークが表示されたらAlexaスキル作成完了です。
アマゾンアプリ開発者ポータルにスキルが作成されていると思います。
「テスト」を有効にするように促されるので、その他にも一通りスキルの設定をしましょう。

設定のポイントは呼び出し名を下記のように単語で区切った状態で指定することです。
造語だとなかなかうまく反応しません。
複数の言葉を組み合わせたものがいいと思います。

ここでの設定内容は「Deploy」ボタンを押すたびに元に戻るのでどう設定したかメモした方がいいかもしれません。
呼び出し名の調整以外は、設定しなくても実機テストは可能です。

英語版のスキルなので、実機でテストするには「alexa.amazon.com」に登録されているAlexa対応端末が必要です。
この一覧に先ほど作成されたスキルが表示されると思うので有効にします。
※同じ端末を英語スキルを扱う「alexa.amazon.com」と日本語スキルを扱う「alexa.amazon.co.jp」の両方に登録することはできないようです。
登録先を切り替えるとWifi設定からスタートすることにになりますが、有効にしたスキル情報などは切り替え後も保持されます。

StoryLineは、画面右下の「Conversations」から気軽に問い合わせできる点もよかったです。
アカウントを自分で削除することができないため、ここから依頼したのですが、
対応してくれたスタッフは非常に気さくで対応も結構スムーズでした。

以上です。
今回は英語版スキルの開発ツールでしたが、日本語対応のスキル作成ツールも使ってみたいですね!

参考

音声アプリ戦国時代の救世主?プログラミング無しでAlexa Skillが作れる「Storyline」
【祝Alexa日本上陸】とりあえず日本語でスキルを作ってみる
開発中のAlexaスキルを実機テストする方法

Pocket

突撃!隣のキーボード

Pocket

この記事は ハンズラボ Advent Calendar 2017 16日目の記事です。

昨日はr_plusさんのTypeScript, webpack, serverlessでSlackのスラッシュコマンドを実装する
明日はt-hirai777さんです。


こんにちは、17新卒入社の谷津です。普段はハンズクラブ会員を支えるエンジニアの一人として日々精進しています。

最近ネットで以下のような記事をみて触発されたので、これは…乗るしかないこのビッグウェーブに、と思い便乗してみました。

株式会社カヤックさんの記事

株式会社フィードフォースさんの記事

freee株式会社さんの記事

弊社は社用PCに基本的にMacBookを支給されるのですが、元々のキーボードをあえて使わずに外付けのキーボードを使う方々がいます。

そんなハンズラボエンジニアのキーボードの紹介をしていきます。


yshutaro

使っているキーボードは?
東プレの REALFORCE91UG-S です。

JIS派?US派?
JIS派。20年以上JISなので。

このキーボードを選んだ理由は?
いいキーボード欲しいと思って家電量販店で触ってビビッときました。

熱い想いを一言
キートップ変えてみたい。HHKBも欲しくなってきた。Magic Trackpad 2もあればすっきりしそう。自作キーボードも興味あり。沼にはまり中。

いいですね、実際触らせていただいたのですが、押し心地がとても良かったです。
ぜひ自作キーボード沼にもハマってほしいです。

watarukura

使っているキーボードは?
HHKB professional BT(PD-KB620B) です。今週届いたところ。

JIS派?US派?
JIS派。

このキーボードを選んだ理由は?
HHKB Lite2 for Macの打鍵音が気になり始めて。もう少し静かなのがいいかな、と。

熱い想いを一言
HHKB BTは左手、MBPは右手でセパレートキーボードにしています。

私と同じくHHKB Pro BT。しかもデュアルキーボード。購入時に無刻印にしないんですか!?と言いましたが残念ながら断られてしまいました。

yuyj109

使っているキーボードは?
Plum Niz keyboard 75キー 中国製

JIS派?US派?
現在はUSのみ!!
学生時代:US
社会人昔の時代:JIS
現在:US

このキーボードを選んだ理由は?
MacBookProのバタフライキーボードのキーストロークが浅い・指の油が目立ち気になって掃除が大変だったので外部キーボードが欲しかった。

熱い想いを一言
ほこりと油は気にしなくてよくなった。仕事効率アップ?

MBPの指の油問題は私も気になりました。新MBPのキーストロークは2013年あたりのMBPのキーボードに慣れている人だと皆気になっている印象があります。

daikiojm

使っているキーボードは?
HHKB Pro2 Type-S

JIS派?US派?
US派。

このキーボードを選んだ理由は?
見た目と打鍵感(見た目重要)
自宅ではHHKB Pro2だけど、職場では音が気になるかと思ってType-S

熱い想いを一言
インスタで海外のキーボードマニアたちのキーボードを眺めるの楽しい。

HHKB愛用者二人目。職場用と自宅用で分けてるの良いですね。しかも自宅用は無刻印でその上キートップがカスタマイズされているのが非常にアツいです。

qazx7412

使っているキーボードは?
センチュリー BLACKQUEEN ピンク軸(静音赤軸)

JIS派?US派?
別にJISにこだわりがあるわけでは無いがずっとJISだったし、もうJIS以外扱えない身体になってしまった。

このキーボードを選んだ理由は?
macっぽい配列にできてコンパクトな物が欲しくて探していたら見つけて一目惚れした。

熱い想いを一言
見た目で買ったがピンク軸は個人的に大当たりだった 。家では赤軸のMionixWei使ってるけどやはりピンク軸の方が身体に馴染む。

Yuki_BB3

使っているキーボードは?
FILCOの茶軸

JIS派?US派?
JISじゃないとわからない・・・

このキーボードを選んだ理由は?
外付けの角ばったキーボード使ってるとなんか雰囲気醸し出せそうだから。

熱い想いを一言
使ってみて思う、良い。茶軸良いよ茶軸。

雰囲気醸し出すの大事ですよね、業務中テンションとか上がりますし。写真左側のカレンダーもいい味出してます。

misosouplover51

使っているキーボードは?
Mistel Barocco MD600

JIS派?US派?
迷ってます。家ではMac Book Pro 備え付けのJISで、会社は上記US

キーボードを選んだ理由は?
取っ掛かりとしては、分割式を使ってみたかった。
詳細は、私のキーボード・ジャーニーを参照ください。
https://qiita.com/misosouplover51/items/3f135360b0f022392ce3

熱い想いを一言

この沼は深くて広い。

私のキーボード・ジャーニーハンズラボ Advent Calendar 2017 7日目の記事だったのですが、非常に楽しく拝見させていただきました。会社では数少ない分割キーボードを使用している方です。

ansark88

使っているキーボードは?
会社はHHKB Lite2 for Mac(US)
自宅はHHKB Pro2 (JP)

JIS派?US派?
US派。

このキーボードを選んだ理由は?
コンパクト、forMacならF13~F15を押せるから。

熱い想いを一言
軟弱者なので、Fnが2つとカーソルキーがあるUS配列のHHKB Proが欲しい。

またまたきましたHHKBユーザー。人気がありますね。実は上の写真を撮影する前にわざわざキーボードを綺麗にしてくれました。ありがとうございます、愛が伝わりました。

t-sone

使っているキーボードは?
FILCO Majestouch 2 Tenkeyless 赤軸

JIS派?US派?

JIS派。

キーボードを選んだ理由は?
メカニカルキーボード使うの初めてだったため、価格的に無理せず買えて、打鍵感の良いキーボードを実際に店頭で触ってこれに決めました。(本当は青軸が良かったが、周囲の反対を受けて日和りました)
会社のPC変わる度にキーボードも変わるってのが嫌だったので。

熱い想いを一言
ブラインドタッチ上達させたい。

実は、Majestouchの二人に挟まれて仕事しています。メカニカルキーボードの打鍵感もなかなか好きです。

さいごに

自分でもやりました。完全に自作自演です。

mdps513

使っているキーボードは?
HHKB Professional BT US 墨

JIS派?US派?
US派。

このキーボードを選んだ理由は?
HHKBの20周年で

熱い想いを一言
無刻印は気持ち悪いと色々な人に最近罵られますが、そんなことはないと思います。素敵です。

素敵です。

以上です。ご協力いただいた皆様、ありがとうございました。

ENJOY YOUR KEYBOARD LIFE😎

Pocket