Next 15(React 19 を使用)で、@react-three/fiberとdreiを使う

概要 Next 15(React 19 を使用)で、@react-three/fiberを使う際、以下のように説明されています。 R3F v8 is not compatible with React 19 or Next 15, which uses React 19. Use the R3F v9 RC instead which can be installed with @react-three/fiber@rc. (日本語訳)R3F v8 は React 19 や Next 15(React 19 を使用)と互換性がありません。代わりに R3F v9 RC を使用してください。インストールするには @react-three/fiber@rc を使用してください。 一方、マウス操作を行うために以下を追加しましたが、@react-three/fiber@rcとは相性が悪いようでした。 https://www.npmjs.com/package/@react-three/drei この問題に対する対処法の備忘録です。 方法 本記事執筆時点(2025-02-06)の情報です。 まず、@react-three/fiber@rcではなく、@react-three/fiber@alphaをインストールする必要がありました。(@betaでもよいかもしれません。) そして、dreiについては、@react-three/drei@10.0.0-rc.1をインストールしました。結果、以下のような組み合わせでは、無事にインストールすることができました。 " " @ @ r r e e a a c c t t - - t t h h r r e e e e / / d f r i e b i e " r : " : " ^ " 1 ^ 0 9 . . 0 0 . . 0 0 - - r a c l . p 1 h " a , . 8 " , まとめ 考慮が不十分な点があるかもしれませんが、参考になりましたら幸いです。 ...

2025年2月6日 · 1 分 · Nakamura

校異源氏物語に対する類似テキスト検索アプリを作成しました。

概要 校異源氏物語に対する類似テキスト検索アプリを作成しました。以下のURLからお試しいただけます。 https://huggingface.co/spaces/nakamura196/genji_predict 本アプリの使用方法などについて紹介します。 データ 以下の校異源氏物語DBで公開されているテキストデータを使用します。 https://kouigenjimonogatari.github.io/ アプリの内容 仕組みは単純で、校異源氏物語の巻毎・ページ毎のテキストを用意しておき、入力された文字列との編集距離を算出し、類似度が高いテキスト(+巻とページ)を返却します。 ソースコードは以下です。 https://huggingface.co/spaces/nakamura196/genji_predict/tree/main 応用例 例えば、以下の「[源氏物語] [4](東京大学総合図書館所蔵)」では、1つのIIIFマニフェスト内に複数の巻が含まれており、何コマ目から何コマ目までが何巻に属するのか、素人には判断が難しい場合があります。 https://da.dl.itc.u-tokyo.ac.jp/portal/assets/b90bbddc-509d-7c12-0fb9-af409a90a487 そこで、上記に資料に対してコマ毎のOCRテキストを取得し、今回作成したアプリに問い合わせることで、ページ毎に推定される巻数が提示され、巻の変わり目を知る手助けを行うことができます。 OCR OCRにあたっては、NDL古典籍OCR-Liteを使用します。 https://github.com/ndl-lab/ndlkotenocr-lite OCR結果を修正して、以下のようなTEI/XMLを作成しました。 < < < < ? ? ? T x x x E < < m m m I t / t l l l e < t e < - - x i f / e x b v m m m H i < < < f i t o < < < e o o l e l t / p / s / i H > d a / a / a r d d n a e i < t u < < p o < s l e y b < < < < < < < < a b < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < a b < < < < < < < < < < < < s e e s d D t t i b p d u u b / o e a > l s l s l s l s b l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s b l s l s l s l s l s l s i l l = e e l i t l u a b r i < b u D d n b e b e b e b e > n b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e > n b e b e b e b e b e b e o " r s e t l i b t l c b p i r e e = / g / g / g / g = / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g = / g / g / g / g / g / g n h h h > c S l e c l e i e l t b c s r " > > > > " > > > > > > > > > > > > > > > > > > > " > > > > > > = r r t > t e S a i > c D > r l e c > 1 t t t t 2 t t t t t t t t t t t t t t t t t t t 3 t t t t t t " e e t m > t t s 2 a e > D > " y y y y " y y y y y y y y y y y y y y y y y y y " y y y y y y 1 f f p t O m i h 0 t s t e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p . = = : > C t o e 2 i c a s t e e e e t e e e e e e e e e e e e e e e e e e e t e e e e e e 0 " " / R > n r 5 o > r c y = = = = y = = = = = = = = = = = = = = = = = = = y = = = = = = " h h / 結 S > - n g > p " " " " p " " " " " " " " " " " " " " " " " " " p " " " " " " t t w 果 t N 0 S e e 本 本 本 本 e 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 e 本 本 本 本 本 本 e t t w : m D 1 t t = 文 文 文 文 = 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 = 文 文 文 文 文 文 n p p w t L - m = " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " c : : . h > 古 2 t " p p p o / t t 典 9 > h a n n n n a n n n n n n n n n n n n n n n n n n n a n n n n n n d / e t 籍 < t g = = = = g = = = = = = = = = = = = = = = = = = = g = = = = = = i w w i p O / t e " " " " e " " " " " " " " " " " " " " " " " " " e " " " " " " n w w - s C d p " 1 3 4 5 " 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 " 1 2 3 4 5 6 g w w c : R a s " " " " " " " " " " " " " 0 1 2 3 4 5 6 7 8 9 " " " " " " = . . . / - t : f f " " " " " " " " " " f " t t o / L e / a c c c c a c c c c c c c c c a c c c c c c U e e r i i > / c o o o o c o o o o o o o o o c c c c c c c c c c c o o o o o o T i i g i t i s r r r r s r r r r r r r r r o o o o o o o o o o s r r r r r r F - - / i e i = r r r r = r r r r r r r r r r r r r r r r r r r = r r r r r r - c c n f < i " e e e e " e e e e e e e e e r r r r r r r r r r " e e e e e e 8 . . s . / f h s s s s h s s s s s s s s s e e e e e e e e e e h s s s s s s " o o / d p . t p p p p t p p p p p p p p p s s s s s s s s s s t p p p p p p ? r r 1 l u d t = = = = t = = = = = = = = = p p p p p p p p p p t = = = = = = > g g . . b l p " " " " p " " " " " " " " " = = = = = = = = = = p " " " " " " / 0 i l . s # # # # s # # # # # # # # # " " " " " " " " " " s # # # # # # r r " t i i : z z z z : z z z z z z z z z # # # # # # # # # # : z z z z z z e e > c s t / o o o o / o o o o o o o o o z z z z z z z z z z / o o o o o o l l . h c / n n n n / n n n n n n n n n o o o o o o o o o o / n n n n n n e e u e . i e e e e i e e e e e e e e e n n n n n n n n n n i e e e e e e a a - r u i - - - - i - - - - - - - - - e e e e e e e e e e i - - - - - - s s t > - i 1 1 1 1 i 2 2 2 2 2 2 2 2 2 - - - - - - - - - - i 3 3 3 3 3 3 e e o t f - - - - f - - - - - - - - - 2 2 2 2 2 2 2 2 2 2 f - - - - - - / / k o . 1 3 4 5 . 1 2 3 4 5 6 7 8 9 - - - - - - - - - - . 1 2 3 4 5 6 x x y k d " " " " d " " " " " " " " " 1 1 1 1 1 1 1 1 1 1 d " " " " " " m m o y l > > > > l > > > > > > > > > 0 1 2 3 4 5 6 7 8 9 l > > > > > > l l . o . 国 紅 は あ . O □ 源 / あ ろ か が を " " " " " " " " " " . ろ 上 詠 ち か ひ / / a . i 外 葉 な ふ i O □ 氏 朱 ま か た り あ > > > > > > > > > > i く 達 は と ほ か t t c a t < の の ひ t O □ 十 雀 り る 〴 給 か 前 青 火 と み に お し 詠 一 t 哀 部 て り の る e e . c c / か え < c < □ 七 院 な べ 〵 。 ず に 海 と な や さ も ぶ な 後 c な み ゝ た 色 と i i j . . s < ん / . / □ 才 の り き 物 う お て 波 の る ま し し み ど 順 . る こ 初 る あ 見 / / p j u e / < s u s □ ノ 行 。 た 見 へ ぼ せ を ゝ を ば た ろ お し 伽 u に た う が ひ え c c / p - g s / e - e □ 十 幸 よ び 給 も さ さ ぞ 頭 。 な る き も 給 の - 。 ち ち く ま 給 u u r / t > e s g t g □ 月 ば の の は な る せ ま 中 立 り に ほ ゝ へ こ t み も な の さ 。 s s e r o g e > o > < よ 。 つ こ ぬ つ れ 給 ひ 将 な 。 。 ど ち る ゑ o か み を に り 春 t t p e k > g k / り 神 ね と こ ぼ ば ふ 給 が ら 入 が に 。 は な k と な し ぎ て 宮 o o o p y > y s 四 無 な 成 と の 。 。 け た び が く 。 よ こ ら y 泪 な 給 は つ の m m / o o o e 年 月 ら け を 。 誠 源 る ち て た の お に れ ん o お き へ ゝ ね 女 / / i / . . g の の ず れ 口 み 楽 氏 。 よ は の こ な 見 や と . と 給 る し よ 御 s s i i a a > 十 十 。 ば お 給 を の か う 。 日 ゑ じ え 仏 聞 a し ぬ に き り 。 c c i i c c 月 日 お 。 し は 御 中 た い 花 か ま ま ぬ の ゆ c 給 < ま に も か h h f i . . 迄 < も 御 < ざ < 将 て 人 の げ さ ひ さ 御 。 . 。 / < < < く e e / f j j 有 / し < / ら / は に に か さ り の ま 迦 お j < s / / / < m m b / p p < s < / s ん s 。 は こ た や 。 あ な < も p / e s s s / a a 9 b / / / e / s e < e < 。 < は か 物 < り / し / s g e e e s / / 0 9 i i s g s e g / g / < / ら < の / 。 s < i e > g g g e r r b 0 i i e > e g > s > s / s の / < s < e / i g > > > g e e b b i i g g > e e s e < s / e / g s i > > l l d b f f > > g g e g / e s g s > e f a a d d / / > > g > s g e > e g / x x c d s s > e > g g > s n n - c o o g > > o g g 5 - t t > t / / 0 5 o o o t t 9 0 _ _ _ e e d 9 o o o i i - d g g g _ _ 7 - a a a a a c 7 i i i l l 1 c _ _ _ l l 2 1 2 2 2 . . - 2 0 0 0 r r 0 - 2 2 2 n n f 0 3 3 3 g g b f 1 1 1 " " 9 b 0 0 0 - 9 / / / t t a - A A A y y f a 0 0 0 p p 4 f 5 5 5 e e 0 4 _ _ _ = = 9 0 4 4 4 " " a 9 / / / a a 9 a 0 0 0 p p 0 9 0 0 0 p p a 0 4 4 4 l l 4 a / / / i i 8 4 A A A c c 7 8 0 0 0 a a / 7 5 5 5 t t m / _ _ _ i i a m 4 4 4 o o n a _ _ _ n n i n 0 0 0 / / f i 0 0 0 x x e f 4 4 4 m m s e _ _ _ l l t s 0 0 0 " " < t 0 0 0 / " 0 0 0 s s t / 1 2 3 c c i > . . . h h t t t t e e l i i i m m e f f f a a > / / / t t f f f y y u u u p p l l l e e l l l n n / / / s s f f f = = u u u " " l l l h h l l l t t / / / t t 0 0 0 p p / / / : : d d d / e e e / f f f r p a a a e u u u u l r l l l a l t t t x . . . . n o j j j g c p p p . l g g g o c " " " r . > > > g r n g s d s s t d r l u / c s t c u h r e e m / a 1 t . r 0 o " n ? " > ? > 推定 上記のXMLファイルを入力として、先に紹介したGradioアプリのAPIを利用します。 ...

