#
224
2024/12/20
今日のトレンド

Hono RPC Client Swiftコンパイラ など

こんにちは、マイクです!今日は2024年12月21日、金曜日ですね。今日も「zenncast」をお聴きいただき、ありがとうございます!今日はZennでトレンドの記事をいくつかご紹介していきますよ!

さて、前回紹介した記事についてですが、今回は特に触れることはありません。さっそく今日の内容をお届けしますね。

今日紹介する記事は全部で5本です。それでは、最初の記事からいきましょう!

まず1つ目の記事は「HonoのRPC Clientの仕組み」です。この記事は、Honoという軽量で高速なウェブフレームワークのRPC Client、つまりリモートプロシージャコールの仕組みを解説しています。HonoはNode.jsやDeno、ブラウザ環境で動くモダンな設計が特徴です。

このRPC Clientは、サーバーとクライアントがリクエストとレスポンスの型を共有することで、型安全な通信を実現します。具体的には、サーバー側で定義した`AppType`をクライアント側で利用し、型に基づいたリクエストを送信します。これにより、エンジニアは安心してAPIと通信できる環境が整うのです。

さらに、HonoのRPC ClientではTypeScriptのGenericsを使い、型情報を保持しているため、プロパティのチェーンを用いてAPIパスを指定することができます。内部的には、JavaScriptのProxy機能を利用してリクエストを送信し、レスポンスは自動で成功か失敗かを判別します。このように、型の組み合わせと安全な通信を提供するHonoのRPC Clientは、エンジニアにとって非常に頼もしい存在ですね。

続いて2つ目の記事、タイトルは「Swiftコンパイラ開発入門」です。SwiftコンパイラのOSS化に伴い、多くのユーザーが開発に参加しやすくなっていますが、開発チームは多忙であるため、ユーザー自身がパッチを提出する必要が増えています。

この記事では、一般的なSwiftユーザーがコンパイラ開発を始めるための手順を詳しく解説しています。Apple Siliconを推奨し、必要な環境構築としてXcodeやHomebrew、Gitなどのインストールが求められます。

環境が整ったら、Swiftリポジトリをチェックアウトし、依存リポジトリを取得。そして、ビルドにはNinjaを用い、ビルド結果は`build`ディレクトリに格納されるのです。もしビルドに失敗した場合は、ビルドディレクトリを削除し、安定版を再チェックアウトすることが推奨されています。

このように、Swiftコンパイラの開発に興味がある方には、非常に役立つ内容が詰まっていますね。それでは、次の記事に行きましょう!

3つ目の記事は「Swiftでの「@〜〜〜」どこから来たやつなのかクイズ」です。Swiftのコードでは、`@`記号から始まる構文が多く使われていて、これが何を意味するのかを理解することはとても重要です。

この記事では、Swiftにおける`@〜〜〜`構文が示す5つの主要な機能について説明しています。例えば、属性やプロパティラッパー、リザルトビルダーなどがあり、具体的な例題やクイズを通じて理解を深めることができます。

特に、`@State`や`@EnvironmentObject`など、SwiftUIでよく使われる構文の出所を問う内容が含まれており、エンジニアは自分の理解を確認しながら学ぶことができるんです。正解数をシェアするためのソーシャルメディア投稿用の文も提供されており、楽しみながら学べること間違いなしですね。

さて、次は4つ目の記事です。「制約と共に登るコンパウンドスタートアップのアーキテクチャ」というタイトルです。こちらは、レジリアのアーキテクトである奥村氏が、同社のアーキテクチャの進化を振り返り、今後の方向性について述べています。

レジリアはサプライチェーンリスク管理のマルチプロダクト戦略を推進し、アーキテクチャは試行錯誤の中で進化してきました。特に、SCRMの移行やBFFとBackendの分離など、実際の開発での課題や解決策が紹介されています。

SCRM 2.0では、BFFとBackendの役割を見直し、Batch処理とBackendのコードを統合する新たなアーキテクチャが導入されています。今後のマルチプロダクトの戦略を見越して、Monolithアーキテクチャの採用も検討されているとのことです。柔軟に対応することが重要だと強調されていますね。

それでは、最後に5つ目の記事です。「ASIC開発チームの技術スタック」です。この記事では、PEZY ComputingのASIC開発チームが使用している技術スタックについて紹介しています。

ASIC開発には、一般的なWeb系の技術スタックとは異なる特有のツールや言語が必要です。主なハードウェア記述言語にはSystemVerilogを使用し、検証にはUVMや手書きのコードを用いています。また、設計支援用のプログラミング言語としてRustやPython、Rubyを使用しており、特にRustは検証用のモデル作成に利用されています。

インフラ面では、オンプレミスサーバを運用し、AlmaLinuxをメインに使用しているとのことです。タスク管理にはRedmine、CI環境はGitLabで整備されています。ASIC開発に関する情報はNDAによって制約されるため、OSSを活用した情報共有が期待されている点も興味深いですね。

さて、今日はここまでで、5本の記事を駆け足でおさらいしました。HonoのRPC Clientから始まり、Swiftコンパイラ開発、Swiftの`@`記号に関するクイズ、アーキテクチャの進化、ASIC開発の技術スタックまで、盛りだくさんでしたね!

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

Related episodes

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