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

今からはじめるNostr

 今からはじめるNostr

2023/2/22 Nostrstudy

Takuma Shinohara

February 22, 2023
Tweet

More Decks by Takuma Shinohara

Other Decks in Technology

Transcript

  1. Shino3 - 誕生日:12月1日 - 血液型:A型 - 身長 :162cm - しごと:エンジニア・プログラマ  広く 浅くどの言語・技術でも

    - 趣味 :自動車(レース、改造)     グランツーリスモ     自作キーボード設計販売 - 推し :檜山沙耶さん     (WeatherNews所属) - しのさん
  2. NIP-05認証とは Mapping Nostr keys to DNS-based internet identifiers https://github.com/nostr-protocol/nips/blob/master/05.md NostrキーとDNSベースのインターネット識別子の対応付けをおこなう。

    これの仕様は、ドメイン認証の仕組みを定義しているものになります 詳細:ユーザー(kind 0)のnip05に対してインターネット識別子を設定できるようになる
  3. ホスティングサービスの比較表 Cloudflare Pages Firebase Hosting Netlify GitHub Pages 転送量 無制限

    10GB/月 100GB/月 100GB/月 ストレージ 2万ファイル 1GB 100GB 1GB 独自ドメイン ◦ ◦ ◦ ◦ DNS管理 あり なし あり なし SSL対応 ◦ ◦ ◦ ◦ 表示速度 速い 速い まあまあ 速い 商用利用 ◦ ◦ ◦ ×
  4. ホスティングサービスの比較表 Cloudflare Pages Firebase Hosting Netlify GitHub Pages 転送量 無制限

    10GB/月 100GB/月 100GB/月 ストレージ 2万ファイル 1GB 100GB 1GB 独自ドメイン ◦ ◦ ◦ ◦ DNS管理 あり なし あり なし SSL対応 ◦ ◦ ◦ ◦ 表示速度 速い 速い まあまあ 速い 商用利用 ◦ ◦ ◦ ×
  5. JSONはウェブブラウザなどでよく使われている ECMA-262, revision 3準拠のJavaScript(ECMAScript) を ベースとしている。2006年7月にRFC 4627で仕様が規定され、その後、何度か改定され、 2017年12月14日 [3]にIETF STD

    90およびRFC 8259およびECMA-404 2nd editionが発表された。MIMEタイプは application/json、拡張子はjsonとされた。 JSONは単純であるので、特にAjaxの分野で利用が広がりつつある。 JavaScriptでJSONをパースして読み 込むには、文字列をJavaScriptのコードとして解釈させる eval 関数を作用させるだけでよい(ただし、セキュ リティ上の問題があるうえ、ECMAScript 2018 まで[4]は U+2028 LINE SEPARATOR と U+2029 PARAGRAPH SEPARATOR の扱いがJavaScriptと互換性が無いため、JSON専用のパース関数の JSON.parse() を利用するべきである)。このように、広く普及しているウェブブラウザ搭載言語である JavaScriptで簡単に読み込めるため、Ajaxの開発者達から注目を浴びることになった。 JavaScript言語以外でも、ほとんどの言語において JSONは単純な処理で書き出しや読み込みができる。そ のため、JSONは異なるプログラミング言語の間でのデータの受渡しには能率的である。ウェブアプリケー ションの場合において、ウェブクライアントでの JavaScriptとのデータの受渡しなどはその最たる活用例と言 える。プロセス間通信、マシン間通信においても、疎結合にするため、 JSONで情報を受け渡しすることもあ JSONとは
  6. JSONはウェブブラウザなどでよく使われている ECMA-262, revision 3準拠のJavaScript(ECMAScript) を ベースとしている。2006年7月にRFC 4627で仕様が規定され、その後、何度か改定され、 2017年12月14日 [3]にIETF STD

    90およびRFC 8259およびECMA-404 2nd editionが発表された。MIMEタイプは application/json、拡張子はjsonとされた。 JSONは単純であるので、特にAjaxの分野で利用が広がりつつある。 JavaScriptでJSONをパースして読み 込むには、文字列をJavaScriptのコードとして解釈させる eval 関数を作用させるだけでよい(ただし、セキュ リティ上の問題があるうえ、ECMAScript 2018 まで[4]は U+2028 LINE SEPARATOR と U+2029 PARAGRAPH SEPARATOR の扱いがJavaScriptと互換性が無いため、JSON専用のパース関数の JSON.parse() を利用するべきである)。このように、広く普及しているウェブブラウザ搭載言語である JavaScriptで簡単に読み込めるため、Ajaxの開発者達から注目を浴びることになった。 JavaScript言語以外でも、ほとんどの言語において JSONは単純な処理で書き出しや読み込みができる。そ のため、JSONは異なるプログラミング言語の間でのデータの受渡しには能率的である。ウェブアプリケー ションの場合において、ウェブクライアントでの JavaScriptとのデータの受渡しなどはその最たる活用例と言 える。プロセス間通信、マシン間通信においても、疎結合にするため、 JSONで情報を受け渡しすることもあ JSONとは ・JavaScript Object Notationの略で、データ記述言語の1つである。 ・軽量なテキストベースのデータ交換用フォーマットであり  プログラミング言語を問わず利用できる。 ・名称と構文はJavaScriptにおけるオブジェクトに準拠する
  7. NIP-05認証は    なぜ必要? • 鍵の変更ができない • 秘密鍵が流出すると乗っ取られ る • ドメインは個人の支配下に置くこ とが可能

    • 自分の所有するドメインを適切に 運用する • 公開鍵を照合し、自分のアカウン トを証明できる
  8. 今後の展望 • データ通信量をクリアした クライアントの登場 • データの整合性解消へ向け、開 発の加速 • 無数に流れてくるデータを 整理し、適切に配信する

    仕組み→Nostrendに期待 • Nostrのロゴやイメージの決定 • Nostrの擬人化 • Nostrちゃんの登場 • コミケにNostrちゃんのコス