2025年1月29日 · 25 分 · Nakamura

Omeka SのImage ServerでのCORS対応

概要 Omeka SのImage ServerでのCORS対応に関する備忘録です。 背景 以下の記事で、Omeka SのIIIF ServerモジュールでのCORSエラーへの対応方法を紹介しました。 上記の設定により、IIIFマニフェストファイルはダウンロードできるようになりましたが、以下のように、画像がダウンロードできなくなるケースがありました。 A c c e s s t o i m a g e a t ' h t t p s : / / x x x / i i i f / 2 / 8 4 5 5 / f u l l / 8 6 , / 0 / d e f a u l t . j p g ' f r o m o r i g i n ' h t t p s : / / u v - v 4 . n e t l i f y . a p p ' h a s b e e n b l o c k e d b y C O R S p o l i c y : T h e ' A c c e s s - C o n t r o l - A l l o w - O r i g i n ' h e a d e r c o n t a i n s m u l t i p l e v a l u e s * , ' , b u t o n l y o n e i s a l l o w e d . この症状への対処方法について紹介します。 ...

2025年1月27日 · 2 分 · Nakamura

Alfrescoのファイルに対して、Archivematicaを使ってAIPを作成する

概要 Alfrescoのファイルに対して、Archivematicaを使ってAIPを作成する方法の一例です。 以下が成果物のデモ動画です。 https://youtu.be/7WCO7JoMnWc システム構成 今回は以下のようなシステム構成とします。複数のクラウドサービスを利用していることに特に意味はありません。 Alfrescoは、以下の記事を参考に、Azure上に構築したものを使用します。 Archivematicaとオブジェクトストレージはmdx.jpを使用し、分析環境はGakuNin RDMを使用します。 オブジェクトストレージへのファイルアップロード Alfrescoからファイルをダウンロード Alfrescoからのファイルダウンロードにあたっては、REST APIを使用します。 https://docs.alfresco.com/content-services/6.0/develop/rest-api-guide/ OpenAPIに準拠しており、以下などを参考にしました。 https://api-explorer.alfresco.com/api-explorer/ 例えば以下により、Alfrescoのユーザ名とパスワード、およびホスト名を環境変数から読み込み、メタデータの取得やコンテンツのダウンロードを行うことができました。 # f i i f # c r m m r l % o p p o % a % m o o m % s r r s d d d d d t t b e e e e a A f f f f t o r s / p n e s e e n i " A " s # l # s s s s } # c e s } s } _ " A " i g " A R " u s t e e g " A " u s } r b o w s } b n q 6 b C _ " r " e o e e e e ) r n e e ) d " r " f e " r e " r e r x x e " r " r e ) e i s i e ) s u 4 s l i " g " l . a 環 l l l l B e c l l e " g " t " g t " l l y c c t " g " l l s n . t l / e / i n A s f e d 境 f f f f a d o f f b デ s s _ ノ s u f : e e _ ノ s f p a m h f 0 i s i 0 e i l : v . n _ 変 . . . . " " " s e d . ' ' . " " u バ : m d e p i n ー : n r d = . r r r p s r p s r n ー : n o = . " " o r a f . " " 0 m t m 0 n t f e v v d 数 u p t _ u p t i n e h a a _ a a g ッ e a l r f o ド o n i _ e e e t e e t e e o ド o u _ u o n y k o i _ s p _ p s p _ t _ r r e の o の s a a d s a a c t d e c u d c u ( グ s t f i d I d s c f d s s t l t l t d の d t f d r u s _ e p l d i a c o o c : _ e b r 読 t 取 e s r e e s r 認 i _ a c t e c t s 情 s a . n d e D e : t " e p p u r f u r f u e コ e p " e l t e d d e e e z t o r r o ( s o b み e 得 r s g b r s g 証 a c d e h b e h e 報 a v t a f s で _ : { b o u h t o r e . r e . r s ン _ u { b " p a i n . b e h r t t r s c s o 込 n w e u " w e の l r e p o u p o l を g ( e ( t o _ ノ i s u n r e i n n q _ n q _ n _ テ i t s u : u = t r ( w u " " e e e o e s み v = o t g : o t ヘ s e r t r g t r f 出 e d r f a r n ー d ノ e g s l a m s u d u d n ン d _ e g t a s o r g : : . l b . l e ( r _ ( r _ ッ d s ' i ( " i , 力 i b " : o ド ー l ( e , d e e r e e N e e N o ツ p l ( u _ r ( u i ( i o 6 i f A ( o o d h " s d h ダ = e : z " : z す ( c o 🔍 k p d 情 ( ド f " e o . e s b o s b o d を ( a f " r p e = o t t " l o p a 4 p , P b = v s o 環 e " o ー n = a ヘ a m る s t s e r e 報 s 情 . A = r u r s t u n t u n e 取 s t . A l a q s p e フ e u y d e y I o e . = s 境 l : s を f t ' t ッ s t e t , e { y i I を t 報 t P s t a p s g e s g e I 得 t h t P , t u r . u ( ァ n t n _ n n v o v r g t 変 f t 作 " i { a i ダ e i s r : m , n d 取 r a I r = = i o . ( . ( d す r a I h e e p t b イ ( p b d c b e C l e r e o 数 . " " 成 { a p o ー l o s ) o e t ( 得 ) r リ e s f s n e " e " _ る ) ( r リ " s s a _ i ル b u o o r l ) r i t s = の u * : s l p n の f n a : p s v ( s す : g ク q e l e s x エ x エ c : s g ク : t p t p n 保 i t 3 t d 4 b i : b d e . 設 s " e s l ' 設 . " g t s a f e る e エ u l o _ e c ラ c ラ o t e エ s o h a a 存 n _ e e o e o e n g o 定 e s l i : 定 h : e メ i a l " l ノ t ス e f a f . e ー e ー n ノ r t ス o . n . t r 完 a p n s n デ s = v e s : r e f = c : e : ッ o g u f ー _ ト s . t o j p : p : t ー ) _ ト u g s d h y 了 r a v e t バ e T ( t . " , l . a f " a " セ n e e , ド h : t h ( r s t " t " e ド : h : t e e i , _ : y t = ッ r ' e g , l f u b t ' , d B s ー a } - I o " s e 3 _ o i , i , n I o " p t . r d " _ h F グ u A n e e . s 6 i B e a t ジ l " i n D s , . a 0 s n o o t D 出 s , u ( c n " a , d a 情 e L v t { n t e 4 o a { r s r ) ) n { o t g d ) t ( n { n { ( 力 t t u o a w t a l 報 ) F ( e ( a r e n s s i , : k d } { e e a ) s " s " s パ } { _ r n m b a { t s を _ ' n s r } n / i [ c d e e / " t r t . t . t e ス / p l t e " ) a e 出 U A v e g : c j c ' d 追 a y _ a u ( s u T y R y l a a , e ( ) ) ) 力 S L ( l e { o s a a 加 t } i l r , s i p e p f l t n o , : す E F ' f t s d o { c t の a : d f l ( m e q e , f h h t u a る R _ A . _ e e n e c * a デ . : r " ) e " u " r e t s か ' P L p h l ( ' n e " : ー i { e : o : e : n e a p ど ) A F a o f c , c p タ t v s s u s o s d u f う S _ s s . r o t d e a t c u t " t " d c e t i か S T s t p e d ' i m l r o r : t E r e o r _ l W A w a d e ] c s u ) / l i x e _ / s p e O R o s e d , t ( e : a } m c q i a = a : R G r s n _ ) } p ) e e u d p s t D E d w t c = : " i o p e : i e h ' T ) o i r ) / u t s / l ) ) _ r a e N - t i t s - f , H i d l d o d " o " t d . O f } s e n e , n , r e h e S " . n e f , f e x T s e t ) a " a " a a i ' e n i : u m s m o u d s ) l c a l e e u l e t f o l t s e s t t r _ . d s - s : s p - s o p e } / a a u / ) k a ( ' p g g t p = s ) u e e _ u T s ) b " " p b r w . l : : a l u o d i t i e r e c " s h c ) d c / リ t : / o a ク r a e d l エ ( s l l e f ス e t f s ( r ト ) r r e ) e が } ) e s タ ) : s N c イ c o o ム o n / ア / e v ウ v , e ト e r し r s ま s i し i o た o n " n s } s / ) / 1 1 / / n n o o d d e e s s / / { { n n o o d d e e _ _ i i d d } } " / c o n t e n t " オブジェクトストレージにファイルをアップロード boto3と、オブジェクトストレージのENDPOINT_URL、ACCESS_KEY、SECRET_KEYおよびBUCKET_NAMEなどを使用して、ファイルのアップロード(とダウンロード)を行います。 ...

