メンテナンス可能なfat gemエコシステム案

fat gemはやめた方がよいと思っている須藤です。やめた方がよいとは思っているのですが、どうやらfat gemが欲しい人はいなくならなそうなので、メンテナンス可能なfat gemエコシステム案を考えています。

なお、この文章を書いているのは https://github.com/ruby/rubygems/issues に英語で提案するために考えを整理したいからです。整理したら英語で提案します。

もっと読む

WindowsでFirefoxのビルド手順(2026年版)

結城です。

このブログではこれまで、2015年2017年にWindowsでのFirefoxの独自ビルドの作成方法をご紹介しました。

本稿執筆時点では、既定のバージョン管理システムがMercurialからGitに移行していたり、MozillaBuildやブートストラップスクリプトによる自動初期化の仕組みが進歩していたりして、また状況が変わっています。 この記事では、2026年1月現在においてWindows用のNightlyおよびFirefox ESR140の独自ビルドを作成する手順をご紹介します。

もっと読む

【告知】2026-02-13(金)(平日)にOSS Gateワークショップを東京でオフライン開催! #oss_gate

OSS開発に参加する人を継続的に増やしていくプロジェクトOSS Gateをやっている須藤です。2026-02-13(金)にOSS Gateワークショップを東京でオフライン開催することになったのでそのお知らせです!

もっと読む

OpenArmをROS2でシミュレーションしてみる

ソフトウェアエンジニアの阿部です。

最近、OpenArmというハードウェアに触る機会があったので、それに関連する記事です。 OpenArmはロボットアームです。公式サイトに動画もあるのでご覧いただければどのようなモノかすぐにわかると思います。

実物が手元にあっていろいろいじれるととても楽しいと思うのですが、今のところ実物が手元にないのでROS2というものでシミュレーションしてOpenArmに触れあってみた記録です。

もっと読む

Firefoxの不具合の報告の手順(2026年版)

結城です。

Firefoxを開発しているMozillaプロジェクトでは、ソースコードのバージョン管理システムをMercurialからGitに移行し、GitHubでホスティングしていく方針が2023年に示されました。 その後、実際に移行が進んで、本稿執筆時点(2026年1月)ではソースコードの入手はGitHubのリポジトリーから行うのが規定となっています。 その一方で、不具合報告の受け付け・管理のためのイシュートラッカーとしては、GitHubのイシュートラッカーではなく、Mozillaプロジェクト専用のイシュートラッカーであるbugzilla.mozilla.org(以下、BMO)が依然使われています1

このブログでは、Firefoxの不具合を修正したり新機能を追加したりといったコントリビューションを行う際のパッチの作り方を2018年に紹介しましたが、当時の記事は既に誰かによって報告された不具合へのパッチ提出が前提で、自分が見つけた不具合を報告する場面の説明は含まれていませんでした。 パッチ提出の流れには当時と比べ変化があったため、その点を紹介する記事を執筆したいのですが、まずはその前段階として、この記事では具体的な事例を参照しつつ、BMOを用いたFirefoxの不具合報告の仕方をご紹介します。

  1. 「Bugzilla」はイシュートラッカーのソフトウェア自体の名称です。Bugzillaはそれ自体がオープンソースのソフトウェアで、独立したプロジェクトとして開発されており、Mozilla以外のプロジェクトでも採用されている事例があります。bugzilla.mozilla.orgは、Mozilla自身が運用しているBugzillaのインスタンスの一つということになります。

もっと読む

Firefoxの不具合の原因調査と修正への取り組みの事例紹介

結城です。

このブログでは過去何度か、FirefoxやThunderbirdの不具合の原因調査や修正の事例をご紹介してきました。 ですが、原因の見つけ方や修正方針の検討の詳細な所はあまり言語化してきていなかったように思われます。

この記事では、Firefoxへの不具合報告の仕方の解説の続編として、Firefoxを使用していて遭遇した不具合の原因を特定し、経緯や事情を調査して適切な修正内容をまとめる所までの詳細な流れをご紹介します。

もっと読む

Phabricatorを使ったFirefoxへのパッチ提供の手順(2026年版)

結城です。

このブログでは2018年に、Firefoxの不具合を修正したり新機能を追加したりといったコントリビューションを行う際のパッチの作り方と、Phabricatorというツールを使ってコードレビューを受ける手順を紹介しました。

2026年現在では、既定のバージョン管理システムがMercurialからGitに移行した他、Phabricatorを使うためのツールのインストール手順が簡素化され、Firefoxへパッチを提供するためのハードルが以前よりも低くなっています。 この記事では、Firefoxへの不具合報告の仕方の解説不具合の原因調査および修正の仕方の解説に続くシリーズ完結編として、2026年の状況に基づいてFirefoxに不具合を修正するパッチを提供する手順をご紹介します。

もっと読む

Groongaが落ちた!復旧したい!そんなときに役立つツール

Groongaが予期せぬ理由で落ちた理由を調査中の阿部です。

通常の終了処理で終了すると問題は起きないのですが、突然の停電などでGroongaサーバーが落ちると、Groongaのデータが壊れる場合があります。

壊れた場合は復旧する必要があります。そんなときに役立つツールを紹介します。

もっと読む

提供しているコンテナイメージに関する脆弱性を簡単に確認できるようにする方法

クリアコードではログデータ収集ソフトウェアの1つであるFluentdの継続的な開発に参加しています。 Fluentdのコンテナイメージやエンタープライズにおける長期運用に適したLTS版のパッケージ(Fluent Package)を提供しているのもその成果の1つです。

本記事では、コンテナイメージの脆弱性の有無をGitHub Actionsを活用して簡単に確認できるようにする方法について紹介します。

もっと読む

2026年のGroongaメジャーリリース!

Groongaの開発とサポートをしている堀本です。今年も年に一度の肉の日(2月9日のこと)が来ました。 例年通り、Groongaをメジャーバージョンアップしたので、この一年でどのくらいGroongaがよくなったかを紹介します!

メジャーバージョンアップなのですが、特に非互換の変更を入れていないので、いつもどおり既存のデータベースを移行せずにGroongaをアップグレードできます。

もっと読む

Fluentd v1.19.2 をリリース

2026年2月13日にFluentdの最新版となるv1.19.2をリリースしました。

v1.19系のメンテナンスリリースとなっており、fluent-package の次期LTS版である v6.0.2に同梱される予定です。

本記事では、公式サイトで公開している情報を日本語で解説します。

もっと読む

OSS Gateワークショップを東京でオフライン開催しました! #oss_gate

OSS開発に参加する人を継続的に増やしていくプロジェクトOSS Gateをやっている須藤です。2026-02-13(金)にOSS Gateワークショップを東京でオフライン開催しました!会場はオプティムさんが提供してくれました!懇親会ではオプティムさんが作っているスマート米を無料で提供してもらいました。カレーライスにして食べました。おいしかったです!お米がおいしすぎてカレーの方が余ってしまいました。

もっと読む

RubyKaigi 2026のコード懇親会でのテーマを募集中! #rubykaigi #codeparty

RubyKaigi 2026の2日目の夜にアンドパッドさんが開催するコード懇親会のお手伝いをする須藤です。

去年に引き続き、今年もアンドパッドさんがコード懇親会を開催してくれる予定です。去年はいくつかのテーマを事前に用意してみたのですが、よさそうな感じだったので今年も事前にテーマを用意する予定です。今年は、運営側が用意したテーマだけではなく、参加予定者から公募したテーマも1つか2つ混ぜてどうなるか試してみたいです。ということで、この記事はそのお知らせです。

もっと読む

LTS版 Fluent Package v6.0.2をリリース

2026年2月27日にLTS版 Fluent Package v6.0.2をリリースしました。

本記事では、Fluent Package v6.0.2の変更内容を紹介します。

もっと読む

Webアプリ型業務システムで、手詰まりになった問題をEdge拡張機能とUIオートメーションの合わせ技で解決した事例

結城です。

当社が受託開発を行う際には、なるべく「筋が良い」設計でソフトウェアを実装したり、仕様に問題がある場合は「筋が良い」仕様になるようご提案したりといった要領で、可能な限り技術的に「筋が良い」解決方法を取るように努めています。 技術的な制約によって理想的な解決の仕方ができない場合でも、当社では様々な可能性を探り、ご相談を頂いた時点では想定されていなかった方法で問題を解決します。

本記事で取り扱うEdge拡張機能の開発事例も、その一つです。 本事例では、「Webブラウザー・Edgeの仕様にない挙動を実現したい」という、通常であれば技術的に不可能と思われるご要望を、その背景にあった事情まで遡ってヒアリングして、無事解決まで導くことができました。 この記事では、当社が本事例でどのように問題を解きほぐして解決したのかをご紹介したいと思います。

もっと読む

OutlookのOfficeアドイン版アドインの開発

Outlookのアドインの開発をしている橋田です。

クリアコードではTypicalReplyという、以下のような機能を提供するOutlookアドインを提供しています。

  • 受信したメールに定型の内容の返信メールを作成するボタンを追加する
    • 例: 「通報」ボタンを押すと以下の内容の返信メールを作成する
      • 件名: 迷惑メールの通報
      • 宛先: 社内のシステム管理部門
      • 元のメールを添付
  • ボタンの設定を組織単位で集中管理する

TypicalReplyはVSTOというフレームワーク上で開発されていました。VSTOアドインはクラシックOutlookでのみ動作し、新しいOutlookでは動作しません。 今回、お客様から新しいOutlookでもTypicalReplyを使用したいという要望を頂き、新しいOutlookでも動作するTypicalReplyを新規開発しました。 新しいOutlookで動作するアドインを作成するためには、Officeアドインプラットフォームでアドインを作成する必要があります。

今回は、この開発事例を元に、OfficeアドインでのOutlookのアドイン開発の流れを紹介します。

もっと読む

Rerun(rerun.io)を試してみたよ!時系列データがいい感じに可視化できるよ!

RRDといえばRRDtoolの阿部です。 最初に使ったときはMRTGよりきれいで感動したものです。

そして、今回もRRDなるものが登場しますが、RRDtoolとは無関係です。

今回のRRDはRerunというプラットフォームに関係するものです。 RerunはPhysical AI(ロボットとか)のデータをいい感じに記録して、いい感じに可視化するプラットフォームです。

そこで使われるファイルのフォーマットがRRDと呼ばれています。

Rerunとは?あたりの説明から入り、RRDファイルを作成し、可視化をして、Rerunを試してみるのが本記事です。

もっと読む

WindowsのUIオートメーションツールの使用方法の紹介(プロキシーの認証情報の自動入力ツールの事例)

Windows環境で開発をしている橋田です。

パスワード付きのプロキシーを設定していると、ネットワークアクセスの際にプロキシーの認証情報(ユーザー名/パスワード)を求められます。 Microsoft EdgeとGoogle Chromeを利用しているお客様から、ブラウザ使用中にプロキシーの認証情報入力ダイアログが表示された際に、認証情報を自動で入力したいという要望をいただきました。今回、この要望に応えるため、WindowsのUIオートメーションツールを使用して、Microsoft EdgeとGoogle Chromeのプロキシーの認証情報入力ダイアログに認証情報を自動で入力するツールを開発しました。

開発したツールはProxyDialogAutoFillerという名前でOSSとして公開しています。

この開発事例を元に、WindowsのUIオートメーションツールの基本的な使い方を紹介します。

もっと読む

RubyKaigi 2026 2日目にアンドパッドさんとコード懇親会を開催するよ! #rubykaigi #codeparty

RubyKaigi 2026の2日目の夜にアンドパッドさんが開催するコード懇親会のお手伝いをする須藤です。

2026年4月6日の10:00から参加登録できるので、「コードで懇親?楽しそう!」と思うRubyKaigi 2026参加者は登録してね。

もっと読む

Fluentd公式サイトをより継続的なメンテナンスしやすいしくみへ - HerokuからNetlifyという決断

Fluentdの公式サイトは www.fluentd.org ですが、 2026年2月20日にそれまでサイトをホスティングしていたHerokuから、Netlifyへと移行しました。

サイトのコンテンツの見栄えにほぼ影響ないように作業をすすめたので、移転していることに気づかなかった人も多いと思います。 今回は移行の背景等を記録として紹介します。

もっと読む

LTS版 Fluent Package v6.0.3をリリース

2026年3月27日にLTS版 Fluent Package v6.0.3をリリースしました。

本記事では、Fluent Package v6.0.3の変更内容を紹介します。

もっと読む

事前情報:RubyKaigi 2026 - Pure Ruby Apache Arrow reader/writer #rubykaigi

RubyKaigi 2026Pure Ruby Apache Arrow reader/writerという話をする須藤です。RubyKaigi 2026での私の話をより理解できるようになるために簡単に内容を紹介します。

なお、クリアコードはシルバースポンサーとしてRubyKaigi 2026を応援しています。

また、アンドパッドさんが開催するコード懇親会のお手伝いもします。

もっと読む

RubyKaigi 2026 - Pure Ruby Apache Arrow reader/writer #rubykaigi

RubyKaigi 2026Pure Ruby Apache Arrow reader/writerという話をした須藤です。

なお、クリアコードはシルバースポンサーとしてRubyKaigi 2026を応援しました。

また、アンドパッドさんが開催するコード懇親会のお手伝いもしました。

もっと読む

WebExtensionsでの裏技的な「スクリプトを後から注入」用法が使えなくなった件

結城です。

Firefox 149での開発者向けの変更点情報に記載されたトピックの1つに、拡張機能内のリソース(URLがmoz-extension://~となる物)を読み込んだタブへのスクリプトの動的な注入操作の廃止があります。 この変更は現在は開発版でのみ有効化されており、Firefox 152以降でリリース版でも有効化される旨が決定しています。 今のところは隠し設定を切り替えれば従来の動作に戻せます1が、いずれはこの隠し設定も廃止されて、拡張機能内のリソースに対してはスクリプトの動的な注入操作が恒久的に不可能になるはずです。

筆者が開発している拡張機能「Tree Style Tab(TST)」や、そこで使用しているライブラリーを共用している当社製の他の拡張機能でも、一部の機能が動かなくなる影響が出ていたため、この2ヵ月ほどの間に対応のための改修を行いました。 この記事では、「そもそも、それらの拡張機能ではなぜスクリプトの動的な注入を行っていたのか」「なぜスクリプトの動的な注入が禁止されるようになったのか」「変化に拡張機能側でどのように対応したのか」を解説します。

  1. extensions.webextensions.allow_executeScript_in_moz_extensionabout:configなどを用いてtrueに変更します。

もっと読む

Thunderbirdが同じメールを何度も再ダウンロードしてストレージ容量を使い潰すトラブル事例

結城です。

先だって、当社のThunderbirdサポートにおいてお客様から以下のようなお問い合わせを頂きました。

  • Thunderbird 140.5.0ESRが複数のメールフォルダーについて、ダウンロード済みであるはずのメールを、毎日再ダウンロードする。その結果、ローカルのプロファイルフォルダーのサイズが1日あたり1~2GBずつ増加し、ハードディスクの空き容量が逼迫している。
  • 現象は特定のユーザーでのみ発生している。
  • Thunderbirdのプロファイルを再作成して全メールを受信完了させた後でも、現象は引き続き発生する。
  • メールサーバー側には特にエラーログは記録されていない。

本稿執筆時点でも完全解決には至っていませんが、お客様のご協力を頂いての調査の結果、原因の一端と回避方法は判明しました。 今回は、同様のトラブルでお悩みの方の参考になるよう、本件について現時点で分かっていることをご紹介します。

もっと読む

クリアコード20周年記念Meatupを7月29日に開催するよ! #cc20th

クリアコードの代表取締役の須藤です。

前職の仲間たちと一緒に立ち上げたクリアコードが今年の7月25日に設立20周年を迎えます。それを記念して20周年記念イベントを開催します!

そんなクリアコードをお祝いしてくれるクリアコードファン(自称)のみなさんはぜひイベントにもお越しください!

  • イベントページ: Connpass
  • 場所:さくらインターネットさんの東京支社のイベントスペース(新宿)
  • 開始日時:2026年7月29日(水)19:00

さくらインターネットさん、会場提供ありがとうございます!clear-code.comの各種サーバーはさくらのVPSを使っています!

どうして29日なのかやMeatupはtypo?とか仲間たちと立ち上げ?とか気になった人は世界の先駆者!?に聞いたOSS「肉の日リリース」の話を読んでみてください。

もっと読む

OSS Gate 10周年記念カンファレンスを10月3日に開催するよ! #oss_gate

OSS Gateの立ち上げメンバーの一人の須藤です。

気づいていなかったのですが、2025年12月15日でOSS Gate立ち上げ10周年を迎えていました。OSS Gateの立ち上げイベントを2015年12月15日に開催していたのです。ちなみに、広瀬さんと南さんと3人でOSS Gateを立ち上げちゃう?という話をしていたのが2015年の10月でその後にOSS開発に参加する人を増やす取り組み「OSS Gate」を開始を書きました。

お祝いするタイミングを逃したと思っていたのですが、11周年を迎えるまでは10周年ということを教えてもらったので、11周年を迎える前に10周年イベントを開催します!

日時は2026年10月3日(土)の13:30からで、場所は東京のアンドパッドさん(広瀬さんの現職)のオフィスで、イベント名は「OSS Gate Pass 2026」です!これまでの10年のOSS Gateの活動のおかげでなにかしらよいことがあった!ということを共有するイベントにしたいです。そんなエピソードを話してくれる・聞きたいという方はぜひイベントページから登録してください!OSS Gateをやってきてよかった、これからもやっていこうという気持ちになれるような時間にしたいです。

もっと読む

【告知】2026-08-05(水)にRubyエコシステム開発入門ワークショップを開催! #oss_gate

Ruby関連の開発に参加する人が増えるといいなぁと思っている須藤です。2026-08-05(水)の日中にRubyアソシエーションさんRubyエコシステム開発入門ワークショップを開催します。

このワークショップはRuby本体やRubyGemsの開発に参加してみたいけど敷居が高そう・どこからはじめればよいかわからないなどといった理由で最初の一歩を踏み出せていない人たちをサポートするワークショップです。RubyKaigiのようなカンファレンスや各種Rubyコミュニティなどに参加すると、使うだけではなく開発にも参加したくなるものですが、このワークショップに参加するとそういった人たちが実際に行動に移せるようになるはずです!

自分がそのような人の場合は、ぜひ参加してみてください!まわりにそのような人がいる場合はこのワークショップを教えてあげてください!なお、平日の日中の開催なので、もしかしたら都合の調整が必要かもしれません。興味のある方は早めに調整したほうがよいかもしれません。

また、そのような最初の一歩を踏み出す人たちをサポートしてくれる「経験者」のみなさんの参加も募集しています!「経験」は一度でもバグレポートを出したりパッチを送ったりしたことがあれば十分です。どのようにサポートをすればよいかもワークショップ内ですべて説明するので事前準備も必要ありません。サポートする人が多いほどより多くの最初の一歩を踏み出す人たちを受け入れることができるので、協力よろしくおねがいします!

もっと読む

クリアコード年表公開! #cc20th

イベント準備をしている吉本です。

以前ククログで予告していた、クリアコード20周年記念Meatupのイベントコンテンツの一つ「クリアコード年表」システムを公開しました!

https://20th.clear-code.com/

もっと読む

Redmineで欲しい情報を見つける、そしてAIに賢く答えてもらおう

Redmineが20周年だそうです。おめでとうございます。 あとクリアコードが20周年だそうです。 そして私も社会人20周年っぽいです。阿部です。

REDMINE JAPAN vol.5で「Redmineで欲しい情報を見つける、そしてAIに賢く答えてもらおう」というタイトルで発表予定です。 スライドも公開しますが、発表用のスライドのため十分な説明が記載されていないので、解説テキストを追加したブログ記事も残します。

もっと読む

Fluentdにおける yajl-ruby から json への移行

Fluentdでは、JSONデータのパースにおいて、長らく yajl-ruby gem に依存してきました。 しかし、よりモダンで標準的な環境への移行を目指し、標準ライブラリである json gem への置き換えを進めています。 Fluentd v1.19.0 リリース時に当時対応可能な箇所は移行しましたが、ストリーミングで送られてくるJSONデータのパースにおいて yajl-ruby gem の依存を消せずにいました。 しかし、最新の json gem にストリーミング処理を可能にする JSON::ResumableParser が導入されることで、ついに完全移行への道が開かれました。

本記事では、この移行の過程で直面した技術的な課題と、RubyのC拡張におけるディープなバグの発見、そしてアップストリームへの還元について解説します。

もっと読む

Cloudflare Workers 実践ガイド 〜エッジで実現するWebアプリケーションの設計・実装・運用⁠〜

Cloudflare Workersを使っていない須藤です。著者の1人であるちまめさんにCloudflare Workers 実践ガイド 〜エッジで実現するWebアプリケーションの設計・実装・運用⁠〜をもらったのでCloudflare Workersを勉強してみました!

もっと読む

ただのログ収集じゃない!クリアコード年表アプリを支えるFluentd + eBPF活用術 #cc20th

こんにちは、Fluentdチームの藤田です。

先日、アナウンスがあった通り クリアコード20周年記念Meatupに向けた「クリアコード年表」システムを公開しました。

https://20th.clear-code.com/

さて、今回の記事では少し趣向を変えて、この年表アプリの裏側で稼働しているインフラと監視の仕組みについて紹介したいと思います!

もっと読む

Fluentd v1.19.3をリリース

2026年6月25日にFluentdの最新版となるv1.19.3をリリースしました。

v1.19系のメンテナンスリリースとなっており、fluent-package LTS版のv6.0.4に同梱されています。

本記事では、公式サイトで公開している情報を日本語で解説します。

情報セキュリティ早期警戒パートナーシップガイドラインに基づき、Fluent Packageにおける複数の脆弱性としてFluentdの脆弱性を公表・修正しています。

もっと読む

LTS版 Fluent Package v6.0.4をリリース

2026年6月26日にLTS版 Fluent Package v6.0.4をリリースしました。

本記事では、Fluent Package v6.0.4の変更内容を紹介します。

情報セキュリティ早期警戒パートナーシップガイドラインに基づき、Fluent Packageにおける複数の脆弱性として同梱されるFluentdの脆弱性を公表・修正しています。

もっと読む