【エンジニアの日常】これが私の推しツール!〜日々の開発を豊かにするおすすめツール〜 Part3

こんにちは。Findy Tech Blog編集長の高橋(@Taka_bow)です。

この記事はこれが私の推しツール!シリーズの第3弾になります。今回も、推しツール紹介と題して、弊社エンジニア達が日々の開発業務で愛用しているツールやOSSを紹介していきます。

トップバッターは奥田さんです!

■ 奥田さん / PdM室 / GenAIイネーブルメント ■ データサイエンティストのだーさん (@Dakuon_Findy) です。2025年の1月よりファインディのプロダクトマネジメント室 GenAIイネーブルメントチームにデータサイエンティストとして参画しております。このチームでは、LLMを活用した各種プロダクトの強化や、社内オペレーションの改善に取り組んでいます。

Polars (Pythonライブラリ)

Polarsの概要

Polarsは、高速かつ明示的なスキーマ定義を特長とするデータフレームライブラリです。大規模データであってもローカル環境でカラムの型の一貫性を保ったまま効率的に処理できるため、信頼性とスピードを両立したデータ分析が可能になります。

Polarsを使ってる様子

Polarsの推しポイント

処理が速い!型がある!の2点です。この2点がデータ分析における推しポイントとなる理由を以下で詳述します。

1. 処理速度

前職で経験したのですが、pandasで2時間かかっていた処理が、Polarsに書き換えた途端に5分少々で完了し、驚愕しました。処理が速すぎて「処理の間に別のコードをのんびり書こう」が成立せず、自分のタイピング速度が開発のボトルネックになっているような感覚になります。ひりつきますね。

次の図は公式が公開している、Parquet形式データ読み込みを含んだ処理速度のベンチマークです。例えば1つめのクエリ (Q1) ではpandasは25秒、Polarsでは約1.5秒と、約16.7倍の速度が出ており、全体を通じてPolarsの処理速度はpandasの約11倍 (Q6) 〜81倍 (Q5) の速度が出ていることが見て取れます。

Updated PDS-H benchmark results より引用

2. カラムごとに明確な型を持てる

Polarsでは、スキーマを用いてカラムごとに明示的な型を定めることができます。たとえば「数値型 (pl.Int64)」とスキーマで決めたカラムに文字列が混ざっていると読み込み処理の段階で型エラーになります(もちろん、Object 型を使えば混在も可能ですが、それを明示しない限りはエラーで気づけます)。これは一見「融通が利かない」と思われがちですが、表記揺れに気づけたり、特定の型を前提とした処理を組んでもバグが起こりづらいというメリットがあります。

正常なスキーマでCSVを読み込んだ例

誤ったスキーマでCSVを読み込んだ場合のエラー

Polarsがここまで快適なのは、単なる実装の工夫ではなく、そもそもの「設計思想」によるところが大きいと考えられます。公式ドキュメントでも次のように述べられています:

Philosophy

The goal of Polars is to provide a lightning fast DataFrame library that:

  • Utilizes all available cores on your machine.
  • Optimizes queries to reduce unneeded work/memory allocations.
  • Handles datasets much larger than your available RAM.
  • A consistent and predictable API.
  • Adheres to a strict schema (data-types should be known before running the query).

Polars is written in Rust which gives it C/C++ performance and allows it to fully control performance-critical parts in a query engine.

これを見てみると、私の推しポイントはまさにこの設計思想の上に成り立っていることがわかります。

  • “provide a lightning fast DataFrame library” → 推しポイントの「処理が速い」につながる話です。まさに "lightning" な速度です。
  • “Strict schema” → 推しポイントの型の話そのものです。明示的な型で処理を行えるという安心感は本当に大きいです。

つまり、「速い・型がある」が推しポイントになるデータフレームライブラリというのはPolarsが最初から目指していたものだった、というわけです。

たとえば長期の時系列データのように、機器の変更などで表記揺れが発生しやすくデータ量も非常に大きいケースでは、Polarsの「型」と「処理速度」の強みが特に活きます。そんな場面に出会ったときにはぜひPolarsのことを思い出してもらえると嬉しいです。

Polarsの設計思想にしっかり踏み込み、自分の手で試したからこその実感が伝わる記事ですね。速度と型、安全と快適さを追い求めるPolars愛が詰まったツール紹介でした!

次は、久木田さんです!

■ 久木田さん / プロダクト開発部 / バックエンド・SRE ■ Freelance開発チームの久木田です。ファインディ入社3年目です。 バックエンド開発からインフラ構築、SRE的業務にも携わっています。

HTTPie

HTTPieの概要

HTTPieとはコマンドラインで使えるHTTPクライアントツールです。curl の代替として使用できるものです。 コマンドが直感的でわかりやすく、レスポンスのJSONは自動的に色付けされて見やすく表示されます。まだβ版ですが、Webアプリやデスクトップアプリも提供されています。

