Skip to main content
AI EducademyAIEducademy
🌳

AI基礎

🌱
AI Seeds(種)

実社会で役立つAIリテラシー

🌿
AI Sprouts(芽)

インテリジェントシステムを支える基礎

🌳
AI Branches(枝)

今日のAIの実力を活かして作る

🏕️
AI Canopy(樹冠)

信頼できる生成AIシステムを設計する

🌲
AI Forest(森)

責任あるかたちでAIプロダクトを世に出す

🔨

AIマスタリー

✏️
AI Sketch(スケッチ)

AIを作る人のためのエンジニアリング基礎

🪨
AI Chisel(鑿)

より難しい問題を解くためのパターン

⚒️
AI Craft(制作)

AIをスケールさせるシステムを設計する

💎
AI Polish(磨き上げ)

AI時代に伝え、導く

🏆
AI Masterpiece(傑作)

あなたの本番AIキャップストーン

🚀

キャリア準備

🚀
面接ローンチパッド

AIエンジニアリングの求人市場を切り拓く

🌟
行動面接マスター

自分がどう成果を生み出すのかを語る

💻
技術面接

プレッシャーの中で解き、設計し、伝える

🤖
AI・ML面接

最新のMLと生成AIの面接に備える

🏆
オファーとその先

自信を持って、納得のうえで次の一歩を踏み出す

全プログラムを見る→

ラボ

7つの実験がロード済み
🧠ニューラルネットワーク プレイグラウンド🤖AIか人間か?💬プロンプトラボ🎨画像生成😊感情分析ツール💡チャットボットビルダー⚖️倫理シミュレーター
🎯模擬面接ラボへ入る→
ジャーニーブログ
🎯
概要

すべての人にAI教育をアクセス可能にする

❓
よくある質問

よくある質問への回答

🧰
AI ツール

私たちが使い、おすすめする厳選ツール

✉️
お問い合わせ

お気軽にご連絡ください

⭐
オープンソース

GitHubで公開開発

料金
始める
AI EducademyAIEducademy

© 2026 AI Educademy. 無断転載を禁じます。

学ぶ

  • プログラム
  • レッスン
  • ラボ
  • AIスターターキット
  • 料金

コミュニティ

  • GitHub
  • 貢献する
  • 行動規範
  • 概要
  • よくある質問

サポート

  • コーヒーをおごる ☕
  • 利用規約
  • プライバシーポリシー
  • お問い合わせ
  • Sitemap

Contents

  • Next.js 15 アプリ ルーターを使用する理由🏗️
  • next-intl による多言語サポート 🌍
  • MDX: コンテンツとコンポーネントの融合 📝
  • Real-World Applications
  • 分離されたコンテンツ用の Git サブモジュール 🔗
  • プログレッシブ ウェブ アプリ (PWA) のサポート 📱
  • Vercel への展開 🚀
  • 重要なパフォーマンス指標 📊
  • オープンソース原則 💚
  • 重要なポイント
← ブログ

Next.js と MDX を使用して多言語 AI 教育プラットフォームを構築した方法

AI Educademy の背後にある技術アーキテクチャを探索します: Next.js 15 App Router、i18n 用の next-intl、MDX コンテンツ パイプライン、git サブモジュール、PWA サポート、Vercel 導入。

公開日 2026年3月6日•AI Educademy Team•3 分で読める
nextjsopen-sourcearchitecturewebdev
ShareXLinkedInReddit

AI Educademy の構築には、コードベースをクリーンで開発者にとって使いやすいものに保ちながら、世界中の学習者がアクセスでき、保守が容易で、数百万のユーザーにサービスを提供できる十分なスケーラビリティを備えたプラットフォームを作成するという、独特の技術的課題が提示されました。

