なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Roslyn で ISymbol から SyntaxNode を得たい

みなさん Roslyn いじってますか? Roslyn(正式名称:.NET Compiler Platform)は、C# をはじめとする .NET 系言語のコンパイラであり、同時に強力なコード解析 API でもあります。JavaScript/TypeScript エコシステムでいえば、ESLint や Prettier のよう…

HonoX で Next.js PagesRouter の getStaticPaths をしたい

みなさん、HonoX はお使いでしょうか? HonoX は、手軽に SSR(Server-Side Rendering)や Island Architecture を試せる優秀なパッケージです。シンプルな API で現代的な Web アプリケーションを構築できるのが魅力ですね。 Next.js の getStaticPaths と…

SignalR のリアルタイム通信で 32KB 以上のパラメータを受信したい

C#

ASP.NET Core 版の WebSocket 実装である SignalR では、 C# 側で実装したメソッドを、 JavaScript フロントエンドから呼び出すことができます。 その際、例えばバイナリの Base64 String を送るなどでパラメータサイズが 32KB を超える場合、以下のようなエ…

続:Cloudflare Workers でも画像のメタデータを取得したい:PNG の iTXt 編

前回の記事では、Cloudflare Workers で EXIF/XMP データを取得する方法について解説しました。 tech.natsuneko.blog 今回は PNG ファイルに焦点を当て、iTXt チャンクに埋め込まれたメタデータを取得する方法を紹介します。 まず、 PNG ファイルには任意の…

Cloudflare Workers でも画像のメタデータを取得したい

例えばサーバーレスな環境で、非同期的に画像のメタデータを取得してごにょごにょしたいこと、ありませんか?わたしはあります。 今回は、Cloudflare Workers を使って、画像のメタデータを取得してみようと思います。 まず最初に思いつくのが、Node.js 用画…

hanko.io の Flow API を使ってユーザー登録を実現したい

hanko.io という ID プロバイダーがある。 Passkey ネイティブ対応で、 Passkey の他に SNS アカウントでの認証 (X はない)、 OTP での認証など様々な認証形式をサポートしている。比較的最近 MFA にも対応していた。 そんな Hanko だが、 Hanko による認証…

ShareLink で Preview をカスタムしたい場合、 subject/message も指定しないと共有先のアプリが受け取ってくれない

Swift では、 ShareLink を使うことで、簡単に共有メニューを作ることが出来ます。 しかし、テキストを共有したいが、プレビューは編集したいとき、次のように ShareLink を定義すると、共有先のアプリではアイテムを受け取ってくれません: ShareLink( item…

HStack の要素を Flexbox のようにうまいこと改行させたい

HStack に並べている要素を下の画像のように、上手いこと改行させたい (要素毎に改行させるのではなく、最後の要素のみ改行させたい) 場合のやり方。 SwiftUI の標準の HStack では上手いこと改行されないので、自分でコードを書くか、ライブラリを使う必要…

SwiftUI で複数の要素を子要素として受け付ける View を作りたい

最近 Swift (iOS アプリ開発) を触っているわたしです。 タイトル通り、複数の要素を受け付ける View、つまりは ZStack とかのように、次のようなコードがかける View 要素を作りたい場合のやり方: ZStack { Color("BrandColor") Image("BrandIcon") .resiz…

Web3 ドメインの名前解決を Tailscale でやりたい (NextDNS は使わないが共存したい)

トップレベルドメインと言えば基本は ICANN が割り当てたものが使えますが、 Web3 界隈では例えば .eth/ や .namebase/ といった、独自のトップレベルドメインを運用することができる仕組みがあります。今回はそんな Web3 ドメインを名前解決できるようにし…