DIGITAL ARCHIVES · DH PORTAL

デジタルアーカイブと
DHの技術ポータル

デジタルアーカイブとデジタルヒューマニティーズの技術リソース(記事・動画・チュートリアル・プロジェクト)を集約したポータルです

コンテンツ

目的に合わせて各セクションからお探しください。

最新の記事

すべて見る →

🗺️集計と検索が中心のアプリでデータ層を Firestore から Postgres(Neon)へ移行した記録

地図上に文学作品を紐づけるアーカイブアプリのデータ層を、Firestore から Postgres(Neon)+ Drizzle へ移行した経緯を整理しました。読み取り課金で詰まった原因と、集計・ファセット・全文検索というワークロードの形から見た向き不向きについて書いています。

firestorepostgresneondrizzle

🔁vercel.json の redirects で別ドメインへ全パスを 308 転送するときの詰まりどころ

Next.js (output: 'export') を Vercel から GitHub Pages にデプロイ先を移し、Vercel 側は vercel.json の redirects で全 URL を新ドメインに 308 転送して SEO 集約を狙った際、framework 自動検出と trailing slash 周りで複数回ハマった経緯と、最終的に動作した設定をまとめます

vercelnextjsgithub-pagesredirect

🔍Next.js 16 本番ビルドで useRouter().push() が無音で no-op になる事象と回避策

Next.js 16 + next-intl 構成の Web アプリで、本番ビルドのみ useRouter().push() が無音で no-op になり、検索ページの対話操作が一通り機能しなくなる事象を観測した記録。history.pushState + popstate による回避策と切り分けの過程をまとめます

nextjsnext-intlreactdebugging

🔑DDN EXAScaler Access S3 でアップロード専用の最小権限キーをバケットポリシーで設定する

S3互換ストレージ DDN EXAScaler Access S3 で、特定バケットへのアップロード専用の最小権限アクセスキーをバケットポリシーで用意した記録です。AWS とのポリシー書式の違いと、署名・権限まわりの切り分け手順をまとめました。

s3ddnexascalerbucket-policy

📚DH週間トピックス — 2026年5月24日週

DH週間トピックス — 2026年5月24日週

dh-weeklydigitalhumanitiesデジタルアーカイブocr

📜くずし字の文字検出・古典籍OCRをPython非依存でJS/Next.jsに移植し、ONNX量子化とライブラリ化まで試したノート

くずし字・古文書の文字検出(YOLOv11)と NDL古典籍OCR-Lite(RTMDet+PARSeq)を Python なしで JS/Next.js(onnxruntime-node)に移植した記録。ONNX 変換、SAHI、行検出、int8 量子化の精度比較、Vercel で動かない理由、コアのライブラリ化までをまとめます。

kuzushijiocronnxonnxruntime