#
255
2025/1/21
今日のトレンド

Go1.24新機能とJSON圧縮 など

こんにちは、マイクです!今日は2025年1月22日、火曜日ですね。さて、Zennで今日トレンドの記事を紹介していきますよ!

前回紹介した記事は「ポケモンカードをReactで実装してみた」、「VAEって結局何者なの?」、そして「OSSのアプリストア管理ツール、AppAgentを作りました」でした。これらは興味深い情報が盛りだくさんでしたね。

さて、今日紹介する記事は全部で5本です!それではさっそく、今日の内容をお話ししていきましょう!

まずは1つ目の記事、「Go1.24 New Features」です。Go1.24が2月にリリース予定で、新機能としていくつかの重要な変更が含まれています。具体的には、Generics版のtype aliasがサポートされ、型のエイリアスを使った柔軟な型定義が可能になりました。また、go.modでのツール管理ができるようになり、プロジェクトの依存関係の管理が効率化されます。さらに、GOCACHEPROGという新しい環境変数が導入され、ビルドキャッシュの管理が改善されるんです。このように新機能が盛りだくさんで、Goの開発効率とセキュリティが向上し、エンジニアにとってより使いやすい環境が提供されることが期待されています。

。...。

次に2つ目の記事、「ただJSONサイズを80%削減する話」です。ここでは、JSONファイルのサイズを80%削減する手法が紹介されています。著者はNode.jsを用いてJSONの圧縮を実施し、通信量を削減しつつデータの難読化も図っています。圧縮は大きく二つのステップで行われ、最初にJSONそのものを圧縮し、次にJSON文字列を圧縮します。最終的には804kBのファイルが160kBに圧縮され、約80%の削減に成功したとのことです。ただし、圧縮処理には時間がかかるため、マルチスレッドでの工夫が必要です。エンジニアにとって、JSONデータの圧縮は通信効率を向上させるための有用な技術であることが強調されています。

。...。

続いて3つ目の記事、「ReactでModalやConfirmの実装を簡単にするreact-callというライブラリがアツい!!!」です。react-callは、Reactコンポーネントを手続き的に処理できるライブラリで、ModalやConfirmのシンプルな実装を実現します。従来のwindow.confirmに比べて、Promiseを利用して非同期で結果を待機できるため、他の処理をブロックせずに扱える点が優れています。このライブラリを使うことで、モーダルの表示制御が不要になり、状態管理やネスト、結果の返却も容易に実現可能です。さらにはTypeScriptもサポートしており、開発効率が向上します。興味がある方はぜひGitHubでスターを付けてみてください!

。...。

次は4つ目の記事、「useStateの更新用関数は、なぜ最新の状態を参照できるのか」です。ReactのフックuseStateにおける更新用関数について、どのように最新の状態を参照できるかを解説しています。例えば、setInputNumber(inputNumber + 1)を2回呼び出すと古い値を参照し続けるのに対し、setInputNumber((prev) => prev + 1)を使用すれば常に最新の状態を参照できるんです。これは、setStateが呼ばれると、Reactが内部で処理をキューに入れ、次回レンダリング時にまとめて実行するためなんですね。親切なコーディングを心がけることが大切であると感じました。

。...。

最後に5つ目の記事、「ECS上にE2Eテスト基盤としてPlaywrightによる実行環境を構築した」です。ウェルスナビのQA部門がE2E自動テスト環境を改善するためにPlaywrightを導入しました。これにより、テストの柔軟性と拡張性が向上し、年間利用料を99%以上削減、成功率も向上しました。具体的には、テストシナリオ数が373件から829件に増加し、テスト実行時間が1/5に短縮されました。急速に成長する企業において、品質保証を強化するための重要なステップとなっているようです。

というわけで、今日の内容をおさらいしますと、Goの新機能、JSONファイルの圧縮手法、Reactのreact-callライブラリ、useStateの更新用関数の解説、そしてPlaywrightのE2Eテスト基盤の構築についてでした!次回もお楽しみにしていますよ!

詳しい内容はショーノートに書いてありますので、ぜひチェックしてくださいね。番組の感想もお待ちしています!それでは、また次回お会いしましょう!

Related episodes

内容の近いエピソードを推薦しています