並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 19 件 / 19件

新着順 人気順

RPCの検索結果1 - 19 件 / 19件

  • なぜ MCP なのか

    なぜ自分が MCP を追いかけているのかを雑にだらだらと書いて行こうと思います。 乱文です。 オープンなプロトコル追いかけている理由は Model Context Protocol がオープンなプロトコルにしたことです。これが ChatGPT Plugins とかのクローズドなプロトコルであれば全く追いかけていなかったと思います。 MCP は Anthoropic 以外でも MCP クライアントを実装しさえしていれば、多くの MCP サーバーと接続する事が出来ます。実際 MCP を公開した Anthropic が提供している Claude Desktop や Claude Code だけでなく Cline や Cursor などが MCP クライアントを実装したことにより、MCP サーバーさえ実装してしまえば、様々な環境で利用できる仕組みになっています。 そして VS Code も MCP

      なぜ MCP なのか
    • 作ってわかる! はじめてのgRPC

      gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 この本では、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから、Goでの具体的な実装ノウハウ、AWSにデプロイするための設定までを通貫して解説することで、 「gRPC全くわからない」という人が「自分で実装して動かせそうな気がする……!」と思える段階までたどり着けるようにしました。

        作ってわかる! はじめてのgRPC
      • サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ

        たとえば次のような「user.proto」というプロトコル定義ファイルを用意し、これを変換する例を見てみよう。 syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; string nickname = 2; string mail_address = 3; enum UserType { NORMAL = 0; ADMINISTRATOR = 1; GUEST = 2; DISABLED = 3; } UserType user_type = 4; repeated

          サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ
        • gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも? | フューチャー技術ブログ

          Go 1.19が8/2に早々にリリースされました。個人的にはGo 1.19よりも楽しみだったのが、サービス間通信とIDL(インタフェース記述言語)連載の中でご紹介したgRPCのGo実装の新星、Connectのアップデートでした。そしてそれはやってきました。 詳しい内容は↑の記事を見ていただくとして、Connectがその開発元ブログの紹介記事で宣言していたのが次の2つのことでした。 Go 1.19が出たらconnect-goは1.0にして以後後方互換性を守るよ connect-webを出すよ 前者はまだ0.3だったのですが、connect-webはリリースされました。歴史のあるフロントエンドのコードジェネレータはTypeScript対応が後付けだったりするのですが、TypeScriptがファーストシチズンかつ、ネイティブというコードジェネレータなので、開発はかなりやりやすくなることが期待され

            gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも? | フューチャー技術ブログ
          • インフラエンジニアが学ぶと良さそうなgRPCサーバーについて - じゃあ、おうちで学べる

            3-shake にはSreake共有会 という毎週、火曜日と木曜日に担当者が現場で得た知見などを発表する社内勉強会が開催されています。こちらのブログはそれらを変更修正しております。 syu-m-5151.hatenablog.com 元々しようとしていたの話 Go 1.18 の最新情報←Generics の深い話とかはもう既出すぎて気になる人は読んでる Go でのTDD(が実は20周年なので)←書いてる途中で自分が言うべきことなんてないことに気付く 今後、案件で増えるであろう gRPC についてインフラエンジニアが知っておいても良いと思ったという話 ← 今ここ TL;DR protobuf (Protocol Buffers) はデータフォーマットで、JSONの役割を置き換えるものです。一方 gRPC は通信プロトコルで、HTTPの役割を置き換えるものです。 gRPC をライブラリやツール

              インフラエンジニアが学ぶと良さそうなgRPCサーバーについて - じゃあ、おうちで学べる
            • tRPC - Move Fast and Break Nothing. End-to-end typesafe APIs made easy. | tRPC

              Move Fast and Break Nothing. End-to-end typesafe APIs made easy.Experience the full power of TypeScript inference to boost productivity for your full-stack application.

                tRPC - Move Fast and Break Nothing. End-to-end typesafe APIs made easy. | tRPC
              • 見よ、これがHonoのRPCだ

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

                  見よ、これがHonoのRPCだ
                • 今流行りのgRPCについて簡単にまとめてみた(Goのサンプルコード付き) - Qiita

                  はじめに (当時)Go歴1ヶ月の私が急遽gRPCを用いてバックエンドのAPIを開発してる業務に参画することになり、必要にかられて急いで学んだので、その時の学びを共有します✎ gRPCって最近よく聞くけど、「なにそれ?」って方も多いと思うので(私もそのうちの1人でした)、自分の学びを纏めるためにもgRPCのエントリー記事を書こうと決意し、Go 5 Advent Calendar 2020に登録しました! gRPCとは gRPCって良いらしい 最近gRPC流行ってるらしい 等聞いたことは多いと思いますが、簡単に説明すると RPC (Remote Procedure Call) を実現するためにGoogleが開発したプロトコルの1つ Protocol Buffers を使ってデータをシリアライズし、高速な通信を実現できる IDL(インターフェース定義言語)を使ってあらかじめAPI仕様を .pro

                    今流行りのgRPCについて簡単にまとめてみた(Goのサンプルコード付き) - Qiita
                  • REST・Protocol Bufferは必要ない RPCフレームワークにそのまま使えるScalaの魅力 | ログミーBusiness

                    アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。そこでTreasure DataのTaro L. Saito 氏がScalaに関するいろいろなテクノロジーを紹介しました。2つ目は、Scalaで直接通信する方法について。前回の記事はこちら。 Scalaは実はRPCを実装するのに適した言語Taro L. Saito氏:もともと何をしたかったかというと、「Scalaでクライアントもサーバーも実装できるんだったら、Scalaでそのまま通信できないのか?」というところが出発点になって、今新しいフレームワークを整えているところです。 ScalaはFunctional(関数型)で、かつstatically typed(静的型付き)、というobject orientedな言語になっているのがいいところです。 これよく考えてみると、Scala

                      REST・Protocol Bufferは必要ない RPCフレームワークにそのまま使えるScalaの魅力 | ログミーBusiness
                    • 仕事で使うHaskell

                      TL;DR Haskellはいいぞ。ただ仕事で使うならビルド、デプロイ周辺は工夫する必要が色々出てくるぞ。 あ、nixもいいぞ。 はじめに Haskellを用いている会社HERPに転職してからそろそろ1年が経つので久しぶりに記事でも書いてみます。そういえばzennでは初投稿ですね。 最近はHERPでHaskellを書きつつシステム基盤整備みたいなことをやっています。あとマネージメントみたいなこともやってたりします。 僕の書いたHaskell microserviceは既に稼働して売り上げに貢献しています。 あ、HERPはHaskell FoundationのFunctorスポンサーになっています。スポンサーの名前が面白いですよね。 Haskellを仕事で使う感想 最高ですね。簡単便利十分速い保守楽拡張楽、という感じです。 並行プログラミングツールとしてstmが提供されているのがお気に入りで

                        仕事で使うHaskell
                      • ちまたで噂の tRPCとは。 - Qiita

                        概要 こんにちは。 KDDIアジャイル開発センターの小板橋です。 本記事は、KDDIアジャイル開発センター Engineer & Designer Advent Calendar 2022の2日目の記事です。 今回は、巷で噂の tRPC についてをまとめつつ、検証してみたというものになります。 tRPCとは?? 例えば、3層のwebアプリケーションや、BFF(Backend For Frontend) を使用した複数のバックエンド API を吸収するようなものを配置したアプリケーションを考えた時に、フロントから REST API などでやりとりさせようとすると API における型定義がとても重要なのは想像しやすいでしょう。 そのために、例えば OpenAPI によるAPIの型定義ファイルを用いて開発を進めることで、事故をなるべく防止しようと努めると思います。 ただ、このAPIの定義ファイル

                          ちまたで噂の tRPCとは。 - Qiita
                        • tRPC入門―型安全なWebアプリケーションを効率よくつくる

                          【概要】 tRPCを用いたWebアプリケーションの開発技法について解説した書籍となります。 本書ではTwitterクローンのアプリケーションを実装しながら、tRPCやその周辺技術を活用する方法について触れていきます。 【目次】 1章 tRPCとは何か 2章 tRPC入門(サーバー) 3章 tRPC入門(クライアント) 4章 tRPCによるWebアプリケーション実装 5章 次のステップ 【対象読者(本文より抜粋)】 本書は以下のような方にオススメです。 - tRPC を用いた実践的な Web アプリケーションの構築方法が知りたい方 - 個人開発、もしくはある程度自由に技術スタックが選べる環境で開発をしている方 - ある程度の Web 開発の知識がある方(HTML、CSS、React、TypeScript、npm など) 特に、tRPC は個人開発者にオススメの技術となっています。API の作

                            tRPC入門―型安全なWebアプリケーションを効率よくつくる
                          • twirp-ruby概要 - @nnm_tech

                            はじめに twirpというgRPCと似たようなRPCフレームワークを触っている中でのメモ。twirpはgRPCと似ていますがHTTP2に限定されずHTTP1.1でも使用できる便利なやつです。 基本 github.com twirp-rubyはtwirpをRubyで動かすやつです 登場人物 Service...ProtocolBufferで定義されたService。その中身は実はRackアプリケーション 合わせて読もうRackとは何か - Qiita Handler...Serviceがどう動くかを定義 Client...Service呼ぶやつ ServiceはServiceをRackアプリケーショとして定義するが、どう動くかについては定義していない。Handlerを差しこむことで中身の動きを定義する 例: HogeService.new(FugaHandler) ちなみに以下のような形でH

                              twirp-ruby概要 - @nnm_tech
                            • gRPCをとにかくわかりやすく丁寧に説明します - フラミナル

                              この記事ではgRPCをとにかくわかりやすく説明します。 gRPCとは? まず正しい定義を書きます。(最初は理解が難しいので流してください) gRPCはGoogleが作ったRPCです HTTP/2の上で動作します Protocol Buffersを使ってデータをシリアライズ化します protoファイルと呼ばれるIDL(Interface Definition Language)でAPI仕様を規定します この記事を通じて、これらが何を示しているのかを理解していきましょう。 まずはRPCを知ろう RPCはRemote Procedure Callと呼ばれる古くから存在する技術です。RPCを使うことでリモート(Remote)にある関数/手続き(Procedure)を呼ぶ(Call)ことができます。文脈によっては個別の規格を指す場合がありますが、この記事の中では総称として用いています。 RPC(リモ

                                gRPCをとにかくわかりやすく丁寧に説明します - フラミナル
                              • 3分で「わかった気」になる RPC【改訂2版】 - Qiita

                                これらの RPC 実装はそれぞれ「通信処理の手順」「データ形式」が違うため互換性はありません。 一方で、以下の特徴は共通しています。 クライアント・サーバモデル 関数・引数・戻り値の概念があり、通常の関数呼び出しと同様に実行できる インタフェース記述言語(IDL)を使ってソースコードの自動生成ができる 一般的な関数呼び出しの手順 一般的なプログラムでの関数呼び出しは 親プログラムが関数名と引数を指定して、特定の関数を呼び出す その関数内の処理が実行される 結果の戻り値が、親プログラムに渡される という順序で行われます。 一般的な RPC 通信の手順 RPC はネットワーク環境のクライアントとサーバ間の通信を、一般的な関数呼び出しのように見せることを目的としています。 関数呼び出しを通信に変換する手順は以下の通りです。 クライアント側の親プログラムは、その処理を実行する関数が自分のプログラム

                                  3分で「わかった気」になる RPC【改訂2版】 - Qiita
                                • fRPC Documentation - fRPC

                                  fRPC is a proto3-compatible RPC Framework that’s designed from the ground up to be lightweight, extensible, and extremely performant. On average fRPC outperforms other RPC frameworks by 2-4x in an apples-to-apples comparison, and is easily able to handle more than 2 million RPCs/second on a single server.

                                    fRPC Documentation - fRPC
                                  • JavaScriptのWebWorkerでスレッド間のリモートプロシジャコール(RPC)を実装する - 銀の弾丸

                                    photo credit: Pallet via photopin (license) ブラウザのJavaScriptでWebアプリをマルチスレッド化できる Web Workers API の基本と、Worker側を使ってスレッド間でのリモートプロシジャコールを実装して、ワーカースレッドのメソッドを呼び出して戻り値をコールバック関数で受け取れるようにする方法を書いています。 ■■■ Table Of Contents ■■■ Workerの基本1:ワーカースレッドとの通信 Workerの基本2:スレッド間メッセージはコピーされる しかしメソッド(関数オブジェクト)はコピーされない(送信できない) 同じくクラスオブジェクトのメソッドも無理ですよ コピーではなく参照を渡す方法もある(らしい) スレッド間リモートプロシジャコール(RPC)の実装 npm transworkerのご紹介 おまけ1:

                                      JavaScriptのWebWorkerでスレッド間のリモートプロシジャコール(RPC)を実装する - 銀の弾丸
                                    • ハッカーはhekatombでLDAPディレクトリに接続してすべてのコンピューターとユーザー情報を取得する(Kali Linux) | AIを武器にホワイトハッカーになる

                                      【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから hekatombとは Hekatomb は、LDAPディレクトリに接続してすべてのコンピューターとユーザー情報を取得するPythonスクリプトです。 次に、すべてのコンピューターからすべてのユーザーのすべてのDPAPIブロブをダウンロードします。 最後に、RPCを介してドメインコントローラーの秘密鍵を抽出し、それを使用してすべての資格情報を復号化します。 LDAPディレクトリとは LDAPディレクトリ(Lightweight Directory Access Protocolディレクトリ)は、ネットワーク上でユーザーやデバイス、その他のリソースに関する情報を効率的に管理するためのデータベースの一種です。LDAPは、ディレクトリサービスにアクセスするためのプロトコル(通

                                        ハッカーはhekatombでLDAPディレクトリに接続してすべてのコンピューターとユーザー情報を取得する(Kali Linux) | AIを武器にホワイトハッカーになる
                                      • クライアントの開発 - Win32 apps

                                        RPC クライアント プログラムの開発は、サーバー プログラムの開発と似ています。 RPC サーバー プログラムの開発については、「サーバーの 開発」を参照してください。 サーバー開発と同様に、クライアント プログラムには、MIDL コンパイラが .idl ファイルから生成するヘッダー ファイルを含める必要があります。 MIDL コンパイラでは、クライアント スタブを含む C ソース ファイルも生成されます。 この C ソース ファイルをコンパイルし、クライアント プログラムにリンクする必要があります。 (さらに、MIDL コンパイラは、サーバー スタブを含む C ソース ファイルを生成しますが、この説明には関係ありません)。 クライアント スタブをコンパイルしてプログラム ファイルにリンクするだけでなく、インポート ライブラリ (およびクライアント プログラムに必要なその他のライブラリ)

                                          クライアントの開発 - Win32 apps
                                        1