🍃このブログは移転しました。
3秒後、自動的に移動します・・・。

ブログ移転のお知らせ

Web

移転してました。 個人の"ブログ"を移転した | Memory ice cubes はてなIDが変更できない仕様のためやむなし。今まで大変お世話になりました。

Solid.jsを試してみた感想

実際の案件で、3ヶ月くらいかけてコードを書いてみての感想。 TL;DRとしては、 思ってた通りに良いものではある が、手放しで褒めるにはあと一息 今後に期待したい という感じ。

miniflare@tre のコードを読む

`miniflare`のコードを読むシリーズもこれで3本目。 miniflare のコードを読む - console.lealog(); miniflare@next のコードを読む - console.lealog();

cloudflare/workerd をセルフホスト目的で使う

ちょっと調べたいことがあったのでそのメモ。

Cloudflare WorkersのService bindingsの現状整理

2023年7月版ってことで。 About Service bindings · Cloudflare Workers docs

OpenSeadragonで、非同期にgetTileUrl()したい

高機能な画像ビューワーであるOpenSeadragon(以下、OSD)を使った小ネタ。 GitHub - openseadragon/openseadragon: An open-source, web-based viewer for zoomable images, implemented in pure JavaScript.

Cloudflare Workers + KVだけで、ベクトル検索を実現する

力ずくで。やってやれんことはないし、データの件数によってはナシではないって感じか。

ローカルでのフロントエンド開発時でも、実際のCloudflareスタックにアクセスする

端的にいうと、 フロントエンドはSvelteKitやらモダンなやつで組んで Cloudflare Pagesにデプロイしたい そしてKVやD1やらも使いたいし ローカルでも実際の値を参照して開発したい つまり、サーバーレンダリングやAPIルートを実装するときに、既存のスタック…

ローカルProxyサーバーをBunで書く

Bun

Bun、単なるNode.js互換という意味ではそんな興味ないなって思ってたけど、Cloudflare Workersみたいなエッジランタイム(で動くコード)をローカルでシュッと動かせるやつっていう見方をすると、すごくいいのでは・・・!ってなった。Proxyサーバーもこんな…

Solid Queryを先んじてv5にしたときのメモ

React QueryのSolid.js版の話。`@tanstack/solid-query`の最新のリリースバージョンは`4.x`系で、近いうちにv5が出るって感じ。

Solid/Svelte/(P)Reactで、それぞれリストを描画するコードの比較

お題 配列に詰まったアイテムをそれぞれ表示する アイテムを表示するコンポーネントには副作用がある つまり、不要なre-renderを避けたい 今回は単に初期表示時点の`Date.now()` アイテムは増減する という、あるあるな要件を、それぞれのフレームワークだと…

続・ブラウザ上でEmbeddingsを作る

lealog.hateblo.jpこれの続編。

TensorFlow.jsのUniversal Sentence Encoderで、ブラウザ上でEmbeddingsを作る

ということをやってみた。できたにはできた、が・・・、って感想だった。

Firefoxをソースからビルドする

ちょっと所用があったので。 Firefox Contributors’ Quick Reference — Firefox Source Docs documentation ドキュメントがさすがにちゃんとしてて、基本的には全部ここに書いてあるけど、自分用にもメモを。

CloudflareのDeveloper Week 2023の気になった発表のまとめ

今年も祭りの季節がやってきましたね。 Developer Week 2023 | Cloudflare というわけで、今年も個人的に気になったものを。(発表されるのがだいたいJST深夜かつ最後が金曜日なので、どうやっても公開するの週明けになるんよな・・)

Web Sessions at Google I/O 2023の気になった発表のまとめ

Web

まとめプレイリストが公開されてたので、その中から気になったやつを流し見した。 https://www.youtube.com/playlist?list=PLOU2XLYxmsIJGxIV8Lt8gF_79Z334LQ6h

Cloudlflare Workersの、Node.jsとの互換性について

3月くらいにもなんか発表されてた気がするけど、結局いまどういう状態やっけ?って思ったので、思い出しついでにまとめる。 Node.js compatibility for Cloudflare Workers – starting with Async Context Tracking, EventEmitter, Buffer, assert, and util

`new Response(null, { status: 101 })`は、実行環境によってエラーになる

ことの経緯としては、 とあるHTTP関連のOSSにPRを出そうとしていた コード書いてテストを実行すると、どうやらPRを出す前からコケてるケースがあった 原因は、`new Response(null, { status: 101 })`が`RangeError`で落ちてたから さて、これはなんでエラー…

OpenAIのEmbeddingsで全文検索

https://platform.openai.com/docs/guides/embeddings Embeddingsとは、テキストの類似性や関連性を、画一的なベクトルで表現することらしい。それによってテキストの種類を分類したり、検索したり、いわゆるレコメンドに使えたりする。今回は、このブログ記…

OpenAI APIで思い出す、Server-Sent Events

Server-Sent Events・・・お前・・・生きていたのか・・・!っていう気持ちになったので、ちょっとだけまとめておく。

2023年のCSSは0ランタイムにしたい

したいよね?事の経緯としては、 とある新規プロジェクトで、技術選定をすることに 開発の土台はViteで、フレームワークはJSXが使えるやつに決まった さてCSSはどうやって書こうかとなる あれこれ考えて、とある方法に決めた というのをまとめた、まあポエム…

ViteのCSS Modulesは、JSのようにTree shakingできない

なんとなしにビルド後のCSSファイルを眺めてて、なんで使ってないUIパーツのCSS定義が含まれてるの・・?って思ったのがきっかけ。

Svelte(Kit)のScoped CSSで付与されるクラス名を変えたい

`svelte-9hyylu`みたいなやつ。なんか冗長じゃない?これ削れば少しでもページ容量を減らせるのでは?的なモチベーション。

ブラウザで動くSQLite alternativesとしてのLovefield

タイトルはさておき、LovefieldというSQLライクなAPIが使えるライブラリがあって、個人的に便利だったので。

Svelte(Kit)を使ってて気になるポイント

Svelte(Kit)に対しては、基本的に"推し"なスタンス。けど、今回はあえて気になるポイントも書いておこうかと。めちゃめちゃ不満ってほどでもないけど、気になるってところ。ちなみに、SSRは基本的にしない(できない)用途の開発ばっかりやってる勢なので、…

new Function() ではなく new AsyncFunction() したい

我ながらニッチなことをやろうとしてるなって思う・・。普通の生活をしてる分には、活躍する出番はないはず。`eval()`はもっと使わない。

Qwik(City)を試してみた感想

もとい、Svelte(Kit)なプロジェクトを、Qwik(City)で書き直してみての学び。待望のやつではあるが、端切れの悪いタイトルなのは、移行途中でどうしようもなくハマってしまい、採用を見送ることにしたから・・そういうわけなので、使い込んでみたわけでもまっ…

配列のインデックスを`.keys()`で操る

TL;DRこちら。for (let i = 0; i < arr.length; i++)はfor (let i of arr.keys())って書けるし、中身もいるならfor (let [i, d] of arr.entries())ってする— りぃ / Yuji Sugiura (@leader22) 2023年1月10日

VimからNeovimに移行した

Vim

移行しようと思ってしたというより、なりゆきでそうなっただけではあるけど。が、結論としてはもっと早く移行すりゃよかった!というくらいに、Neovimいいやん!ってなってる。

2022年の振り返り

Web

まーた今年も終わってしまう!まだ何もしてないのに!というわけで、今年もいつもの振り返りを。