この詳細な説明では、Next.js 15 の選択から git サブモジュールを使用して多言語コンテンツを管理する方法まで、プラットフォームを形成したアーキテクチャ上の決定について説明します。教育プラットフォーム、ドキュメント サイト、またはコンテンツの多いアプリケーションを構築している場合でも、ここで実用的な洞察を見つけることができます。

Next.js 15 アプリ ルーターを使用する理由🏗️

私たちが AI Educademy の構築を開始したとき、Next.js 14 が標準でした。私たちがリリースするまでに、App Router が大幅に改善された Next.js 15 がリリースされました。いくつかの要素が私たちの目標と完全に一致したため、私たちはジャンプすることができました。

デフォルトでサーバー コンポーネント: Next.js 15 アプリ ルーターはデフォルトでサーバー コンポーネントを使用します。つまり、単純な操作では追加の API ルートを使用せずにコンポーネントでデータを直接フェッチできます。これにより、複雑さが軽減され、そのままの状態でパフォーマンスが向上します。

増分静的再生 (ISR): 教育内容は常に変化するわけではありませんが、変化します。 ISR を使用すると、ビルド時にページを事前レンダリングし、スケジュールに従ってページを再検証できます。これは、オンデマンド レンダリングによるパフォーマンスへの影響がなく、ブログ投稿、チュートリアル、コース教材が常に新鮮であることを意味します。

組み込みの最適化: 画像の最適化、フォントの読み込み、コード分割は自動的に処理されます。これらの機能の構築や構成にサイクルを費やす必要はなく、機能するだけです。

ファイルベースのルーティング: App Router の直感的なファイル構造により、ページと API ルートがどこに存在するかが明確になります。新しい貢献者はコードベースに飛び込み、構造をすぐに理解できます。

// Our routing structure is intuitive and scalable
app/
├── [locale]/
│   ├── page.tsx
│   ├── programs/
│   │   ├── page.tsx
│   │   └── [slug]/
│   │       └── page.tsx
│   └── blog/
│       ├── page.tsx
│       └── [slug]/
│           └── page.tsx
├── api/
└── layout.tsx

next-intl による多言語サポート 🌍

AI Educademy はグローバル コミュニティ向けに構築されています。複数の言語でコンテンツを提供することは、あると便利なだけではなく、すべての人に無料の AI 教育を提供するという私たちの使命を果たすために不可欠です。

next-intl を選択した理由は次のとおりです。

  • **複雑なミドルウェア構成を必要とせずに、App Router とシームレスに統合
  • タイプセーフな変換を提供するため、コンパイル時に欠落している変換キーを検出します
  • ネストされたロケール構造をサポート (同じページ コンポーネントで /en/programs と /es/programas を使用できます)
  • 日付/数値の書式設定をロケールに基づいて自動的に処理
  • サーバーおよびクライアント コンポーネントとスムーズに連携

i18n セットアップの構造は次のとおりです。

// middleware.ts - Detects user locale and routes accordingly
import { createMiddleware } from 'next-intl/middleware';

export default createMiddleware({
  locales: ['en', 'es', 'fr', 'de', 'zh'],
  defaultLocale: 'en'
});

export const config = {
  matcher: ['/((?!api|_next|.*\\..*).*)']
};

私たちの翻訳ファイルはロケールと機能ごとに編成されています。

messages/
├── en/
│   ├── common.json
│   ├── programs.json
│   └── blog.json
├── es/
│   ├── common.json
│   └── ...
└── fr/
    └── ...

このアプローチは見事に拡張されます。新しい言語を追加するということは、JSON ファイルを含む新しいフォルダーを追加することを意味します。コードを変更する必要はありません。

MDX: コンテンツとコンポーネントの融合 📝

ここからが興味深いことになります。従来のヘッドレス CMS を使用することもできましたが、コードとともにバージョン管理されるコンテンツ管理と、インタラクティブな React コンポーネントを教育コンテンツに直接埋め込む機能という、両方の長所を備えた MDX を選択しました。

