センサーHATつきで動いている我が家のPi Zero W はじめに:Pi Zero Wでのコンテナ運用の現実 Raspberry Pi Zero Wは、そのサイズと価格の安さから2017年頃にちょっとしたブームになりました。実用上の制約は多いものの、今でも魅力あるマシンです。筆者も手…
本稿は「KLab Engineer Advent Calendar 2025」の25日目です。記事を書いてくださった皆さん、お疲れさまでした! はじめに 私は過去に何度か「自宅のマシン管理にAnsibleを使うぞ」と挑戦しては敗れ去ってきました。定着しなかった一番の理由は「オーバーテ…
この記事は「KLab Engineer Advent Calendar 2025」の1日目です。初日から少々ニッチな小ネタです。 Grafana CloudのFree tierが大盤振る舞いすぎる 突然ですが、みなさんGrafana Cloud使ってますか?Grafana Cloudは、Grafana Labsが提供するフルマネージド…
SwitchBotのセンサーデバイス(人感センサーやCO2センサーなど)は、エンジニア視点で見てもハードウェアとしての完成度が非常に高いガジェットです。コンパクトで省電力、かつデバイス単体であれば価格も手頃です。 しかし、これから試そうと思うエンジニア…
先日、10/29に開催された「第180回PHP勉強会」にてLT発表をさせてもらいました。 なんと、私のPHP勉強会での発表は10年ぶりでした(前回は第94回だったようです)。最近はPHPを直接書く機会は減ってしまいましたが、私にとっても思い入れのある勉強会で、久…
みなさん連休を楽しんでいますか?4連休って長いようで短いですよね。「毎日が祝日だったらいいのに…」なんて、小学生の頃はよく考えていました。 そんな子供の頃の夢を、テクノロジーの力で形にしてみました。その名も「毎日が祝日カレンダー」です! endle…
Cloudflare Email Routingのダッシュボードの不満点を解決したい Cloudflare Email RoutingはCloudflareに預けているドメイン宛てのメールを転送してくれるサービスです。無料で提供されているので、独自ドメインの管理者にとってありがたいサービスだと思い…
この記事は、KLab Engineer Advent Calendar 2024 の25日目の記事です。 はじめに 独自ドメインを長年維持している方々の多くは、現在もGoogle Workspace(旧G Suite無償版)を利用しているのではないでしょうか。筆者もその一人です。独自ドメインのメール…
セッションストレージなしでログインセッションを維持する仕組みを作ったので、簡単に紹介します。 先日oidc-authというHonoのミドルウェアを実装して3rd-party middlewareとして採用していただきました。これは外部IDプロバイダーで認証を行ない、自前発行…
筆者は自宅のダイキン製エアコンのリモコンホルダーを3Dプリンタで自作しました。これでリモコンが行方不明になる生活とはおさらばです。 壁にリモコンがつきました このSTLファイルはThingiverseにアップロードしてあります(Wall mounted Daikin AC remote…
コロナの影響もあり、この3年ほどで在宅勤務の会社さんが多くなった印象があります。 それに伴い、自宅のPC環境を改善した人って多いんじゃないでしょうか。 ご多分に漏れず私もPC環境改善を行いまして、下記のような環境が普段使いの環境になりました。 筆…
かなり時間が空いてしまいましたが、先月行われたPHPerKaigi 2022にて、「PHPerだってPHPから「OKグーグル」したい!」というタイトルで発表しました。 発表の内容としてはPHPからgRPCを使ってGoogle Assistant APIを叩くというものでした。プレゼンの最後に…
この3/26〜3/28にPHPerKaigi 2021 という勉強会があり、私は「PHP7から不変配列がOPcacheに乗るのでKVSを置き換えられるかもしれないという話」というタイトルで発表しました。 改めて見直してみると発表タイトルちょっと何言ってるか分からないですね。言い…
自宅のルーターの設定で、普段の通信はデフォルトゲートウェイを使いたいけど、一部のホスト名の通信だけはVPNトンネルインターフェースを使いたい、という状況がまれにあります。一般的なニーズではないと思いますが、少なくとも私にはそういうニーズがあり…
私はSlackの入力テキストに対応して外部コマンドを起動するbotをGoで自作しています。このbotに最近「&&」などUnixシェルの演算子を部分的に実装したのですが、その際go-shellwordsが便利だったという話を紹介します。 私の作っているSlack botの簡単な紹介 …
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python …
本エントリはMackerel Advent Calendar 2020の4日目の記事です。 私はRaspberry Pi 4を持っているのですが、ヒートシンクが熱々になって心配なので温度監視をする必要性を感じていました。今回Raspberry Pi用のSoC温度を取得するMackerelプラグインを作ってm…
さいきんRaspberry Pi 4を買ったんですが、Wi-Fiだけで運用したときにRaspberry Piへのアクセスがイマイチ不安定、ということがありました。ネットの情報を調べるとLinuxの無線ネットワークの「パワーマネジメントモード」をオフにすれば平和になるような話…
みなさん、自宅のネットワーク図って何のツールで書いてますか?私は過去に次のようなツイートをしたところ案外バズったことがありました。 「自宅のネットワーク図って何のツールで書いてます?」「それ自宅で必要?」 終 制作・著作 ━━━━━ ⓃⒽⓀ— hnw (@hnw)…
(2021/06/23追記: この記事を書いてしばらくして引っ越しました。原状復帰済みです。念のため。) 私は同じ賃貸住宅に10年ほど済んでいるのですが、ごく最近になって自宅内に備え付けのL2スイッチが存在することに気づきました。ソイツはなんとユニットバス…
PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 本稿ではPHP 7.0から入った定数配列に関する性能改善について紹…
みなさん、Slack使ってますか?会社で使ってる人も多いでしょうし、サークルやコミュニティで使っているような人も多いと思います。ここ数年で一気に広がった感じがありますよね。 そうやってSlackに慣れてくるとSlackにさまざまな情報を集約したくなってき…
プログラムから使うパスワードをどう保存するか 外部サービスにアクセスするプログラムを書く場合、そのサービスの認証方式は何か、認証鍵をどう保存するか、というのはシステム全体のセキュリティを考える上で重要な話題です。 昨今のWebサービスであれば、…
私は最近Node.jsで趣味のスクリプトを書いています。Node.jsであれば最新のECMAScriptの文法が使えるので、その意味で勉強になって良いですね。 また、何をするにしてもnpmで複数の選択肢が見つかること、それらのモジュールを簡単に試せること、といった点…
世界には色々なマニアがいるなーという話を紹介します。 先日Node.jsで使える祝日ライブラリを探していたところ、複数の国や地域の祝日に対応しているライブラリ date-holidays を見つけました。 commenthol/date-holidays: worldwide holidays このライブラ…
ECMAScriptの浮動小数点数の丸め関数である Number.prototype.toFixed() について調べてみたところ、浮動小数点数をわかっている人が作った硬派な仕様だと感じたので、解説してみます。 浮動小数点数の丸めの善し悪しについて 私はプログラミング言語の浮動…
直前の記事「Mac mini 2018を買っての感想」の通りですが、私は約3年ぶりにmacOSのマシンを買い換えまして、macOSのバージョンがEl CapitanからMojaveまで一気に3バージョン上がりました。 そこで悩んだのがキーボード配置変更ソフトです。それまでは Karabi…
新年明けましておめでとうございます。いきなり去年の話をします。 2018年12月に自宅にMac mini 2018を買いました。シルバーグレイのちょっとオシャレな奴です。 Apple Mac mini MRTR2J/A 同じ機種を買おうと思っている人の参考になれば、ということで感想文…
筆者の周囲だけかもしれませんが、さいきんGoogle App Engine Standard Environment(以下GAE/SE)が再注目されつつあるように思います。今回筆者もgVisorベースのGAE/SE PHP 7.2環境に触ってみたので、その内容を紹介します。 GAE/SEとは GAE/SEは元祖PaaS…
みなさん、Travis CI使ってますか?Trais CIはクラウドCIサービスの1つで、GitHub上で公開しているOSSを自動テストする目的であれば定番中の定番といっていいサービスです。ところで、さいきん私の公開しているプロジェクト「hnw/wsoui」で以下のことを実現…