Upgrade to Pro — share decks privately, control downloads, hide ads and more …

国漢文混用体からHolloまで

 国漢文混用体からHolloまで

本発表では、韓国語の「国漢文混用体」(漢字ハングル混じり文)を自分のフェディバース投稿に実装したいという小さな目標から始まった旅路を共有します。

この目標を達成するために、ActivityPubのJSON-LDの複雑さやHTTP Signatures、WebFingerなどの仕様を理解する必要性に直面し、それがFedifyというActivityPubサーバーフレームワークの開発につながりました。その後、Fedifyを使用して御一人様向けのActivityPubサーバーソフトウェアHolloを実装する過程、そして漢字に「振りハングル」を付ける機能をMastodonやMisskeyなどの主要なActivityPub実装と互換性を持たせるための取り組みについて説明します。

最後に、Fedifyを利用した新しいプロジェクトHackers' Pubについても紹介します。

小さな問題から始まり、オープンソースコミュニティの支援を受けながら大きなプロジェクトへと発展していった経験を通じて、分散型SNSの技術的な課題と可能性を探ります。

Hong Minhee (洪 民憙)

April 05, 2025
Tweet

More Decks by Hong Minhee (洪 民憙)

Other Decks in Programming

Transcript

  1. ࣗݾ঺հ w ໊લɿߑຽጣʢ)POH.JOIFFʣ ϗϯ ϛϯ ώ w ΢ΣϒαΠτɿIPOHNJOIFFPSH w ϑΣσΟόʔεɿ

    w !IPOHNJOIFF!IPMMPTPDJBM w !IPOHNJOIFF!IBDLFSTQVC w ϓϩδΣΫτɿ'FEJGZɺ)PMMPɺ#PU,JUɺ)BDLFST`1VC w ·ͩ೔ຊޠ͕ۤखͰ͢ɻྃ͝ঝ͍ͩ͘͞ɻ
  2. +40/-%ͷෳࡶ͞ ಉ͡σʔλͰ΋ෳ਺ͷදݱํ๏͕͋Δ 1. { "@context": "https: // www.w3.org/ns/activitystreams", "type": "Note",

    "content": "಺༰" } 2. { "@context": "https: // www.w3.org/ns/activitystreams", "type": ["Note"], "content": ["಺༰"] } 3. [ { "@type": ["https: // www.w3.org/ns/activitystreams#Note"], "https: / / www.w3.org/ns/activitystreams#content": [ { "@value": "಺༰" } ] } ]
  3. +40/-%ͷෳࡶ͞ ࢀরՄೳͳ63*΁ͷஔ͖׵͑ 1. { "@context": "https: // www.w3.org/ns/activitystreams", "type": "Note",

    "attributedTo": { "id": "https: / / example.com/yamada", "type": "Person", "name": "ᒹᨈᴉ࿠" }, "content": "಺༰" } 2. { "@context": "https: // www.w3.org/ns/activitystreams", "type": "Note", "attributedTo": "https: // example.com/yamada", "content": "಺༰" }
  4. )PMMPͷ࡞੒ ։ൃͷ͖͔͚ͬͱ໨ඪ w 'FEJGZΛ࢖࣮ͬͨ૷ྫ w ܰྔͳޚҰਓ༷޲͚αʔόʔ w .BSLEPXOαϙʔτ w ৼΓϋϯάϧػೳ

    w .BTUPEPOޓ׵"1*ɿैདྷͷ༷ʑͳ.BTUPEPOΫϥΠΞϯτΞϓϦରԠ w ΢ΣϒαΠτɿIPMMPTPDJBM w (JU)VCɿHJUIVCDPNGFEJGZEFWIPMMPʢ"(1-ʣ
  5. )BDLFST1VC ࣍ͷϓϩδΣΫτ w 'FEJGZΛར༻ͨ͠৽͍͠ϓϩδΣΫτ w ΤϯδχΞɾ։ൃऀ޲͚ͷ"DUJWJUZ1VCରԠ4/4 ʢϑΣσΟόʔε൛2JJUB΍;FOOͷΑ͏ͳ΋ͷʣ w .BSLEPXO֦ுʹΑΔ๛෋ͳදݱ w

    ଟݴޠαϙʔτʢݱࡏ೔ຊޠɾӳޠɾؖࠃޠɾதࠃޠରԠʣ w ࣗಈ຋༁ػೳʢ༧ఆʣ w ΢ΣϒαΠτɿIBDLFSTQVC w (JU)VCɿHJUIVCDPNIBDLFSTQVCIBDLFSTQVCʢ"(1-ʣ