AI Educademy のブログ投稿やチュートリアルを読むとき、単に静的な HTML を読んでいるわけではありません。あなたは以下とやり取りしている可能性があります:

  • 入力と出力を並べて表示するインタラクティブなコード例**
  • 理解度を確認するための埋め込みクイズ
  • 複雑な概念を説明する 視覚的な図
  • 重要な情報を強調表示する 吹き出しボックス

これらすべてが可能になるのは、MDX を使用しているためです。コンテンツ作成者は Markdown で記述することができますが、開発者はカスタム コンポーネントを渡すことができます。

---
title: "Understanding Neural Networks"
---

# Understanding Neural Networks

<ConceptExplainer concept="neural-networks" />

Neural networks are inspired by how our brains work...

<InteractiveQuiz questionId="nn-101" />

## Real-World Applications

<CodeExample language="python" title="Simple Neural Network" />

Next.js 15 で MDX をスムーズに動作させるには、@next/mdx を使用し、next.config.js で構成します。

// next.config.js
import createMDX from '@next/mdx';

const withMDX = createMDX({
  options: {
    remarkPlugins: [
      // Our custom plugins for syntax highlighting, TOC generation, etc.
    ],
    rehypePlugins: []
  }
});

export default withMDX({
  pageExtensions: ['ts', 'tsx', 'mdx']
});

分離されたコンテンツ用の Git サブモジュール 🔗

これは賢明なアーキテクチャ上の決定です。コンテンツは別の git リポジトリに存在し、git サブモジュールとしてメイン アプリケーションに取り込まれます。

なぜ?それは次のことを可能にするからです:

  • 非同期ワークフロー: コンテンツ作成者は開発者から独立して作業できます。
  • 懸念事項の明確な分離: アプリケーション リポジトリはコードに重点を置き、コンテンツ リポジトリはコンテンツに重点を置きます
  • 並列スケーリング: 異なるチームが異なる言語でコンテンツを維持できる
  • バージョン管理の利点: コンテンツの変更はコードの変更とは別に追跡されるため、ロールバックと履歴の追跡がより明確になります。

ディレクトリ構造は次のようになります。

ai-educademy/
├── content/ (git submodule)
│   ├── blog/
│   │   ├── en/
│   │   ├── es/
│   │   └── fr/
│   ├── programs/
│   │   └── [course content]
│   └── lab/
│       └── [interactive exercises]
├── app/
├── package.json
└── .gitmodules

コンテンツを更新する必要がある場合、次のことを行います。

# Pull latest content
git submodule update --remote

# Or content authors can PR directly to the content repo

この切り離しは、私たちの速度に大きな変化をもたらしました。 (ISR のおかげで) アプリケーションの再構築をトリガーせずにコンテンツを更新でき、エンジニアでなくても新しいプログラムを追加できます。

プログレッシブ ウェブ アプリ (PWA) のサポート 📱

教育は、低帯域幅環境を含むすべてのデバイスで行われます。 AI Educademy を PWA として構築したので、学習者は次のことが可能になります。

  • オフラインで作業: レッスンをダウンロードし、常時接続しなくても作業を完了できます
  • アプリのようにインストール: モバイルのホーム画面に追加して、アプリのようなエクスペリエンスを実現します
  • データ使用量を削減: スマート キャッシュにより、リピーターはコンテンツを再ダウンロードしなくなります
// next.config.js includes PWA configuration
import withPWA from 'next-pwa';

const withPWA = require('next-pwa')({
  dest: 'public',
  disable: process.env.NODE_ENV === 'development'
});

私たちの Service Worker 戦略は単純です。

  • アセットのキャッシュファースト: CSS、JavaScript、フォント - これらは頻繁には変更されません
  • コンテンツはネットワーク優先: ブログ投稿とコース教材は最新の状態を保つ必要があります
  • API データの再検証中失効: バックグラウンドで新しいデータを取得している間にキャッシュされたデータを表示します

Vercel への展開 🚀

