kun432's blog

Alexaなどスマートスピーカーの話題中心に、Voiceflowの日本語情報を発信してます。たまにAWSやkubernetesなど。

〜スマートスピーカーやVoiceflowの記事は右メニューのカテゴリからどうぞ。〜

その他

Autocodeでセッションを実装してカウンターを作ってみた

Autocodeでセッションを実装してカウンターを作ってみました。 // authenticates you with the API standard library // type `await lib.` to display API autocomplete const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN}); const cook…

Autocodeことはじめで、カウンターを作ってみた

以下で紹介されていたローコードプラットフォーム「Autocode」、Voiceflow Dialog Management APIの実行環境として使えるんではないか?ということで、ちょっと試してみた。 目次 目次 まずは触ってみる 参考 まずは触ってみる 上記サイトで紹介されているの…

Raspberry Piで観葉植物の監視をする②

前回の続き。 土壌水分センサーがなんとなくうまく動いていないさそう。ということで、ちょっとコードを追っかけてみた。 公式サンプルコード Python全然わからないけど、 get_adcで各センサの電圧値を取得 valmapに電圧値を渡してパーセンテージ変換 してる…

Raspberry Piで観葉植物の監視をする①

以前に空気コンディションモニタを作った際に使った「Anavi」のuHAT、他にも色々あるみたいです。 その中で、最近ちょっと個人的にハマっている観葉植物向けに、必要なセンサーを組み合わせた「Gardening uHAT」があったので購入してみました。 今回はとりあ…

Voltaでnpmパッケージのグローバルインストール

前回、npmパッケージのグローバルインストールが期待したとおりの動きにならなかったVoltaだけど、 ちょっとやりなおしてみて、やりたいことはできたのでまとめます。前提として、自分なりの理解なので間違ってるかもしれませんが。 目次 目次 Voltaにおける…

nvmからVoltaに変えてみたけど頓挫した・・・

Node.jsのバージョン管理に nodebrew、nvmと使ってきて、複数のバージョンを切り替えれるのはとても便利だけど、同じバージョンを複数の環境で分けたいというニッチな願望がちょっとだけあります。 基本的にCLIのようなものでもグローバルにパッケージインス…

expressのエラーハンドリングについて少し理解する②

