#
100
2024/8/19
今日のトレンド

Next.jsとディレクトリツリー など

皆さん、こんにちは!マイクです。今日は2024年8月20日、火曜日ですね!みなさん、元気に過ごしていますか?今日はZennでトレンドの記事をいくつかご紹介しますよ!

さて、まずは前回紹介した記事についてですが、今回は特にお話しすることはありませんので、さっそく今日の内容に移りましょう!

今日紹介する記事は全部で5本です。それでは、まず1つ目の記事からご紹介しますね。

1つ目の記事は、「【Next.js】App RouterとRSCによるアーキテクチャ設計」です。Next.jsのApp Routerの導入によって、開発者の利便性が向上しました。特に大規模プロジェクトでは、適切な設計が求められます。この記事では、App Routerを活用した効率的なディレクトリ設計やレイアウトコンポーネントの活用、サーバーコンポーネントとクライアントコンポーネントの配置、ページ遷移の最適化について詳しく考察しています。

効率的なディレクトリ設計では、コンポーネントや機能ファイルを`app`ディレクトリの外に置くことで、ルーティングに関連するファイルが整理され、メンテナンス性が向上します。また、共通のUIを持つレイアウトコンポーネントを使うことで、データ共有や認証処理もスムーズに行えます。サーバーコンポーネントは初期ページロードを高速化し、クライアント側のJavaScriptの負担を軽減します。そして、ページ遷移には`<Link>`コンポーネントを使ってUXを向上させることがポイントです。今後もNext.jsの特性を活かしたベストプラクティスを探求していくことが重要ですね。

続いて、2つ目の記事をご紹介します!「ディレクトリツリーを2秒で書けるアプリを作りました」。著者は、PR作成時に必要なディレクトリツリーを手軽に生成できるアプリを開発しました。従来は手動で修正が必要でしたが、このアプリにより、インデントに応じたディレクトリツリーが自動生成されるようになりました。

アプリは左側のテキストエリアにスペースやタブを入力することで、右側にディレクトリツリーが描画される仕組みです。使用されている技術スタックにはAstroフレームワークやtailwindcss、CodeMirror、Netlifyがあり、特にAstroはシンプルなWebアプリの構築に適しています。tailwindcssを使ったスタイリングは迅速な開発を可能にし、CodeMirrorによって使いやすさも向上しました。著者はこのアプリを日常的に使用しており、エンジニアの皆さんにも利用してもらいたいとのことです。

さて、次は3つ目の記事です!「Goで物理演算」。Go言語で物理演算を行うためのパッケージ「jakecoffman/cp」は、C言語のChipmunk2Dライブラリを移植したものです。物理演算の基本的な要素として、Body、Shape、Spaceの3つがあります。これらを理解すれば、物理演算は容易に扱えます。

具体的なサンプルコードでは、addBall関数を使ってSpaceにボールを追加し、重力を設定した後に物理演算を実行します。また、addWall関数を追加することで床を作成し、ボールが跳ねる様子を描画できます。さらに、ドラッグ機能を実装することで、ユーザーがボールを操作できるようになります。Goでの物理演算は簡単に実装できることが示されており、さまざまなゲームやシミュレーションに応用可能です。

次は4つ目の記事です!「【T3Stack入門】原則と各技術の特徴を理解する」。T3 Stackは型安全で先進的な開発を実現するためのフルスタック技術スタックで、Theo氏によって提案されました。このスタックは、Next.jsやTypeScript、tRPC、Prisma、Tailwind CSS、NextAuth.jsなどで構成されています。

T3 Stackの利用には、create-t3-appというCLIテンプレートがあり、初期設定を簡単に行えます。特に重要な「T3の原則」として、問題を解決する技術を選ぶこと、責任を持ってリスクを取ること、型安全性を重視することが挙げられます。TypeScriptによる型安全性が強調されており、フロントエンドとバックエンドで共通の型定義を利用することで、データの整合性が保たれます。これにより、効率的な開発環境が提供されます。

最後に、5つ目の記事です!「【E2E連載企画 第4回】End-to-End自動運転のための三次元物体検出モデルの開発」。TuringのE2Eチームは、2025年までに東京の複雑な道路を自動運転できるシステムの開発に取り組んでいます。今回は三次元物体検出について述べています。

自動運転には周囲の状況を認識し、行動を決定するための三次元物体検出が不可欠です。特にBEV特徴を用いたモデルが主流で、TuringではLiDARとカメラのデータを利用したBEVFusionをベースにしたモデルを開発しています。さらに、オートラベリングによって手作業のアノテーションに頼らず、大量のデータに対するラベリングを自動化する取り組みも行っています。興味のあるエンジニアは連絡を歓迎しているとのことです。

さて、今日は5本の記事をご紹介しました。内容を駆け足でおさらいしますね。1つ目はNext.jsのアーキテクチャ設計、2つ目はディレクトリツリーを生成するアプリ、3つ目はGoでの物理演算、4つ目はT3 Stackの原則、そして5つ目は自動運転のための三次元物体検出モデルの開発についてでした。

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

Related episodes

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