Chemmaryを支える技術
Chemmaryが高速で信頼性の高いサービスを提供できる理由を、技術的な観点から説明します。
静的サイト生成(SSG)とは
なぜ静的サイトなのか
Chemmaryは**静的サイト生成(Static Site Generation)**という技術を採用しています。これは、あらかじめHTMLファイルを作成しておき、それをユーザーに配信する方式です。
従来の動的サイトでは:
- ユーザーがアクセスするたびにサーバーでページを生成
- データベースにアクセスして情報を取得
- 処理に時間がかかり、サーバーに負荷
静的サイトでは:
- 事前にすべてのページを生成済み
- ユーザーはHTMLファイルをそのまま受け取る
- 瞬時にページが表示される
ユーザーにとってのメリット
- 高速表示: ページが2秒以内にロード
- 安定性: サーバーダウンのリスクが極めて低い
- どこでも高速: 世界中のCDNから配信
フロントエンド技術
Astro.js
論文データを効率的に表示するためにAstro.jsを採用しています。
選択理由:
- 必要最小限のJavaScriptで高速表示
- 静的サイト生成に特化
- モダンな開発体験
shadcn/ui
美しく使いやすいUIのためにshadcn/uiコンポーネントライブラリを使用しています。
特徴:
- アクセシビリティを重視した設計
- モバイルファーストなレスポンシブデザイン
- 一貫性のあるユーザー体験
データ取得の仕組み
RSS/Atomフィード
主要な化学系論文誌が提供するRSSフィードから最新情報を自動取得しています。
更新プロセス:
- 1日2回(朝8時・夕方5時)自動実行
- 各論文誌のRSSフィードを取得
- データを整理・重複除去
- 新しいページを自動生成
- サイト全体を更新
データの品質管理
- 重複記事の自動除去
- 不完全なデータの除外
- 文字化けの修正
インフラストラクチャ
Cloudflare Pages
Cloudflare Pagesでホスティングしています。
メリット:
- 世界中のCDNで高速配信
- 無料で運用可能
- DDoS攻撃などのセキュリティ対策
GitHub Actions
GitHub Actionsで自動更新を実現しています。
自動化の流れ:
- スケジュールに従って実行
- 最新データを取得
- サイトを再構築
- 自動でデプロイ
セキュリティ
プライバシー重視
- ユーザーデータの収集なし
- 追跡機能なし
- HTTPS暗号化通信
静的サイトの安全性
- サーバーサイドの脆弱性がない
- データベースなしで安全
- 攻撃対象面が最小限
パフォーマンス最適化
軽量設計
- 不要なJavaScriptを除去
- 画像の最適化
- CSSの最小化
ブラウザキャッシュ
- 繰り返し訪問時の高速表示
- データ使用量の削減
継続性への配慮
低コスト運用
静的サイトとCDN配信により、サーバー費用をほぼゼロに抑えています。これにより、長期間安定してサービスを提供できます。
シンプルな技術スタック
複雑なシステムを避けることで:
- メンテナンスが容易
- 障害のリスクが低い
- 長期間の運用が可能
まとめ
Chemmaryは最新の技術を使いながらも、シンプルで信頼性の高いアーキテクチャを採用しています。これにより、研究者が必要とする「速い・安定・使いやすい」情報収集環境を実現しています。
技術選択のすべては「研究者の時間を大切にする」という目標に向けられており、今後もこの方針を維持していきます。