Next.js との統合はシームレスであるため、Vercel にデプロイします。メイン ブランチにプッシュするたびに、自動ビルドとデプロイメントがトリガーされます。さらに重要なこと:

  • 自動 ISR 再検証 は Vercel のエッジ ネットワークで行われます
  • プル リクエストの展開をプレビューすると、マージ前に変更を確認できます
  • グローバル CDN により、地理に関係なくコンテンツが高速に読み込まれることが保証されます
  • エッジ関数 を使用すると、エッジで動的ロジック (言語検出など) を処理できます。

デプロイメントパイプラインは次のようになります。

Git Push → GitHub → Vercel Build → CDN Distribution → Global Users

特にコンテンツ更新については、コンテンツ サブモジュールが更新されると Vercel が新しいコンテンツでサイトを自動的に再構築できるように Webhook を設定しました。

重要なパフォーマンス指標 📊

このアーキテクチャすべてが連携して、トップレベルでパフォーマンスを発揮するプラットフォームを作成します。私たちの現実世界の指標:

  • コア ウェブ バイタル: すべて緑色 (LCP < 2.5 秒、FID < 100 ミリ秒、CLS < 0.1)
  • 最初のコンテンツフル ペイント: 全世界で平均 1.2 秒
  • 灯台スコア: 98/100 (パフォーマンス)
  • インタラクティブになるまでの時間: 2.1 秒

これらは虚栄的な指標ではありません。サイトが高速であるということは、より多くの学習者がコンテンツ、特にモバイル ネットワーク上やインフラストラクチャが限られている地域のコンテンツにアクセスできることを意味します。

オープンソース原則 💚

コードベース全体がオープンソースです。これらすべての要素がどのように連携するかを確認したい場合は、リポジトリを探索したり、改善に貢献したり、独自の教育プラットフォーム用にフォークしたりできます。

ここで説明したアーキテクチャは独自のものではありません。広く採用されている堅牢なオープンソース ツールに基づいて構築されています。コミュニティは私たちの学習から恩恵を受け、私たちはコミュニティへの貢献から恩恵を受けます。

重要なポイント

教育プラットフォームを構築している場合でも、コンテンツの多いアプリケーションを構築している場合でも、次の点を考慮してください。

  1. ユースケースに合わせたフレームワークを選択します: コンテンツ サイト用の Next.js 15 App Router
  2. 最初から i18n に投資: 組み込むよりも改造する方が難しい
  3. コードからコンテンツを分離: Git サブモジュールにより並列ワークフローが可能になります
  4. 段階的な拡張機能: PWA サポートはユーザーのいる場所に届きます。
  5. 重要なことを測定する: Core Web Vitals は教育成果に影響を与えます

AI Educademy は、教育向けのアクセス可能でパフォーマンスが高く、保守可能な技術インフラストラクチャに対する私たちの取り組みを表しています。これらのテクノロジーに興味がある場合、または貢献したい場合は、私たちのコードはオープンソースであり、あなたの協力を待っています。


当社のプラットフォームを試してみませんか? プログラムを詳しく見る | 研究室訪問 | 私たちの使命について詳しく読む

参考になりましたか?

ShareXLinkedInReddit
🌱

学習パスを選ぼう

任意のアカデミーの最初のレッスンを無料で試し、残りのレッスン、プロジェクト、証明書を Pro で解除できます。

学習を始める →全プログラムを見る

関連記事

2026 年のオープンソース AI の現状: 先導するモデル、ツール、コミュニティ

HuggingFace から Llama から LeRobot まで、オープンソース AI は 2026 年に繁栄しています。誰もが利用できる AI を形成するトップ モデル、ツール、コミュニティを探索してください。

→

AI 教育アカデミーを設立した理由

まったくの初心者から上級者まで、11 か国語で人工知能を教える、無料のオープンソース AI 教育プラットフォームの背後にある物語。

→
← ブログ