2025年1月26日 · 26 分 · Nakamura

Alfresco Governance Services Community Editionを起動する

概要 以下のマニュアルを参考に、Alfresco Governance Services Community Editionのインストールを試みましたので、備忘録です。 https://support.hyland.com/r/Alfresco/Alfresco-Governance-Services-Community-Edition/23.4/Alfresco-Governance-Services-Community-Edition 参考 同様の取り組みとして、以下があります。こちらも参考にしてください。 https://irisawadojo.blogspot.com/2020/11/72alfresco2.html 仮想マシン 以下のマシンをAzureの仮想マシンとして作成しました。 イメージ: Ubuntu Server 24.04 LTS - Gen2 VM アーキテクチャ: x64 サイズ: Standard D2ads v6 (2 vcpu 数、8 GiB のメモリ) 8080ポートを使用するために、ポートを開けておきます。 Dockerのインストール Dockerをインストールします。 s s # s c s # e s # s # s n # d u u u u u c u u u e o d d D d r d D h " $ d D d s d w D c o o o o l o o o d ( o o o u o g o k c c e l c d r c e a a k i - c k b s a k a o u p k r p p e n f h e b p e p s e t t r s s m r [ _ t r t な e d r r - - t S o a r - - し r o u g g の a L d の r e g を g で m c の n e e 公 l リ c l e イ e o k 動 t t 式 l h a ポ h e t ン t D d e 作 h t + ジ = a ス o r 確 e u i G - t r ト $ s u ト i c - 認 l p n P m p リ ( e p ー n k a l d s G s / を d d ル s e G o a t 0 : e 追 p - a t r - t a キ 7 / t 加 k c t a d w e l ー 5 / c g s e l を o o l を 5 d ) l 実 c r 追 a 行 k l - 加 - w p - s - e d y d n t p t y r l r a c / k i b d $ a e a e n l o U - t d y t e c S c c . r - " k E e d i a e R r a o n r | r t p c g c - i t k s h s c f / e / i u e i k r d t d c e . o e o d a y c c c o t r o k t t c e i m e u e k s n / r r e e g l . e r c s i a ) / - u n s e c r u c s t e l x i c - / g / c g u n a l n b e p i u u d t p n - / c g t b s o u y o n / = u t g / r a p e c i g t e n c s e | / . r a l d s p i . u t s i d / t o o k . e d d t y / o e r d c e i o k n c e / g k r e s e - t / r b c d . u / o l i a c i l p k s d t e t x / r - k . > p e a l y s / u r c d g i ] e i n v n g h / s t n d / t u o d p l c o s l k c : e k / r e / - r d c . o o a w m s n p c l o o s > a e d - / . p d d l e o u v c g / k i n e n u r l . l c o m / l i n u x / u b u n t u \ インストール 以下の「Install using Docker Compose」を使用します。 ...

