この記事は、Elixir Advent Calendar 2023 シリーズ9 の2日目です
昨日は、私で 「2023年末のElixirが出来ること①今年出たライブラリ/FW編」 でした
piacere です、ご覧いただいてありがとございます
2023年末の時点で、Elixirにいったい何が出来るのかを紐解いていくシリーズで、前回は「① 2023年の新たなライブラリ/FW編」でしたが、今回は「② 2023年に更新されたライブラリ/FW編」です
なお、プロダクション開発に頻出するものや定番データ操作/クラウド向け/マイクロサービス向けのライブラリ/FWは、続編コラムで別途紹介します
あと、このコラムが、面白かったり、役に立ったら、 をお願いします
2022年以前から今も更新され続けるライブラリ/FW
hex.pm
の「Recently Updated」の中から、100万回前後ダウンロードされたものの中から、コアライブラリやutil系を除外した25個に絞って紹介します(好評であれば続編も検討します)
他にも「ウチでこんな新しめライブラリ使っているよ」とかあれば、ぜひコメントでお知らせください
Bandit
PhoenixのHTTPサーバコア「Cowboy」より4倍高速なHTTPサーバ ※次期Phoenix搭載予定
【2023/12/01追記】すでに搭載済みでした … 本リンクをご覧ください
Websock
上記Banditでも使われるWebSocket用Plug
Hpax
上記Banditでも使われるHPACK(RFC 7541) HTTP/2ヘッダ圧縮
Finch
高性能でメトリクスも取れるHTTPクライアント(HTTPoisonやReq、Gunより高速)
StreamData
プロパティベーステストフレームワーク
Floki
Phoenixにも標準搭載のHTMLパーサ
Waffle
Amazon S3とImageMagickも統合できるフレキシブルなファイルアップロード
Waffle.Ecto
上記WaffleでEctoとChangesetを利用可能にする
Cachex
高速インメモリKeyValueストア
Memoize
メモ化
TableRex
テキストでテーブル表示
K8s
Kubernates APIクライアント
EarmarkParser
Markdownパーサー
Hashids
数値を難読化する「Hashids」のElixirポーティング
Snappyer
圧縮/解凍ライブラリ
CredentialsObfuscation
プロセス内機密データのワンタイム暗号化/復号化
ElixirMake
Elixir PJ(mix)でmakefileを扱えるように
Redbug
Erlang VMが特定のイベントを発生させたときにトレースメッセージを出す
Exometer
システム性能データを様々な監視ツールにエクスポート
MixAudit
npm auditやbundler-auditのようなライブラリ依存関係のセキュリティ脆弱性を調べるmixコマンド
MsgPack
JSONよりもコンパクトで効率良いバイナリベースのシリアライズをElixirで
Grpc
gRPCのElixir実装
Logster
RailsのLogrageライクなロガー
ExVcr
RubyのVCRに似たHTTP操作のレコーディング/再生
GeoPostGIS
PostGIS(PostgreSQL用位置情報データ拡張)をPostgrexで利用可能に
終わりに
今回ご紹介したライブラリ/FWには、良くご存じのライブラリ/FWもあれば、初めてのものも沢山あったのでは無いかと思います
年間3,000本を超えるアップデートが行われているElixir OSSに改めて感謝です
次回は、「③ Elixir本体/Phoenix/LiveView編」をお送りします
明日は、 @torifukukaiou さんで 「闘魂Elixir とにかくリアクションするボットの鮮やかな復活劇」 です