Tags English

Blog - Yusuke Wada

Screenshot

Cloudflare Workers Tech Talks #2

#Workers Tech Talks

この記事は英語で書かれた原文をAIが翻訳したものです。

Cloudflare Workers Tech Talks #2

先週の金曜日、2023年12月15日に、2回目となる「Workers Tech Talks」を東京で開催しました。90人以上の開発者が参加してくれて、大成功のイベントとなりました!世界的に見ても、Workersの開発者向けイベントとしては最大級かもしれません。Ricky Robinett(Cloudflare - VP, Developer Relations & Community Team Manager)もスピーカーとして参加し、Workers AIのデモをしてくれました。Cloudflare Workersについて語り合う素晴らしい時間でした。このイベントについてレポートします。

#1

第1回の「Workers Tech Talks」は7月19日に開催しました。レポートは以下のリンクからご覧いただけます。

https://blog.yusu.ke/workers-tech-talks-1/

会場

会場はWorkers Tech Talks #1と同じく、東京・日比谷にあるクラスメソッド株式会社のオフィスでした。クラスメソッドのご厚意で、無料でお借りすることができました。本当に感謝しています。

Classmethod

参加者

参加者の募集にはconnpassというウェブサイトを使いました。

https://workers-tech.connpass.com/event/300546/

最終的に90人以上の開発者が参加してくれて、とても大きな規模になりました。パンデミック後、東京では多くのミートアップが開催されていますが、90人の参加者というのは日本のミートアップシーンではかなり大きな数字です。Cloudflare Workersが日本の開発者の間で大きなトレンドになりつつあるようです。

Attendees

ハッシュタグ

参加者には#workers_techのハッシュタグを付けてイベントについてツイートしてもらうようお願いしました。以下のリンクから投稿を見ることができます。ほとんどが日本語ですが、たくさんの投稿があります。

https://twitter.com/hashtag/workers_tech

トーク

15分のトークが3本、Ricky Robinettによる30分のデモセッション、そして5分のライトニングトークが4本ありました。

Time-table

それぞれのトークとセッションを見ていきましょう。

Go言語で始めるCloudflare Workers by @__syumai

彼は自身のオープンソースプロジェクトsyumai/workersを紹介してくれました。

このプロジェクトを使うと、Go言語でCloudflare Workersを開発できます。興味深いのは、http.HandleFuncを使うなど、普通のGoアプリケーションを作るのと同じ感覚でWorkersアプリケーションを作れる点です。

HandleFunc

これらのGoプログラムはWASMにコンパイルされ、Wranglerでデプロイできます。Goでプログラミングできるおかげで、image/pngパッケージを使った画像変換アプリケーションを作ることができたそうです。このプロジェクトはすでにD1やKVなどのBindingsをサポートしており、今後はcloudflare::socketsのサポートも予定しているとのことです。

HTMLRewriterによるパフォーマンス改善 by @aiji42_dev

このトークはHTMLRewriterにフォーカスしたものでした。彼はHTMLRewriterの効果的なユースケースとしてCloudflare FontsとZarazを挙げ、CDNレイヤーでHTMLを書き換えるWorkersアプリケーションをどう開発できるかを示してくれました。彼が目指したのは、大きなサイズの画像を多数含むアルバムページのパフォーマンス改善です。このアプリケーションでは、最初にぼかした画像を表示し、実際の画像の取得が完了したら差し替えるという仕組みを実現しています。

SS

このアプローチにより、LighthouseスコアのLCPは5.3秒からわずか0.7秒にまで改善しました。彼は「HTMLRewriterでいろいろなことができる」と締めくくりました。

Photo

Bindings from anywhere by @leaysgur

Slide

https://leaysgur.github.io/slides/cloudflare_workers_tech_talks-2/

彼のトークは、WorkersアプリケーションでBindingsをどう使うかにフォーカスしたものでした。私たちが直面する問題は、Viteを使う場合など、ほとんどのフレームワークの開発サーバーではBindingsにアクセスできないことです。Miniflareの機能を使えばBindingsを利用できますが、これはローカルリソースのみのサポートで、wrangler dev --remoteコマンドを使わずにリモートのBindingsへアクセスする方法がありません。これを解決するために、彼はオープンソースソフトウェア「cfw-bindings-wrangler-bridge」を作りました。

このモジュールは2つの部分から構成されています。1つ目はWorkersアプリケーションにimportするModule、2つ目はそのModuleから呼び出されるプロキシサーバーとして動作するWorkerです。

Module

Wordker

これはVectorizeを含むすべてのリモートBindingsをサポートしており、ローカルマシンでそれらを使った開発ができるようになります。

デモセッション by @rickyrobinett

RickyはWorkers AIについて30分のデモを披露してくれました。stable diffusionを使って「cyberpunk kangaroo」などの画像を生成していました。

Ricky

AI Gateway 使っているよ! by @codehex

彼の会社ではAI Gatewayを使っているそうです。AI Gatewayの大きな利点のひとつは、OpenAIなどからのレスポンスをキャッシュできることです。Azure OpenAIで遭遇したという具体的な問題の話も興味深いものでした。彼は私たちのDiscordチャンネルで助けを求め、メンバーとやり取りするうちに、問題はこちら側にあることが判明しました。最終的に問題は解決し、「Cloudflareのサポートは素晴らしい!」という結論に至ったそうです。

GraphQL Server on Edge after that by @chimame_rt

「Workers Tech Talks #1」で発表したGraphQL ServerのGCPからCloudflare Workersへの移行について、さらに掘り下げた内容を話してくれました。データベース接続の注意点やロギングについての話でした。そして、運用コストはなんと1/10にまで削減できたそうです!

Google Spreadsheetsをノーコード CMSにする by @kato_kenta

Photo

彼の会社では、Cloudflare Workersを使ったエッジプロキシ「Kuroco Edge」を開発しています。このツールを使うと、元のリソースに手を加えることなく、リクエストやレスポンスのヘッダーを変更できます。デモでは、CSSセレクタを使ってウェブページを書き換える様子を見せてくれました。彼のアプローチで興味深いのは、これらのルールをGoogle Spreadsheetsで管理している点です。

Qwik - フロントエンドエンジニアの夢 by @mizchi

Slide

https://gist.github.com/mizchi/7abb8d88dd344d38ef355a8b424505a8

彼はWeb UIライブラリの**Qwik**について話してくれました。Qwikの大きな利点は、関数を含むほとんどの要素がチャンク化され、動的にロードされることです。使いこなせる人にとってはQwikは最も強力なUIライブラリになり得るし、個人開発プロジェクトにおける銀の弾丸になるかもしれない、と語っていました。

フィードバック

Xでのツイートにはたくさんのフィードバックが寄せられています。実は、発表者には「Workersとは何か?」という内容を入れないようにお願いしていました。つまり、トークはハイレベルなものだったということです。それでも、多くの人がトークに満足してくれました。また、Rickyのデモを見て、Workers AIの可能性を実感していました。

まとめ

Workers Tech Talks #2は、Workersの開発者向けイベントとしては最大級のものになりました。最後に、素晴らしい集合写真を撮りました!

Photo

次回のWorkers Tech Talks #3来年4月に開催予定です。今から待ちきれません!