kun432's blog

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

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

その他

今後の技術ネタはzennに移行することにした

今後の技術系の記事はzennで書くことにしました。 これまでは技術ネタも個人的なポエムもひっくるめて全部このブログで書いていたのだけど、 コードとかちょっと見にくい そのために色々カスタマイズするのももうやりたくないし、テーマ変えるのも面倒。 前…

Finch試してみた

Docker Desktopが企業ユースだと有料になるという話、個人としては何も影響ないのですが、まあ代替が今後のメインストリームになる可能性はあるよね、ということで、Finchを試してみます。 目次 目次 Finchとは? 前提 インストール イメージのビルド compos…

MetabaseでBIことはじめ③

引き続きMetabaseやっていきます。 前回は以下の記事で紹介されているお題に沿ってMetabaseでデータソースの追加と可視化を行いました。 データソースはこちら。 qiita.com お題はまだ続くのですが、その前に少しMetabaseの機能を使って前回のダッシュボード…

MetabaseでBIことはじめ②

Metabaseの続きです。 前回はデータソースの追加までやりました。今回は追加したデータソースを使って可視化していきたいと思います。 目次 目次 サンプルデータベースについて&可視化のお題 お題1: 特定の俳優が出演する映画 サンプルデータベースについて…

MetabaseでBIことはじめ①

年末年始は故あってずっとBIツールいじってたので一旦まとめ。 BIツールっていろいろありますよね。 Amazon QuickSight Google Looker Studio Microsoft Power BI Tableau で、どれもだいたい有料だったりして、初心者が個人で使ってみる分にはちょっと敷居…

SQLite3のデータベースをPostgreSQLに移行する

メモです。あ、あけましておめでとうございます。今年もよろしくおねがいします。 故あって、SQLite3のデータベースをPostgreSQLに移行する必要が出ました。いろいろ調べてみるとダンプして取り込むよりはsequelを使うほうが楽、ということでやってみました…

jq の to_entries が超便利

とある目的で気象庁のアメダス情報のJSONデータをゴニョゴニョしているのですが、まずアメダス情報のJSONはこういう感じになってる。 $ curl -s https://www.jma.go.jp/bosa20221101000000.json | jq | head -100 { "11001": { "temp": [ 6.9, 0 ], "humidit…

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、ほんと…