ククログ
【告知】2026-02-13(金)(平日)にOSS Gateワークショップを東京でオフライン開催! #oss_gate
OSS開発に参加する人を継続的に増やしていくプロジェクトOSS Gateをやっている須藤です。2026-02-13(金)にOSS Gateワークショップを東京でオフライン開催することになったのでそのお知らせです!
WindowsでFirefoxのビルド手順(2026年版)
メンテナンス可能なfat gemエコシステム案
fat gemはやめた方がよいと思っている須藤です。やめた方がよいとは思っているのですが、どうやらfat gemが欲しい人はいなくならなそうなので、メンテナンス可能なfat gemエコシステム案を考えています。
なお、この文章を書いているのは https://github.com/ruby/rubygems/issues に英語で提案するために考えを整理したいからです。整理したら英語で提案します。
RailsTokyo#2【sponsored by 株式会社タイミー】 - Active Record ADBC adapter #railstokyo_meetup
RailsTokyo#2【sponsored by 株式会社タイミー】でActive Record ADBC adapterを紹介しつつRailsアプリで活用できそうかどうかを聞いてきた須藤です。
RailwayでPGroongaを手軽にデプロイする方法
RailwayでPGroongaのテンプレートを公開した児玉です。
この記事では、まずRailwayについて簡単に紹介し、その後PGroongaテンプレートの使い方を説明します。最後に実際の利用例として、Redmine全文検索プラグインを利用したRedmineをRailway上で動かすデモを用意しました。
LTS版 Fluent Package v5.0.9をリリース
2025年12月19日にLTS版 Fluent Package v5.0.9をリリースしました。 Fluent Package v5 LTSは2025年末までのサポートを予定しており、 Fluent Package v5.0.9はv5 LTSの最後のバージョンとなります。
本記事では、Fluent Package v5.0.9の変更内容を紹介します。
PGroongaで踊り字の有無を無視して検索する方法
PostgreSQLで高速に全文検索するための拡張PGroongaの開発をしている堀本です。
突然ですが、日本語には踊り字というものがあります。 久々の"々"とか、こゝろの"ゝ"とか、前の文字を繰り返す記号のことです。 現代の文書でも見かけますが、古い文書でも多用されています。
「久々」は、「久々」と検索しそうですが、「こゝろ」は「こころ」で検索したくなります。 このような表記ゆれを統一して検索したいというのは、よくある問題です。
最近よく聞くセマンティックサーチもこの問題を解決するための一つの手段ですが、正規化するというのも一つの解決手段です。
少し前にGroonga(PGroongaのバックエンドで動いている全文検索エンジン)に踊り字を正規化する機能を追加したので、PGroongaでそれを使う方法を紹介します。
Mroonga 15.21 リリース!
MySQL, MariaDB, Percona Serverで高速に全文検索するためのストレージエンジンMroongaのメンテナンスをしている堀本です。
Mroonga 15.21をリリースしました! 直近のリリースが2025-09-30なので、2ヶ月ぶりのリリースです。
今回のリリースでは、Debian 13とMariaDB 11.8を新たにサポートしました。 Debian 13は2025-08-09に、MariaDB 11.8は2025-06-08にリリースされました。 Debian 13は数ヶ月、MariaDB 11.8に至ってはサポートに半年かかってしまいました。。。
がんばってサポートしたので、この記事では、Debian 13とMariaDB 11.8のサポートに時間がかかった理由を紹介しようと思います。
Red FlatBuffers:IO::Bufferを使ったpure Ruby FlatBuffers処理系
これはRuby/Rails Advent Calendar 2025の9日目の記事です。
Red Data Toolsをやっている須藤です。pure RubyでApache Arrowの実装を作ることにしたのですが、Apache Arrowの実装に必要なFlatBuffersがRubyをサポートしていなかったのでそこから作っています。
FlatBuffersはパースなしでデータにアクセスできるシリアライゼーションフォーマットです。たとえば、"[10, "hello", true]"というようにJSONにシリアライズした場合は、文字列の"10"をパースして数値の10にしないとデータを使うことはできませんが、FlatBuffersではそんなことをしなくてもデータを使うことができるということです。
FlatBuffersを使う場合は、まずスキーマを定義して、そのスキーマから各種プログラミング言語のソースコードを生成します。その生成されたソースコードを使うと、対象のスキーマ向けにシリアライズされたFlatBuffersデータにアクセスできます。
ソースコードを生成するプログラムはC++で実装されているので、Rubyのソースコードを生成するモジュールをC++で実装したのですが、レビューもマージもされなそうな気がするので、pure RubyでFlatBuffersの処理系(FlatBuffersのスキーマからそれを処理するRubyのソースコードを出力するプログラム)を作ることにしました。
それがRed FlatBuffersです。Red FlatBuffersはとみたさんが紹介していたIO::Bufferを使っているので、どう使っているのかを紹介します。
ちなみに、Red FlatBuffersを作り始める直前くらいにFlatBuffers「も」処理できるUnibufが公開されていましたが、StringIO#readしてからString#unpack1するとか無駄なコピーをしていそうだったのでRed FlatBuffersを作ることにしました。
YoctoレシピをISAR向けに移植するときにはまらないためのヒント
組み込みLinuxでは、ターゲットとなるOSをビルドするためのYoctoレシピが提供されていることがあります。 そのような事例では、広く公開されているレシピをベースに、企業が独自に追加の修正を施したレシピを適用する ということが行われたりします。
今回は、そのようなYoctoのレシピをISAR向けに移植することになったときにはまらないためのヒントをいくつか紹介します。 (Yoctoレシピにはある程度慣れているが、Debianパッケージにはあまり慣れていない人が対象です。)