2025年1月23日 · 28 分 · Nakamura

XSLTを使いながらTEI/XMLファイルを編集する

概要 XSLTを使いながらTEI/XMLファイルを編集する方法の一例を紹介します。 関連 以下の記事で、VSCodeの拡張機能を使いながら、XSLTの結果をプレビューする方法を紹介しました。 本記事では、上記の拡張機能を使用せず、より単純にXSLTを使いながらTEI/XMLファイルを編集する方法を紹介します。 拡張機能のインストール VSCodeで以下の拡張機能をインストールします。 Live Server https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Scholarly XML https://marketplace.visualstudio.com/items?itemName=raffazizzi.sxml Auto Close Tag https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag 加えて、以下の2つの拡張機能が、Scholarly XMLにおいて推奨されています。ただ、私の使い方では不便になってしまう場面もあったので、とりあえず任意とします。 Auto Rename Tag https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag Close HTML/XML tag https://marketplace.visualstudio.com/items?itemName=Compulim.compulim-vscode-closetag ファイルのダウンロードなど 以下のサンプルリポジトリを対象にします。 https://github.com/nakamura196/tei-xml-xslt-vscode 以下により、ファイルをダウンロードします。そして、VSCodeで開きます。 g c i o t d e c l t o e n i e - x h m t l t - p x s s : l / t / - g v i s t c h o u d b e . c o m / n a k a m u r a 1 9 6 / t e i - x m l - x s l t - v s c o d e そして、画面右下のGo Liveをクリックします。 ...

2025年1月23日 · 1 分 · Nakamura

DataverseのデータをArchivematicaで処理する

概要 DataverseのデータをArchivematicaで処理する流れを確認しましたので、備忘録です。 背景 ArchivematicaではDataverseのデータを入力する機能を提供しています。 https://www.archivematica.org/en/docs/archivematica-1.17/user-manual/transfer/dataverse/ 本機能について、以下の講演会で教えていただいたので、実際に試してみました。 https://www.kulib.kyoto-u.ac.jp/bulletin/1402322 Dataverse 以下の記事でも使用したDemo Dataverseを使用します。 以下のデータをアップロードしました。 https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/FK2/IHQZL3 ここから画像データそのものと、JSONデータをダウンロードします。Metadataタブに移動し、Export MetadataからJSONを選択します。 以下はJSONファイルの一部ですが、metadataBlocksにメタデータ、filesに画像ファイルの情報が記載されています。 { } " } " ] m , f e " } i { } t c l a i " " " ] e " " " " " } d t d n f s l r v d d a a i a i { } { } { } { } { } { } { } " a e e a a " " " " " " " " " " " } " " " " t t s m e , , , , , , : b s r t t i p p f c f f s r m c , t c p f a i p e l " " " " " " " " ] " " " " ] " " " " ] " " " " ] " " " " " " " " e t s a a d e i i o r i t o d h " " a r u i B o l " d t m t v t m t v t m t v t m t v t m t v t m t v t m t v [ l r i s F " r d l n i l o o 5 e t v b e b l l n a : s y u y a y u y a { } y u y a { } y u y a { } y u y a " y u y a y u y a " i o e i : s U e t e e r t " c y a u a l e o " y " p l p l p l p l p l p l p l p l p l p l A p l p l p l p l : c n t l i R n e n s a D : k p l l t i A c : N " : e t e u e t e u " } " } e t e u " } " } e t e u " } e t e u r e t e u e t e u t " V e 2 s L a n d i g a s e u a i c c k a c N i C e N i C e a , a N i C e d , d N i C e d N i C e t N i C e N i C e " e : e " 5 t " m t l z e t " u " e r o a c s { m i [ a p l " a p l " u " " " " u " " " " " } a p l " a " " " " a " " " " a p l " s " " " " a p l " s a p l " a p l " n d r : 1 e : e T y e I a 7 m : " D n t e " e t m l a : m l a : t t m t v t t m t v e m l a : t t m t v t t m t v m l a : D t m t v m l a : m l a : m l a : a " 1 s 4 n " y T " d F 2 " : a D i s : " a e e s e e s h y u y a h y u y a x " " " e e s a y u y a a y u y a e e s e y u y a e e s a e e s e e s k : , i { 7 t " : p y : e i f : " t a o s : t " " s " " " s [ o p l p l o p l p l p s t @ " " s [ s p l p l s p l p l " " s [ s p l p l " " s [ n " " s " " " s " a o 2 I h e p n l 0 M " a t n R { i : : " n : : " r e t e u r e t e u a c e t : : " e e t e u e e t e u : : " c e t e u : : " d : : " N : : " 2 m f n 4 d t " " e 5 t e 8 { D 7 " e D e " o : a : N N i C e A N i C e n h r y : t N i C e t N i C e : r N i C e : : a : 0 u a I , " t n : " 3 i I a 5 2 : " a q C n " f k " t a a p l " f a p l " d e m p " t C a p l " C a p l " " t i a p l " " t H " f k " f 2 r l d : p a : 6 f d 8 " f : t u i " t a " a a r " m m l a : f m l a : e m N e d r " o m l a : o m l a : d r " p m l a : s r " u d a " a d a " 5 a s " s k " 5 i " b , 0 f e e t , i l p m u u c e e e s i e e s d e a " a u c n e e s n e e s s u c t e e s u u c m e l p m a l p - 1 e : " : a i " 6 e : 0 8 a " " s a t s r u t e o " " " s " l " " s " v " m : t e o t " " s " t " " s " D e o i " " s " b e o a p s r u t s r 0 9 , d m m J , r 7 a l 2 : t t l e i r h , m : : : " N i : : " h a : e a , m a : : " N a : : " n e , m o : : " M j , n n o e i r e e i 1 6 2 / u a P " - b 8 s 0 " i e , m a o p : a a : t l " " s p c : a c : a s p n : y e t i s , m a O , m - . 8 i d r g E : 1 a b e 2 " : o " i 1 r o { " f k t " f t u " : h e o t " f k t " f . c o V " f c r t i i , f i 1 j 1 : o a e G , c 0 , 5 2 n , t 9 " u a a " a i a a " p e h t t u N d a " a E d a " k r u a d a " F t o i t t D t 9 p 0 1 i 1 / " b 7 - 0 t i 6 , n u l p m o u l p s " t " t C n a a l p m m a l p a i n l s l p i " l e o i S e i " g 9 0 . 9 j I s e b 0 2 r M v " d t s r u n t s r : : t T p o d m t s r u a t s r m p d u D s r r , l s r v a p v " 3 . o 6 p m 3 3 a 1 5 u e e " h e i r " h e i / p h s n " e a e i r i a e i u t " e e e i s e " " e t o e , , 7 r . e a : b c - - e t " , o , m a : o , m / { : e : t , " s , m a l s , m r i , " s , m t d , " o s " 0 g j g g / 5 b 1 0 a , r i , r i r / / a : e i , " e i a o : c i V , r i , 1 / p " e / c e 9 1 d N t { A t o / U / c t t : t t . n r t D o u t 2 1 g , " d f 3 " - a a i S f i r w n s t { C i S C i 1 " { i i a c " " 2 0 " , e 0 b , 1 t m v a f v . w i c " o v a { o v 2 , p v t a , / . , m 2 5 9 a e e t i e o w v h , n e t n e 6 t e a b F 7 o 1 c " " " " o l " r . e e t " o t " 3 i " s u K 0 - 9 f , , , , r i , g g r m a , r a , @ o , e l 2 1 d 1 0 u a / r s a c u c g n t a / 2 a 0 2 " t 0 i i . t " t m V " r I 2 t f 1 i 5 d t o N E a a y H / a d 9 o 7 . y r a m i l " Q F v 2 1 n z a g m a l u , Z K e 6 0 " h c / e i . e L 2 r d f , 3 f O " l c " 3 s c d y o r , " o , I e " 2 9 n T g , m B H - , 6 6 t o a " 7 Q o d " o k n J Z r c , l y i V L g " o o z Q 3 : g " a S / 1 y , t " B 9 / i , 7 4 " o J 8 , n V 1 " Q 5 S 4 " 8 , 2 0 d - 6 3 7 3 3 5 3 3 e a 7 c " , データの準備 Dataverseのサンプルデータは以下に格納されています。 ...

