記事一覧

1134 件の記事があります

🔐データスペースは結局なにが嬉しいのか ── 自作ツールの出力を「渡さず解析」させてみた

「データを動かさず、結果だけ返す」Compute-to-Data を、自作の映像アノテーションツールの出力を題材に、EDC ベースのデータスペースで実際に動かしてみた記録です。単体の API と契約経由(DSP)で何が変わるのか、IIIF Authorization API とどう違うのか、そして『公開データでは利点が小さい』理由まで、動かして確かめた範囲で正直に整理します。

dataspacegaiaxedccomputetodata

🔍TEI の ODD に Schematron を埋め込んで VS Code で検証する

ODD を単一の正本として RELAX NG と Schematron を生成し、oXygen を使わずコマンドラインと VS Code で検証するまでの記録。

teixmlschematronxslt

🗾国立国会図書館「錦絵と写真でめぐる日本の名所」の地図データセット化と公開

国立国会図書館の電子展示会「錦絵と写真でめぐる日本の名所」を、名所534件・画像4155点の地図データセット(GeoJSON/CSV/IIIF)として抽出・公開した記録です。

ndlopendataiiifgeojson

📅会議室・備品の予約ボードの開発と公開 — capability URL 共有とカレンダー風 UI

会議室・備品の予約を capability URL で共有し、カレンダー風の UI で扱える予約ボードを作りました。1 つのソースコードを環境変数で内部版(SQLite)と SaaS 版(Cloudflare D1)に切り替える構成を紹介します。

nextjscloudflaresqlitestripe

📅iCalendar (.ics) の基礎と、予約データを配信するフィードの実装

予約アプリのデータを Google カレンダーで購読するために iCalendar (.ics) フィードを実装しました。VEVENT の構造・日時とタイムゾーンの書き方・UID・行折り・HTTP 配信・購読時に実際に起きることを、実装を通して整理します。

icalendaricsgooglecalendarnextjs

Drupalで翻訳フォームが出ない: コンテンツ翻訳の有効化と権限の2層構造

Drupalの多言語サイトで、あるコンテンツタイプだけ「翻訳」タブが出ず、編集担当者が英語版を作れなかった事例の記録です。コンテンツタイプごとの翻訳有効化と、翻訳権限が動作・対象の2層に分かれている点を切り分けて解消しました。

drupali18nheadless

IIIF Image API のサムネイルで !w,h (sizeByConfinedWh) が失敗する: level 1 サーバでは対応が保証されない

IIIF ビューアのサムネイルを full/!w,h/ (sizeByConfinedWh) で生成していたところ、外部の IIIF Image API を参照する一部のコレクションでサムネイルが表示されなくなりました。原因は !w,h が Image API level 1 では対応必須でないことでした。level と supports の関係、実測、幅指定 (sizeByW) への切り替えまでを整理します。

iiifthumbnaildigital-archivesimage-api

IIIFアノテーションのFirestore設計: 1件1ドキュメントの読み取りコストとcanvas単位シャードへの移行

IIIFアノテーションを Firestore に「1件1ドキュメント」で保存していた構成が読み取り上限に達したため、canvas 単位でまとめ、1MiB を超える場合はシャード分割する構成へ移行した記録です。

firestoreiiifnextjsfirebase

🤗transformers 5 系への更新で SigLIP2 は移行し、clip-japanese-base は見送った経緯

Dependabot の transformers 4.57.6 → 5.5.0 メジャー更新に対し、ネイティブ実装の SigLIP2 は戻り値変更(.pooler_output)を吸収して移行し、trust_remote_code の clip-japanese-base は meta device 初期化・post_init() 契約の 2 段階の非互換で見送った経緯と、更新可否の判断手順をまとめます。

transformershuggingfacepythondependabot

🎼MusicXML から MEI への変換は機械的にできるか — Verovio で実際に試す

MusicXML から MEI への機械変換を Verovio で実際に試す。何が保たれ何が変わるか、ライセンスの注意まで、CC0 の実データ(シューベルト「野ばら」)で確認する。

meimusicxmlveroviomusic

📄検索可能PDFの透明テキスト層が縦書きでずれる — 原因(元PDFの/Rotate)の特定と再OCRなしの修正

