ククログ(15)
GitHub Actionsでccacheを使ってCMake+Microsoft Visual C++のビルドを高速化
Apache ArrowとかMroongaとかいくつかC++ベースのビルドに時間がかかるプロジェクトの開発をしている須藤です。ccacheを使うことでこれらのプロジェクトのCI時間を短くする方法を紹介します。
Google Chrome拡張機能のManifest V3におけるwebRequestでのブロッキングの継続利用
2020年に発表され、2021年のGoogle Chrome 88以降のバージョンで既に利用可能となっている、Chrome用拡張機能の仕様の大規模アップデートである「Manifest V3」では、それまであったwebRequest
と呼ばれるAPIが廃止されています。
ですが、いつまで可能かという期間は明記されていないものの、主に法人運用向けとして、特定の条件を満たすことでこのAPIの利用を継続できるようになっています。
この記事では、webRequest
によるブロッキングをManifest V3でも行う具体的な方法について解説します。
RubyKaigi2022でRuby3とFluentdの講演をしてきました #rubykaigi2022
2022年9月8〜10日に開催されたRubyKaigi 2022に講演者として参加してきました。
この記事では、カンファレンスに参加して印象に残った講演や出来事について書きます。
#Fluentd トラブル相談 3 - Windows版のtd-agent 4でメモリリークが発生する
第3回目、久しぶりのFluentdトラブル相談のご紹介です。 今回は「Windows版のtd-agent v4で使用メモリが右肩上がりに上昇していく」という事例です。
RubyKaigi 2022 after event for Fast data processing with Ruby and Apache Arrow #rubykaigi
この記事は9月22日にYouTube Liveで放送した RubyKaigi 2022 after event for Fast data processing with Ruby and Apache Arrow のまとめです。
Apache ArrowのPMC chairである須藤が話し手、たなべさんを聞き手として、Apache Arrowに関する質問に回答をするという趣向の放送でした。
RubyKaigi 2022に現地参加してきました! #rubykaigi
9月の8, 9, 10日に三重で開催されたRubyKaigi 2022に現地参加してきた福田です。
今回初めて現地参加をして、Rubyってカッコ良い!面白そう!と感銘を受けました。
本記事では、RubyKaigiに参加して感じたことを紹介します。
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow #rubykaigi
RubyKaigi 2022でFast data processing with Ruby and Apache ArrowというApache Arrowを使ってRubyで高速にデータ処理する話をした須藤です。
Mesonを使ってGObject Introspection対応のビルドシステムを構築する方法
最近、milter managerというフリーソフトウェアを Mesonというビルドシステムに対応させる作業を行っている福田です。
その主な目的は、RubyやPython用のバインディングを自動で生成できるようにすることです。
ライブラリーがGObjectを利用している場合、 GObject Introspectionを使えば(ほぼ)自動でバインディングを生成できます。
MesonにはGObject Introspectionサポート(Meson Integration) が組み込まれているので、Mesonを使うと簡単にGObject Introspectionを利用できます。
今回は、Mesonを使ってGObject Introspection対応のビルドシステムを構築する方法を説明します。
Red Hat Enterprise Linux系OSの種類やバージョンを見分ける方法
最近GNU/Linux系のパッケージング周りの仕組みに初めてチャレンジしている福田です。
複数のプラットフォームを想定する場合、動作しているプラットフォームを見分けることが必要になります。
今回は、Red Hat Enterprise Linux系OSの種類とバージョンの見分け方をご紹介します。
GNU/Linuxの共有ライブラリーのバージョンとアプリケーションバイナリインターフェース(ABI)
最近、GNU/Linuxの共有ライブラリーのビルドシステムの改良業務をしている福田です。
共有ライブラリーのバージョンについて考えるには、共有ライブラリーの構成の仕組みと、アプリケーションバイナリインターフェース(ABI) という概念について把握する必要がありました。
普段何となく共有ライブラリーを利用する側としてはあまり意識してきませんでしたが、 共有ライブラリーを作って提供する側にとっては重要な概念です。
GNU/Linuxシステムにおいて、共有ライブラリーのメジャーバージョンは、その他の桁のバージョンに比べて特別な意味を持ちます。 メジャーバージョンが変わることは、アプリケーションバイナリインターフェース(ABI)の互換性がなくなることを示すことが一般的です。
本記事では、共有ライブラリーの構成とABIについて紹介します。