ゆるふわキャンパー

ゆるふわキャンパー

このブログは読むと思わずキャンプに行ってみたくなってしまう楽しいキャンプノウハウをわかりやすく紹介するわけではなく、技術ネタ中心でたまに酒と釣りの話をします。

Add the Eucalyn keyboard layout
iris

Add the Eucalyn keyboard layout

最近 Iris というキーボードを組み立て使い始めました。 * iris - ゆるふわキャンパー 元々 Planck というキーボードを使用しており、素晴らしいキーボードでとても気に入っていたのですがエンド・ゲームを目指すために左右分離型のキーボードに手を出してしまったのでした。 ※エンド・ゲームが一体何を指すのかは諸説あり、お金がなくなったときを指すという意見や、はたまた検索をやめた時であるという意見もあります。 私がキーボードを組み立て始めた理由の一つに、より手が疲れないキーボードが欲しいというものがありますが、左右分離型のカラムスタッガード配列である Iris を組み立てたことによりこの点はとても満足のいくものとなりました (現時点では…)。 キーボードの物理的な形状以外に手の負担を少なくする方法としては、指の移動をホームポジションからなるべく崩さないようにする、という方法もあります。より効率よく文字を入力するために様々なキーのレイアウトが考案されており、一般に普及しているレイアウトの QWERTY 以外に Dvorak や Colemak など様々なレイア
3 min read
Build and release keymap on GitHub Actions
iris

Build and release keymap on GitHub Actions

最近 Iris という自作キーボードを組み立てて使い始めました。 * Iris キーボードを組み立てた! 自作キーボードの利点の一つとしてキーマップを自由に変更可能という点があります。キーマップの変更はファームウェアを書き換えることで行います。ファームウェアは現在恐らく自作キーボード界のデファクトスタンダードである qmk_firmware を使うことが多いと思われ、Iris も qmk_firmware に対応しているものの一つです。 * QMK Firmware qmk_firmware は有志の手によって GUI ツールが用意されておりますが私は現在 GitHub 上でコードベースで管理しております。理由としては変更の履歴を残しておきたいからです。他にもありますが要するに GitHub だと管理が楽! Iris を組む前は元々 Planck という自作キーボードを使っておりそちらも GitHub 上でファームウェアを管理していました。また、CircleCI と連携させてタグをつけてプッシュした場合にビルドとリリースを自動で行うようにしていました。 これ
4 min read
I'm going home button v2
aws

I'm going home button v2

私は毎日帰宅する際に「今から帰るボタン」を押して LINE メッセージを送っています。 * 帰りますボタンを作った 最近このボタンに機能を追加しより便利にしてみました。 追加した機能 Google カレンダーと連携し、ボタンを押したタイミングからその日の 23 時 59 分までの間に始まるイベントがある場合 (飲み会とか)、イベントの内容を送るようにしてみました。 以下のような感じです。 日を跨ぐ可能性も考慮して終わりの時間には日付も入れるようにしています。 Google カレンダーからイベントを取得する方法 これ調べるのが結構大変だった…。混乱ポイントだったのが、まず適当にググってみたところ旧 Google カレンダー API の情報とごっちゃになっておりそこが混乱の元でした。Google 公式ドキュメントでも旧 API の情報が残っていて?ややこしい感じでした。 現在信頼できる公式ソースは以下。 * Calendar API  |  Google Developers 旧カレンダー API では API キーでアクセスできたみた
3 min read
Iris keyboard Build
mech-keyboard

Iris keyboard Build

現在 Planck という自作キーボードを使っています。 * planck - ゆるふわキャンパー Planck はとても気に入っており特に以下の点を気にいっています。☺ * 格子型の配列が意外に使い心地が良い。見た目も好き。 * コンパクトで手が疲れにくい。 が、欲を言えば * 分離型だとさらに疲れにくそう。 * もう少しエルゴノミクス寄りでもいいかも。 という気持ちもあり、設計から自作をするのもちょっと自信がまだ無かったので Planck と同じくキット型の自作キーボードを漁ってみました。MiniDox 等と迷った挙句、Iris というキーボードが良さげだったので PCB 等を買いました。 * Iris Keyboard の PCB を購入しました 上記記事から気付いたら 2 億年ほどの時が経ち、細々と足りない部品を調達しようやく今回組み立てるに至りました! 上記記事からさらに組み立てる際に買い足したものや、組み立てる際に困ったこと、感想を記録していこうと思います (なお、この記事は早速 Iris で書いております 😊)。
5 min read
Using Trello to manage private projects
trello