スキャン画像にOCRの透明テキスト層を重ねた検索可能PDFで、縦書き資料の透明テキストがずれる不具合の原因(元PDFの/Rotateによる座標系の二重回転と行原点のオフセット)を特定し、再OCRせずに透明テキスト層だけを直す方法をまとめます。

pdfocrpythonpymupdf

🏛️ddevによるOmeka Sローカル環境の構築とIIIF Curation Platform連携

Docker ベースの開発環境ツール ddev を使って Omeka S 4.2 をローカル(macOS)に構築し、IIIF Server / Image Server モジュールでマニフェストを配信、IIIF Curation Platform の Curation Viewer から読み込むまでの手順をまとめます。

omekasddeviiifdocker

🌐外部DNS管理の組織ドメインでも、サブドメインをCloudflare Pagesに無料で割り当てられる(CNAME一本)

組織ドメインのDNSを移管せず、CNAMEレコード1本でサブドメインをCloudflare Pagesに無料で割り当てる方法。Subdomain setupがEnterprise限定であること、外部DNSカスタムドメインがPages限定でWorkers不可であること、SSRとフレームワークアダプタの現状を公式ドキュメントで裏取りした記録。

cloudflarednssslhosting

公開済みの IIIF Curation 群を自前の IIIF Curation Platform に一括登録して横断検索する

Web で公開済みの IIIF Curation 群を、自前の IIIF Curation Platform(ICP)にまとめて登録し横断検索できるようにする手順。JSONkeeper への POST に必要な X-Access-Token と Accept ヘッダ、Canvas Indexer の大量クロール時のタイムアウト回避を扱う。

iiifcurationjsonkeeperdocker

IIIF Curation Platform を Docker で macOS のローカルに一式立てる — 範囲選択と検索システムまで

CODH の IIIF Curation Platform を macOS(Apple Silicon)のローカルに Docker で一式構築する手順。BSD sed の非互換、ポート競合、Docker のディスク不足、localhost の名前解決、Canvas Indexer の SQLAlchemy 2.0 対応など、手元で動かす際に引っかかる macOS 固有のつまずきを具体的に埋める。

iiifdockercurationjsonkeeper

📄透明テキストを壊さずに、印刷できないスキャンPDFを直す

スキャン画像に透明なOCRテキストを重ねたPDFについて、ページサイズの統一とJBIG2画像の印刷対応(CCITT G4化)を、Ghostscriptを使わず pikepdf と pypdf で透明テキストを壊さずに行う手順と検証方法。極性(白黒反転)の落とし穴も含む。

pdfpythonocrpikepdf

🔀GitHub Pages の独立ドメイン移行と旧URLリダイレクトを手戻りなく進める手順

GitHub Pages のカスタムドメインを別ドメインへ移し、旧URLからパスを保持してリダイレクトする手順。PWA の Service Worker の扱いと、domain is already taken を解くドメイン検証の注意点をまとめます。

githubpagesdnspwaserviceworker

⚙️OSS で生成した CAD データ (STEP) を Archivematica に投入し PRONOM 識別を確認する

OSS の build123d でサンプルの CAD データ (STEP/STL) を生成し、Archivematica に投入して AIP 内 METS での PRONOM フォーマット識別 (fmt/698 ほか) とデフォルト FPR の挙動を確認した記録。

cadbuild123darchivematicastep

🖼️公開コレクションの画像URLはどこにあるか:メタデータAPI・DAMトークン・収集ポリシーの構造調査

公開コレクションについて画像とメタデータをAPIで取得できるか調査した記録。メタデータAPI・Pictureparkトークン・Cloudflare・robots.txtの構造を扱う。

apicloudflareplaywrightdrupal

🎬three.js / WebXR の 3D アプリのデモ動画を自前で撮る:canvas 録画の勘所と自動化

three.js + WebXR の 3D ギャラリーアプリのデモ動画を、canvas.captureStream と MediaRecorder でアプリ内から録画した際のメモ。DOM が映らない・解像度が巨大になる・コーデックの再生互換といった落とし穴と対処、CDP によるヘッドレス自動撮影と検証方法をまとめた。

threejswebglwebxrmediarecorder