ぶていのログでぶログ

思い出したが吉日

Neighbor Discovery Protocol(NDP)を受け取ってBIRDの設定ファイルを生成するndppを作った

BIRDとNDPを使ってBGP Unnumbered構成を行うためにndppというのを作った。 作ったと書いたが実は5月くらいにはできていて、いまさらブログで書いている…。 github.com 動機 GoBGP*1とFRRouting*2ではBGP Unnumberedがサポートされているようなのだが、BIRDで…

mruby-rapidyamlを作った

rfコマンドv1.23.0をリリースしたで書いた通りmruby-rapidyamlを作ったのでそれの紹介記事。 github.com rapidyamlとは? github.com rapidyaml(またはryml)は名前のとおり高速性を謳ったYAMLパーサーである。 rapidyamlのREADMEにはyaml-cppとの速度比較が…

rfコマンドv1.23.0をリリースした

前回の記事はこちら。 前回に続いてついにYAMLの色つけ出力に対応した!やったぜ。 また、JSONの色つけ出力も改善し、階層ごとにObject(HASH)のキーの色を変えるようにした。 これで視認性が上がるはず。 以下、変更点の詳細 Features Fix CI error on maco…

rfコマンドv1.22.0 / mruby-yyjson v1.5.0をリリースした

前回の記事はこちら。 前回のアップデートからrfコマンドはv1.21.0からv1.22.0に、mruby-yyjsonはv1.2.0からv1.5.0になった。 このアップデートで念願のjson出力時の色付けに対応した!やったぜ! jsonの色付け対応に併せてminify(-mオプション)にも対応して…

mruby-test-stubを作った

mruby-yyjsonのテストコードを書くために、一部stubしたい部分ができた。 mruby-mtestにはstubする機能なく、mgem-listにもなさそうなので作った。 作ったと言ってもほとんどminitestのポーティングみたいな感じでスッと作れてよかった。 使い方 mrgem.rake…

awkでmrubyを実行できるようにした(?)

GNU awk(以下awk)のDynamic Extension機能を使って、awkの内部でmrubyを実行できるようにしてみた! 上記の画像のように、mruby.soをローカルにダウンロードし、-l./mruby.soオプションを付与するとmruby_eval関数が使えるようになる。 mruby.soはリポジトリ…

rf v1.21.0 / mruby-yyjson v1.2.0をリリースした

前回の記事はこちら。 先日リリースしたmruby-yyjsonにいくつか機能追加と不具合の修正したv1.2.0をリリースした。 それに伴ってrfで利用しているmruby-yyjsonのバージョンも上げ、v1.21.0にした。 Features Update mruby-yyjson by @buty4649 in https://g…

rfコマンドv1.20.0をリリースした

前回の更新はこちら。 昨日の記事で書いたmruby-yysjonを早速組み込んだのと、ちょっとした不具合の修正をした。 前回からの記事の変更点 Use mruby-yyjson instead of mruby-json by @buty4649 in https://github.com/buty4649/rf/pull/205 fix: bug: file …

mruby-yyjsonを作った

前記事に続いてmrubyネタ yyjsonという高速でC言語から扱えるJSONライブラリがある。 github.com mattn.kaoriya.net これをmrubyから使えるようにしたmruby-yyjsonを作った github.com きっかけ rfではmruby-jsonを使っている。 mruby-jsonの処理速度に不満…

mruby-commit-idを作った

github.com かなりニッチだが、使用しているmrubyのコミットIDを示すグローバル定数としてMRUBY_COMMIT_IDとMRUBY_COMMIT_ID_SHORTを追加するmruby-commit-idを作った。 mrubyは日々開発が進められていてmruby-3.3.0の頃と今のmasterではbug fixされていたり…

rfコマンドv1.18.1をリリースした / rfコマンドハンドブックの公開

久しぶりの更新。前回の更新はこちら。 今回のアップデートは機能の追加とかではなくmrubyのアップデートのみ。 mrubyで以下のPRがマージされたのでアップデートしたという感じ。 Fixed Binding#eval that failed to assign to the same variable by dearblu…

NGINXのリクエストの処理はserver_nameよりlistenが優先される

NGINXを使って運用しているWebサーバで、設定を変更したあとに動作検証として curl --resolve example.com:80:127.0.0.1 http://example.com みたいにlocalhostへのリクエストを行ったら、意図しない挙動をしてハマったのでメモ。 タイトル通りなのだけど、 …

今時点でUbuntu 22.04から24.04へdo-release-upgradeするためのmeta-releaseをつくった

[!CAUTION] Ubuntu 24.04.1がリリースされて1ヶ月経ったのでこの記事で紹介しているmeta-releaseは削除しました。 Ubuntu 24.04 LTSリリースめでたい discourse.ubuntu.com gihyo.jp 早速Ubuntu 22.04からdo-release-upgradeして24.04にしようとしたら新し…

WSLでリモートのLXDで起動したVMのデスクトップを表示する

今月のニッチネタ。 タイトルの通り手元のWSLからリモートのLXDのデスクトップの画面を表示したい。 LXDというのはCanonical社が出しているコンテナと仮想マシンを管理するソフトウェアである。 lxd-ja.readthedocs.io 結論から書くと * sshするユーザをlxd…

はてなブログのMarkdown記法で警告記法(アラート記法)を入れてみた

GitHubに追加された警告記法が便利だったので実装してみた。 ↓こんな感じ > [!NOTE] > Highlights information that users should take into account, even when skimming. --- > [!TIP] > Optional information to help a user be more successful. --- > […