メインコンテンツまでスキップ

Chemmaryを支える技術

Chemmaryが高速で信頼性の高いサービスを提供できる理由を、技術的な観点から説明します。

静的サイト生成(SSG)とは

なぜ静的サイトなのか

Chemmaryは**静的サイト生成(Static Site Generation)**という技術を採用しています。これは、あらかじめHTMLファイルを作成しておき、それをユーザーに配信する方式です。

従来の動的サイトでは:

  • ユーザーがアクセスするたびにサーバーでページを生成
  • データベースにアクセスして情報を取得
  • 処理に時間がかかり、サーバーに負荷

静的サイトでは:

  • 事前にすべてのページを生成済み
  • ユーザーはHTMLファイルをそのまま受け取る
  • 瞬時にページが表示される

ユーザーにとってのメリット

  1. 高速表示: ページが2秒以内にロード
  2. 安定性: サーバーダウンのリスクが極めて低い
  3. どこでも高速: 世界中のCDNから配信

フロントエンド技術

Astro.js

論文データを効率的に表示するためにAstro.jsを採用しています。

選択理由

  • 必要最小限のJavaScriptで高速表示
  • 静的サイト生成に特化
  • モダンな開発体験

shadcn/ui

美しく使いやすいUIのためにshadcn/uiコンポーネントライブラリを使用しています。

特徴

  • アクセシビリティを重視した設計
  • モバイルファーストなレスポンシブデザイン
  • 一貫性のあるユーザー体験

データ取得の仕組み

RSS/Atomフィード

主要な化学系論文誌が提供するRSSフィードから最新情報を自動取得しています。

更新プロセス

  1. 1日2回(朝8時・夕方5時)自動実行
  2. 各論文誌のRSSフィードを取得
  3. データを整理・重複除去
  4. 新しいページを自動生成
  5. サイト全体を更新

データの品質管理

  • 重複記事の自動除去
  • 不完全なデータの除外
  • 文字化けの修正

インフラストラクチャ

Cloudflare Pages

Cloudflare Pagesでホスティングしています。

メリット

  • 世界中のCDNで高速配信
  • 無料で運用可能
  • DDoS攻撃などのセキュリティ対策

GitHub Actions

GitHub Actionsで自動更新を実現しています。

自動化の流れ

  1. スケジュールに従って実行
  2. 最新データを取得
  3. サイトを再構築
  4. 自動でデプロイ

セキュリティ

プライバシー重視

  • ユーザーデータの収集なし
  • 追跡機能なし
  • HTTPS暗号化通信

静的サイトの安全性

  • サーバーサイドの脆弱性がない
  • データベースなしで安全
  • 攻撃対象面が最小限

パフォーマンス最適化

軽量設計

  • 不要なJavaScriptを除去
  • 画像の最適化
  • CSSの最小化

ブラウザキャッシュ

  • 繰り返し訪問時の高速表示
  • データ使用量の削減

継続性への配慮

低コスト運用

静的サイトとCDN配信により、サーバー費用をほぼゼロに抑えています。これにより、長期間安定してサービスを提供できます。

シンプルな技術スタック

複雑なシステムを避けることで:

  • メンテナンスが容易
  • 障害のリスクが低い
  • 長期間の運用が可能

まとめ

Chemmaryは最新の技術を使いながらも、シンプルで信頼性の高いアーキテクチャを採用しています。これにより、研究者が必要とする「速い・安定・使いやすい」情報収集環境を実現しています。

技術選択のすべては「研究者の時間を大切にする」という目標に向けられており、今後もこの方針を維持していきます。