もう一ヶ月ほど前になるのですが、yotio 個人の活動用のドメインとして新しく「yotio.jp」を取得しました。
つきましては、このブログも12月14日をもちまして、yotio.jp のサブドメインである「blog.yotio.jp」に移転します。
今回はそのお知らせです。
QEMU で Ubuntu Server を動かしたいとき、GUI が使える環境であればインストールメディアを指定すれば OK ですが、GUI が使えない(gtk が使えない、gtk initialization failed になるような環境)環境では少々面倒です。
今回は、QEMU/KVM 上で Ubuntu Server インストールメディアを CUI 環境で起動し、仮想ハードディスクにインストールするまでの過程をメモっておこうと思います。
本シリーズでは、LINE Messaging API を利用して手元のマシンから簡単にメッセージを送受信する方法についてまとめています。
LINE Messaging API #1 Rustで簡単なLINEメッセージ送信ツールを作る
自宅サーバ用にSSL/TLS証明書を発行した
LINE Messaging API #2 Rustとwebhookで簡単なLINE botを作る ← 今回
#1 では webhook は使わずに、自発的なプッシュメッセージとして LINE メッセージをコマンドラインから送信するツールを Rust で作成しました。
2番目の記事「自宅サーバ用にSSL/TLS証明書を発行した」では、今回作成する webhook サーバの前準備として、サーバの証明書を作成しました(LINE では、webhook は HTTPS 通信が前提となっています。まだサーバの証明書の作成をしていない方は、先に用意しておいてください)。
そして今回は、ついに webhook を利用して LINE bot サーバを Rust で作成していきます。最終的には bot に送られたメッセージに対して定型文を返したり、サーバに Linux コマンドを実行させたりします。
前回の記事では LINE Messaging API を利用して、コマンドラインからプッシュメッセージを送信するツールを作成しました。
LINE Messaging API #1 Rustで簡単なLINEメッセージ送信ツールを作る | 為せばnull
その発展形として Webhook を利用して bot サーバを作ろうとしたのですが、Webhook を利用するにはサーバの SSL/TLS 証明書が必要です。
Webhook送信元のSSL/TLS仕様 | LINE Developers
というわけで、今回は自宅サーバに向けて SSL/TLS を無料で発行する手順についてメモっておきます。
※ 今回は LINE Messaging API シリーズに関連しているといえばしているのですが、独立した話題になりますので別記事として書きました。
最近は修論で四六時中 実験を回しっぱなしの日々です。実験自体はスクリプトで自動化しているので放置しておけば良いのですが、数十回、数百回と繰り返し実行させるとなるとそれなりに時間を要します。
で、その実験の最中は別の作業をしたり、仮眠をとったり、散歩に出かけたり…と別の行動に出るのですが、モニタ画面から一旦離れることが多いので、実験が終わってからそれを確認するまでのタイムラグが生じてしまいます。
そこで、実験が終わったら LINE で自動で通知するために、コマンドラインから LINE メッセージを送信するツールを作成しました。
USB 接続のワンセグチューナードングルで PC でラジオを受信できる「RTL-SDR」の専用チューナーを購入したので、そのレビューをしたいと思います。
今回購入したのは「RTL-SDR Blog V4」。RTL-SDR の話題を中心に扱っているブログを運営する RTL-SDR Blog が販売しているチューナードングルになります。
前回の記事:RTL-SDR: ワンセグチューナーでラジオを受信してみよう
前回の記事では手元にあった安物のワンセグチューナーを使っていましたが、SMA 端子の接続端子が基板から外れてしまったため買い替えました。
先日の記事「GDBで関数の実行時間を計測する」の関連記事です。こちらの記事では xv6 におけるランタイムオーバーヘッド、すなわち実行時間を計測するために、QEMU + GDB の組み合わせで、任意のブレークポイント間の実行時間をミリ秒単位で取得していました。
今回も目的は同じですが、取り扱うのは別のアプローチです。「xv6 の ticks が時間計測単位として粒度が粗すぎるなら、より細かい CPU クロックサイクル数を取得してしまおう」というお話になります。クロックサイクル数ですので、単位は cycles になります。
先日、コマンドライン上で DeepL API を利用できるツール&ライブラリである「dptran」の v2.1.0 を公開しました。
dptran - crates.io: Rust Package Registry
近頃、開発日記的なものを一切書いていなかったので、たまには書いこうかなと思います。
C 言語などで利用できる GNU デバッガツールである GDB では、関数呼び出しの履歴を backtrace で確認したり、ブレークポイントを置いて任意の位置で実行を止めたり、その時その時の変数やレジスタの状態などを確認できます。非常に便利なツールなのですが、GDB には関数単位やブレークポイント単位でのプログラムの実行時間の計測機能は調べた限り存在しません。
そこで今回は、GDB でむりやりプログラムの実行時間を計測してみた、という趣旨の話になります。
自宅の外から遠隔でWindowsマシンの電源をオンオフできるようにしたときの記録です。