RZ/G1向けのfluent-bitのYoctoレシピを作成しました
はじめに
2017年7月6日の記事で紹介した通り、クリアコードは組み込みLinux向けにMozilla Firefoxを移植するプロジェクトGecko EmbeddedをWebDINO Japan(旧Mozilla Japan)様と共同で立ち上げ、開発を進めております。Yoctoを使用してFirefoxをビルドしたりハードウェアクセラレーションを有効化する際のノウハウを蓄積して公開することで、同じ問題に悩む開発者の助けになることを目指しています。
Firefoxのアドオン利用の可否に影響する3つの壁
はじめに
Firefoxのアドオンを個人でインストールする場合、Firefoxのアドオンマネージャを経由するか、Add-onsサイトからインストールすることでしょう。
ある日突然Thunderbirdのアドオンが動作しなくなった、という時の原因の切り分け方
FirefoxやThunderbirdのアドオンを使用していて、ある日急に動かなくなった、という話はよくあります。 そのような場合にどうやって原因を特定し解決するのか、Thunderbird用のアドオンであるTheme Font & Size Changer for TBでの場合を例に解説してみます。 トラブルシューティングの一事例として参考にしていただければ幸いです。
Cookieに設定値を保存しているWebExtensionsベースのアドオンについて、MCDで設定の初期値を指定する方法
アドオンの設定の集中管理
Firefox 56およびそれ以前のバージョンで使用可能だった従来型アドオンと、Firefox 57以降のバージョンで使用可能なWebExtensionsベースのアドオンでは、法人での利用においても様々な点で違いがあります。その1つが、管理者による設定の集中管理の方法です。
LogstashとFluentdの連携方法
PLAZMA OSS Day: TD Tech Talk 2018 – Cooperative works for Fluentd Community
PLAZMA OSS Day: TD Tech Talk 2018 にて登壇しました。 fluent-plugin-kafkaのスループット問題を解消するために開発したkafka-connect-fluentdの紹介とfluent-plugins-nurseryに代表されるFluentdのプラグインを引き取り、メンテナンスしている事例の概要を紹介しました。
Firefox ESR60以降でのPolicy Engineによるポリシー定義の手順
Firefox ESR60以降のバージョンでは、Policy Engineと呼ばれる新しいポリシー設定の仕組みが導入されます。近いうちに公式なドキュメントが用意されるものと予想されますが、Firefoxを法人で利用中の場合、一日も早く実際の動作を検証したいというニーズもある事でしょう。この記事では、現時点で実装されているPolicy Engineの具体的な使用手順を解説します。
Node-REDをYoctoレシピによりインストールする
2017年7月6日の記事で紹介した通り、クリアコードは組み込みLinux向けにMozilla Firefoxを移植するプロジェクトGecko EmbeddedをWebDINO Japan(旧Mozilla Japan)様と共同で立ち上げ、開発を進めております。Yoctoを使用してFirefoxをビルドしたりハードウェアクセラレーションを有効化する際のノウハウを蓄積して公開することで、同じ問題に悩む開発者の助けになることを目指しています。
go-apt-cacherによるお手軽APT専用キャッシュサーバーの導入方法
Fluent-plugin-elasticsearch v2.8.0対応でわかったElasticsearch 6.0以降の動向
はじめに
fluent-plugin-elasticsearchはよく使われているプラグインの一つです。 このプラグインをメンテナンスするためには、Fluentdの知識だけでなく、Elasticsearchが今後どのようになっていくかも知っておく必要があります。 Elasticsearch 6.xで次のようなアナウンスがありました。
【KUSANAGI × Mroonga ハンズオン】KUSANAGIでWordPressのインストールからMroongaプラグインの実装まで学べる!【中級者向け】
WordPress+Mroongaプラグインを使った全文検索開発のハンズオンが開催されます。2018年2月より、KUSANAGIという超高速WordPress仮想マシンでMroongaプラグインがサポートされることになりました。KUSANAGIはAWSやAzureなどの多くのパブリッククラウドサービスに対応しており、無償で利用可能な仮想マシンです。Mroongaサポート開始を記念して、実際どのように(予定)開発すればMroongaプラグインを活用して全文検索機能を実装できるのか体験できるイベントが開催されます。
Firefox ESR60以降でのグループポリシーによるポリシー定義
既報の通り、Firefox ESR60以降のバージョンではPolicy Engineという新しい設定の集中管理のための仕組みが導入されます。
Debianパッケージのメンテナンスをsalsa.debian.orgに移行するには
はじめに
これまでDebian関連の開発プラットフォームとしては、Aliothと呼ばれるFusionForgeを使ったサービスが提供されていました。1 最近では、Aliothの後継としてSalsaと呼ばれるGitLabを使ったサービスへの移行が進んでいます。2
Firefoxの拡張機能で「以後確認しない」のようなチェックボックスを伴った確認ダイアログを表示するには?
(この記事は、Firefoxの従来型アドオン(XULアドオン)の開発経験がある人向けに、WebExtensionsでの拡張機能開発でのノウハウを紹介する物です。)
ClearCode.vimの紹介(これまでとこれから)と告知
横山です。去年の11月くらいから、社内でVimの勉強会を始めました。ほぼ週に一度のペースでやっていて、前回(3/14)は14回目の開催でした。 次回から形式を変えるつもりなので、この機会に経緯や方針などを簡単にまとめておきたいと思います。
【徳丸浩と学ぶビジネスセミナー】WordPressのセキュリティと全文検索について学ぶ!【Mroonga対応】- Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
1ヶ月半前の話をようやくまとめている須藤です。
Gecko Embedded 次期ESR対応
はじめに
これまでにも何度か紹介してきましたが、クリアコードではGecko(Firefox)を組み込み機器向けに移植する取り組みを行っています。
td-agent3でGemfileベースのプラグイン管理
Fluentdのプラグイン管理はGemfileベースでやると、きちんとバージョンを管理できるのでよいです。 ドキュメントでもGemfileベースのプラグイン管理について書かれています。 しかし、記事執筆時点ではtd-agentでどのようにするのかは、書かれていませんでした。
fluent-plugin-elasticsearch v2.8.6/v1.13.4からのX-Pack向けの認証情報の設定方法の注意点
はじめに
fluent-plugin-elasticsearchはよく使われているプラグインの一つです。 このプラグインをメンテナンスするためには、Fluentdの知識だけでなく、Elasticsearchのエコシステムも知っておく必要があります。 Elasticsearch 5.xからnginxのリバースプロキシの認証だけでなく、Elastic Stack自体で認証をコントロールする仕組みがプラグインとして提供されています。
Firefoxの法人向けカスタマイズのレシピ集の使い方
はじめに
クリアコードでは、Webブラウザ「Mozilla Firefox」のサポートサービスを行っています。 また、サポート等を通じて得られた知見はククログのMozillaカテゴリにまとめています。
FirefoxのMCD設定ファイルの記述ミスを検出するには
はじめに
以前、Firefoxの法人向けカスタマイズのレシピ集の使い方として、レシピ集を使ったFirefoxのカスタマイズ方法を紹介しました。 MCDの設定ファイル(autoconfig.cfg)に設定値を反映していくのですが、記述に誤りがあっても問題のある箇所を特定しにくいことがあります。 今回は、そんなときに便利なチェック方法を紹介します。
Firefoxでセカンドサーチを使って効率よく検索するには
はじめに
Firefox/Thunderbirdの挙動を調べるために、DXRを利用してソースコードレベルで調査をすることがあります。 検索フォームに対してキーワードを変更して検索し、実際の挙動の裏付けをソースコードを確認して行うというのが典型的な利用例です。 その場合には、最新版のソースコードとESR版のソースコードを切り替えて検索したりというのが頻繁にあります。 今回は、そんなときに便利なセカンドサーチを使った検索方法を紹介します。
OSDNのファイルストレージ機能を使ってAPTリポジトリやYUMリポジトリを作成する方法
OSDNのファイルリリース機能をAPI経由で使うにはという記事では、APTリポジトリやYUMリポジトリをOSDNでは作成できないと紹介していましたが、少し前にニュース: rsync, scp, sftpで操作する新ファイルストレージ機能を追加 - OSDN運営・管理 - OSDNで、rsyncコマンドでファイルのアップロードができるようになったことを知ったので試してみました。
Vimでgettext(Sphinx)の翻訳対象ファイルとPOファイルを紐付けて簡単に開けるようにする方法
横山です。この記事では、gettext(GNU gettext)を使って翻訳対象ファイルと翻訳ファイル(POファイル)をVimで編集するときの便利設定を紹介します。
Debianパッケージのメンテナンスをsalsa.debian.orgに移行後にアップデートするには
はじめに
以前、Debianパッケージのメンテナンスをsalsa.debian.orgに移行するにはというタイトルで、パッケージのメンテナンスをsalsa.debian.orgに移行するのにともない、git-buildpackage(以降gbpと記載)のやりかたに合わせつつリリースするところまでの内容を記事にまとめました。
WebExtensionsによるFirefox用の拡張機能でメニューやパネル風のUIを提供するライブラリ:MenuUI.js
(この記事は、Firefoxの従来型アドオン(XULアドオン)の開発経験がある人向けに、WebExtensionsでの拡張機能開発でのノウハウを紹介する物です。)
Mozilla Firefox ESR60でのPolicy Engineによるポリシー設定の方法と設定項目のまとめ
FirefoxはESR60以降のバージョンにおいて、法人利用者向けに設定を集中管理する新しい仕組みである「Policy Engine」が導入・有効化されています。Policy Engineで可能な設定の一部は従来のMCD(AutoConfig)と重複していますが、Policy Engineには従来型アドオンによるカスタマイズの代替手段としての性質もあり、MCDではできなかった設定も存在しています。
キー入力内容を手軽にGIFアニメーションにするには
はじめに
GUIのアプリケーションの操作内容を説明するときに、テキストであれこれ説明するよりも、実際に操作している映像を示したほうがわかりやすいことがあります。
Vimで単語を囲む方法をいくつかでも使っていた、peekとscreenkeyによるGIFアニメーションの作成方法について紹介します。
WebExtensionsによるFirefox用の拡張機能で、キーボードショートカットの変更用UIを提供するライブラリ:ShortcutCustomizeUIMenuUI.js
2019年6月4日追記:Firefox 66以降のバージョンではFirefoxのアドオンマネージャからアドオンのショートカットを変更できるようになりました。このライブラリはもう不要となっています。
Active Directoryを使用していない環境で、Firefoxに任意のルート証明書を自動インポートする方法
既報の通り、Firefox 52以降のバージョンではActive Directoryのグループポリシー経由で配布された証明書を自動的にインポートできるようになっています。アドオンなどによる証明書の自動インポートができなくなったため、現時点ではFirefoxに任意のルート証明書を組み込んだ状態にするには、これが唯一の方法となっています。
Lua用のCSSセレクターパーサーライブラリー LuaCS
Lua用の使いやすいCSSセレクターパーサーライブラリーを開発しました。これは、クリアコードが株式会社セナネットワークス様からの発注を受けて開発したライブラリーです。
Firefox 62で修正されたFirefox 61での後退バグに見る、不要なコードを削除する事の大切さ
Fluentd UIのFluentd v1対応のロードマップ
fluentd-uiというFluentdの設定を管理できるWebアプリケーションがあります。 Fluentd v1 がリリースされる前から機能の追加やFluentdの新しい機能への対応はされていませんでした。
WebExtensionsによるFirefox用の拡張機能で設定の読み書きを容易にするライブラリ:Configs.js
(この記事は、Firefoxの従来型アドオン(XULアドオン)の開発経験がある人向けに、WebExtensionsでの拡張機能開発でのノウハウを紹介する物です。)
apitraceを使ったOpenGL ESが絡むFirefoxのデバッグ方法
はじめに
これまでにも何度か紹介してきましたが、クリアコードではGecko(Firefox)を組み込み機器向けに移植する取り組みを行っています。
Groongaのクエリーログを手軽に再生する方法
Groongaを使っていて問題が起きた時に、問題を再現させるために、問題が起きた時に実行していたクエリーを手元の環境でも実行したくなります。 実行するクエリーが少ない場合(1つか2つくらい)であれば、手作業で実行してもそんなに苦ではありませんが、実行するクエリーが大量にある場合は、手作業では限界があります。
Groongaで遅いクエリーを手軽に特定する方法
Groongaを使っていると、時々他の検索と比べて応答が遅い検索があることがあります。 そういった時は、ボトルネックを改善するために、どのクエリーの応答がどのくらい遅いのかを測定したくなります。
IBus変換エンジンでネストしたメニューを正しく表示できるようにするには
はじめに
GNOME Shellには、ネストしたメニューを正しく展開できないという不具合があります。 今回はその問題への対処方法について紹介します。
apitraceを使ったfirefoxのWebGLのデバッグ例
はじめに
これまでにも何度か紹介してきましたが、クリアコードではGecko(Firefox)を組み込み機器向けに移植する取り組みを行っています。
Firefoxへのフィードバックの仕方:Windows編
近年はOSS・フリーソフトウェアのリポジトリを公開する場所としてGitHubが選ばれる事が多くなりましたので、フィードバックをする際も、GitHub上のIssuesで障害を報告したり、Pull Requestという形で具体的なソースコードの変更を提案したりといった形を取る事が多くなりました。同様のフィードバック方法が、BitBucketやGitLabなどの競合サービスにおいても可能です。
MozReviewでのFirefoxへのパッチ投稿方法
(2019年4月12日追記) この記事で解説しているMozReviewは既に廃止されており、代わりにPhabricatorというツールを使うようになっています。この記事自体は歴史的文書として残していますが、パッチを新たに投稿したいという場合にはPhabricatorの解説を参照して下さい。
IBus変換エンジンでXfce4でもシンボルをステータスに表示できるようにするには
はじめに
IBus変換エンジンの実装によっては、GNOME ShellとXfce4というようにデスクトップ環境によって違いがでることがあります。
今回は IBusProperty のシンボルを設定していても、Xfce4では表示されない場合の対処方法を紹介します。
WebExtensionsによるFirefox用の拡張機能で設定画面の提供を容易にするライブラリ:Options.js
(この記事は、Firefoxの従来型アドオン(XULアドオン)の開発経験がある人向けに、WebExtensionsでの拡張機能開発でのノウハウを紹介する物です。)
WebExtensionsによるFirefox用の拡張機能で組み込みのページのローカライズを容易にするライブラリ:l10n.js
(この記事は、Firefoxの従来型アドオン(XULアドオン)の開発経験がある人向けに、WebExtensionsでの拡張機能開発でのノウハウを紹介する物です。)
mozregressionを使って、いつFirefoxの機能が壊れたのかを調べる
見つけた不具合をFirefoxにフィードバックする時には、それが後退バグである場合、いつの時点から不具合が発生するようになったのかという情報を書き添えておく事が大事です。この記事では、Firefoxの後退バグの発生時期を割り出す事を支援するツールであるmozregressionの使い方を解説します。
IBus の最新版を使って問題の切り分けを行うには
サポートエンジニアNight vol.3
「サポートエンジニア」と聞いて、皆さんはどのような職務内容を想像するでしょうか。ついたてで仕切られたブースに大勢の人が並んで座っている? 開発経験の浅い、あるいは経験が無い人が、マニュアルに従って問い合わせを右から左にさばいている? 突っ込んだ事を質問されたら「仕様です」で煙に巻く? エンドユーザー向けの無料の電話サポートだとそのような形態のサポートもあるようですが、BtoB(法人向け)のテクニカルサポートは、それとはだいぶ状況が異なります。
Windows Subsystem for LinuxでプレゼンツールのRabbitを動かす
皆さんはRabbitというプレゼンテーションツールをご存じでしょうか。2018年のRubyKaigiでのMatz氏によるKeynoteでも使われており、「名前は知らないが見た事はある」という方もいらっしゃるかもしれません。
不具合をフィードバックする時に、不具合の様子を動画で説明する
一般的に、バグ報告は「再現手順」「期待される結果」「実際の結果」をセットで説明する事が望ましいと言われます。報告をする側にとっては自明の事でも、報告を受ける側にとってはそうではないという事は多々あり、そういった情報を過不足なく伝えるための指針と言えるでしょう。
ibus-daemonの--mem-profileオプションは非推奨になりました
はじめに
IBusの1.5.19からは、ibus-daemonの--mem-profileオプションは非推奨になりました。
今回はその経緯について紹介します。
fluent-plugin-elasticsearchのHTTPバックエンドを切り替えられるようにするには
はじめに
fluent-plugin-elasticsearchはよく使われているプラグインの一つです。 このプラグインをメンテナンスするためには、Fluentdの知識だけでなく、Elasticsearchが今後どのようになっていくかも知っておく必要があります。 取り掛かりとして、fluent-plugin-elasticsearchの構造をまず軽く説明します。fluent-plugin-elasticsearchのElasticsearchのAPIリクエストは自前で実装しているのではなく、elasticsearch, elasticsearch-api, elasticsearch-transportというgemに依存しています。それぞれ、ElasticsearchのRubyクライアントライブラリをカプセル化して共通のインターフェースで使用できるようにgem化したもの、APIリクエストをgem化したもの、HTTPリクエストの方式をgem化したものです。
fluent-plugin-elasticsearchのSnifferクラスについて
はじめに
fluent-plugin-elasticsearchはよく使われているプラグインの一つです。 このプラグインをメンテナンスするためには、Fluentdの知識だけでなく、Elasticsearchが今後どのようになっていくかも知っておく必要があります。 また、このプラグインはRed Hat社がメンテナンスしているOpenShiftのログコンポーネントの一部としても使われています。
Debian Maintainerになるには
はじめに
クリアコードの林です。 今回は、Debianパッケージのメンテナンスに関わる上で、Debian Maintainerになるための方法を紹介します。
Apache Arrowの最新情報(2018年9月版)
Apache ArrowのPMC(Project Management Commitee、プロジェクト管理チームみたいな感じ)のメンバーの須藤です。
fcitx-mozcの入力モードを外部プロセスから制御する
はじめに
何年か前に、とある案件で「fcitx-mozcの入力モードを自分のアプリケーションから制御したい」というご要望をお客様から承りました。そのときに、fcitx-dbus-statusというFcitx用アドオンを実装して、このご要望にお応えしました。
Markdownで書いたテキストをPDFに変換してドキュメントを作成する方法(テンプレート活用編)
はじめに
以前Markdownで書いたテキストをPDFに変換して納品用ドキュメントを作成する方法としてテキストから納品用のPDFを作成する方法を紹介しました。 今回は、前回のやりかたとはちょっと趣向を変えて、既存のテンプレートを活用してドキュメントを作成する方法を紹介します。
db tech showcase Tokyo 2018 - MySQL・PostgreSQLだけで作る高速あいまい全文検索システム #dbts2018
db tech showcase Toyo 2018で話すことを事前に宣伝をしておきたかったけど間に合わなかった須藤です。
グループポリシーでエンタープライズの証明書を配布した場合、IE(Edge)では閲覧できるページがFirefoxではエラーで閲覧できない場合があります
Firefox ESR52以降のバージョンは、security.enterprise_roots.enabledをtrueに設定しておく事で、Active Directoryのグループポリシー機能を使って配布された証明書をFirefoxに自動的にインポートできます 1。また、Firefox ESR60ではグループポリシー経由である程度の設定の制御も行えるようになりました。以前のバージョンのFirefoxでは証明書のインポートや管理者による設定の制御にはCCK2や独自形式の設定ファイルなどを別途用意する必要がありましたが、Firefox ESR52以降では設定も証明書の管理もActive Directoryのグループポリシーに一元化できるようになったという事で、Internet Explorer(およびその後継ブラウザであるEdge)をメインで運用しつつFirefoxも併用するという使い方をしやすくなってきていると言えます。
-
なお、この機能はActive Directoryを運用していない環境でも、Windowsのレジストリを編集することで動作の検証が可能です。 ↩
Firefoxのメモリ消費量が右肩上がりで増加する場合の対策
FirefoxをWindows Serverベースのシンクライアント環境で使っている組織において、Firefoxを更新したりWindows Serverをリプレースしたりといったタイミング以降で、急にパフォーマンスが低下しだしたというお問い合わせを複数頂きました。調査の結果、それらの現象は同一の原因である可能性が高い事、同様の対策が有効に作用する事が分かりましたので、その際に得られた調査結果を知見としてご紹介します。
リーダブルなコードを目指して:コードへのコメント(5)
db tech showcase Tokyo 2018やApache Arrow 0.11.0のリリースとかしていたら2ヶ月ちょい経ってしまっていた須藤です。
WebDriver APIを使ったLua用のWebブラウザー自動操作ライブラリー LuaWebDriver
WebDriver APIを使ってWebブラウザーを自動操作できるLuaのライブラリーを開発しました。LuaWebDriverといいます。 これは、クリアコードが株式会社セナネットワークス様からの発注を受けて開発したライブラリーです。MITライセンスで公開しています。
Debianで医用画像を閲覧するためのアプリケーション三選
はじめに
最近骨折を経験した林です。 病院を紹介してもらうときに、紹介状とともに医用画像を含むメディア(CD-ROM)を渡されることがあります。 メディアには医用画像を閲覧するための専用のビューワーが付属していたりしますが、そのビューワーがWindowsでのみ動作するアプリケーションだったりするとそのままではDebianで閲覧できません。 そこで、今回はDebianでこのような医用画像(いわゆるDICOMと呼ばれるフォーマットのもの)を閲覧する方法をいくつか紹介します。
PhabricatorでのFirefoxへのパッチ投稿方法
以前の記事で、Firefoxへのパッチ投稿の一手段としてMozReviewという仕組みがあることと、その使用方法を紹介しました。しかし、その後すぐにMozillaのコードレビューシステムがPhabricatorに完全移行してしまい、MozReviewの運用は止まってしまったようです。記事公開時点ではまだMozReviewを使う開発者が大半のように見えていたため、MozReviewの運用停止が近づいているということを把握できていませんでした。
LuaRocksにモジュールを登録する方法
Luaには、LuaRocksというパッケージマネージャーがあります。RubyでいうとRubyGemsのようなものです。
LuaRocksに登録されているモジュールは、luarocks install モジュール名で簡単にインストールできます。
Luaは言語に組み込まれている機能が少ないので、LuaRocksに登録されている外部のモジュールを使って機能を拡張することが多いです。
RubyData Tokyo Meetup - Apache Arrow #RubyData_tokyo
Apache ArrowのC・Ruby・パッケージ関連を主に開発している須藤です。
片手でのキーボード入力を支援するソフトウェアについて
Firefox 64およびFirefox ESR60.4以降で可能になる、ルート証明書の自動インポートの方法
Firefox 52以降で可能になったエンタープライズの証明書の自動インポート機能は、WindowsでActive Directoryのグループポリシー機能を使って配布された証明書をFirefoxから認識できるようになるという物でした。そのため、Windows以外の環境では使用できず、また、WindowsでもActive Directoryを運用していない場合はレジストリを直接編集して証明書を配布する必要がありました。
日本OSS推進フォーラム アプリケーション部会 第10回勉強会 - Apache Arrow - データ処理ツールの次世代プラットフォーム
日本OSS推進フォーラム一般会員の1企業クリアコードの須藤です。
Apache Arrow東京ミートアップ2018 - Apache Arrow #ArrowTokyo
Apache Arrow東京ミートアップ2018を主催したした須藤です。会場提供・飲食物提供などSpeeeさんにいろいろ協力してもらいました。ありがとうございます。