aaY3WnDQ5D82LQGRD0mUkBeWSvIC6xw3OlF7aLzJ3w+k8lHOn5uEO7yKw/ig0AEsj5h3E9dTbESsLqCu5L+DUKahIfjvEzYqBBvFxQSK6FT3hH236sKbA8nsHvzBuWjXiiWv3L9zQ+irGryZQdzX2TStaZZN3Rsr5C7D+lc5qLxNLWT66MzSZuv+p/3HhoqbkRoGv6K7lnDcfzrjraW6n/d/aR9NAdccRLyv7KfAQ214Wq+Lhtc21/GP8/BW/fOkdpfylWWtyzDWUlORVQXPsg==?iv=q2wo8HhzsjWcUl+hhfnuLw==
デフォルトのブラウザーでリンクを開く
レンダラー:
```
window.open(“https://www.google.com”);
```
メイン:
```
const { app, BrowserWindow, shell } = require('electron');
...
mainWindow.webContents.setWindowOpenHandler(({ url }) => {
shell.openExternal(url);
return { action: "deny" };
});
```
https://www.electronjs.org/docs/latest/api/window-open
#electron
NIPs のコミットのキャッチアップ
https://github.com/nostr-protocol/nips/commits/master?since=2023-11-29&until=2023-12-03
* README
* kind の順序が修正された
* NIPs 外の `kind: 21000` が追加された
* タグのリストを更新した
* NIP-01: Basic protocol flow description
* 「Meaning of WebSocket status codes」が削除された。同じ意味の `CLOSE` メッセージを使用する
* NIP-22: Event `created_at` Limits
* 削除された。理由: https://github.com/nostr-protocol/nips/pull/897#issue-2007148202
* NIP-58: Badges
* PoW (NIP-13) に関する記述が削除された。理由: https://github.com/nostr-protocol/nips/pull/909#issue-2020580139
* NIP-15: Nostr Marketplace (for resilient marketplaces)
* typo
* NIP-07: `window.nostr` capability for web browsers
* OneKey (https://onekey.so/) が追加された
#キャッチアップ #nips
s/CLOSE/CLOSED/
`let else`
論駁できるパターン用の `let`
パターンに一致しない場合に `else` 節を実行する
https://doc.rust-lang.org/rust-by-example/flow_control/let_else.html
#rustlang
`proxy` タグで HTTP/HTTPS をブリッジできそう
```
{
"kind": 5392,
"content": "",
"tags": [
["proxy", "web", "https://asaitoshiya.github.io/brostr/"]
],
...
}
```
用途は不明
CSS と JavaScript もと思ったけど、普通に http でリンクさせればいいだけだった
ルールを追加
- TIL (Today I Learned) はノーカウント
つまり?

LeetCode の Rust のバージョンは 1.58.2
#rustlang
NIPs を読む勉強会とか勉強になりそう
とらラボ!x YUMEMI.grow「勉強法の勉強会#3」 https://yumemi.connpass.com/event/301157/ #YUMEMIxTORALAB
#勉強会
`if let`: 1 つのパターンの `match`
https://doc.rust-lang.org/rust-by-example/flow_control/if_let.html
https://doc.rust-lang.org/book/ch06-03-if-let.html
#rustlang
NIP-101: Enhancing Event Compression and Encoding Support
https://github.com/b35363/nips/blob/master/101.md
メッセージのペイロードの圧縮 (エンコード)
例:
```
["EVENT", <エンコードされたペイロード>, <エンコード方式>]
```
クライアントとリレーでサポートされるエンコード方式は、`CAP` メッセージで相互にやりとりする
例 (クライアントからリレー):
```
["CAP", {"supportedEncodings": ["base64", "gzip64", "plaintext"]}]
```
例 (リレーからクライアント):
```
["CAP", {"selectedEncoding": "gzip64"}]
```
PR: https://github.com/nostr-protocol/nips/pull/730
#Nostr
NIP-79: `window.nostr` offline message signature & verificiation
https://github.com/b35363/nips/blob/master/79.md
`window.nostr` (NIP-07) の拡張で、文字列に対する署名と検証のためのメソッド
```
async window.nostr.signMessage(msg : string): string
async window.nostr.verifyMessage(sig: string, pubkey : string): boolean
```
Nostr 外から使用されることを想定
PR: https://github.com/nostr-protocol/nips/pull/730
#Nostr