HTTPieを使ってる様子

HTTPieは、レスポンスがJSONであれば自動で整形・色付けしてくれます。

公式サイトのインタラクティブなデモページでCLIコマンドを試すことができるので、ぜひそちらでも試してもらいたいです。

デスクトップアプリも使っており、こちらも使いやすく愛用しています。 デスクトップアプリ版は基本的にはGUIで操作するようになっており、リクエスト履歴の管理などがしやすくAPIテストを効率的にできます。

HTTPieの推しポイント

  • CLIで使う場合

    • JSON出力の見やすさ
      • 自動整形とシンタックスハイライトでAPIレスポンスの確認がしやすい
    • オプションが簡潔
      • 覚えるオプションが少なく、短く済むので直感的に使える
  • デスクトップアプリの場合

    • 使いやすいUI
      • リクエストの作成や管理が簡単
    • コード生成機能
      • 作成したリクエストをcurlコマンドやPython (requests)、JavaScript (fetch)など、他の言語やツールのコードに変換してくれる機能が便利

CLIとデスクトップアプリと場合によって使い分けできるので、API開発やテストでJSONデータを頻繁に扱う人に、HTTPクライアントツールとしておすすめです。

AWS Peacock Management Console

AWS Peacock Management Consoleの概要

Chromeの拡張機能で、AWSコンソールを使いやすくするためのツールです。 AWSアカウントIDによってAWSコンソールのヘッダーの色を変更してくれます。 また、右上のログインユーザーの情報部分にアカウントのエイリアスも表示してくれます。

AWS Peacock Management Consoleを使ってる様子

拡張機能に追加してもらったあとに、オプションで設定をします。 適用したいアカウントIDを入力し、環境ごとに設定したい色を16進数のカラーコードで指定します。

指定することで次のように色が変わります。 アカウントのエイリアスの表示は自動でしてくれます。

Staging環境

Production環境

AWS Peacock Management Consoleの推しポイント

  • 自分がログインしている環境を間違えない。
    • プロダクト・環境ごとにAWSの環境が違うのですが、ヘッダーの色分けによって自分が今どのアカウントにいるかを常に把握できます。

複数のAWSアカウントを使っている開発者にはぜひ導入してもらって、事故を減らしてもらえたらと思います。

直感的な操作感と環境ごとの安全設計にこだわったHTTPieとAWS Peacock Management Console。CLIとGUIを使い分けながら、開発の快適さを追求したツール紹介でした!

最後は金丸さんです!

■ 金丸さん / プロダクト開発部 / バックエンド ■ Findy Freelance バックエンド開発の金丸です。 オペレーション改善などのバックオフィス機能開発を中心として、Findy Freelanceのバックエンド開発に携わっております。

Warp

Warpの概要

Warpは次の特徴を持つターミナルツールです。 - 強力なコマンド補完 - コマンド単位で入出力を管理するブロック - ショートカット、ペイン分割などのカスタマイズ可能

生成AIと連携したAgentモードも特徴の1つです。 (私自身はまだ使いこなせていません。。。)

Warpの推しポイント

推しポイントは2つあります。

サジェストが強力

過去に実施したコマンドの傾向やエラー出力をもとに、次に実施するべきコマンドをサジェストしてくれます。

例: git add -> git commit -> push branch -> open pull request の流れを自動的に補完してくれる

上記のGIFでは git push でエラーが出た際に出力された git push --set-upstream origin hogehoge をサジェストしてくれています。

ブロック機能

Warpはコマンド実行単位でブロックが作成されます。

ブロック機能により、各コマンドに対応する出力結果が明確になり、理解しやすくなるという利点があります。 また、ブロック内の出力だけを選んでコピーしたり、検索したりする操作も簡単に実施できます。

  • 特定コマンドの実行結果をコピーする

  • 出力結果内から該当箇所を検索する

なるほど、Warpの補完とブロック機能は確かに嬉しいですね。日々のターミナル操作がぐっと快適になる感じ、良さそうです。使い込むほどに良さがわかるツールですね。

おわりに

今回ご紹介した3名も、それぞれの開発スタイルに合わせてツールを選び抜き、日々の作業を快適にする工夫を重ねていましたね。スピードや操作性、ミスの防止など、それぞれが注目したポイントからはエンジニアとしてのこだわりが垣間見えます。道具選びひとつ取っても、開発生産性と心地よさを追求する姿勢が伝わってきました!

ファインディでは、さまざまなバックグラウンドを持つエンジニアが活躍しています。技術にこだわり、より良いものを追求する仲間とともに働いてみませんか?

現在、ファインディでは新しいメンバーを募集中です。 興味のある方は、ぜひこちらからチェックしてみてください!