server-side-rendering について
server-side-renderingは、テンプレートとデータを使ったサーバーサイドレンダリングアプリケーションの構築を支援するスキルです。Python、Node.js、Rubyのフレームワーク例に加え、キャッシュや描画の実践方法を扱います。
主な機能
- 01テンプレートによるHTMLのサーバー描画
- 02Flask、Django、Expressの例
- 03テンプレート継承とフィルター
- 04キャッシュと描画の最適化
- 05入力の検証とサニタイズ
活用シーン
- 01SEOに配慮したWebアプリの構築
- 02従来型WebアプリのHTML描画
- 03管理ダッシュボードの作成
- 04メールテンプレートの生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill server-side-renderingインストール後、Claude Code で/server-side-renderingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/caching-and-performance.mddjango-template-examples.mddjango-templates.mdejs-template-examples.mdflask-with-jinja2-templates.mdjinja2-template-examples.mdnodejsexpress-with-ejs-templates.mdscripts/validate-schema.shtemplates/migration-template.sql詳細
サーバーサイドレンダリング
目次
概要
最新のテンプレートエンジン、ビュー層、データ駆動型の HTML 生成を利用し、キャッシュ、ストリーミング、パフォーマンス最適化に対応したサーバーサイドレンダリングアプリケーションを、Python、Node.js、Ruby のフレームワークで構築します。
使用する場面
- 従来型のウェブアプリケーションを構築する
- サーバー上で HTML をレンダリングする
- SEO に配慮したアプリケーションを実装する
- リアルタイムで更新されるページを作成する
- 管理用ダッシュボードを構築する
- メールテンプレートを実装する
クイックスタート
最小限の実行可能な例:
# app.py
from flask import Flask, render_template, request, jsonify
from datetime import datetime
app = Flask(__name__)
# Custom Jinja2 filters
@app.template_filter('currency')
def format_currency(value):
return f"${value:.2f}"
@app.template_filter('date_format')
def format_date(date_obj):
return date_obj.strftime('%Y-%m-%d %H:%M:%S')
@app.context_processor
def inject_globals():
"""Inject global variables into templates"""
return {
'app_name': 'My App',
'current_year': datetime.now().year,
'support_email': '[email protected]'
}
# routes.py
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリにある詳細な実装:
| ガイド | 内容 |
|---|---|
| Flask with Jinja2 Templates | Flask と Jinja2 テンプレート |
| Jinja2 Template Examples | Jinja2 テンプレートの例 |
| Node.js/Express with EJS Templates | Node.js/Express と EJS テンプレート |
| EJS Template Examples | EJS テンプレートの例 |
| Caching and Performance | キャッシュとパフォーマンス |
| Django Template Examples | Django テンプレートの例 |
| Django Templates | Django テンプレート |
ベストプラクティス
✅ 推奨事項
- DRY なコードにするため、テンプレートの継承を使用します
- 頻繁にレンダリングするページにはキャッシュを実装します
- 書式設定にはテンプレートフィルターを使用します
- ビューとテンプレートの役割を分離します
- すべてのユーザー入力を検証し、サニタイズします
- グローバル変数にはコンテキストプロセッサーを使用します
- 適切なページネーションを実装します
- 条件付きレンダリングを適切に使用します
- コストの高いクエリをキャッシュします
- テンプレートのレンダリングを最適化します
❌ 禁止事項
- テンプレートにビジネスロジックを記述します
- テンプレートで上限のないループを使用します
- テンプレート内でデータベースクエリを実行します
- サニタイズせずにユーザー入力を信頼します
- テンプレートの継承を過度に深くネストします
- 非常に長いテンプレートファイルを使用します
- テンプレートに機密データをレンダリングします
- テンプレートのキャッシュ機会を無視します
- グローバル変数を過度に使用します
- 1 つのテンプレートに複数の関心事を混在させます
コメント
Markdown 対応