2025年1月21日 · 21 分 · Nakamura

VSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビュー

概要 VSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビュー環境を試作したので、備忘録です。 挙動 動作例は以下です。TEI/XMLファイルを編集し、保存すると、ブラウザの表示内容が更新されます。 https://youtu.be/ZParCRUc5AY?si=-aHHi3bIZGWoJYnP 準備 以下の拡張機能をインストールします。 Live Server Trigger Task on Save TEI/XMLを保存した際に、Trigger Task on SaveによってXSLTを実行し、変換されたHTMLファイルをLive Serverで閲覧します。 リポジトリ サンプルコードを以下に格納しています。 https://github.com/nakamura196/tei-xml-xslt-vscode XSLTを行うにあたり、xslt3をインストールします。 g c n i d p t m t c e i l i n o - s n x t e m a l l h - l t x t s p l s t : - / / s g c i o t d h e u b . c o m / n a k a m u r a 1 9 6 / t e i - x m l - x s l t - v s c o d e settings.jsonとtasks.json .vscodeフォルダに、settings.jsonとtasks.jsonを格納しています。 ...

2025年1月15日 · 29 分 · Nakamura

校異源氏物語テキストDBのTEI/XMLからPDFを作成する

概要 校異源氏物語テキストDBは、『校異源氏物語』のテキストデータを公開するデータベースです。 https://kouigenjimonogatari.github.io/ 今回、本DBに以下のようなPDFファイルを追加しました。 https://kouigenjimonogatari.github.io/output/01/main.pdf 本記事は、上記のようなPDFファイルを、XSLTとTeXを使って作成します。 リポジトリのクローン 以下のように、リポジトリをクローンします。 g i t c l o n e - d e p t h 1 h t t p s : / / g i t h u b . c o m / k o u i g e n j i m o n o g a t a r i / k o u i g e n j i m o n o g a t a r i . g i t h u b . i o そして以下のコマンドにより、xslt3をインストールします。 ...

2025年1月14日 · 8 分 · Nakamura

@sidebase/nuxt-authのローカル認証を試す

概要 @sidebase/nuxt-authのローカル認証を試す機会がありましたので、備忘録です。 背景 以下の記事で、@sidebase/nuxt-authを使って、Drupalの認証を行う方法を紹介しました。 上記の記事では、Nuxt3のSSRを利用して、@sidebase/nuxt-authのauthjsプロバイダを使用していました。プロバイダの説明は以下です。 authjs: for non-static apps that want to use Auth.js / NextAuth.js to offer the reliability & convenience of a 23k star library to the Nuxt 3 ecosystem with a native developer experience (DX) local: for static pages that rely on an external backend with a credential flow for authentication. The Local Provider also supports refresh tokens since v0.9.0. Read more here. (機械翻訳)authjs: 非静的なアプリ向けで、Auth.js / NextAuth.js を使用し、23,000以上のスターを持つ信頼性と利便性をNuxt 3エコシステムに提供します。開発者にネイティブな開発体験 (DX) を提供します。 local: 外部バックエンドを使用し、認証のために資格情報フローを利用する静的ページ向けです。このローカルプロバイダーは、バージョン0.9.0以降、リフレッシュトークンもサポートしています。詳しくはこちらをご覧ください。 ...

2025年1月13日 · 8 分 · Nakamura

NextAuth.jsを使ってDrupalのOAuthを利用する

概要 NextAuth.jsを使ってDrupalのOAuthを利用する方法に関する備忘録です。 挙動 Next.jsで作成したアプリにアクセスして、「Sign in」ボタンを押します。 Drupalにログインしていない場合には、ログイン画面に遷移します。 ログイン済みの場合、「許可」するかのボタンが表示されるので、許可します。 ログイン情報が表示されます。 Drupal側の準備 モジュールのインストール 以下のモジュールをインストールします。 https://www.drupal.org/project/simple_oauth 本記事執筆時点の最新の以下をインストールしました。 c o m p o s e r r e q u i r e ' d r u p a l / s i m p l e _ o a u t h : ^ 6 . 0 @ b e t a ' トークンを暗号化するための鍵の生成 鍵のペアを生成し、セキュリティのためにドキュメントルートの外に保存します。 ...

2025年1月9日 · 8 分 · Nakamura

Azure Logic Appsを試す

概要 ノーコードまたはローコード開発の調査を目的として、Azure Logic Appsを試してみましたので備忘録です。 成果物 以下は、ロジックアプリデザイナーの画面です。HTTPリクエストを受信し、Cosmos DBにデータを保存し、成功時にメールを送信するワークフローを作成します。 Azure Cosmos DBの作成 「アカウント名」以外はデフォルトにしました。「my-first-azure-cosmos-db-account」という名前で作成しました。 「Items」コンテナを作成します。 「データエクスプローラ」を使って、データベース「ToDoList」の下に、コレクション「Items」が作成されていることを確認できます。 ロジック アプリの作成 ロジック アプリの作成を行います。 「my-first-logic-app」を作成しました。 「ロジックアプリデザイナー」に移動します。 HTTPリクエスト まず、「Request」を選びます。 そして、以下を入力します。今回は単純に「url」と「code」という項目を管理します。 { } " " } " ] t p , r y r e p o q e p " } " } u " " " e u , c i u c : r r o r r o t l d e l d " i " " e " d " e o e : t " t " , " b s y : y : j " { p p e : e { e [ c " " t { : : " , " " s s t t r r i i n n g g " " ...

2025年1月7日 · 2 分 · Nakamura

Azure OpenAI Assistants APIを用いたアプリをGradioとNext.jsで作成する

