ククログ

Google ChromeのGUIから辿る、ドキュメント化されていない仕様の調査

先日、当社の法人向けFLOSSサポート業務の一環として、Google Chromeのドキュメント化されていない仕様について調査のご依頼を頂きました。 具体的には、インストール済みの拡張機能の自動更新について、

  1. 更新を停止する方法はあるかどうか。
  2. 自動更新処理はどの程度の間隔で実行される仕様か。

というお問い合わせでした。 本記事では、これらのお問い合わせに回答するために何をどのように調査したかの紹介を通じて、詳細を把握していないOSSのソースコードの歩き方の例を示してみます。

もっと読む

Fluentd実行中にgemが期待通りに読み込まれているか確認する方法 - fluent-plugin-record-modifierで$LOADED_FEATURESを確認

Fluentdを各種プラグインと組み合わせて使う際、指定したgemが期待通りに読み込まれていないという事例に遭遇したことがありました。

今回は、そんなときのために、「Fluentd実行中にgemが期待通りに読み込まれているか確認する方法」を紹介します。

もっと読む

ノータブルコード17 - バッチファイルにLuaスクリプトを埋め込む技

最近、WindowsでLuaRocksを動かす機会があった林です。

今回はLuaRocksのインストール用のバッチファイルを見ていて印象に残った、「バッチファイルにLuaスクリプトを埋め込む技」を紹介します。

もっと読む

Apache Arrowデータのメディアタイプ(MIMEタイプ)

Apache Arrowに2番目に多くコミットしている須藤です。Apache Arrowはデータフォーマットも定義しているのですが、2021年6月24日に正式なメディアタイプ(MIMEタイプ)と拡張子が決まったので詳細をまとめます。

もっと読む

Groongaのクエリーチューニングの方法

Groongaサポートサービスを担当している1人の須藤です。

Groongaのサポートサービスでは、お客さんから高速化したいクエリーとデータを提供してもらい、より高速に結果を返すようにクエリーをチューニングするという作業もしています。必要であればインデックスの追加・変更やスキーマの変更、Groongaの改良なども実施して高速化します。

クエリーチューニングは長年のカンで実施しているのではなくチューニングを支援するための手法を整備しながら実施しています。この記事では私達がやっているクエリーチューニングの方法をまとめます。ツール類はGroonga本体同様に自由なソフトウェアとして広く公開しているのでサポートサービスを契約していないGroongaユーザーでも同じ方法を使えます。

そういう情報は秘密にしてもっとサポートサービスを利用するように促すほうがいいんじゃないの?と考える人もいるかとは思いますが、クリアコードは情報を独占することで稼ぐのではなく情報を広く共有しながら稼ぎたいのでいいのです。

もっと読む

ノータブルコード16 - APLプログラマはいかにC言語を書くのか

あまり世の中で知られてない言語として配列処理(Array-Processing)言語という一群の言語があります。いずれもAPLというプログラミング言語から発展したもので、J・Q・Kといった言語が代表的です。これらの言語は「Array Processing」の名前の通り、配列、とくに多次元配列の処理に特化しています。

APLの流れをくむ言語の最大の特徴は、極限までに切り詰められた簡潔さです。この言語を使うといくつかの記号を組み合わせることで、複雑な配列操作を表現することができます。例えば、フィボナッチ数列を生成する関数を例にとると、Kでは{x{x,+/-2#x}/!2}という16文字で表現できます。もっと複雑な例を出すと、ライフゲームは、わずか138バイトで実装できます

もっと読む

Mroongaでlock failedとなったときの復旧方法2021 - clearlockしてはいけない!

Mroongaの開発をしている須藤です。

2013年に書かれたgroonga/mroongaの.mrnファイルがlock failedとなった場合の復旧方法 - Y-Ken Studioという記事があるのですが、この記事に書かれているようにclearlockを使ってはいけません!

もっと読む

Fluentd v1.13.0をリリースしました

Fluentd v1.13.0をリリースしました。

これまで何度かブログにて言及していますが、クリアコードはFluentdの開発に参加しています。 Fluentd v1.12.1からは、リリースを含めたメンテナンス作業にも関わっています。

今回は、v1.13.0の変更点のうち、使い勝手に関係ありそうな変更をいくつか紹介します。

なお変更点の詳細についてはv1.13.0のCHANGELOGを参照してください。

もっと読む

ククログの記事の書き方

結城です。

このブログ(ククログ)は現在、Jekyllで作られています。このWebサイト自体のリポジトリはgitlab.comで公開されているため、記事のデータを追加するマージリクエストをGitLabで送っていただくことで、社内のみならず社外の方からも記事を書いていただけるようになっています。

この記事では、社内に向けての説明も兼ねて、この記事自体を例に、ククログの記事の執筆から公開までのワークフローを説明します。

もっと読む

ノータブルコード15 - MySQLの全文検索でplease, could_you

最近、MroongaMySQL 8.0対応を進めている須藤です。あとはコンディションプッシュダウンまわりを実装すればMySQL 8.0対応は完了しそうです。MySQL 8.0対応をしていて「お!」という思うコードがあったことを思い出したので15回目のノータブルコードとして紹介します。

もっと読む