社内向けに、バックエンド関連のニュースや業務で発生したQ&A、利用しているライブラリなどの情報を定期的に書いています。
Rust 1.70がリリースされました。
これ自体は1.68で追加された機能ですが、デフォルトで有効化されました。
sparseプロトコルについては上記のブログ記事に詳しく書かれています。端的にいうと、cargo update時に走るindex更新が遅かった問題を解決しようと生まれたものです。以前はindexの更新にgit cloneを使っていたのをやめ、HTTPSで直接やりとりするようになったようです。
また、並列でリクエストを送ることもできるので、この点でも高速化が期待できます。
https://rust-lang.github.io/rfcs/2789-sparse-index.html
1度だけ値を書き込みができるOnceCellとそのスレッドセーフ版のOnceLockがstdに入って安定化されました。
以前は lazy_static
や once_cell
と言ったライブラリがよく使われていましたが、stdに入って気軽に使えるようになったのはとても良いですね。
WASM処理系を提供していたWasmerがWASIXをリリースしました。
これはWASI ABIを含む様々なAPIのサポートを目的とした新しいWASM処理系(?)です。WASMには様々なProposalがありますが、WASI含め、あまり標準化が進んでいなかったという背景があります。
これらの問題を解決するべくWasmerがWASIXとして新たに提供を開始しました。元々あったWasmerのWASIサポートをさらに拡張するような形でサポートされているようです。
上記のブログではcurlがWASMで動くデモがあったり、WASIXがブラウザでもサポートされていることの説明があったりとかなり力を入れているのがわかります。
Wasmerの今後の動きにも期待できます。
AWS AppSyncで、Merged APIという、複数のGraphQL APIを1つにまとめるような機能がリリースされました。
ブログを見る限り、例えばマイクロサービスの入り口として簡単なGraphQL APIが提供されており、それらを外側から叩く時にGatewayとして使うような感じが想定されているようです。
実際に、複数のサービスがありそれぞれを別のチームが担当しつつ外部にGraphQL APIを提供しているケースで、このような機能があると便利そうです。
先日もAppSyncのPrivate APIがリリースされたりとAppSyncも最近アツい更新が続いています。