概要 Azure OpenAI Assistants APIを用いたアプリをGradioとNext.jsで作成したので、備忘録です。 対象データ Zennで公開している記事を対象にしました。まず以下により、一括ダウンロードしました。 i f i f p u w f m r m r a r h o p o p o g l i r o m o m e s l r r e u r d a i f p u t i r s h t o w t b t t = = r e a r f o a r e f e o t x s i s q 1 l s t t r g l x s u m t . t r 4 o d 1 [ : p a i l e t o p p l m h e s m ] = o c e b a u i _ s c o = a f q i n = l n r r r + n o . o n = = k o . u m i f s e ( e t l = p p n s h e p w e p m " e r s a a i s t a a t e B s t d e r s o p h e r k c . 1 q t t i e o m i n i t r o t = s = t l a d h h n = a u l r ( t s t r t p i e p m . u u p . s t e t p r o d c p ( = e e r t . g ( e ( B s e n a l i e u x e i f e o x t e t : q s t e n n r f i q f i t s t x a q / u e a s d l " s u u n _ . _ t u d / e . [ ) a ( s d t e l d t p o ) t m z s j ' r " ) a s s S ( e a p i e t s a = t h : t ( t o c x t a f n s o r = i t a t s u l t h t u n . n t c t / e . p a ( . h l . g ( i 0 l p t x g ( s ) d , S d e ) c : e s e t e r s i o e t l s : x _ t e _ r " u v ( e : / t ( s = n w p / u s / p u p " a " a r ' z { a r o z m ) p l ] e u t l n n e i ) n r h ) s c ( a / n l ) e " t s a . . : . ) e r d s t x f t e p e t : i v l x _ c " i t o l t , p e + ( a s ' " t ? a / h h u r ' t ) s t ) m , e i [ l r c - . e n l 1 p x a e ] a i m [ } r s e ' . s t = p t e _ n a x r o a t t " k k h " ) = a ' T m ] r u ) u r e a ) 1 9 6 & p a g e = { p a g e } " ベクトルストアへの登録 以下のようなコードにより、データファイルをアップロードします。 ...

2025年1月6日 · 12 分 · Nakamura

Pythonを使ってOmeka Sにメディアをアップロードする方法

概要 Pythonを使ってOmeka Sにメディアをアップロードする方法の備忘録です。 準備 環境変数を用意します。 O O O M M M E E E K K K A A A _ _ _ S S S _ _ _ B K K A E E S Y Y E _ _ _ I C U D R R E E L N D = T E h I N t T T t Y I p = A s L : = / / d e v . o m e k a . o r g / o m e k a - s - s a n d b o x # 例 初期化します。 ...

2025年1月3日 · 7 分 · Nakamura

Sketchfabのアノテーションを試す

概要 Sketchfabのアノテーションを試してみましたので、備忘録です。 最終的に、以下のようなビューアを作成しました。 https://nakamura196.github.io/SketchfabAnnotationViewer/ https://youtu.be/iEe6TbI3X70 使用データ 「菊池市/デジタルアーカイブ」の「石淵家地球儀」を対象とします。 https://adeac.jp/kikuchi-city/catalog/e0001 使用例 まずSketchfabに3Dデータをアップロードしました。 https://skfb.ly/pt8oU そしてアノテーションを付与しました。結果、以下のようなページが用意されました。 APIを利用する 以下のリポジトリも参考にしてください。 https://github.com/nakamura196/SketchfabAnnotationViewer 以下のようなスクリプトにより、アノテーションの一覧取得や、初期表示に使用するアノテーションの指定、選択したアノテーションへのフォーカスなどを行うことができました。 < < ! h / D t < < h O m h / b / t C l e < < < < h o < < < < b m T a m m t s e d ! d / s s o l Y l d e e i c a y - i < < < < < < < d c c d > P a > t t t r d - v ! h / ! d / ! h u / i r r y E n a a l i > c - 1 S h - i < d - 2 l < u v i i > g e p l メ c - k 1 - v i i - ! l > p p h = c n > t a イ l c e > f i w h c s a / v c i - > t t t " h a S s ン a ヘ l t 3 c r d i e l r l i > ア l d - m e a m k s s コ s ッ a c D l a = d i a c l f ノ a = s s l n r e e r = ン s ダ s h ビ a m " t g s = o r テ s " ア r r > " s = t c " テ = ー s f ュ s e a h h s " w a ー s a ノ c c > e " c = b ナ " = a ー s p = t = " f m シ = n テ = = t v h " g m " b ア = i " = " u e ョ " n ー " " = i f h - a t " - 1 " r l > ン t o シ h s " e a t g x e A m f 0 4 o l リ e t ョ t c U w b t r - x n b r 0 8 u s ス x a ン t r T p p a w t n - a % 0 n c ト t t 項 p i F o A s y - - o 6 m " " d r - i 目 s p - r n : - 4 2 t " e e e x o は : t 8 t n 1 x x a > " d e l n J / . " " / 0 l l t n - a j t c 0 i s f l v s s c a d m f o h o i a t " o t n f x o n a n s S a > n i . o - n d t t c t < t o t n a t V o - " r i / e n a t u - i w s i c s n i - t b e - e c p . c t V l s o o w m m l t s r = i w a l e d i a で k i " e i n p d r b s 追 e p w w n s y b o s 加 t t i e d " - t o l = c > d r c > 1 e r d " h t < s 0 x d s f h / s t e t p a = t . p - r e a b d i c x g x c . e t o - r b t e c v l m 4 a o - - o i e " " y r g y m c > > > - d r - / e < 8 e a 2 a - / 0 r y " p w s 0 - - > i i c g 7 / d r t r 0 s t i e a 0 k h p x y e , t t - m t > - 3 b c i c 0 - h n e 0 4 f i n " " a t t > b i e A - a r n v l n i - m o e s b t w c - a e a 6 t r l " i - e > o 1 = n . 1 s 1 . < 2 0 / . " h 1 2 . > j s " > < / s c r i p t > c c c c c c } f } f } o o o o l ) u u n n n n n i ; n n S s s s S s s A e c c k t t t k t t P n s } e } t a } t a } e e I t u , r , i p ) i p ) t i c u t m p の . c r o i ; o i ; c f l r c o o オ i c o n . n . a a h r i l h d s プ n e a a } r c g i } c a } g p p p f a e P f e シ i s p p ) : o s e f o n ) f o r i i a m n a a l = ョ t s i i ; n e t n n ; o t e . . b e t r b I ン ( : . . f s t A ( ア s o c o v s s a モ d p を m s a s f u o u n e c r ノ t t c a a } a u A e h h V = = m デ a 指 o f t d e o n l p n r o e テ a o n n ) n s n n o o i s ル = r 定 d u a d t c c e A o r n t ー a t n n n ; n A n t w w e d n I s し e n r E u u t . n t ) s u シ n i s o o o n o C A A w o e = D u e て l c t v p s i e n a o r ョ n o t t t f t n t a n n e c w を r I モ I t ( e A A o r o t { l n ン o n a a o a o a m n n r u n 指 l n デ d i ) n n n n r t i e ; 一 t s a t t c t t t e o o を m S e 定 P t ル , o ; t n n o a o . 覧 a . n i i u i a i r t t 埋 e k w a ( を n L o o r t n e を t f n o o s o t o a a a め n e r u ロ { i t t ( i L r H i o o n n A n i n A t t 込 t t U a r ー ( s a a ' o i r T o r t I I n L o ( n i i む . c R m l ド a t t t { S n s o M n E a t t n i n a i o o た g h L s P p e i i k s t r L L a t e e o s ( n m n n め e f S . a i n o o e ( ( ( に i c i m m t t a n a ( T の t a e g r ) e n n t a f ' 追 s h o . . a C p o t a o i E b a e a r s ( c p u F 加 t ( n t a t o i t i n o f l ( r t m { ( ( a h i n a C ( I e d i n , a o n l r e i c ( s ' a p f ) c i o a t x d o t t n o t a m f h ' . v p i a t l n n e t E n a a i : t i m e r P i g i i , b { i e t n m C v ( i n o a p e n a a d e e ) o d a o o e a n n n f t ( を t m r ' t w ; p V n i t = n n p e o I a i a 取 B e a ) ( e o i t n a t t i r t n l o n 得 y ) m ' r s e ( o e t d e L , . a d s n n I ; s p r ) w e r i o n i a t e e I o d ( e ; e r f o c t s i p i x , n t ( w s a r r e = n u t n p o , d a ' i ' ' d , t , m = e d e n e t a n 0 ) y f c d e n e n I { x i p d 2 , ' a a h o i n a e x d n ) o i o a , 最 i n c n t n r ) C d ア ; n - w d 1 初 l n a u d . n ( ; h e ニ I f . d 0 f の e o n m e c o ' i x メ n r l 9 ) u ア d t n e x r t c l ) ー d a o 0 n ノ a o n ) e a l d シ e m c 5 c テ t t t t a t i ( { ョ ア x e a e t ー o i a . = t i c ク a ン ノ ) ' t 7 i シ o t g > e o k リ n を テ ; ) i 9 0 o ョ l n i e E n ' ッ n 許 ー ; o c ; n ン o s o t { l . , ク o 可 シ n 4 に a ) n E e n 時 t ョ . 4 フ d s l m a に a ン s 6 ォ ' { ' e e m フ t を ア e 9 ー ) ) m n e ォ i 表 ノ a 9 { カ ; ; e t ; = ー o 示 テ r 4 ス n ( > カ n ー c f t ' ス I シ h 9 B l { t ョ ) 7 y i e ン ; 1 I ' ア m ツ c d ) ノ ) ー b ( ; テ ; ル c ' ー チ f a シ ッ 4 n ョ プ 4 n ン を 3 o タ 表 8 t イ 示 1 a ト 5 t ル ' i ; o n - l i ' s i t d ' ' ) パ ; ラ メ ー タ を 取 得 まとめ 3Dデータへのアノテーションの応用にあたり、参考になりましたら幸いです。 ...

