タグ

kamawadaのブックマーク (14,943)

  • 見よ、これがHonoのRPCだ

    僕が開発しているWebフレームワークHonoは、同じJavaScriptのフレームワーク、Expressと比べられることが多いです。どちらもやれることはほぼ同じですが、HonoのアドバンテージはファーストクラスでTypeScriptをサポートしていることです。特に「RPC」機能は他のフレームワークにはなかった「TypeScriptの型でサーバーとクライアントの仕様を共有する」ことを可能にしています。今回はそのHonoのRPCについて紹介します。 どんなものか まず、どんなものかを箇条書きで共有します。 Web APIの仕様、特にインプット・アウトプットをサーバーとクライアント間で共有するためのもの OpenAPIgRPCを使ってやりたかったことを叶えるかもしれない サーバーとクライアントをどちらもTypeScriptで書くことが大前提である 同種のものにtRPCがあるが、Honoの場合、

    見よ、これがHonoのRPCだ
    kamawada
    kamawada 2024/05/09
  • Cloudflare WorkersのJS RPCを理解する

    前置き 4月の第1週に行われたCloudflare Developer Week 2024でAIやデータベース関係のアップデートの影に隠れ、WorkersをつくってるKenton氏のブログが2つ投下されました。 そして「JS RPC」という機能が追加されました。 これが一見地味なんですが、非常に楽しい未来を想像できるので、書いてみます。というか以前chimameさんが書いた記事でだいぶ理解できるのですが、もう少し噛み砕いて書いてみます。 Bindings Cloudflareにはいくつもプロダクトがあります。ストレージのR2、データベースD1、KVストアのKVなどです。そしてそれらに繋ぐ方法が「Bindings」という方法です。このBindingsで繋げられるものはたくさんあります。 AI Analytics Engine Browser Rendering D1 Environment

    Cloudflare WorkersのJS RPCを理解する
    kamawada
    kamawada 2024/05/07
  • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

    はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoRustPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

    Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
    kamawada
    kamawada 2024/04/27
  • HonoJS: Small, simple, and ultrafast web framework for the Edges | Hacker News

    I created a pet project (REST API) with Hono and I'm seriously considering using it for future projects instead of what has been my go-to stack for years (Express, lately with Zodios).Hono's middlewares, especially zod-openapi[1] and @scalar/hono-api-reference[2], make it really easy to define your REST endpoints once and get full typesafe routes with request/response validation, an automatic Open

    kamawada
    kamawada 2024/04/17
  • Cloudflareに入社して1年が経ちました - ゆーすけべー日記

    今日でCloudflareに入社してちょうど1年が経ちました。 DevRelチームに所属し、Developer AdvocateとしてHonoの開発をメインに活動してきました。 41歳にして初めての会社員ですが、楽しい時間を過ごしています。今日はそのことについて書いてみます。 入社までの経緯 詳しいことは入社時のブログに書いたのですが、その経緯を再び。 2021年の12月にHonoというCloudflareで動くWebフレームワークをつくり始めて、それがだんだんと人気を得ていきました。 2022年の10月、CloudflareエンジニアGlenが「Cloudflareで働くのに興味はないか?」と声をかけてくれました。当時UKに住んでいた彼が、地元のオーストラリアに戻りたいので、同じタイムゾーンのエンジニア仲間を探していたのです。ちなみに、GlenはCSS in JS「styled-com

    Cloudflareに入社して1年が経ちました - ゆーすけべー日記
    kamawada
    kamawada 2024/04/17
  • RPC対応によりCloudflare Workers間の連携がすごいことになった

    時間の2024/04/05にCloudflareからRPCを使用したCloudflare Workers間の通信が発表されました。 これによりいくつかの課題が解決されると同時にCloudflare上にアプリケーションを構築する利便性が1段階どころか2段階以上上がったといっても過言ではないと思っています。 このRPCの対応によりService Bindingsが更に使い勝手がよくなったのでそれの紹介です。 出来上がりのコードはここにありますので、時間の無い方はこちらを参照ください。 前提条件 以前RemixとPrismaでD1に接続する記事を書きました。 その中で容量制限の問題があると書きましたが、それを解消する話をベースに今回のRPC対応の内容を書きます。ですので記事を読んでない方はCloudflare Workersの無料版はビルドファイルが1MBまでの制限があるということを念頭にお

    RPC対応によりCloudflare Workers間の連携がすごいことになった
    kamawada
    kamawada 2024/04/08
  • Cloudflare Developer Week 2024 まとめ! - ゆーすけべー日記

    今年もこの一週間がやってきて終わりました。Cloudflareを使って開発をする開発者大歓喜のDeveloper Weekです。 新製品、新機能の発表や、既存製品のアップデート技術的解説などをブログで行うというものです。 4月1日(月)〜4月5日(金)に行われました。 すごい。数えてみたら21個のブログ記事がありました。各記事について雑な箇条書きをしてみます。 4/1 (月) 1. Welcome to Developer Week 2024 https://blog.cloudflare.com/welcome-to-developer-week-2024 まずはプロダクトディレクターのRitaから開始宣言 Cloudflareのプラットフォームは200万人が使っている 5つの「Cloud」を提案する Full-stack Cloud、Connectivity Cloud、Experi

    Cloudflare Developer Week 2024 まとめ! - ゆーすけべー日記
    kamawada
    kamawada 2024/04/08
  • Honoとhtmx

    Yusuke Wada - 2024/3/15 Ya8 2024 - ヤパチー 令和六年最新版(仮)

    Honoとhtmx
    kamawada
    kamawada 2024/03/15
  • Cloudflare PagesでURL短縮サービスをつくる!

    Cloudflare PagesでURL短縮サービスを作ってみましょう!これを作ることであなたは以下を体験することができるしょう。 HonoでWebページをつくること Cloudflare KVをアプリケーションの中で使うこと アプリケーションをCloudflare Pagesへデプロイすること アプリケーションの特徴 今回作ってもらうアプリケーションはこのような特徴があります。 Viteを使って開発 UI付き JSXを使ってHTMLを書ける メインのコードは100行以下! Zodを使ったバリデーション バリデーションエラーも表示 簡易なCSRF対策 デモ 完成品を使っている様子です。 完成品 完成済みのコードは以下にあります。 アカウント 今回、アプリケーションを作ってCloudflare PagesへデプロイするにはCloudflareのアカウントが必要です。無料の範囲で遊べるので、も

    Cloudflare PagesでURL短縮サービスをつくる!
    kamawada
    kamawada 2024/03/11
  • すぐ使える Cloudflare Workers!

    Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything

    すぐ使える Cloudflare Workers!
    kamawada
    kamawada 2024/03/11
  • Honoハンズオン2024年3月沖縄

    編集中 ここにコードを置くと思います。 このイベントが今週末で、その中で「Honoハンズオン」をやるので超絶ネタバレですが、そこで話す内容を書きます。 方針 ハンズオンと言いつつ「みんなで一斉にやりましょう」ってやると合わせるのに時間がかかるので、僕がどんどん進めます。なので、ついてきたい人だけついてきてください。そうじゃない人は僕がコード書くのを見てください。むしろその方がよくわかっていいと思います。 Honoとは? ウェブサイトを見てください。 あと正直、僕はブログ書くのとか好きなんですが、いわゆるちゃんとした「ドキュメント」を書くのが正直苦手でそれは英語に限らずなんですが、なので、よくしている方いたら貢献してください。コントリビューションウェルカム! create-hono さてこれからやっていくわけですが、Honoのプロジェクトをつくるときにはcreate-honoというCLIを使

    Honoハンズオン2024年3月沖縄
    kamawada
    kamawada 2024/03/07
  • HonoでAPIだけ作って素のReact DOMでSPAを書くアーキテクチャ

    という構成を手軽に作れるようになっていて便利でした これを軸に素のReact APIを触って遊ぶ環境が作れそうです(Server APIもworkerdで動く範囲なら使えるかも?) とりあえず以下のソースコードでデプロイまでできるかを試しました プロジェクトのベースはnpm create hono@latestで作りました DEMO: https://hono-spa-react.pages.dev/ react react-dom @vitejs/plugin-react-swc をnpm installしています デバッグ しかしこの構成だと@hono/vite-dev-serverによるvite devは実行時エラーになり動きません(!) react-dom_client.js?v=f8955f15:11222 Uncaught Error: Objects are not vali

    HonoでAPIだけ作って素のReact DOMでSPAを書くアーキテクチャ
    kamawada
    kamawada 2024/02/28
  • HonoでAPI付き雑React SPA最小

    laisoさんが書いてたのほぼなんだけど Honoは文字列でもStreamでもなんでも返せるからサーバーサイドもReactで書けるし、tsconfig.jsonで適切に設定すればJSXなんでもいけるし、Viteのdev-serverがあるから、サーバーもクライントも同時に開発、ビルドできて、もちろんAPIを生やすのが得意で、雑React SPA環境(API付き!)作るのに向いてるよ。 作り方解説します。めんどい人はここにプロジェクト作ってるからclone、ダウンロードしてください。 まず、create-honoして、cloudflare-pagesのテンプレートを選ぶ。bunをパッケージマネージャーに使ってる。

    HonoでAPI付き雑React SPA最小
    kamawada
    kamawada 2024/02/28
  • git commit --fixupを使いましょう - Don't Repeat Yourself

    発端 Pull Request で force push されると差分がわからなくなるから困るんだけどみんなどうしてますか?— codehex.bsky(へっくす) (@codehex) 2024年2月25日 ポストの前提がちょっとわかりませんが、レビュー後にforce pushされると、どこに修正を入れたのかわからないケースだと仮定します。プルリクエストがまだドラフト状態でのforce pushやrebaseで困るケースはそんなにないと思うからです。 git commit --fixup このケースではgit commit --fixupが便利です。レビューで指摘が入ったコミットに対して--fixupをかけておき、レビュワーはfixupコミットの内容を確認します。レビュワーが確認してOKが出た段階で、git rebase -i --autosquashなどを使ってfixupコミットを元コ

    git commit --fixupを使いましょう - Don't Repeat Yourself
    kamawada
    kamawada 2024/02/27
  • 私がエッジを使う理由

    Workers Teck Tolks in Osaka #1

    私がエッジを使う理由
    kamawada
    kamawada 2024/02/27
  • Cloudflare Workersの環境を再現することについて

    Workers Tech Talks in Osaka #1 Feb 26, 2024. Yusuke Wada

    Cloudflare Workersの環境を再現することについて
    kamawada
    kamawada 2024/02/27
  • 最近のCloudflare Workers - ゆーすけべー日記

    最近のCloudflare Workersについて、知らない方向けにざっくばらんに書いてみます。 連絡事項 自己紹介しておくと、僕はCloudflareのDeveloper RelationsチームにいてDeveloper Advocateをやってます。 一方で、HonoというCloudflareのみならずDenoBun、Fastly等で動くWebフレームワークを開発してます。 Cloudflare Workersとは? 題に入る前に、そもそも「Cloudflare Workersとは?」を簡単に紹介しておきます。 Cloudflare WorkersとはCloudflareのエッジで動くサーバーレス環境です。 基的にJavaScript/TypeScriptでアプリケーションを書きます。 V8というJavaScriptエンジンの上でアプリを動かすのですが、これはWebブラウザのGo

    最近のCloudflare Workers - ゆーすけべー日記
    kamawada
    kamawada 2024/02/20
  • 新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた

    こんにちは、AIShift バックエンドエンジニアの石井(@sugar235711)です。 AIShiftでは去年の11月からAI Worker[1]という新しいサービスの開発が始まりました。(以下AI Worker) 格的に開発が始まり3ヶ月弱経ったので、その間に試してきた技術やチームの取り組みについてまとめてみたいと思います。 はじめに この記事では、AI Workerのおおまかな概要・設計を説明し、それらのバックエンドを実現する上でどのような技術を試してきたのか、技術以外でのチームの取り組みについてまとめます。 少し分量が多いので、ライブラリについての情報を求めている方は、目次から気になる部分を読んでいただければと思います。 何を作っているのか ざっくりまとめると、Microsoft Teams/Web上で動くAIを活用した業務改善プラットフォームを作成しています。 GPTとRAG

    新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた
    kamawada
    kamawada 2024/02/20
  • HonoXについて

    2月9日、予告していた通りHono v4をリリースしました。 そのHono v4のリリースと同時に、Honoを使ったメタフレームワーク「HonoX」を公開しました。 今回はHonoXのいくつかの特徴について書いてみたいと思います。これは使い方というより作者目線の思想みたいなものです。 メタフレームワーク HonoXとは一言で言うと「HonoとViteを組み合わせたメタフレームワーク」です。HonoX自体が機能を提供しないのが肝です。 もう少しだけ具体的に言います。HonoXで扱うのは「Honoのインスタンス」そのものです。つまりあなたがHonoXでアプリを作るということは「Honoのアプリを作る」ことになります。その証拠にエントリーポイントになるapp/server.ts内で出てくるappはHonoのインスタンスなので、hono/devにあるヘルパー関数showRoutes()がそのまま使

    HonoXについて
    kamawada
    kamawada 2024/02/19
  • 第10回:Cloudflareの紹介と運用のポイント - CADDi Tech Blog

    記事は、技術評論社「Software Design」(2024年1月号)に寄稿した連載記事「Google Cloudを軸に実践するSREプラクティス」からの転載1です。発行元からの許可を得て掲載しております。 はじめに 前回はDatadogによるクラウド横断のモニタリング基盤について解説しました。 今回はCloudflareとは何か、なぜ使っているのか、各サービスとポイント、キャディでの活用例を紹介します。 ▼図1 CADDiスタックにおける今回の位置付け Cloudflare とは 記事では、Cloudflare社が提供しているプラットフォーム全体を「Cloudflare」とします。 Cloudflareは、ひと昔前までは数あるシンプルなCDN(Contents Delivery Network)サービスの1つでした。CDNとは、コンテンツの配信を最適化するためのネットワークです。

    第10回:Cloudflareの紹介と運用のポイント - CADDi Tech Blog
    kamawada
    kamawada 2024/02/17