ククログ
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パッケージにはあまり慣れていない人が対象です。)
AOSPエミュレーターイメージのカスタマイズ
弊社では組み込みLinux機器向けのソフトウェア開発案件を承っておりますが、その一環でAOSP(Android Open Source Project)のカスタマイズについても実績があります。
今回は、社内向け備忘録の意味も込めて、AOSPエミュレーターイメージのカスタマイズ方法について説明します。
PostgreSQL Conference Japan 2025:PostgreSQLでのセマンティックサーチへの挑戦 #pgcon25j
PostgreSQL Conference Japan 2025に参加して、「PostgreSQLでのセマンティックサーチへの挑戦」というタイトルで発表をした堀本と阿部です。
スライドを公開しましたが、補足・解説テキストを追加した記事も残します。
須藤、空いています
須藤です。Ruby関連の開発をしたり、Groonga関連の開発をしたり、Apache Arrow関連の開発をしたりしています。
この3年くらいApache Arrowの開発がメインの業務でしたが、いろいろあって7割くらいなくなりました。お仕事のネタがないわけではないのでなにかしらでなくなった分を埋めることはできるのですが、せっかくの機会なのでどんなことをできる可能性があるのかを検討したいと思っています。
ということで、私となにか一緒にお仕事をしたい人からの連絡を待っています!たぶん、数ヶ月くらいでだいぶ埋まると思うので、興味のある人は来年の1月一杯くらいまでに連絡をしてもらえるとうれしいです。
CloudNative Days Winter 2025で「クラウドネイティブ時代に進化し続けるFluentd」の発表を行いました! #CNDW2025
こんにちは。Fluentdのメンテナーの福田です。
2025年11月18日,19日に開催されたCloudNative Days Winter 2025にて、クラウドネイティブ時代に進化し続けるFluentdというタイトルで、弊社の藤田と一緒に発表を行いました。
当日の発表内容を改めて紹介します。
Thunderbird版FlexConfirmMailユーザーの皆さまへのご案内:「自動更新あり」の状態を維持するための移行ガイド
結城です。
当社のメール誤送信対策製品「FlexConfirmMail」のThunderbirdアドオン版を従来から使用している方は、自動更新によって提供された最新バージョンとして4.2.5をお使いかと思います。現在、このFlexConfirmMailの不具合を修正し新機能を追加した新バージョンとして4.2.8が公開されていますが、従来からFlexConfirmMailをお使いの方の環境では、このバージョンは自動更新では反映されません。今後もFlexConfirmMailをThunderbirdでお使い頂く場合は、FlexConfirmMailの再インストールと設定の引き継ぎが必要となります。
本記事では、FlexConfirmMailの再インストールおよび設定の引き継ぎが必要となっている背景事情を説明し、実際の引き継ぎ手順を説明します。
RubyWorld Conference 2025 - Ruby Prize 2025最終ノミネート者
Ruby Prize 2025で最終ノミネート者に選んでもらった須藤です。RubyWorld Conference 2025内で表彰式があったので参加しました。