2025年1月2日 · 11 分 · Nakamura

objファイルをgltf, glbファイルに変換する

概要 objファイルをgltf, glbファイルに変換する方法の備忘録です。 対象データ 「菊池市/デジタルアーカイブ」の「石淵家地球儀」を対象とします。 https://adeac.jp/kikuchi-city/catalog/e0001 objファイルは以下のURLからアクセスできます。 https://adeac.jp/viewitem/kikuchi-city/viewer/3d/dc-e0097/models/Kikuchi_Globe_180820.obj 対象データのダウンロード ライブラリをダウンロードします。 n p m i a x i o s 以下のファイルを用意します。 c c c a } a } c c i } p o o o s s o o f r n n n y y n n o s s s 指 n n 使 s s ( c t t t 定 c c c } r r } o c t } } 用 t t ! f e さ o o ) e e ) b r 例 f s s a f p れ f n n ; s t ; j f y c o o s . s x s a た u s s p u u a b u . m O i t U n t t u m r o r w w フ n { c c c c f c c i } } t c j t e k b o = h R c r e e n n r r ァ c o o o o s o o f c o U p x d j s L t w r l t s s i i イ t n n n n . n n e h n r u i i F r = か i r e , h p e n t t ル i s s s s w s . s ( l s l t s r i = e ら o i s o o . e e e を o o t t o t t r o m t m c c c a c c c f } s c ( o D t S l q r フ n t p d n d w r r ロ n b b i l t t o o o w o o o o e o e l = i s y e r u e ァ e o : s a . . ー j o o j o o t e l m l n n n a n n n r n r e r S n ( e i q イ d r n e t P o o ド p b b b b e . t M s s s . i s . s s { s r . ' y c o q r u ル o s ' T a r n n し r フ j j フ j j F l フ l a t t t m t o m t t ( c c c a c o o e h = n ( b u e i を w = e G y . o ( ( 、 o ァ R C ァ F F i o ァ M t t l t c o o o w o l r r t c o j i ( r ダ n E p p m ' ' 関 c イ e o イ i i l g イ a c m m m l d e l m t o n n n a n e ) r t ( u U r ' e ウ l f = T e i i f e 連 e ル s n ル l l e ( ル t h t t t o . t e n s s s テ i s . o p o t r e f ( ン o s ' : p s i r フ s を p t を e e S ` の c ) l l l フ w l フ l x s t t t ク t o l { r s / u p l ( s ' ロ a . a , e e n r ァ s ダ o e 保 N P y D パ h F U F ァ n o ァ C t t ス l o ( : d t u , ' ' p ー d c w ' ( ( i o イ O ウ n n 存 a a n o ス { i r i イ l g イ o u t t t チ d e g ` / p t a ) a ド F r a s w ( s r ル b ン s t m t c w を = l l l ル o ( ル n r m e e e ャ o . ( E w u D o x ; t す i e i t r r h ' を j ロ e e h ( n 検 e e を a ` の t e a x x x 画 w l ' r a n t i u i h る l a t r i e ' , ダ F ー = o l 索 o N = P ダ d D 内 e M t t t t 像 n o N r d l D r t o ' 関 e t e t s , ウ i ド = = = b o b a a ウ F o 容 n a c u u u を l g o o e o i , p s ) 数 ( e a a e o r ン l し o j a j m n t ン i w を t t h r r r ダ o ( r a a r u ' ; u W x m r l r e ロ e て a b p p F d C e e h ロ l n 取 c e e e ウ a ` M c d ) { t ) r r i ' ) v e j ー ( 内 w j a a i e o w ー e l 得 = h o F U F ン d D T p . s ) D ; l i o , ; e s e ド o 容 a R t t l d n = = ド ( o し e f i r i ロ F o L r j ' r i , t s , o c す b を i e h h e t U m a て f s l l l ー i w o p ; { e r e ( l t る j 取 t s . . P O e m R p t d 関 s t e e ド l n f c / c ) o S { r v ) U 得 p b j a B n t L a l e 連 . = e N = P e l i e v u ; u t e e ; r a o a o t J t l ( t U d フ r x a a ( o l s i r t r j ) l x n s i h . M m h r ァ e [ t m n t t a e s e s p e e ; , i s e n , f m a t . l M イ a . u e e h e d i w i u a c o e n ( i a t l j , T ル d . r w x e r n i v t m t o s . a o o l t c F o L を F . e = = t d e g t e P ( ) u . d m u b e c h i i m 探 i m M U u f e : a o t g a e t j : h [ l n t f す l t a m R p r t e O m t u = p e t ( p C ( 1 e ( l i e l t a L a e e r B / t h t > u t a o u o $ / ] N o F l S C c t ( t U x e J k r ) p t ( ; b t n { ^ ; a u i e y o h c t h r t n i u u { D o j D t o m m t l : n n e h e . l u c f k e { t i b U i e b t e p e c t s [ x j , r e i u P r j r r n j l , u P $ ( e ) 1 t o e d l c } a ) U l , t F l t a { m n ] u i t e h ) t r ) ) i i o D t m t t { ; r n e f i : i ; h { l ; o ; l b b i h t l . e ( x i n - ) ) b e \ j r ) l F m F o t l $ c ; ; j P s U , ; F i a i u u e t { i F a + r i l t l t r : h e t i t ( l m l e c e p e e r y l h . ) t e P h N u F $ r / e } + . l P a A a t i { O o v N ` ) h F a t l m D l t B r i a ) $ r i t h l e i e e J . e m ; / e l h , ( , r P x m w e m f e } , a t f e e ) ) ; N ` ' ^ o t u i s r ; ; a ) u m b p h r l s / m ; t a j a ) e e a 3 e f p U t ; F . g d ) - _ r h i ' e / ; 8 K l . l ) } d ' d ) b e ; ` c ) . a P ) - ; s h s a ; e + r e t 0 ( e n h 0 . f a } 9 + ; m ` 7 ) e ) / $ ( ; m / t o g e d m x e ) t l ] u s ; r / e K F i i k l u e c N h a i m _ e G ) l ) o ; b e _ 1 8 0 8 2 0 . o b j ' ; 実行します。 ...

