並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 4636件

新着順 人気順

awaitの検索結果401 - 440 件 / 4636件

  • 30分で作ってみる自作MCPサーバー - KITUNE IS GOOD

    はじめに 遅ればせながら..MCPサーバーのキャッチアップをはじめまして、ざっくり理解するために作ってみました。 今回は、プロンプトに入力されたURLを元にWebサイトから本文を抽出し、Markdownで返すMCPサーバーを作ってみようと思います。 MCPとは MCP(Model Context Protocol)は、アプリケーションがLLMにコンテキストを提供する方法を標準化するオープンプロトコルです。 以下の構成要素があります。 MCPホスト: Claude Desktop、IDE、または MCPを介してデータにアクセスする AI ツールなどのプログラム MCPクライアント: サーバーとの1:1接続を維持するクライアント(一般的にはMCPホストに内包) MCPサーバー: 標準化されたモデルコンキテストプロトコルを通じて特定の機能を公開する軽量プログラム ローカルデータソース: MCPサ

      30分で作ってみる自作MCPサーバー - KITUNE IS GOOD
    • Supercharging GitHub Actions with Job Summaries

      ProductSupercharging GitHub Actions with Job SummariesYou can now output and group custom Markdown content on the Actions run summary page. The same familiar functionality that powers pull requests, issues, and README files has come to GitHub Actions! We’re thrilled to announce GitHub Actions Job Summaries, which allow for custom Markdown content on the run summary generated by each job. Custom Ma

        Supercharging GitHub Actions with Job Summaries
      • Goの良さをまとめてみた

        よく知られる良さ ネイティブコード出力で実行効率が良い コードの可読性を重視している 開発でよく使うツールがバンドル クロスビルドが簡単にできる コンパイルが遅くない(LLライクにrunできる) 並行処理の抽象化を組み込み言語仕様にもつ メモリ安全である 上記の一部に解説を加えつつあまり言及されない良さを以下にまとめます。 依存解決が最小限で決定的 ここにも書きましたが、Goの依存解決は常に 最小限のダウンロード 最小の範囲でのみビルドを実行 だけが走ります。これを一度体験すると、従来のパッケージ依存管理が冗長で余計なものをビルドしすぎることに気づくでしょう。これらに相当の時間を奪われているのです。 また、Goモジュール機構によりそのバージョン選択は決定的に安定動作するバージョンに決められます。このことのメリットは数ヶ月後のリビルドで安定してビルドできることで実感できるでしょう。 開発環境

          Goの良さをまとめてみた
        • 世界のプログラミング言語(34) Node.jsに関する10の反省点から生まれたJS実行エンジンDeno

          PC上でJavaScriptを実行できるJavaScript実行エンジンではNode.jsが最も普及しています。これは十分高速であるため、サーバー用途でも利用されています。しかし、Node.jsの作者は2018年より新たなJavaScript実行エンジンDenoを開発しています。DenoはNode.jsの反省より生まれたプロジェクトで多くの点でNode.jsを改良したものです。期待のDenoはNode.jsと比べて何が良いのか実際にプログラムを作って試してみましょう。 DenoでWebサーバーを実装して実行したところ DenoはNode.jsの反省から生まれた Node.jsの作者として有名なライアン・ダール氏は、2018年にJavaScriptの国際的なカンファレンス「JSConf 」にてDeno(読み方:ディーノまたはデノ)を発表しました。しかも、それは「Node.jsに関する10の反

            世界のプログラミング言語(34) Node.jsに関する10の反省点から生まれたJS実行エンジンDeno
          • NFT, Web3完全に理解した になるためのチュートリアル|DJ RIO

            こんにちは、「なりたい自分で、生きていく」ためのメタバース、 REALITYを運営しているDJ RIOです。 ここ数年、メタバースといえばKawaiiアバターになってキャッキャウフフするものだと信じてたのですが、どうもさいきんメタバースと言うと「NFT」とか「Web3」とか耳慣れない単語が飛び交うようになってきました。 みなさんはこれらを理解していますか? ぼくは何もわかりません>< わからん、、なんも、、、なので今回は、暗号資産・NFT・Web3、その基盤となるブロックチェーンそのものを自分で作ったり独自コインを開発したりすることで、NFTやWeb3を完全に理解してしまおうと思います。 今回やること自分専用のEthererumネットワークを構築し運用する 自分でコインを発行し、送金する 自分専用のNFTを開発・発行する 発行したNFTを表示させてみる これらを実践することで、NFTやWe

              NFT, Web3完全に理解した になるためのチュートリアル|DJ RIO
            • 画面キャプチャを仮想カメラとして扱えるようにするChrome拡張を作ってみる

              この記事について 先日、@catnoseさんがカメラ映像の代わりに絵文字(Emoji)を配信するためのサービスを公開されました。凄く完成度が高くて良いサービスだと思ったので、さっそく使ってみたのですが、仮想カメラとして使用するためには OBS Studio が必要でした。[1] サービスを使うには全然申し分無いのですが、「 もっと簡単にできたらなぁ~ 」と思ってしまうのが私の悪い所で、すぐさまブラウザのみでどうにかできないかと調べてみると、色々な制約はありますが、Chrome 拡張を使うことで OBS Studio を使わずとも仮想カメラを使用できることが分かりました。 実装も簡単にできるので、 今回は Google Meet で、画面キャプチャを仮想カメラとして表示する Chrome 拡張を作って行こうと思います 💪 今回作るモノについて 今回この記事で作る Chrome 拡張は、上記

                画面キャプチャを仮想カメラとして扱えるようにするChrome拡張を作ってみる
              • C# 1.0 と C# 9.0 で同じプログラムを書いてみよう - Qiita

                この記事は C# Advent Calendar 2020 の 2 日目の記事です。1 日目は @RyotaMurohoshi さんの C# 9.0で加わったC# Source Generatorと、それで作ったValueObjectGeneratorの紹介 でした。 私の記事では、.NET Framework 1.0 の頃の C# 1.0 と今の .NET 5 時代の C# 9.0 で同じお題をもとにプログラムを書いてみて比べてみようと思います。これを書くにあたって事前に xin9le さんと 岩永さんに色々見てもらいました!感謝! ではやってみましょう! 記事を書く前の感覚では LINQ の有無と async/await の有無が大きいだろうな…と思ってます。 プロジェクトの設定 Windows 10 に .NET Framework 1.1 SDK を入れようと思えば入れることが出来

                  C# 1.0 と C# 9.0 で同じプログラムを書いてみよう - Qiita
                • Next.js で始める GraphQL - 30歳からのプログラミング

                  この記事では、GraphQL を利用したアプリを Next.js で構築していきながら、GraphQL の初歩について書いていく。 GraphQL のクライアントもサーバも、Apollo を用いる。 また、できるだけ型安全に開発したいので、graphql-codegenで型定義ファイルを生成する方法も扱う。 利用しているライブラリのバージョンは以下の通り。 @apollo/client@3.5.10 @graphql-codegen/cli@2.6.2 @graphql-codegen/typed-document-node@2.2.7 @graphql-codegen/typescript-operations@2.3.4 @graphql-codegen/typescript-resolvers@2.5.4 @graphql-codegen/typescript@2.4.7 @type

                    Next.js で始める GraphQL - 30歳からのプログラミング
                  • Next.js アプリケーションの共通コンポーネント開発 - クックパッド開発者ブログ

                    こんにちは。レシピサービス開発部のkaorun343です。クックパッドではスマートフォン向けページにおける開発者体験向上のために、レシピサービスのフロントエンドを Next.js と GraphQL のシステムに置き換えている話にて紹介したとおり、Next.jsとGraphQLを用いたモダンな環境へと移行を進めています。例えばモバイル端末からのアクセスでURLがトップページの / であれば Rails、レシピ詳細ページの /recipe/:id であれば Next.js アプリにルーティングされるようになっています。現在ではレシピ詳細ページだけではなく検索結果ページやつくれぽ詳細ページ、MYフォルダページなどもNext.jsアプリケーションに置き換わっています。今回はその移行により生じた課題と取り組み方、それから併せて実施したモノレポ環境整備について紹介します。 共通コンポーネントの導入背

                      Next.js アプリケーションの共通コンポーネント開発 - クックパッド開発者ブログ
                    • Next.js Cacheのアツさをシェアしたい(App Router)

                      sumirenです。 2023年5月5日、ついにNext.js App Routerがstableになりましたね! おめでとうございます!!ありがとうございます!!! 今から本番で使うのが楽しみで待ちきれません。 13.4のリリースではstableの宣言とともに、目玉機能としてServer Actionsが来ています。Data Fetch(というか、もはやData Handling的なもの)の機能の一部として、とても興味深いです。 さて、Server Actions自体の解説は他の方に任せるとして、リリースノートには以下のような一文があります。 Server Actions in Next.js have been designed for deep integration with the rest of the data lifecycle, including the Next.js

                        Next.js Cacheのアツさをシェアしたい(App Router)
                      • 【React】useSWRはAPIからデータ取得をする快適なReact Hooksだと伝えたい - パンダのプログラミングブログ

                        Vercel製のuseSWRはReactの非同期データ取得をラクにする SWRとは、Next.jsを作成しているVercel製のライブラリです。**SWRはuseSWRというReact Hooksを提供し、APIを通じたデータの取得をラクに記述する手助けをしてくれます。**このライブラリはなんとGitHubスター数を10,700も獲得しています。 SWRはライブラリ名で、stale-while-revalidateというRFC 5861で策定されたキャッシュ戦略の略称です。このSWRがデータ取得の扱いをラクにしてくれて最高なのです。 React開発者が嬉しいuseSWRの書き心地 useSWRは外部APIからのデータ取得、ローディング状態、エラーが発生した時をシンプルに記述できます。これがあらゆるReact開発者にとって(というか、ReactでAPIにリクエストを頻繁に送るアプリケーション

                          【React】useSWRはAPIからデータ取得をする快適なReact Hooksだと伝えたい - パンダのプログラミングブログ
                        • GitHub Actions のみで、actions/cache も使わない最軽量の VRT

                          Web アプリケーション開発での VRT 導入は、ちゃんと運用するとなると以下のような多くの検討事項を伴います。 Storybook のストーリーベースで比較するか?それとも実アプリケーションの URL ベースで比較するか? CI 上でアプリケーションをビルドして dev server を立ち上げるか、それともデプロイ先のアプリケーションにアクセスするか? スクリーンショットの比較はどのように行うか?比較時の閾値はどのように設定するか? 比較元のスクリーンショットはどのように用意するか?例えば Amazon S3 などのストレージ や GitHub Actions の actions/cache を使用する場合など コミットハッシュを用いて比較元のスクリーンショットを特定する場合、マージ先のコミットハッシュに紐づくスクリーンショットが存在しない時の対応は? VRT の結果で差分が出たが、そ

                            GitHub Actions のみで、actions/cache も使わない最軽量の VRT
                          • ざっくりつかむ!LangChainのメンタルモデル

                            はじめに 昨今の激アツChatGPTブームを見ると、これをアプリとして開発してみたいと思う方も多いのではないでしょうか。気になって調べてみるとLangChainやLlamaIndexというライブラリに行き着く方も多いはずです。 そしてすぐ壁に直面すると思います。 結局これらのライブラリが 何で どういう時に どう使えば良いのか わからない! そうです。私です。 特にLangChainは初めてLLMアプリ開発される方には少し難解です。LangChainは非常に積極的な開発がされているライブラリで、課題や良い方法が発見されればそれをすぐ実装!というスピード感で動いています。 その分、ドキュメントこそ整備されているものの膨大な情報量に迷子になりやすい状況です。 そこで、今回はLangChainのメンタルモデルを簡単に説明してみることにしました。 全体感が抑えられていればコアな情報、追加で必要とな

                              ざっくりつかむ!LangChainのメンタルモデル
                            • テストコード内では条件分岐を書かないようにする

                              テストコード内では条件分岐を書かないようにする 誰でも読める愚直なコードであることの 1 つの目安として、テストコードの中に if 文や三項演算子などの条件分岐が入り込んでいていないことが上げられます。if 文が存在するコードはアンチパターンであるといえます。実際に if 文がテストコードの中に入り込んだ例を見てみましょう。 テストコードは誰でも読める愚直なコードであることが求められます。テストコードにはある種のドキュメントのような、コードの仕様を説明する役割が求められているためです。テストの期待結果が変数になっていて、定義元までジャンプしないと値を確認できないだとか、条件分岐やループが入り込んでいて複雑性が上がっている状態ですと、素直に読みやすいとは言えません。 コードの中では重複排除をするためにさまざまなテクニックを駆使することがありますが、これは単にテストコードに適応するべきではあり

                                テストコード内では条件分岐を書かないようにする
                              • アクセシビリティが考慮された React Aria のドラッグアンドドロップ

                                アクセシビリティが考慮された React Aria のドラッグアンドドロップ 2024.09.07 React Aria は Adobe により提供されている React 用のコンポーネントライブラリであり、アクセシビリティを最優先した設計となっています。本記事では、React Aria により提供されているドラッグアンドドロップ機能を紹介します。 ドラッグアンドドロップは、ユーザーが UI の要素をドラッグして別の場所に移動する操作です。Web アプリケーションにおいて、ドラッグアンドドロップはユーザーが直感的に操作できるため、多くの場面で利用されています。例えばタスク管理アプリケーションにおいて、タスクをドラッグして進行状況を変更したり、ファイル管理アプリケーションにおいてファイルをドラッグしてフォルダを移動する機能などがあります。 従来のドラッグアンドドロップ機能はマウス以外での操作

                                  アクセシビリティが考慮された React Aria のドラッグアンドドロップ
                                • ブラウザからPCの負荷状況を取得する Compute Pressure API - ASnoKaze blog

                                  PCの負荷状況に合わせて、Webサイトでの処理を軽量なものに切り替えたい場合があります。 それを可能にする仕組みである「Compute Pressure API 」がChromeで実装が進められています。なお、仕様の方もW3Cで「Compute Pressure Level 1」が公開されています 例 Compute Pressure APIを使うと、PCのCPU負荷が4段階で確認できます。 Nominal: 負荷が低い状態 Fair: システムは正常に動作しており、追加のワークロードを実行できる Serious: 負荷が高い状態。追加のワークロードを実行するとCriticalになりうる Critical: 負荷が限界に近い状態 詳しいCPU情報はプライバシーの観点から公開しない設計になっています。 実行例 Compute Pressure API は現在Chromeの開発版で動作確認でき

                                    ブラウザからPCの負荷状況を取得する Compute Pressure API - ASnoKaze blog
                                  • 【Streamlit】JavaScriptが嫌いだからPythonだけでWebアプリをつくる - Qiita

                                    フロント(SPA)開発案件2つのプレイングマネージャーと開発リーダーやってますが、JavaScriptが死ぬほど嫌いです。 ブラウザ上で動作するスクリプトなので仕方ないし、async-awaitで大分便利になったけど、非同期処理がやっぱり好きじゃないです。 JavaとかPythonとかそれなりの期間触った言語は大概「みんな違ってみんないい」みたいな感じになるんですが、JavaScriptだけそうならないので本当に嫌いなんだと思います。 因みにCSSはもっと嫌いです。 機械学習モデルの構築をPythonで実装することは多いと思いますが、ちょっとしたデモアプリでも作るとなると、フロント側はどうしてもHTML、JavaScript、CSSで組まないといけないです。 Jupyter Notebookも選択肢に入るかもしれませんが、Webアプリと比べると表現の自由度は下がるし、コードセルが見えるのは

                                      【Streamlit】JavaScriptが嫌いだからPythonだけでWebアプリをつくる - Qiita
                                    • StorybookとPlaywrightがもたらす画期的なUIテスト

                                      はじめに StorybookとPlaywrightを連携してテストすることで、思っていた以上に良い開発体験が得られたので紹介します。 今回の記事で紹介するテストは以下のリポジトリで公開しています。 具体的には以下の点が最高でした。 独立したコンポーネント開発 Storybookを利用することで、UIコンポーネントを独立して開発・テストできます。これにより、コンポーネントの再利用性が向上し、効率的な開発が可能になります。 シナリオベースのテスト Playwrightを使ってシナリオベースのテストを実行できます。これにより、ユーザーの実際の操作に近い状況でのテストが可能となり、アプリケーションの品質を高めることができます。 クロスブラウザテストの容易さ Playwrightは、複数のブラウザでの自動テストをサポートしています。これにより、異なるブラウザでの動作検証が容易になり、互換性の問題を効

                                        StorybookとPlaywrightがもたらす画期的なUIテスト
                                      • GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク

                                        はじめに がんばって書いた書籍が低評価で少々しょんぼりしているあんどうです。まぁ、つい力が入りすぎて袋小路に思い切り突っ込んだ結果抜けられなくなることってあるよね。あるある。そんなわけで今日はできるだけ力を入れずテンション低めにサクッと行きます。 で、GoのWASM。大道の真ん中をまっすぐに歩まれているみなさんはWASMするときはRustかいっそC/C++をemscriptenでってことになると思いますが、私はしょせん路傍の石の下で低評価が目に入らないように丸まっているダンゴムシ。せっかくだからオレはこのGoでWASMを選ぶぜって感じなんですが、ぶっちゃけあれ、めんどくさいすよね。 あ、ちなみに今回の話は「このめんどくささをまるっと解決!」みたいな気持ちのいい話ではなくて、ただただ「めんどくさいよね」っていうだけの話です。あーめんどくさい。 Rustの場合 まず比較のためにRustの例をあ

                                          GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク
                                        • Llama 3.2 の使い方|npaka

                                          以下の記事が面白かったので、簡単にまとめました。 ・Llama can now see and run on your device - welcome Llama 3.2 1. Llama 3.2 Vision 11B・90B1-1. Llama 3.2 Vision 11B・90B「Llama 3.2 Vision 11B・90B」は、Metaがリリースした最も強力なオープンマルチモーダルモデルです。画像+テキストのプロンプトでは英語のみ、テキストのみのプロンプトでは英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語をサポートしています。 コンテキスト長は128kトークンで、画像を含む可能性のある複数ターンの会話が可能です。ただし、モデルは単一の画像に注目する場合に最適に機能するため、transformers実装では入力で提供された最後の画像のみに注

                                            Llama 3.2 の使い方|npaka
                                          • Honoで見直すMPAの開発者体験

                                            Next.js App Routerのリリース以降、 async function で書けるServer Componentsいいじゃんファイルベースルーティングも使いやすいなと触ってたのですが、まだ安定していないこともあり不可解なエラーメッセージや複雑なキャッシュの仕組み、デプロイ先を選ぶ感じなどこのままNext.jsにベットしてていいのかなと感じていました。 そんな折にHonoでシンプルなフォームを持つWebアプリを書く機会があり、非常に優れた開発者体験に驚きました。5年以上前にMPAを開発した経験もありますがそこから比べてもとても良くなっていて、Honoの良さを感じるとともにMPAというアプローチを見直すきっかけになりました。 そもそも現在Webフロントエンドを構築する際に当たり前のように選択肢に上がるSPAですが、必ずしもSPAが適していない場合でもSPAが選択されることが少なくな

                                              Honoで見直すMPAの開発者体験
                                            • expand.ai

                                              expand.ai instantly turns any website into a type-safe API you can rely on. √Reliable scraping infrastructure√High quality with back checking√Great developer experience√Instant API for any website const companies = await expand({ sources: ['https://www.ycombinator.com/companies'], // auto-generated schema by expand.ai schema: Model('Company', { name: Expand.String, batch: Expand.String, url: Expan

                                                expand.ai
                                              • うまく抽象化できてないコードは読みづらい - Panda Noir

                                                短いコードのほうが読みやすい傾向はあります。しかしながら、 短くて誤読しやすいコードよりは、長いけど誤読しないコードのほうが可読性が高いです。 今回はその話をします。 「短ければ可読性が高い」というのは勘違い 短くても可読性が低いコードはあります。例えば以下の2つの main 関数を比べてみます。 短いけど抽象化に失敗しているコード: const main = async () => { const _article = await fetch('/article'); const article = transformItem(_article); }; 長いけど分かりやすいコード: const main = async () => { const _article = await fetch('/article'); const article = { ..._article, fet

                                                  うまく抽象化できてないコードは読みづらい - Panda Noir
                                                • Reactコンポーネントの基本原則と人気のUI/UXデザインライブラリの解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                                  Reactは単なるUIライブラリではなく、コンポーネントベースのアプリケーション開発フレームワークです。UI/UXデザインの基本原則に加え、再利用性や状態管理、データフローなどの概念も重要です。 Reactのコンポーネントベースのアーキテクチャを活用すると、UIと裏側のロジックを分離して管理しやすくなり、効率的なアプリケーションの開発が可能です。 今日は、Reactにおけるコンポーネントの基本原則の解説と、初心者に役立つReactコンポーネントライブラリの紹介を提供します。 コンポーネントの設計原則 UI(ユーザーインターフェース) UX(ユーザーエクスペリエンス) UIのデザインに役立つReact コンポーネントライブラリ React Material UI React-Bootstrap Fluent UI Chakra UI Semantic UI React Ant Design

                                                    Reactコンポーネントの基本原則と人気のUI/UXデザインライブラリの解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                                  • 全文検索SaaSのAlgoliaを使って、DynamoDBのデータを柔軟に検索する | DevelopersIO

                                                    はじめに この記事は Serverless Advent Calendar 2020 12日目の記事です。 CX事業本部の佐藤です。AWSのサーバーレスでアプリケーションを構築する際には、DynamoDBをデータベースとして選択するのはよくある構成かと思います。DynamoDBはNoSQLデータベースの一種なので、RDBMSのようなSQLを使った柔軟な検索などはできません。そのため、DynamoDBの検索機能だけでは要件を満たせない場合は、RDBを使う、DynamoDBとRDBを併用して使う、Elasticsearchなどの全文検索サービスを使うなどの方法があります。そこで今回は、DynamoDBを使ったサーバーレスWeb APIを題材に、全文検索SaaS のAlgoliaを使って、DynamoDBのデータを柔軟に検索できるようにしてみたいと思います。 この記事で作る構成 この記事では、以

                                                      全文検索SaaSのAlgoliaを使って、DynamoDBのデータを柔軟に検索する | DevelopersIO
                                                    • 同期Rustと非同期Rustで同じものを作るとどれくらい実装が変わるのか - Don't Repeat Yourself

                                                      同期Rustと非同期Rustの書き心地や使い心地の違いがRustのAsync WGでも課題として挙げられており、目下できるかぎり近づける取り組みが進行中です。詳しいところはRustが最近運用しているProject Goalsの非同期Rustに関する部分を参照してください。ここを見ると、概ね現状抱えている課題などが見えてくると思います。 理想を言えば、std::ioやstd::netではじまるものを、たとえばtokio::ioやtokio::netに書き換え、必要な箇所にasyncと.awaitを付与していくだけで作業が完結してほしいところではあります。他の多くのプログラミング言語では、ままそのようにするだけで済むものが多い印象を持っています。たとえば、私が業務で使用するKotlinが実際にそうで、suspendをつけるだけでほとんどの処理を楽に非同期化することができます。もちろんKotli

                                                        同期Rustと非同期Rustで同じものを作るとどれくらい実装が変わるのか - Don't Repeat Yourself
                                                      • 『実践Rustプログラミング入門』を書きました - Don't Repeat Yourself

                                                        すごく今更感がありますが、先週末出版しました。 私のプライベートがとても忙しくしばらく書けませんでした。書籍を書きましたのでご報告です。 実践Rustプログラミング入門 作者:初田 直也,山口 聖弘,吉川 哲史,豊田 優貴,松本 健太郎,原 将己,中村 謙弘発売日: 2020/08/22メディア: 単行本 ちなみに、著者、まだ現物を受け取っていません。書店で現物を触りたいなと思って見に行きましたが、今週末は在庫切れで本屋さんにありませんでした。 電子書籍は調整中です。 私の担当は1章、3章の一部、11章の一部です。 他の共著者のみなさんの記事 (2020/09/22 追記) 共著なのにこの記事のタイトルを「書きました」としてしまったので、私もだぞ、とみなさんがタイトルで煽ってきています(違 私も『実践Rustプログラミング入門』を書きました - matsu7874のブログ 私だって『実践R

                                                          『実践Rustプログラミング入門』を書きました - Don't Repeat Yourself
                                                        • Python Distilledは幅広い人にPythonの基礎を叩き込む本 | フューチャー技術ブログ

                                                          秋のブログ週間2023、3週目・13本目です。 Python Distilledという本がオライリーから出版されました。作者のDave Beazleyはかなり昔からPythonを使い込んでいる人ですので、この本には信頼しかない、と思い読んでみました。Daveは大学の教授をしていて、コンピュータサイエンスで表彰もされている筋金入りです。本家PyConでも何度も発表されているようです。Python歴は27年でOSSとしてはC/C++をラップして他の言語で使えるようにコードを生成するSWIGはすでに20年以上の歴史がありますし、パーサージェネレータのPLYとSLY。curioというコルーチンのライブラリなどを作っています。僕は以前、SWIGのドキュメント翻訳をしてCマガジンに特集記事を書かせていただいたこともあり、僕の大学時代の顔写真がSWIGのウェブサイトに公開されていたりします。 そういう世

                                                            Python Distilledは幅広い人にPythonの基礎を叩き込む本 | フューチャー技術ブログ
                                                          • フロントエンド API通信戦略

                                                            はじめに 今回はフロントエンド(Next.js×TypeScript)におけるAPI通信手法について、基本的なAPI通信の手法に加えて、「Repository層, Model層, Factory, API-Client」を用いた手法を具体的なコード例とともに解説します。 この記事の対象者 フロントエンジニア初級者から中級者 API結合におけるディレクトリ設計が明確に定まっていない人 API通信をする上での「Repository層」「Model層」「Factory」 「API-Client」それぞれの責務について理解したい人 全体の概要図 後の章でこの部分は詳しく解説します。 基本的なAPI通信手法 今回紹介するAPI通信手法 基本的なAPI通信手法 カスタムフックを使わない場合 カスタムフックを使わない基本的なAPI通信手法としては下記が例の1つとして挙げられるかと思います。 src/ap

                                                              フロントエンド API通信戦略
                                                            • 新刊『動かして学ぶ!Python FastAPI開発入門 』発売、Web APIの作り方とAWS・GCPへのデプロイ方法まで

                                                              本書はエンジニアのための情報共有コミュニティ「Zenn」で中村翔さんが公開されている人気コンテンツ「FastAPI入門」を元に書籍化。Python3.11への対応、コラムの追加、本番環境での運用を想定したAWS・GCPへのデプロイ方法について追記するなど、大幅にパワーアップした内容となっています。 FastAPIはDjangoやFlaskに並んで人気が高いPythonのWebフレームワークです。コードを書くとSwagger UIが自動生成される、型安全、高速という優れた特長もあって実際の開発現場で利用されることも増えています。 本書ではそんなFastAPIの使い方を、ToDoアプリの作成を通じて学べます。特に、以下の点にこだわって解説しています。 DB接続にもasync/awaitを利用 Dockerによるクリーンな環境構築 スケーリングを考慮したディレクトリ構成 FastAPIが気になっ

                                                                新刊『動かして学ぶ!Python FastAPI開発入門 』発売、Web APIの作り方とAWS・GCPへのデプロイ方法まで
                                                              • Vite/VueでChrome拡張機能を作ってみる | 4. 環境構築/開発編 - くらげになりたい。

                                                                前回の続き。Vite/CRXJS/Vueで作るときの備忘録(*´ω`*) www.memory-lovers.blog 使ったサンプルはこちらで公開中(*´ω`*) github.com 環境構築 プロジェクトの作成 # viteでプロジェクトを作成 $ pnpm create vite chrome-extension-sample --template vue-ts $ cd chrome-extension-sample # .npmrcを設定 $ echo "auto-install-peers=true" > .npmrc # @crxjs/vite-pluginの追加。vite3はbeta版 $ pnpm add @crxjs/vite-plugin@beta -D manifest.jsonの設定 manifest.jsonが必要だけど、CRXJSでは.tsにも対応してる。

                                                                  Vite/VueでChrome拡張機能を作ってみる | 4. 環境構築/開発編 - くらげになりたい。
                                                                • ミラティブでのアウトゲーム設計の紹介 - Mirrativ Tech Blog

                                                                  こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 今回はミラティブのライブゲーム開発で行ったアウトゲームの設計について紹介します。 以前アウトゲーム設計に関してXでポストしたらレスポンスをいただけたのでできるだけ丁寧に解説してみました。こんな話も聞きたいよというのがあったら是非教えてください。 よくありそうなソシャゲアウトゲームの設計について今更記事化してるんだけどどれだけ需要あるんだろう。MVPの概念とかクリーンアーキテクチャライクな知識って業界的な浸透率どんなもんなんだ。— 鉄 -TETSU- (@tetsujp84) 2023年8月28日 アウトゲームについて ゲーム開発者にとっては馴染み深いと思いますが、ゲームにはインゲームと呼ばれる部分とアウトゲームと呼ばれる部分に別れます。インゲームはゲーム体験のコアでキャラクターを操作したり、アクションがあったりと

                                                                    ミラティブでのアウトゲーム設計の紹介 - Mirrativ Tech Blog
                                                                  • Timers Promises API が最高 - Panda Noir

                                                                    名前から既にワクワクするこのAPIは、なんとPromiseを返すsetTimeout、setInterval関数を提供しています!最高です… というわけで今回はそれの紹介です。 基本的な使い方 await setTimeout(1000) ←これができるんです!素晴らしくないですか?? top-level await や for-awaitと組み合わせるとこんな感じで書けます import { setTimeout } from 'timers/promises'; console.log('start'); await setTimeout(1000); // これでいける!! console.log('1s passed'); import { setInterval } from 'timers/promises'; console.log('start'); for await (

                                                                      Timers Promises API が最高 - Panda Noir
                                                                    • 「TypeScriptが当たり前」になった世界において、ESモジュール本来の運用に必要な考え方と設定とは

                                                                      「TypeScriptが当たり前」になった世界において、ESモジュール本来の運用に必要な考え方と設定とは こんにちは、藤吾郎(gfx)と申します。Starleyという会社でおしゃべりAIアプリ「Cotomo」を開発しています。TypeScript歴は10年くらいです。 はじめに - TypeScriptが当たり前になった世界今年(2025年)はTypeScriptがリリースされて13年、ESモジュールが導入されたES2015のリリースから10年が経ちます。今やJavaScriptプロジェクトにおいては、TypeScriptが当たり前の世界になってきました。つまり「JavaScriptプロジェクトの実装言語のデフォルトはTypeScript」という状況にかなり近づいています。 TypeScriptが当たり前の世界とは、JavaScript処理系がデフォルトでTypeScriptをサポートして

                                                                        「TypeScriptが当たり前」になった世界において、ESモジュール本来の運用に必要な考え方と設定とは
                                                                      • Puppeteer +Lighthouse +GitHubActionsで認証付きWebアプリのWebperfを定期計測

                                                                        Puppeteer + Lighthouse + GitHub Actions を使って Web アプリのフロントエンドパフォーマンスを定期計測するプロジェクトを作ってみたら良い感じだったので紹介です。 何を作った? このように GitHub Actions 上で 認証付きの Web アプリに対して Puppeteer 介し Lighthouse を定期実行し、結果を Datadog に送信するプロジェクトを作りました。 実際にそのプロジェクトの計測値を使った Datadog のダッシュボードはこちらです。 Webperf の主要指標をページ別に時系列で表示しています。 サンプルプロジェクトはこちらにあります。 以降で実装について簡単に解説します。 Puppeteer + Lighthouse によるパフォーマンス計測 Puppeteer + Lighthouse によるパフォーマンス計測

                                                                          Puppeteer +Lighthouse +GitHubActionsで認証付きWebアプリのWebperfを定期計測
                                                                        • Next.js Conf 2022で最も感動したライブラリ、vercel/satoriについて紹介させてください。 - Commune Engineer Blog

                                                                          はじめまして。コミューンでサーバーサイドエンジニアとして働いています、あのちっくと申します。 突然ですが皆様は昨年 10 月に開催されたNext.js Conf 2022はご覧になられましたでしょうか。 Next.js Conf は Next.js の開発・メンテナンスを行っている Vercel 社が主催する、Next.js とその周辺技術に関するカンファレンスです。 コミューンでもメインプロダクト commmune の Web フロントフレームワークとして Next.js を採用しており、私個人としてもとても興味深くオンラインから視聴をしていました。 特に話題になったのは、React Server Components をサポートしたルーティング・レイアウトシステム"app directory"などの新機能を新たに追加したNext.js 13と、"Webpack の後継"を謳う Rust

                                                                            Next.js Conf 2022で最も感動したライブラリ、vercel/satoriについて紹介させてください。 - Commune Engineer Blog
                                                                          • Promise や Context から値を読み取る use React フック

                                                                            Note use フックは 2024 年 4 月現在、React の Canary および experimental チャンネルでのみ利用可能です。 use は、Promise や Context から値を読み取るための React フックです。以下のコードのように Promise の値を同期的に読み取ることができます。 import { use } from "react"; const fetchUsers = async () => { const response = await fetch("/api/users"); return response.json(); }; const Users = () => { const users = use(fetchUsers()); return ( <ul> {users.map((user) => ( <li key={user

                                                                              Promise や Context から値を読み取る use React フック
                                                                            • Deno 1.9.0 がリリースされたので新機能や変更点の紹介

                                                                              Copyright (c) 2018-2021 the Deno authors. MIT License. 日本時間の今日(2021 年 4 月 14 日)に Deno の v1.9.0 がリリースされました。 詳細なリリース内容は上記のリリースノートにまとまっていますが、ざっと紹介していきたいと思います。 ネイティブ HTTP/2 Webサーバー serde_v8 による Rust 呼び出しの高速化 Blob URLのサポート LSP で import の補完ができるようになった --allow-env と --allow-run で許可対象を指定できるようになった インタラクティブなパーミッションプロンプト Deno.listenTls で ALPN をサポート ファイルシステムに関するいくつかのAPIの安定化 いくつかのAPIを Deprecated 化 (std 配下に移動) T

                                                                                Deno 1.9.0 がリリースされたので新機能や変更点の紹介
                                                                              • FastMCP での MCPサーバ と MCPクライアント の構築を試す|npaka

                                                                                「FastMCP」での「MCPサーバ」と「MCPクライアント」の構築を試したので、まとめました。 1. FastMCP「FastMCP」は、「MCPサーバ」や「MCPクライアント」をシンプルかつ直感的に構築できるパッケージです。 「MCP」の実装には、サーバのセットアップ、プロトコルハンドラ、コンテンツタイプ、エラー管理など、多くの定型処理が必要です。「FastMCP」は複雑なプロトコルとサーバ管理をすべて処理するため、開発者はツールの構築に集中できます。 「FastMCP」の目標は次のとおりです。 ・高速 高水準インターフェースによりコードが少なくなり、開発が高速化 ・シンプル 最小限の定型文で MCP サーバを構築 ・Pythonic Python開発者にとって自然に感じられる ・完全 コアMCP仕様の完全な実装を提供することを目指している 「FastMCP v1」は、 MCPサーバを

                                                                                  FastMCP での MCPサーバ と MCPクライアント の構築を試す|npaka
                                                                                • Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog

                                                                                  最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。 LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。 JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0 や undefined や nu

                                                                                    Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog