ククログ
https://www.clear-code.com/blog/
ククログはクリアコードのブログです。開発に関わる技術情報や、会社での出来事を記録しています。
フィード

Thunderbird 128.11以降でファイル共有サーバー上のemlファイルを開けない問題の回避方法とその背景
1

ククログ
当社の法人向けThunderbirdサポートサービスにおいて、「ファイル共有サーバー上に置かれたemlファイル1をThunderbirdで閲覧しようとした場合に本文が表示されない」というトラブルのお問い合わせを頂きました。お客様によると、この問題はThunderbird 128.10.1で発生し、128.10.2で一度は解消されたものの、128.11.1に更新したら再発し始めたとのことでした。本記事では、この問題の回避方法と、問題が発生するようになった経緯および今後の見通しを詳しくご紹介します。回避方法本現象は、Thunderbirdの隠し設定を用いて、ファイル共有サーバーのIPアドレスおよびホスト名を明示的に列挙することで回避可能です。具体的な手順は以下の通りです。アプリケーションメニューの「設定」、もしくはメニューバーの「ツール」→「設定」でThunderbirdの設定を開きます。mail.allowed_unc_hosts を検索します。見付かった項目の右端の「編集」ボタン(鉛筆のアイコンのボタン)をクリックして値の編集を開始します。emlファイルが置かれる可能性があるすべてのファイル共有サーバーについて、IPアドレスおよびホスト名を半角カンマ(,)区切りで記述します。例えば、ファイル共有サーバーのIPアドレスが192.168.0.100と192.160.0.101、ホスト名がfileserver1とfileserver2であった場合は、指定値は192.168.0.100,192.168.0.101,fileserver1,fileserver2となります。同一のサーバーであっても、ホスト名からIPアドレスへの名前解決は自動的には行われないため、IPアドレスとホスト名の両方を指定する必要があります。Enterキーを押して変更を保存します。法人で全端末を対象に設定を自動展開したい場合、この設定はグループポリシーでは制御できないため、AutoConfig(MCD)を使う必要があります。例えば以下の要領です。// autoconfig.cfglockPref("mail.allowed_unc_hosts", "192.168.0.100,192.168.0.101,fileserver1,fileserver2");また、別解として、ファイル共有フォルダーにWin
7日前

Firefoxの「安全でないダウンロードの遮断」機能の回避手順と実装の背景、および調査対応のポストモーテム
ククログ
WebブラウザーのFirefoxには、ユーザー保護の一環として「安全でないダウンロードを積極的に遮断する」機能があります。「安全でないダウンロード」とは具体的には、HTTPSで接続しているWebページからHTTPのURLで参照してファイルをダウンロードしようとした場合を指します1。通常の利用では安全性が高まって望ましい動作なのですが、法人運用で業務が依存しているWebサイト2がHTTPSではなくHTTPでの接続になっている場合、この機能の影響によってファイルのダウンロードができなくなり業務に支障をきたす場合があります。この動作について、約1年前のFirefox 125(125.0.1)のリリースからしばらくの間、機能が強化されたり、緩和されたり、再度強化し直されたり、という不安定な状況が発生していました。また、「特定のドメインでのみ安全でないダウンロードを許可する」ということもできず、機能を恒久的に無効化する以外の選択肢がないために、前述のような状況が発生した企業での運用には注意が必要でした。その後、関係するポリシー設定がいくつか追加もされました。こういった諸々の事があった結果、結局この機能は何だったのか、どうすれば制限を回避できるのか、ということが分かりにくくなってしまっています。本記事では、お問い合わせに基づき当社で行った調査の範囲で、業務利用でこの機能の影響を受けないようにするための正しい解決あるいは回避の方法と、この機能が辿った変遷、および、それらを明らかにするまでに行った調査の過程とそこに見られた課題をご紹介します。解決策と回避手段最も望ましい解決:HTTPSで接続するようにするこの「安全でないダウンロードの遮断機能」が問題になるのは、運用コストなどの都合で自社ホストがHTTP接続のままとなっている場合がほとんどだと考えられます。身も蓋もないのですが、本件の解決策としてまず取り組むべきなのは、それらのホストをHTTPS接続可能にするということです。インターネット越しに利用するホストの場合は、Let's Encryptを使って商用・非商用を問わず無料でTLS用証明書を発行できるので、コストが理由でHTTPS非対応となっている場合は検討してみてください。社内のローカルネットワーク内からのみ利用するホストや、関係者以外が利用する可能性がないホストの場合は、以下の
7日前

Thunderbirdの障害発生時の調査資料採取手順(Windows篇)
ククログ
はじめにクリアコードはThunderbirdのサポートサービスを提供していますが、その一環でThunderbirdの障害の調査を実施することがあります。調査のために収集が必要な情報は、発生した障害の内容によって様々ですが、当社のサポートサービスのお客様からのお問い合わせでは、SMTP・POP3・IMAPでのメール送受信時と、フォルダーの最適化実行時、およびGUIのカスタマイズに関するトラブルのお問い合わせが多い傾向があります。この記事では、これらに類するトラブルの発生時に原因究明のためによく採取を依頼する情報について、一通り採取する手順をご紹介します。Thunderbirdでの調査資料採取手順Thunderbirdが起動中の場合、一度終了します。Windowsのコマンドプロンプトを開きます(cmd.exeを起動します)。コマンドプロンプト上で、以下の3つのコマンド列を順に実行します。(Thunderbirdのパスは実際のインストール先パスに読み替えます。)set MOZ_LOG=timestamp,sync,SMTP:5,POP3:5,IMAP:5,MsgCopyService:5これは、SMTP・POP3・IMAP・メッセージコピー処理のデバッグレベル5(最詳細)でのログ出力を指定しています。set MOZ_LOG_FILE=C:\Users\Public\log.txt"C:\Program Files\Mozilla Thunderbird\thunderbird.exe"この設定の詳細については、問題の原因調査のためのログ収集のセオリーの記事を参照してください。Thunderbirdが起動したら、キーボードショートカット「Ctrl-Shift-J」でエラーコンソールを開きます。Thunderbirdを操作し、現象を再現させます。この段階でエラーコンソールのメッセージを右クリックし、「すべてのメッセージをファイルに保存」で出力されたログ全体をファイルに保存します。Thunderbirdのパネルメニューから「ヘルプ」→「トラブルシューティング情報」を選択します。トラブルシューティング情報のタブが開かれるので、「テキストをクリップボードにコピー」をクリックします。クリップボードの内容をテキストファイルに貼り付けて採取します。Thunderbirdを終了します。C:
15日前