前回の続き。 目次 目次 デフォルトのエラーハンドラー エラーハンドラを書く まとめ デフォルトのエラーハンドラー expressではビルトインのエラーハンドラがついている、というのはどういうことか?前回のコードを再掲。 const express = require('express…

Raspberry Piで部屋の空気コンディションモニタを作ってみた

リモートワークで自宅にこもりながら、外も寒いし暖房もつけっぱなし。定期的な換気が必要なんだけど大体忘れがちになりますよね。これなんとかならないかなーということで調べてみると、こういうのが。 すっかり忘れていたけど、そういえば去年発表されてま…

expressのエラーハンドリングについて少し理解する①

引き続き、express。今日はエラーハンドリングについていろいろやってみる。 目次 目次 同期処理のエラーのキャッチ 非同期処理のエラーのキャッチ まとめ 同期処理のエラーのキャッチ まずは公式ドキュメントをお手本に写経的にやってみる。 コードはこれを…

expressでrequest/response interceptorを実装してみる

前回、expressのミドルウェアを色々いじってみたけど、ask-sdkでよく使うようなrequest/response interceptorを試しに実装してみた。 目次 目次 request interceptor GET GET以外 response interceptor その他 まとめ request interceptor JSONを返すHello W…

expressのミドルウェアをほんの少しだけ理解する

引き続き、ちゃんと理解できていないexpress周りをコツコツいじってます。今回はミドルウェアについて。 目次 目次 expressのミドルウェアについて おまけ expressのミドルウェアについて 公式もサンプロコードがあって、十分わかりやすいけど ここが図にま…

MacにRedisをインストールしてexpress-sessionから使ってみる。

本来やりたいことにすぐに進めずに、express周りを色々調べてます。 以前ちょっとやったexpress-sessionのセッションストレージとしてRedisを使うやつ、前回はHerokuだったのだけど、今回はローカルのMacにインストールしてみる。 目次 目次 Redisのインスト…

クロスサイトなAjaxアプリケーションをNetlify+Herokuで作ってみた

Voiceflow Dialog Management APIを使って、Webサイトチャットボットのバックエンドを作ろうとして、CORSとか色々ハマりました。Webアプリとかちゃんと作ったことないので私が単に知らなさすぎただけというのはありますが、とても良い勉強になったのでメモ。…

買ってよかったもの2021

お題「#買って良かった2021」 去年に引き続き、今年買ってよかったもののまとめ。リモートもすっかり普通になって、全体的にお家にこもって使うものが多い感じになりました。 2020年版はこちら。 目次 目次 買ってよかったもの FLEXISPOT昇降スタンディング…

Percona XtraDB Clusterを試す

ゆえあってPercona XtraDB Clusterを試すメモです。基本的には公式のGetting Startを試すだけですw 環境 環境はVagrantで作ります。Vagrantfileはこんな感じ。 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vagran…

ssh-copy-idを踏み台経由で使う

自分メモ ssh-copy-idを使うとかんたんに公開鍵の設定ができます。 こんな感じでパスワード認証でログインできるサーバがあるとして、 $ ssh foo@192.168.33.10 foo@192.168.33.10's password: [foo@localhost ~]$ ここにローカルの公開鍵をセットするにはこ…

ChromeでGoogle Meetを開いたら「ON AIR」ライトを点灯、家族に「リモート会議中」を知らせてみた

以前にやったこの記事 悪くはないんですけど、使っていくと音声で呼び出すことすら面倒になる。もっとシームレスにやりたいというのはみんな考えることみたい。ということで色々調べてみた。ちなみにうちの会社ではGoogle Meetを使っています。 会議中にカメ…

VyOSでBGPを試してみる

前回、KubernetesのDynamic PVのためにCephを試してみたのに続いて、今度はLoadBalancer serviceのためにMetalLBを試したい、そしてできればL2モードじゃなくてBGPモードで試したい、ということで、VyOSでBPGをやってみました。 目次 目次 必要なもの 構成 …

cephadmでCephを試してみる

クラウドじゃなくてKubernetesを手元で試してみたい、という場合、Dynamic PVとLoad Balancerはちょっとハードルが高い印象です。 2年近く前にこのようなことを呟いているが、今でもこのおすすめセットは変わりませんいろいろ試す上でPVCは絶対必要になるし…

HerokuでRedisを使う

前回の続き。 セッションストレージとして使うために、Redisを追加してみようと思います。 Redisアドオンの追加 アプリからRedisを参照する Redisにアクセスする おまけ まとめ Redisアドオンの追加 前回のHello Worldアプリが動いている状態から進めます。 …

LVMでPVディスク名が変わった場合、ボリュームはどうなるのか?

ちょっと疑問に思ったので試してみた。例えばこういう状況があって、 /dev/sda ローカルディスク(LVM) /dev/sdb ローカルディスク(LVM) /dev/sdc ローカルディスク(LVM) /dev/sdd ローカルディスク(非LVM) /dev/sde ローカルディスク(非LVM) ここ…

シェルスクリプトでロック

シェルスクリプトでロックファイルを使った排他制御をする場合、普通にファイルだとうまく行かない場合がある。なぜならロックファイルの作成と確認がアトミックに行われないから。 でこれを回避する方法として、シンボリックリンクを使う方法が紹介されてい…

Herokuへのデプロイいろいろメモ

Voiceflow SDKを使ったバックエンドスクリプトを、 なるべくお手軽に使える コーディングやバックエンドの知識がないユーザでもあまり意識せずに使える ようにして配布したいなぁと思ったとき、一番最初に思いついたのがHerokuでした。ただ、Heroku、ほんと…

Packer v1.7を試す

Packerのv1.7からpacker initプラグインをダウンロード・インストールできるようになったので試してみました。 目次 目次 要件 HCLテンプレート プラグインを使ってみる 変数のオーバーライド 既存のJSONテンプレートからHCLテンプレートに変換する まとめ …

(Organizations環境で)Transit Gatewayを使ったアカウント跨ぎのVPC間通信をTerraformで作る

マルチアカウント間の通信にTransit Gatewayを使う場合、以下の記事にあるようにResouce Access Managerを使ってリソース共有を行う必要があります。 Organizations環境でTerraformを使ってやってみたのでメモ。なお、Organizationsの設定でAWS Resource Acc…

いまさらだけどGitHub Actionsを試してみる②

前回の続きです。 前回はこちら。 GitHub Actionsの設定ファイルを見ていきます。 目次 目次 GitHub ActionsとGitHub Packages CI設定ファイル name on jobs steps GitHub ActionsとGitHub Packagesの連携 実行状態/結果を見る まとめ GitHub ActionsとGitHu…

いまさらだけどGitHub Actionsを試してみる①

いまさらですがGitHub ActionsをつかってGitHub Packageにパッケージを公開するところまでやってみようと思います。 ということで、こちらのQuickstartに従って進めてみます。 写経なのでメモです。 目次 目次 レポジトリの準備 GitHub Actionsのパッケージ…

技術書典10で買った本&ちょっとだけレビュー

ちょうど冬休みに入る頃から技術書典10が始まってます。 今回もたくさん買ったのでご紹介、あと一部は読み終わったのでかんたんにレビューしました。 読み終わった VoiceXMLって知らなかったけど、IVR向けのSSMLみたいなものらしいです。すでに活用できると…

買ってよかったもの 2020年

お題「#買って良かった2020」 今年も残すところ残りわずか、ということで、今年買ってよかったものをまとめておきます。前に「リモートワークで買ってよかったもの」をまとめてますが、それ以外のもので10個選んでみました。 目次 目次 買ってよかったもの x…

GitLabでLet's Encryptを使う

GitLabでLet's Encryptを使ってSSLを設定しょうとしたら盛大にハマったのでメモ。 目次 目次 環境 ハマったところ まとめ 環境 OS: Amazon Linux 2 gitLab-ee: 13.5.3 一般的にはgitlab-ceを使うほうが多いんでしょうが、GitLabの公式の以下の説明より、gitl…