Using Trello to manage private projects

最近、Trello でやりたいことを管理しています。 これが割といい感じなのでメモしておきます。 やりたいこととは 主に以下の「やりたいこと」を対象として管理しています。 * 書きたいブログのテーマ * 作りたいツール * 試してみたいサービスや機能 * 個人サーバーの運用ネタ 上記の通り個人プロジェクト (と言うには小規模ですが) 的な思いつきや小ネタが対象となっています。 今まで 今まではずっと Any.do に思いついたことを書き込んでいましたが、以下の課題がありました。 * 今日やること、明日やること、のように管理されるがもっとフワッとした単位で管理したかった。 * 思いつきでどんどん書き込んでいるので 100 個以上のタスクが溜まっていた。 * いざ作業開始したとして平日の業務後や土日にちまちま進める感じなので、そういったスケジュール感にマッチしない。 というわけで Any.do は何も悪くなくお前の使い方がおかしかったんだ!という話です。 (最初は普通に使っていたんですがいつのまにかやりたいことを雑に書き込むようになって
2 min read
Convert ePUB file to Mobi file with the KindleGen command
kindle

Convert ePUB file to Mobi file with the KindleGen command

最近 Kindle Paperwhite を買いました。 本はアナログ派だったのですが引っ越ししてから通勤時間が短くなるなど生活の変化があり、出したり引っ込めたりがしやすい Kindle を買ってみました。が、思った以上になんだかリズムと合ってしまい最近購入する本はほぼ電子版を買うようになりました…。目も疲れにくいし電子ペーパーすごいな。あと前職のパイセンとキャンプに行った時にパイセンが Kindle を持ってきていてなるほどな〜というのもあり… (キャンプは意外と暇になるし自然の中で本を読むのは気持ちが良い)。 * 電子ペーパー - Wikipedia さて、最近 O'Reilly Japan Ebook Store で書籍を購入したのですが、ダウンロードできる形式が ePub か PDF のみでした (これは書籍によるみたいです)。ePub は Kindle に対応していません。PDF は Kindle に対応していますが、Kindle の (電子ペーパーの?) 仕様上 PDF だとページをめくるたびに画面がリフレッシュされてしまい個人的にはちょっと気になる感じでした
1 min read
System job is suitable for running mackerel-agent with Nomad
nomad

System job is suitable for running mackerel-agent with Nomad

現在 Nomad クラスターを展開しこのブログを運用しています。 * nomad - ゆるふわキャンパー Nomad クラスターは現在 3 台のサーバーから構成されており、それぞれのサーバーは Mackerel でモニタリングしています。Mackerel へサーバーのメトリクスを送るためには mackerel-agent が必要ですが、mackerel-agent は Docker イメージが用意されているので、これを Nomad のジョブとして動かし Nomad クラスターの各サーバーを監視しています。 * mackerel/mackerel-agent ジョブのタイプは Service タイプを使っており、各サーバに対し 1 つの mackerel-agent が動いている状態であって欲しいので以下の工夫をしていました。 * Nomad クラスターのサーバーは 3 台なので group 節で count を 3 に設定する。 * 1 つのサーバー上に複数の mackerel-agent が実行されてしまっては意味がないので、
2 min read
Run Let's Encrypt client with Nomad job
nomad

Run Let's Encrypt client with Nomad job

SSL 証明書の取得の自動化を可能とするプロトコルとして ACME (Automated Certificate Management Environment) がありこれの実装として Let’s Encrypt というサービスがあります。 Let’s Encrypt のクライアントとしては certbot や lego があります。どちらも以下のように Docker イメージが公開されており、つまり Nomad のジョブとして簡単に動かすことが可能です。 * Docker Hub - certbot * Docker Hub - lego certbot と lego の大きな違いは lego は Go で書かれておりバイナリ一つという手軽さがあるという点です。Docker を使うなら関係ないですが…。 今回 Nomad のバッチジョブとして lego を動かしてみたのでメモします。 モチベーション
6 min read
Improved blog search page
algolia

Improved blog search page

このブログの内容は Algolia にインデックスし Algolia API を使って検索できるようにしています。 自分の記事を見返すタイミングがしばしばあるので、その時はこれを使い Alfred ワークフローからインクリメンタルサーチして目的の記事を開いたり、あと地味にブログ内の静的ページとして検索ページを用意したりしています。 * algolia - ゆるふわキャンパー 今回はそのブログ内の検索ページを改善してみました! Before: After: 検索ページを設定してから長いこと (3 年くらい) 素朴な見た目のままだったのですが、しばらくみない間に Algolia のドキュメントが充実してきてフロントエンドさっぱりわからないマンでもなんとかチュートリアルを元にそれっぽいものができるような状態になっていたので (ありがたい 🙏) 今回検索ページの改修に踏み切ってみたのでした。 主に以下の点で改善されています。 😊 * 検索結果が大きく、見やすく表示されるようになった。 * 記事の概要を出すようにした。 * 記事のサムネイル画像を出すようにした。
2 min read
Create a new Dropbox Paper document from Alfred workflow
alfred

Create a new Dropbox Paper document from Alfred workflow

Alfred ワークフローから Dropbox Paper ドキュメントを作成できるようにしてみました。 この記事は以下のシリーズの続きになります (台風で…!暇…!)。 * Dropbox Paper のドキュメントを一覧して開くことのできる Alfred Workflow を作成した * Dropbox Paper ワークフローにドキュメントのコピー機能を追加しました 今までは Alfred から dbp new すると Dropbox Paper のトップページに飛ぶ挙動でしたが、タイトルを入力するとそのタイトルのドキュメントの編集画面に飛ぶ方ようにしたかったので改善してみました。 これからは dbp new <タイトル> を実行すると直ぐに編集画面に飛べます。 方法 これも基本は curl コマンドで Dropbox API を叩いて実現しています。が、新規ドキュメントを作成する /docs/create API は以下のようにファイルとしてデータを渡してあげる必要があり (新規作成というよりインポートですね)、一度ファイルを /tmp に作成してからそれを
2 min read
Add copy action to Alfred Dropbox Paper Workflow
alfred

Add copy action to Alfred Dropbox Paper Workflow

先週 Dropbox Paper のドキュメントを一覧し開く Alfred ワークフローを作成しました。 * Dropbox Paper のドキュメントを一覧して開くことのできる Alfred Workflow を作成した これで直ぐにドキュメントにアクセスできるようになって便利になったのですが、一方課題も…。 課題 Dropbox Paper は主にブログの下書き用に使っているのですが、Dropbox Paper のドキュメントをコピーして Ghost のエディターに貼り付けると表示が崩れるというかなり致命的な問題がありました。これでは不便すぎる…。 Dropbox Paper はマークダウンで書けますが、どうやらコピーされたテキストはマークダウン形式にならないみたいです。そりゃそうか。 解決方法 Dropbox API ではマークダウン形式でドキュメントの内容を取得可能な API が用意されているので、これを使ってワークフローでリストされたドキュメントを選択するとその内容をマークダウン形式でクリップボードに保存する機能を追加しました。 * docs/down
1 min read
Split DigitalOcean project
digitalocean

Split DigitalOcean project

最近このブログを Nomad クラスター環境へ移行しました。 * Nomad クラスターを作成する * Nomad クラスター上で Ghost ブログを動作させる クラスターは DigitalOcean 上に構築しており、構築は Terraform で自動化しています。ウェブサーバーやブログなどのアプリケーションの配備や管理は Nomad に任せています。 DigitalOcean ではプロジェクトという単位でリソースをまとめることが出来ます。 * Projects :: DigitalOcean Product Documentation とりあえず Nomad クラスター関連のリソースをまとめる意図で Nomad Cluster というプロジェクトを作成し Droplet や Load Balancer などのリソースを放り込んでいました。 が、最近 G Suite の試用を始め、G Suite 用の DNS レコードの設定を DigitalOcean DNS に設定する必要が出てきました。それ以外にも Redash
1 min read
Dropbox Paper Alfred Workflow
alfred

Dropbox Paper Alfred Workflow

私は今までローカルの Dropbox フォルダ以下にブログ記事の下書きを保管していました。 MacDown というマークダウンエディタで下書きを作成、Alfred で下書きフォルダを開く、といった方法で運用していました。その辺については以下に細かく書いています。 * 去年より個人ブログのポスト数を2倍くらい増やせたのでなぜなのか書く この方法ですがそもそも Dropbox Paper を使えばローカルにファイル保存しなくていいし、マークダウン対応してるし、PC でもスマホでも関係なく使えるのでええやんと思い始め、Dropbox Paper を使ったフローに移行することにしました。 そこで引き続き Alfred でシュッと下書きを参照したり新規記事を作成出来れば嬉しいので今回そのような Alfred Workflow を作ってみました。 * GitHub - lorentzca/alfred-dropboxpaper-workflow: Alfred Dropbox Paper Workflow こんな感じです。 仕組み Dropbox API v2
3 min read
I changed my 1Password account to family type
1password

I changed my 1Password account to family type

私はパスワードの管理に 1Password を使用しています。 1Password は個人向けやエンタープライズ向け等いくつかの種類があり、今までは個人向けのプランを使用していました。そして最近個人向けプランからファミリープランに変更しました。 👪 * 家族を安全に守るためのパスワードマネージャー | 1Password 感想などメモしていく。 ちなみに以前 1Password を買い切り版からサブスクリプション版に変更した際の記事は以下です (2 年以上経つのか…)。 * 1Passwordを買い切り版からライセンス版に移行しました ファミリープランに変更した理由 といっても 2 つしかないですが…。 マネーフォワード ME のアカウントを共有したかったから これが一番の動機です。 💰 現在妻と二人で暮らしているのですが、生活費や諸々のお金の動きを見える化したくなりました。私は元々マネーフォワード ME を使用しておりかつプレミアム会員なので、いい感じに可視化ができているのですが、個人ではなく世帯としての支出もいい感じに見えるように
3 min read
Run mackerel-agent as a Nomad job
nomad

Run mackerel-agent as a Nomad job

最近ブログを動かしている環境を単一のサーバーから Nomad クラスターへと変更しました。 * Nomad クラスター上で Ghost ブログを動作させる 以前からサーバーの監視を Mackerel を用いて行なっており、今回もクラスターを構成するノード上で mackerel-agent を起動し、監視を行います。 ただし、 Nomad のジョブとして動かしてみます。 Nomad のジョブとして mackerel-agent を動かす 今までは単一の VPS を使っていたので mackerel-agent は普通にサーバーにインストールしていました。 * CentOS / RedHat にインストールする - Mackerel ヘルプ 今回 Nomad を使うにあたりどのように mackerel-agent をインストールするか考えていて、普通にサーバーにインストールしても良いのですが、サーバーには Nomad とその関連パッケージ以外は入れないのが筋が良いと思うので、Nomad ジョブとして mackerel-agent を動かすことにしました。 macker
2 min read
Running Ghost blog on Nomad Cluster
nomad

Running Ghost blog on Nomad Cluster

このブログは数年間単一のサーバーで稼働していました。 学習も兼ねてわざわざ自前でサーバーを運用していたのですが、最近新しい構成に移したくなり、Kubernetes の流行もあってクラスターやマイクロサービスといった時代の流れに乗るべく、Nomad クラスターへの移行を行いました。 Nomad クラスターの作成までは下記記事にまとめています (インフラやクラスターの設定等はここからさらに変更しています)。 * Nomad クラスターを作成する 今回はこの Nomad クラスター上で Ghost を動かすところまでをまとめます。 構成 以下の通り、DigitalOcean のマネージドロードバランサー配下に Droplet を 3台配置し、クラスターを構成しています。 クラスターを構成するノードではそれぞれ Nomad と Consul が稼働しており、Consul でサービスディスカバリーを、Nomad でワークロードオーケストレーションを行なっています。 稼働しているジョブ Nomad はジョブという単位でワークロードを定義します。ジョブの中にさらに複数のグルー
7 min read
OTOKOMAE CAMP #7
camp

OTOKOMAE CAMP #7

今年も男前キャンプに参加してきました!!⛺ 男前キャンプは水道橋にあるアウトドアをコンセプトにしたカフェバー、 BASE CAMP のオーナーである A-suke さんが主催しているイベントです。 * 男前キャンプ * カフェ&バー BASE CAMP の紹介 私は今回で3回目の参加となります。 * 男前キャンプ#5に参加してきました! * 男前キャンプ#6に参加してきました! 会場は月尾根自然の森キャンプ場でした。その名の通り、尾根にあるキャンプ場で森の中にある素敵な場所でした。キャンプ場の概要は以下。 * 朝から入れる * 釣り堀がある * 直火は禁止 * ゴミは持ち帰り * 水道有り * シャワー有り * トイレ有り (汲み取り式) * 中央線梁川駅から徒歩で15分ほど (坂を登っていく) * 駅前に個人商店有り (9時開店) 今回の男前目標は、 * バックパック1つ、電車で参加 * 木と木の間にロープを張り、張ったロープを使ってタープを設営する方法を試してみる * 薪は全て落ちている枝を使う (バックパックでそもそも薪持ってい
6 min read
Create Nomad Cluster on DigitalOcean
nomad

Create Nomad Cluster on DigitalOcean

Nomad 上にこのブログ (Ghost) を移そうと考えています。 * Nomad by HashiCorp そこで、まずは Nomad クラスターを DigitalOcean 上に作成してみました。 この記事の一番最後にクラスター作成に使用している Terraform のファイルを貼っておきます。 Nomad とは Nomad とは Docker コンテナや Qemu 仮想マシン、 Java アプリケーション等のデプロイ、それらによる処理の実行の管理を自動的に行うツールです。 つまり、ワークロードオーケストレーターです。 * Introduction - Nomad by HashiCorp ラーメン二郎で言えばロット・マエストロやロット・マイスターが該当するかもしれません。 ※ロット・マエストロ/マイスターはラーメンが一定のペースで効率よく置かれるように、ラーメンのデプロイ (カウンターへの配置) を管理し、リソースの調整 (少食っぽい人に大を食わせない、食べるのが遅い人を急かす・手伝う) や他のマエストロ/マイスターとの協業 (広い店舗
9 min read
Manage state files on Terraform Cloud
terraform

Manage state files on Terraform Cloud

先日発表された Terraform Cloud の Remote State Management 機能、絶対いいやつなので試してみます。 * Introducing Terraform Cloud Remote State Management Terraform Cloud とは Terraform Cloud とは terraform のために作られた SaaS です。 以下のような機能が (今後公開予定の機能も含め) あります。 * state ファイル管理ストレージ * terraform を複数人で運用するためのコラボレーション機能 * terraform モジュールの共有基盤 展開としては小規模チーム向けの無料プラン、ビジネスプラン、エンタープライズプランと規模に応じた有償枠もできるそうです。 上記将来の機能や展開についての詳細は以下の記事にまとまっていました。 * Terraform Collaboration for Everyone 今回公開された機能は state ファイルのためのストレージ機能です。 これは t
3 min read
I am Mackerel ambassador
mackerel

I am Mackerel ambassador

先日 Mackerel アンバサダープログラムへ招待いただき、アンバサダーの任を仰せつかりました。 🙏🙏🙏 * Mackerel アンバサダープログラム はじめます! - Mackerel ブログ #mackerelio Mackerel は愛着のある監視サービスであり、プライベートでも有料プランを契約し使用しておりました。 * mackerel - ゆるふわキャンパー Mackerel との出会い 前職で、まだ Nagios や Cacti をメインに使用していた時代に社内勉強会で取り上げられていたのをきっかけに知りました (確か)。 それから Mackerel の採用が決まり、 Mackerel への移行やプラグインの作成等を業務で行なっていました。 勉強も兼ねて運用している当ブログをホストしているサーバも個人で取得した Mackerel アカウントで監視を行っていて、新機能を試したりプラグインを作ってみるなどして遊んでいました。有料プランでしか使えない機能が使いたくて有料プランに変更し、サーバ代より高い請求から目をそらしつつ、 Macker
1 min read
Monitor lock status with Mackerel
mackerel

Monitor lock status with Mackerel

Sesame というスマート鍵を購入し、より快適な生活が手に入りました。 * セサミスマートロックを買った また、 Sesame の API を試してみました。 * Sesame API を試す 次の段階として、鍵の状態を Mackerel で監視してみます。 ※念のため補足すると、公式アプリでも鍵の施錠/開錠を検知したら push 通知することができるので、必要最低限の監視はできていると言えます。 なぜ監視するのか ちょっと話が横道に逸れますが、スマート鍵の導入に興味がありつつためらう理由の一つに、セキュリティが挙げられるんじゃないかな、と思っています。特に「不具合や誤作動で知らないうちに解錠される可能性があるんじゃないか」「クラッキングされて解錠されてしまうことはないのか」という点が不安に思われるんじゃないかな、と思います。 個人的には不具合で解錠されてしまう可能性より、うっかり鍵を閉め忘れて外出してしまう可能性の方がずっと高いと思います (実際私は年に数回ほど、鍵を閉め忘れていました…)。 また、 Sesame のシステムをクラッキングす
6 min read
Sesame API
smartlock

Sesame API

Sesame というスマート鍵を使い始めてはや1ヶ月が経ちました。 * セサミスマートロックを買った Wi-fi と接続するモジュールも買い、 Sesame はもはや生活に欠かせない機器となりました。神。ハンズフリーで解錠できることがこんなに快適だったなんて! Wi-fi モジュールを買ったことでインターネットと接続できるようになり、 API も使えるようになったのでとりあえず鍵かかってるか API から取得してみます。 条件 API を利用するための条件です。 * Wi-fi モジュールを購入し、セットアップ済みであること (Sesame がインターネットへ接続している必要があるため) * Sesame の設定でクラウド連携が有効になっていること API キーの取得 Sesame 公式サイトのダッシュボード (BETA) から API キーを取得できます。 API リファレンス API は現在 v3 のようです。 * CANDY HOUSE Developer Reference 認証の確認 OK 牧場。 🐄
1 min read
Sesame Smart Lock
iot

Sesame Smart Lock

帰宅時に鍵をゴソゴソするのが面倒 (特に雨天時の買い物帰り) で Sesame というスマートロック製品をポチりました。 ポチった!在庫切れなのでいつ届くか…。セサミminiが出たらキャンセルしてminiの方買おうかな。 — †深淵の覚醒者† (@lorentzca) 2019年2月9日 在庫が無く2億年ほど待ちましたがようやく届いた!!! 届いたので続き。幅はビクトリノックスとほぼ同じ長さ。事前に大きさ測ってはいたけど、思ったよりずんぐりした印象! pic.twitter.com/OmkZqTHcZK — †深淵の覚醒者† (@lorentzca) 2019年3月30日 Amazon で買いました。 * Amazon.co.jp: 【Works with Alexa認定製品】 セサミ スマートロック本体 シャンパンシルバー 取付工具不要 スマートフォンでドアを施錠解錠 Google Assistant/Siri/Apple Watch/IFTTT対応: DIY・工具・ガーデン まだ取り付けたばかりですが所感を記録します。 大きさ 事前に鍵形
4 min read
Cloud Support Engineer Recruiting Day!
meetup

Cloud Support Engineer Recruiting Day!

下記イベントに参加してきました。🏃 * クラウドサポートエンジニアRecruiting Day! | Peatix サポートエンジニアNight さんのイベントは以前にも一度参加していて、サポートエンジニアに焦点を当てたイベントは (多分) 珍しいので、あまりサポートエンジニアについて知らない方が参加してみても楽しいんじゃないかな〜と思います。 以前参加した際の記事はこちらです。 * サポートエンジニアNight vol.2 例のごとく感想を書きます。 お客さまの課題をエンジニアリングで解決する" Mackerel CRE のアプローチ @a_know さんと @mur_ms_ さんの登壇でした。この前お二人の対談記事も上がっていましたね。 * はてなで働くエンジニアにアンケートシリーズ第4回 a-know, missasan - Hatena Developer Blog 前半 Mackerel の CRE としての活動紹介がされていましたが、やられている範囲が広い。すごい。 * 実際にお客さんのところへ行きサポート * Mck
5 min read
Alaexa, when's garbage day?
alexa

Alaexa, when's garbage day?

今まで実家に住んでいたのですが、去年の12月に目黒区へ引越ししました。 そこで問題になったのがゴミの日がよくわからんということです。 なので Amazon Echo Dot (第3世代) に教えてもらうことにしました。 Amazon Echo Dot 実家にいた頃も Amazon Echo を所有していたのですが、それは親が主に音楽を聴くのに使用していたので置いていきました。 そこで新しく買ったのが Amazon Echo Dot です。第3世代は前の世代より少し大きくなったみたいですが、その分音質が良くなったみたいです。大きくなったと言っても手のひらサイズで十分小さいです。 * Amazon | New Echo Dot - コンパクトスマートスピーカー 開発環境 Alexa Skills Kit (ASK) SDK for Node.js のバージョン2を使用しました。Alexa Skills について前回書いた記事は1年以上前ですが、当時より大分状況が異なります。 * Alexa Skills Kit (ASK) SDK
5 min read