Fluent Package v6 LTS へのアップデート手順
ククログ
2025年8月29日に、Fluentdの安定版パッケージの新シリーズである、Fluent Package v6 LTSをリリースします。本記事では、Fluent Package v6 LTSへのアップデート方法について紹介します。Fluent Package v6 LTSとはFluent Package v6 LTSは、Fluentdの長期サポート・安定版パッケージです。現在のLTS版(長期サポート・安定版)であるFluent Package v5 LTSは、2025年末でサポート終了となります。その次期LTS版として、Fluent Package v6 LTSは2025年8月29日にリリース予定で、少なくとも2027年末までサポートされます。詳細は次の記事をご覧ください。Fluentdの安定版パッケージ新シリーズ Fluent Package v6 LTS リリース - 運用コスト・ランニングコスト削減Fluent Package v6 LTSへのアップデート手順例例として、次のようにアップデートすることが可能です。追加されているプラグインを確認しますFluentdサービスを停止しますレジストリをバックアップします(Windows版のみ)Fluent Package v6 LTS をインストールしますプラグインをインストールします/etc/fluent/conf.d/ディレクトリーにユーザー側で設定ファイルを置いている場合は、設定を更新しますFluentdサービスを再開します以下、各手順などの説明です。1. 追加されているプラグインを確認します現バージョン(アップデート前のバージョン)がFluent Package v5.0.2(Windows版はv5.0.3)以降であれば、パッケージに同梱されているfluent-diagtoolを使うことで、追加されているプラグインを確認できます。次のように実行します。$ /opt/fluent/bin/fluent-diagtool -t fluentd -o /tmp-t fluentd: 必須です-o /tmp: 結果の出力先ディレクトリーを/tmpに指定しています。お好みの出力先を指定してください。実行すると、標準出力に様々な情報が出力されます。このうち、以下の部分に手動インストールプラグイン一覧が出力されています。(.
23日前

Fluentdの安定版パッケージ新シリーズ Fluent Package v6 LTS リリース - 運用コスト・ランニングコスト削減
ククログ
2025年8月29日に、Fluentdの安定版パッケージの新シリーズである、Fluent Package v6 LTSをリリースします。現在の安定版パッケージであるFluent Package v5 LTSシリーズは、今年2025年末でサポート終了となります。本リリースはその次期シリーズであり、2027年末までサポートされます。また本リリースでは、ゼロダウンタイム・アップデート/リスタート機能、リカバリーの簡易化、パフォーマンス改善など、運用コストやランニングコストを削減する機能改善を多数実施しています。v5 LTSシリーズは2025年末でサポート終了となりますので、それまでにぜひアップデートしてください!本記事では、Fluentd開発者が最新のリリース内容を紹介します。Fluent Package v6 LTSとは?Fluent Package v6 LTSは、Fluentdの長期サポート・安定版パッケージです。従来のFluentdプロジェクト公式パッケージであるtd-agentは、2023年末でサポート終了を迎えました。Fluent Packageは、その後継パッケージとして、2023年8月末からFluentdプロジェクトが公式に開発・配布しているものになります。現在のLTS版(長期サポート・安定版)であるFluent Package v5 LTSは、2025年末でサポート終了となります。その次期LTS版として、Fluent Package v6 LTSは2025年8月29日にリリース予定で、少なくとも2027年末までサポートされます。LTS版では、あらかじめアナウンスした長期の期間(最低2年間)にわたり、バグフィックスとセキュリティフィックスのみを行います。そのため、長期の安定運用にとって、次の2点のメリットがあります。継続的なアップデートがしやすい最新のバグフィックスとセキュリティフィックスを継続して取り込める次のメジャーアップデートに向けて計画的に準備ができるサポート期間をあらかじめアナウンスするため、次回のメジャーアップデートの時期が事前に分かる詳しいサポート予定期間については公式サイトのアナウンスをご覧ください。主な新機能と改善本リリースでは長期的な安定運用にむけた多数の機能改善を実施しています。主な改善は次のとおりです。Fluentdをv1.19.0
1ヶ月前

Active Record ADBC adapter - ADBCで大量データを高速移動!Ruby on RailsアプリからDuckDBも使えるよ!
ククログ
Ruby用のデータ処理ツールを提供するプロジェクトRed Data Toolsをやっている須藤です。数年前からRuby on RailsアプリケーションでADBCを使えるとよさそうだなぁと思っていた(証拠1、証拠2)のですが、ついにそれが動くようになったのでactiverecord-adbc-adapterとしてリリースしました。ADBCとはArrow Database Connectivityの略で、Apache Arrowを使ってDBと高速に大量データをやりとりするための仕組みです。Active RecordでADBCを使えるようになると、Ruby on Railsアプリケーションでの大量データのやりとりが速くなります。また、Active Record経由でDuckDBも使えるようになります。DuckDBもADBCをサポートしているからです。Active RecordアダプターActive RecordはRuby on Railsのデータベースアクセス処理を抽象化したライブラリーです。(雑だけどだいたいあっていそうな説明。)Active Recordにはアダプターという仕組みがあり、バックエンドのデータベース固有の処理を吸収しています。このアダプターという仕組みがあるおかげで、ユーザー(Ruby on Railsアプリケーション開発者)はデータベースの詳細を(あまり)気にせずにデータベースを使うことができます。 → PostgreSQLユーザー → Active Record → MySQL → SQLiteアダプターにはPostgreSQL用アダプターやSQLite用アダプターがありますが、今回はADBC用アダプターactiverecord-adbc-adapterを作りました。ADBCアダプターADBCアダプターを使うことによりADBCをサポートしている各種データベースにアクセスできるようになります。通常、ActiveRecordのアダプターは特定のデータベース1つと紐づいていますが、ADBC自体が各種データベースとの接続APIを抽象化しているので、1つのADBCアダプターで複数のデータベースをサポートするようになっています。 → PostgreSQLユーザー → Active Record → ADBC → DuckDB → SQLiteActive Re
1ヶ月前

Rabbit 4.0.0 - ついにGTK 4に対応!
ククログ
Rubyist用プレゼンテーションツールRabbitを開発している須藤です。GTK 4に対応したRabbitをリリースしたので自慢します。GTK 4に対応したのでバージョンを4.0.0にしています。メジャーバージョンアップですが、大きな非互換はないはず。だれも使っていなそうな機能が消えたくらい。GTK 4に対応するとどうなるの?今まではGTK 3を使っていましたが、GTK 4「も」使えるようになりました。デフォルトでは今までどおりGTK 3を使います。RABBIT_GTK=4という環境変数を指定したときだけGTK 4を使うようになっています。これは、GTK 4対応が仕上がり切っていないからなんですが、それでも多くの基本的な機能は動いています。細かいことはあとで説明するとして、GTK 4になるとなにがうれしいかということを説明しましょう。動画を埋め込むことができるようになりました! このスクリーンキャストには音が入っていませんが、もちろん、音も再生されます。GTK 4にマルチメディア関連の機能が統合されたことと、Rabbitの内部的なレンダリング方法を変えたことにより、スライド中に動画を埋め込めるようになりました。スライドの中に動画を埋め込みたくなることがどのくらい多いかはわかりませんが、10年以上前からできるようになるといいなぁと思っていたことがついに実現できて非常に感慨深いです。GTK 4はOS依存のバックエンド部分が一新されているので、GTK 3の頃にあった問題が解決している可能性が高いです。たとえば、macOS上でフルスクリーンにしてもタイトルバーが残っちゃう問題とか、macOS上でcairoがなぜかクラッシュしてしまう問題です。他にも3D関連の機能を強化するかもしれません。たとえば、ちょっとがんばればシェーダーを使って見た目がすごいやつをバーン!とできるようになるはずです。GTK 4にOpenGL関連の機能が統合されたからです。ただ、私がOpenGLに詳しくないのでそのあたりを勉強するところからになります。。。あるいは、だれかやる気のある人がやってくれたら、実現されます。GTKバージョンアップ対応の歴史Rabbitは2004年から開発をしているので、21年の歴史があります。GUIツールキットは当時からGTKを使っていましたが、当時のバージョンはGTK 2でし
1ヶ月前

Fluentd v1.19.0 リリース - 運用コスト削減
ククログ
2025年7月30日にFluentdの最新版となるv1.19.0をリリースしました。本リリースでは、多くの機能追加や不具合修正をしています。特に、運用コストとランニングコスト削減に効果のある機能や安定性向上の強化を複数実施しています。本記事では、Fluentd開発者が最新のリリース内容を紹介します。主な新機能と改善Fluentd v1.19.0では、運用コストとランニングコスト削減のための機能改善を多数実施しています。主要な改善は次のとおりです。対障害性の向上、およびリカバリーの簡易化リトライ超過時のバッファー退避に対応リトライ超過したデータを自動退避しておき、後からFluentdに簡単に再送させられるようになりました。バッファー破損検出の強化強制システム停止によってバッファーファイルが破損しても、破損ファイルを自動退避して安全に起動しやすくなりました。メトリクスの充実in_tailの追跡ファイル数など、Fluentdの正常稼働の監視に役立つメトリクスを複数追加しました。パフォーマンス改善Zstandard (zstd)圧縮形式をサポート従来のgzip圧縮と比べて、ディスク使用量の削減や転送速度の向上が期待できます。その他のパフォーマンス改善その他にも多くのパフォーマンス改善を実施し、処理速度やメモリー消費が改善しました。以下、それぞれ解説します。リトライ超過時のバッファー退避に対応今回のリリースでは、buf_fileおよびbuf_file_singleプラグインにバッファー退避機能を追加しました。この機能を利用することで、障害後のリカバリーが簡単になります。ネットワーク障害などでOutputプラグインが出力に失敗すると、Fluentdはある程度リトライを試みます。セカンダリー設定をしない場合、リトライが上限に達すると以前のバージョンではデータを破棄してしまっていましたが、本バージョンから自動的にバッファーファイルを退避するようになりました。障害が解消された後、退避されたバッファーファイルを元のバッファーディレクトリに戻してFluentdをリスタートすると、そのデータの送信を再開できます。退避先は次のとおりです。${rootディレクトリ}/buffer/${プラグインID}/rootディレクトリは、system設定のroot_dirパラメーターで設定できます。デフォ
1ヶ月前

ブラウザーの拡張機能でコンテンツ内に安全に情報を埋め込む方法のベストプラクティスとバッドプラクティス
ククログ
Firefoxの拡張機能開発で育ち、今はChrome/EdgeなどのChromium系ブラウザー向け拡張機能も開発している結城です。これらのブラウザー向け拡張機能では、拡張機能が能動的にUIを表示する方法が限られています1。能動的に任意の位置にUIを表示したい場合、windows.create()でウィンドウを開くか、コンテントスクリプトを使ってコンテンツ内にUIを埋め込むかのどちらかの方法を取る必要があります。この記事では、後者の「コンテンツ内にUIを埋め込む」やり方について、現時点でのベストプラクティスと、それ以外の方法の問題点を紹介します。最初に結論だけ述べると、mode:'closed'のShadow DOMを使い、画像などは拡張機能のパッケージ内に含めておくのが現状でのベストで、それ以外の方法は全てセキュリティまたはプライバシー保護の点で問題があります。前提:どういう時に必要な技術か冒頭の説明だけではそもそも何故そんなことをする必要があるのか分からないと思うので、もう少し背景を説明します。筆者は個人的に、Firefoxのサイドバーにタブをツリー表示する拡張機能「Tree Style Tab」を開発しています。この拡張機能はFirefoxのタブUIの機能を可能な限り再現する方針で開発していますが、技術的な制約により再現できていない機能もいくつかあります。つい最近までその中の1つとして、「タブのプレビューのポップアップ」がありました。どのような機能かというと、Firefoxのタブの上にマウスのポインターを移動してしばらく待つと、タブの下にポップアップパネルが自動的に開かれ、その中にページのタイトルやサムネイル画像が表示されるというものです。このスクリーンショットを見て分かるとおり、プレビューのポップアップパネルはFirefoxのツールバーやコンテンツ領域の上に重なるように表示されます。他方で、Tree Style Tabは専用のサイドバーパネルの中にUIを表示する設計のため、そのままではサイドバー内にしかUIを表示できず、「コンテンツ領域の上に重なるようなポップアップパネル」は実現できません。そのため、実装されたタブのプレビューは、コンテンツ領域内に埋め込む形で実現しています。このようなことをTree Style Tabのような拡張機能でやるにあたって、特に重
1ヶ月前

Inkscape: 拡張機能の開発に入門するよ!
ククログ
2年に1回くらいInkscapeを使って図を描いている阿部です。みなさんはInkscapeをご存知でしょうか。すこぶるざっくりいうとお絵かきソフトです。Inkscape: https://inkscape.org/そのInkscapeには拡張機能というのがあって、便利な機能を開発して組み込めることを最近知ったので入門してみました。公式ドキュメントの通りに進めていくと入門できるので、そこには公式ドキュメントにおまかせして、ドキュメントに書いていない補足情報とかを共有します。想定読者入門前の私が以下の知識レベルだったので、どれかに当てはまりつつ、Inkscapeの拡張機能を開発したい方にはこの記事が参考になると思います。Inkscapeとはお絵かきソフトで、ベクターな画像が書けて、JPEGとかPNGとかよりきれいなのが描けるらしいSVGというフォーマットのファイルができるSVGフォーマットJPEGとかPNGとかよりきれいに表示できる(拡大してもガタガタしたりしない)中身を見るとバイナリじゃなくてテキストらしいXMLをXPathがどうとかで処理したことがあるHTMLをJavaScriptのgetElementById()とかで処理したことがある拡張機能の開発に入門基本的に公式ドキュメントの通りにやると拡張機能の開発に入門できます。https://inkscape.gitlab.io/extensions/documentation/tutorial/my-first-effect-extension.htmlコード例も記載されてあるので書いてある通りに編集すれば(もしくは完成形を所定の場所にコピーすれば)、Inkscapeの拡張機能を体感しつつ入門できます。掲載したURLのページ以外にもいくつか入門するためのドキュメントが実装例とともに用意されているので、その通りにやれば最初の一歩は踏み出せると思います。以降では最初の一歩を踏み出した私がドキュメントには書いてなかったけど、知っていると役に立つかもしれない情報を3つ紹介していきます。それぞれ独立した話でセクションごとの繋がりは何もないのでそのつもりでご覧ください。Inkscapeの拡張機能の開発に役立つかもしれない情報Inkscapeの拡張機能はPythonスクリプトを実行するだけドキュメントの実装例を見ると次のようなPy
1ヶ月前

Firefox ESR140.1のリリースとFirefox ESR128のサポート終了について
ククログ
来る9月16日に、Firefoxの法人向け長期サポート版であるFirefox ESR1の、1つ前のメジャーバージョンにあたる「Firefox ESR128」のサポートが終了します。Firefox ESRは現在、ESR140とESR128の2つのバージョンが存在しており、8月19日には、それぞれのセキュリティアップデート版であるESR140.2とESR128.14がリリースされる見込みです。このうちESR128.14はESR128の最終バージョンになる予定で、ESR140.3のリリースをもってESR128はサポートが終了する旨予告されており、以後はESR140への移行が強く推奨されます。当社では、Firefox ESR128からESR140の間の変更点のレポートを公開しており、このレポート中では10のカテゴリーに分けて、法人利用に影響が及ぶと考えられる変更点を詳細に紹介しています。この記事では、その中で特に影響度が大きいと考えられる項目を5つのカテゴリーから抜粋してご紹介します。Firefox ESR128からESR140の間の変更点(抜粋)外観、メニュー構成の変更「Firefox利用規約」が新たに導入されました(2025年2月28日発効)。「皆様が Mozilla に付与する権利と許可」のセクションがあり、ユーザーがFirefoxに入力したデータの処理をMozillaに許可していることを明確化する狙いがあると見られます。既存ユーザーに対しても、2025年後半以降に承諾を求めることになる旨アナウンスされています。このため、初回起動時などに、Firefox利用規約への承諾を求められるようになりました。この利用規約の表示は、SkipTermsOfUse ポリシーで非表示にできます。このポリシー設定を使用した場合、Firefoxの全使用者に代わってシステム管理者が利用規約を承諾した扱いとなります。ウェブページ翻訳が日本語への翻訳に対応するようになりました。(Firefox 135)Firefox内蔵の翻訳機能は、Webサービスに依存せず端末上で実行されるため、機密情報やプライバシー情報の漏洩の恐れがありません。サイドバーの機能が拡充され、メイン画面を表示させたまま各種ツール2へワンクリックで素早くアクセスできるようになりました。(Firefox 136)この機能は初期状態で
1ヶ月前

Redmineのバージョンアップサポートの事例紹介(Knowledgebaseプラグインを置き換え)
ククログ
2025/07/25に開催されたRedmine Japan vol.4に参加した阿部です。Redmine Japan: https://redmine-japan.org/普段はあまりこういったイベントには参加していないのですが、最近はRedmineのプラグインを開発したりしているので参加しました。いろいろな方とお話するとRedmineバージョンアップ時に苦労されている様子でしたので、ご参考までに弊社で行ったバージョンアップの事例を紹介してみます。はじめに: Redmine Japanに参加して今回は聞くだけ参加でした。来年で最初のRedmineがリリースされてから20周年ということでRedmineの歴史のお話や、昨今のAI技術の発展に関連してAIに関連する発表が多数聞けて大変参考になりました。(当日の様子はこちらから確認できるようです。)当日は何人かとお話する機会がありました。ありがとうございました。そこでRedmineの古いバージョンを使い続けていたり、バージョンアップが大変だというお話を何個かお聞きしたので、弊社でサポートした事例を紹介します。Redmineのバージョンアップサポートの事例紹介どうしてバージョンアップが大変なのかはRedmineを運用中の方であればご存知かもしれませんが、再確認のためにその理由を説明をしつつ、どのようなサポートをしたのかを説明していきます。Redmineのバージョンアップが大変な理由Redmine本体のみのバージョンアップは容易な場合が多いです。バージョンアップを大変にしている原因はインストールしているプラグインです。プラグインもRedmineのバージョンアップに追従する修正をする必要があります。バージョンアップに追従しないと、そのプラグインはバージョンアップ後のRedmineで動かなくなります。(場合によってはプラグインの影響でRedmine自体起動しなくなります。)しかし、すべてのプラグインがバージョンアップに追従しているとは限りません。追従していないプラグインはRedmineのバージョンを上げると動かなくなるので、そのようなプラグインがあるとRedmine自体のバージョンアップができなくなるわけです。導入したもののあまり使っていないプラグインであればRedmineのバージョンアップ時に削除すれば良いですが、日々の運用がプラ
2ヶ月前

ハンズオン: Redmine環境に高速な全文検索プラグインを導入してみよう(PostgreSQL編)
ククログ
Redmineを高速全文検索するプラグインの開発に参加している児玉です。ククログではこれまで何度かこのプラグインについてご紹介してきましたが、今回はDebian/Ubuntu向けハンズオン形式で「手を動かして」実際に導入するまでを紹介します!(他のOSをお使いの場合は、適宜コマンドやリポジトリ登録方法を読み替えて進めてください。)redmine.tokyo第12回勉強会:GroongaでRedmineを高速全文検索 #redmineTredmine.tokyo第17回勉強会:Redmine検索の未来像 #redmineTRedmine大阪 第17回勉強会 - 全文検索でRedmineをさらに活用! #RedmineOsakaはじめにチケット数が増えてきてRedmineの検索がもっさりしてきていませんか?そんな方に向けて、本ハンズオンでは既存のRedmine+PostgreSQL環境に対して、全文検索プラグインを導入し、「サクサク検索」を体験する手順を解説します。(MySQLとMariaDBに関しても対応していますが、今回はPostgreSQLに注目して話します。)なお、本手順で使うバージョンは以下の通りですが、古いバージョンをお使いの方やバージョンアップからサポートが必要な場合は、お気軽にお問い合わせください!注意: 本ハンズオンを実施する前に、データベースのバックアップを必ず取得してください。今回の実践環境Ubuntu 24.04 LTS (Noble Numbat)Ruby 3.3.8Redmine 6.0.5PostgreSQL 17.5ハンズオンの流れ次の手順で、ハンズオンを進めていきます!PostgreSQLの拡張機能であるPGroongaをインストールPostgreSQLでpgroonga拡張を有効化全文検索プラグインのインストール全文検索プラグインの設定既存データを検索対象に登録動作確認1. PostgreSQLの拡張機能であるPGroongaをインストール今回は、PostgreSQL Global Development Group(PGDG) が提供するPostgreSQL 17.5パッケージを利用する場合の手順を紹介します。システム標準のPostgreSQLをお使いの場合は、こちらのPGroongaインストール手順を参照してください。# 基本ツー
2ヶ月前

Apache Arrow Swift 21.0.0
ククログ
Apache Arrowの開発に参加している須藤です。Apache ArrowのSwift実装のバージョン21.0.0をリリースしたので紹介します。背景Apache Arrowはいろんなプログラミング言語で広く使えることも大事にしているので、各種プログラミング言語用の実装があります。もともとは https://github.com/apache/arrow の中で各種言語の実装を管理していました。しかし、 https://github.com/apache/arrow のメンテナンス・リリースコストが高くなってきました。そのため、メンテナンス・リリースコストを分散するために言語ごとに別々のリポジトリーに分離していっています。Swift実装は https://github.com/apache/arrow-swift に分離することになりました。関連議論はここらへんです。[DICSUSS] Split Swift to separated repository[VOTE][Swift] Split Swift to separated repositorySwift Package Indexに登録するにはトップレベルにPackage.swiftを置かないといけなそうというのが一番のモチベーションでした。メンテンナンスを楽にというのもあるけど、リリースコスト云々はあんまり関係ありませんでした。そもそもSwift用のリリース作業はほとんど発生していなかったからです。分離してからせっせとリリースの準備を進めていたのですが、ようやく、今日、分離したリポジトリー https://github.com/apache/arrow-swift からリリースできました!やったよ![VOTE][Swift] Release Apache Arrow Swift 21.0.0 RC0[ANNOUNCE] Apache Arrow Swift 21.0.0 released21.0.0の変更点新しいバージョンは21.0.0とメジャーバージョンアップになっています。非互換の変更は含まれていない気はしますが、私のSwift力では判断しきれなかったからです。(なけなしの私のSwift力で)5.10だけではなく6.0以降でもビルドできるようにしましたが、これは、たぶん非互換にはなっていないはず。ま
2ヶ月前

Apache Arrow JS 21.0.0
ククログ
Apache Arrowの開発に参加している須藤です。Apache ArrowのJavaScript実装のバージョン21.0.0をリリースしたので紹介します。背景Apache Arrowはいろんなプログラミング言語で広く使えることも大事にしているので、各種プログラミング言語用の実装があります。もともとは https://github.com/apache/arrow の中で各種言語の実装を管理していました。しかし、 https://github.com/apache/arrow のメンテナンス・リリースコストが高くなってきました。そのため、メンテナンス・リリースコストを分散するために言語ごとに別々のリポジトリーに分離していっています。JavaScript実装は https://github.com/apache/arrow-js に分離することになりました。関連議論はここらへんです。[DISCUSS] Split JS release process[Release] Split JS to its own repository · apache/arrow · Discussion #45943[VOTE] Split JS implementation and Release Process分離してからせっせとリリースの準備を進めていたのですが、ようやく、今日、分離したリポジトリー https://github.com/apache/arrow-js からリリースできました!やったよ![VOTE][JS] Release Apache Arrow JS 21.0.0 RC1[ANNOUNCE] Apache Arrow JS 21.0.0 released21.0.0の変更点新しいバージョンは21.0.0とメジャーバージョンアップになっています。これは、非互換の変更があるからです。どんな変更かというと、すでにEOLになっているNode.js 18のサポートをやめたという変更です。それ以外は依存ライブラリーのバージョンをあげたくらいでそんなに大きな変更点はありません。変更のリストを見るとそれなりにありますが、ほぼ、リリース関連と依存まわりの整理です。今回のリリースでは新しいリポジトリーで開発を進めていける基盤を整えたかったのです。これからこのリポジトリーの分離と、
3ヶ月前