2023年末のElixir②今年、更新されたライブラリ／FW編（最新Elixirのキャッチアップと、アドカレのネタ探しに読んでください）

この記事は、[Elixir Advent Calendar 2023 シリーズ9](https://qiita.com/advent-calendar/2023/elixir) の2日目です

昨日は、私で [「2023年末のElixirが出来ること①今年出たライブラリ／FW編」](https://qiita.com/piacerex/items/774dd91c67184bec6df1) でした

---

[piacere](https://twitter.com/piacere_ex) です、ご覧いただいてありがとございます :bow:

2023年末の時点で、Elixirにいったい何が出来るのかを紐解いていくシリーズで、[前回は「① 2023年の新たなライブラリ／FW編」](https://qiita.com/piacerex/items/774dd91c67184bec6df1)でしたが、今回は「② 2023年に更新されたライブラリ／FW編」です

:::note warn
[①2023年の新たなライブラリ／FW編](https://qiita.com/piacerex/items/774dd91c67184bec6df1)
[②2023年に更新されたライブラリ／FW編](https://qiita.com/piacerex/items/0c6ffb235e1146c38302)
[③Elixir本体／Phoenix／LiveView編](https://qiita.com/piacerex/items/8cd483159c93d0f05bd7)
[④Web／スマホ開発ライブラリ編](https://qiita.com/piacerex/items/40ec656513be75a996c0)
[⑤AI・LLM前編【Nx／Bumblebee】](https://qiita.com/piacerex/items/f6a73a8252a3f6093b1a)
[⑥AI・LLM後編【Scholar／Explorer／Evison／EXGBoost】](https://qiita.com/piacerex/items/fd19820bc0befe52b156)
[⑦Livebook＋プラグイン編](https://qiita.com/piacerex/items/bcdcb7bc6c998335a406)
[⑧クラウドライブラリ編](https://qiita.com/piacerex/items/0ce1f05990a502a26ed7)
[⑨マイクロサービスライブラリ編](https://qiita.com/piacerex/items/7e4b15e4dd9a94e58b3b)
[⑩データ操作ライブラリ編](https://qiita.com/piacerex/items/2e19fd1df6ef2d7cf150)
[⑪2023年末までのElixirができることを振り返る](https://qiita.com/piacerex/items/4ef28623d898450c0dcf)
:::

なお、プロダクション開発に頻出するものや定番データ操作／クラウド向け／マイクロサービス向けのライブラリ／FWは、続編コラムで別途紹介します

あと、このコラムが、面白かったり、役に立ったら、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/907a8695-4d83-1b5c-8052-d0ce52de5f66.png) をお願いします :bow:

# 2022年以前から今も更新され続けるライブラリ／FW

[`hex.pm` の「Recently Updated」の60ページ x 1ページ30本 + 2024/1/1追加の「supervisor3」までの16](https://hex.pm/packages?page=60&sort=updated_at)  で、

:::note info
<b>計1,843本</b>
:::

となります

この中から、100万回以上ダウンロードされており、コアライブラリやFWの依存関係で無いもの25個に絞って紹介します

他にも「ウチでこんな新しめライブラリ使っているよ」とかあれば、ぜひコメントでお知らせください :bow:

## Bandit

PhoenixのHTTPサーバコア「Cowboy」より4倍高速なHTTPサーバ　<strike>※次期Phoenix搭載予定</strike>
<font color="red">【2023/12/01追記】[すでに搭載済みでした … 本リンクをご覧ください](https://twitter.com/piacere_ex/status/1730485317038399639)</font>

https://github.com/mtrudel/bandit

## Websock

上記Banditでも使われるWebSocket用Plug

https://github.com/phoenixframework/websock

## Hpax

上記Banditでも使われるHPACK（RFC 7541） HTTP/2ヘッダ圧縮

https://github.com/elixir-mint/hpax

## Finch

高性能でメトリクスも取れるHTTPクライアント（HTTPoisonやReq、Gunより高速）

https://github.com/sneako/finch

## StreamData

プロパティベーステストフレームワーク

https://github.com/whatyouhide/stream_data

## Floki

Phoenixにも標準搭載のHTMLパーサ

https://github.com/philss/floki

## Waffle

Amazon S3とImageMagickも統合できるフレキシブルなファイルアップロード

https://github.com/elixir-waffle/waffle

### Waffle.Ecto

上記WaffleでEctoとChangesetを利用可能にする

https://github.com/elixir-waffle/waffle_ecto

## Cachex

高速インメモリKeyValueストア

https://github.com/whitfin/cachex

## Memoize

メモ化

https://github.com/melpon/memoize

## TableRex

テキストでテーブル表示

https://github.com/djm/table_rex

## K8s

Kubernates APIクライアント

https://github.com/coryodaniel/k8s

## EarmarkParser

Markdownパーサー

https://github.com/RobertDober/earmark_parser

## Hashids

数値を難読化する「Hashids」のElixirポーティング

https://github.com/alco/hashids-elixir

## Snappyer

圧縮／解凍ライブラリ

https://github.com/zmstone/snappyer

## CredentialsObfuscation

プロセス内機密データのワンタイム暗号化／復号化

https://github.com/rabbitmq/credentials-obfuscation

## ElixirMake

Elixir PJ（mix）でmakefileを扱えるように

https://github.com/elixir-lang/elixir_make

## Redbug

Erlang VMが特定のイベントを発生させたときにトレースメッセージを出す

https://github.com/massemanet/redbug

## Exometer

システム性能データを様々な監視ツールにエクスポート

https://github.com/Feuerlabs/exometer_core

## MixAudit

npm auditやbundler-auditのようなライブラリ依存関係のセキュリティ脆弱性を調べるmixコマンド

https://github.com/mirego/mix_audit

## MsgPack

JSONよりもコンパクトで効率良いバイナリベースのシリアライズをElixirで

https://github.com/lexmag/msgpax

## Grpc

gRPCのElixir実装

https://github.com/elixir-grpc/grpc

## Logster

RailsのLogrageライクなロガー

https://github.com/lexmag/msgpax

## ExVcr

RubyのVCRに似たHTTP操作のレコーディング／再生

https://github.com/parroty/exvcr

## GeoPostGIS

PostGIS（PostgreSQL用位置情報データ拡張）をPostgrexで利用可能に

https://github.com/felt/geo_postgis

# 終わりに

今回ご紹介したライブラリ／FWには、良くご存じのライブラリ／FWもあれば、初めてのものも沢山あったのでは無いかと思います

年間3,000本を超えるアップデートが行われているElixir OSSに改めて感謝です

[次回は、「③Elixir本体／Phoenix／LiveView編」をお送りします](https://qiita.com/piacerex/items/8cd483159c93d0f05bd7)


# p.s.このコラムが、面白かったり、役に立ったら…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/907a8695-4d83-1b5c-8052-d0ce52de5f66.png) にて、どうぞ応援よろしくお願いします :bow:

---

明日は、 @torifukukaiou さんで [「闘魂Elixir とにかくリアクションするボットの鮮やかな復活劇」](https://qiita.com/torifukukaiou/items/9f06d046442cbcfce293) です