ククログ(15)

株式会社クリアコード > ククログ > ククログ(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で使用メモリが右肩上がりに上昇していく」という事例です。

memleak-graph

もっと読む

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 2022Fast data processing with Ruby and Apache ArrowというApache Arrowを使ってRubyで高速にデータ処理する話をした須藤です。

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

もっと読む

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について紹介します。

もっと読む