2024年12月30日 · 11 分 · Nakamura

aleph-r3fを試す

概要 以下の記事で、Aleph 3D viewerを紹介しました。 その後調べた結果、以下のリポジトリの存在も知りました。 https://github.com/aleph-viewer/aleph-r3f 以下のように説明されており、react-three-fiberとshadcn/uiを使用している点に違いがあるようでした。 Aleph is a 3D object viewer and annotation/measurement tool built with react-three-fiber and shadcn/ui 以下のように、アノテーション付与機能なども改良されているようでした。 今回の記事でも、菊池市デジタルアーカイブで公開されている「石淵家地球儀」の3Dデータを使用します。 https://adeac.jp/kikuchi-city/catalog/e0001 使い方 以下で閲覧いただけます。 https://iiif-aleph-r3f.vercel.app/ アノテーションタブで、アノテーションの付与を行うことができました。 アノテーションデータのインポート/エクスポートを行うことができ、JSON形式でのエクスポート結果は以下でした。 [ ] { } " } " } " } " } " } " " p , n , c , c , r , l d o " " " o " " " a " " " a " " " o " " " " " a e s x y z r x y z m x y z m x y z t i _ _ _ _ b s i " " " m " " " e " " " e " " " a s x y z o e c t : : : a : : : r : : : r : : : t E " " " r l r i l a a i u : : : d " i o - 0 - " - 0 - P - 1 - T - - - o l e : p n 0 . 0 : 0 . 0 o 0 . 1 a 0 0 0 n e 0 0 0 r t " . 6 . . 6 . s . 1 . r . . . " r , , , " " i : 0 2 7 { 1 4 7 i 1 7 4 g 0 0 0 : " : 大 o 6 5 4 1 3 5 t 5 6 3 e 0 0 1 : 西 n { 6 6 2 6 0 6 i 9 7 7 t 2 0 1 { " 洋 " 9 8 4 2 0 9 o 2 0 8 " 3 9 6 t X " : 0 1 5 7 3 8 n 2 7 8 : 6 7 8 r Y , 3 7 4 7 1 5 " 1 1 4 4 8 4 u Z " 9 3 4 5 0 1 : 8 1 2 { 9 9 0 e " 初 2 5 3 3 1 6 8 5 1 9 4 0 , め 6 2 8 9 1 8 { 7 8 4 3 6 0 て 8 7 7 5 9 7 9 1 4 0 6 4 の 1 8 0 8 7 0 9 1 4 9 8 9 ア 7 4 0 2 9 4 5 4 4 5 5 2 ノ 0 1 1 5 0 4 9 8 4 3 7 0 テ 2 5 0 4 3 5 2 4 1 9 9 9 ー 0 4 9 5 2 2 0 3 0 7 1 5 シ 0 , 7 9 , 9 5 , 4 9 0 9 ョ 4 7 5 4 1 4 ン , , , 9 6 7 " 2 5 , , カスタマイズ 「石淵家地球儀」を表示するにあたり、以下のようにソースコードを編集する必要がありました。 ...

2024年12月29日 · 12 分 · Nakamura

Cantaloupe: Microsoft Azure Blob Storageに格納した画像を配信する

概要 IIIFイメージサーバの一つであるCantaloupe Image Serverについて、Microsoft Azure Blob Storageに格納した画像を配信する方法の備忘録です。 以下のMicrosoft Azure Blob Storage版です。 方法 今回はDocker版を使用します。 以下のリポジトリをクローンしてください。 https://github.com/nakamura196/docker_cantaloupe 特に、.env.azure.exampleを.envにリネームして、環境変数を設定します。 # C C C # C L A A A A E F N N N F N T o T T T o T S r A A A r A _ L L L L E M O O O T O N i U U U r U C c P P P a P R r E E E e E Y o _ _ _ f _ P s A A A i H T o Z Z Z k O _ f U U U S E t R R R T M E E E = A A S S S I z T T T L u O O O = r R R R e A A A G G G B E E E l S S S o O O O b U U U R R R S C C C t E E E o _ _ _ r A A C a C C O g C C N e O O T U U A N N I T T N _ _ E N K R A E _ M Y N E = A = M E = 下の二つは、Traefikを用いたHTTPS化の設定も含めています。 ...

2024年12月23日 · 2 分 · Nakamura

Azureの仮想マシンを用いたNDLOCRのGradioアプリ構築

概要 以下の記事で、Azureの仮想マシンとNDLOCRを用いたGradioアプリについて紹介しました。 本記事では、このアプリの構築方法に関する備忘録です。 仮想マシンの構築 GPUを使用するにあたり、クォータの要求を行う必要がありました。 要求後、今回は「NC8as_T4_v3」を使用します。 Docker環境の構築 以下の記事を参考にします。 https://zenn.dev/koki_algebra/scraps/32ba86a3f867a4 Secure Boot の無効化 以下のように記載されています。 Secure Boot を無効化しないと NVIDIA Driver が正しくインストールされない. 実際、無効化しなかった場合、以下の画面が表示され、前に進めませんでした。 以下で、Secure Bootを無効化します。 NVIDIA Driver のインストール ubuntu-drivers コマンドのインストールを行い、インストール可能な NVIDIA Driver を確認する。 s s u u u b d d u o o n t a a u p p - t t d - r g i i e n v t s e t r u a s p l d l d a e t u v e b i u c n e t s u - d r i v e r s - c o m m o n 以下が結果です。 ...

2024年12月23日 · 15 分 · Nakamura

Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う

概要 Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う方法です。 デモアプリ https://nuxt-rdm.vercel.app/ リポジトリ https://github.com/nakamura196/nuxt-rdm 参考 当初、以下のwarningが表示されていました。 AUTH_NO_ORIGIN: No origin - this is an error in production, see https://sidebase.io/nuxt-auth/resources/errors. You can ignore this during development そのため、以下を参考に、 https://auth.sidebase.io/resources/error-reference 以下のように設定したところ、エラーが発生しました。 a } u , t b h a : s e { U R L : p r o c e s s . e n v . N E X T A U T H _ U R L , これについて、以下のように、rc版のライブラリを使用していることが原因でした。 ...

2024年12月19日 · 1 分 · Nakamura