並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

gRPCの検索結果1 - 27 件 / 27件

  • モバイルとの相性最強と言われるgRPCをFlutter x NestJSで実装し、Stream通信や認証、複数言語実装に使えるか試す

    まとめ 相性バツグンといわれる、モバイル x gRPCは思ったよりずっと簡単に実装可能 複数言語間でもProtocol Buffersの恩恵により型変換を意識することなくスムーズに開発が進められる。 メソッド、引数の型、引数の返り値の型が自動生成されるのでとても良い RESTful APIにおけるheaderを、表現力の高いMetaDataとして利用し、認証認可等にも使えそう Streamをうまく使いこなせば、ユーザー体験をめっちゃ高くできそう。チャットやゲームなどの双方向通信が比較的楽に実装できるかも どんな人向きでない記事? NestJSの詳しい実装を知りたい方 Bidirectional streaming, Client streamの詳細実装を知りたい方 モバイル向け通信技術の本格的な選択肢、gRPCを実際に試してみたい 現在、私の働いているMinediaで開発しているサービス群

      モバイルとの相性最強と言われるgRPCをFlutter x NestJSで実装し、Stream通信や認証、複数言語実装に使えるか試す
    • いまさら聞けないgRPCの基礎 - Qiita

      はじめに この記事では、gRPCのgもRPCも何もわからないという方でもgRPCを理解できようにと思い書きました。できる限り丁寧な解説を目指したいと思うので、ここら辺がわかりにくかったなどがあればぜひコメントで教えてください! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 gRPCの概要 gRPCはオープンソースのRPCフレームワーク(後述)です。Googleによって開発され、2015年にオープンソースとして公開されました。gRPCは一般的にマイクロサービス間での通信や、モバイルアプリとバックエンドサーバー間の通信で用いられます。 マイクロサービスとは、機能ごとにサービスとして独立させることを指します。マイクロサービス

        いまさら聞けないgRPCの基礎 - Qiita
      • GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog

        はじめに JCEXで実践しているAPIテストについて 単体テスト 負荷テスト なぜAPIの単体テストを行っているのか API単体テストで使用するパッケージ 実例によるAPI単体テストの環境構築 前提 ステップ1: テストしたいAPIの定義 ステップ2: テストの作成 ステップ3: APIの実装 ステップ4: DBを使ったテスト ステップ5: ヘルパー関数化 ステップ6: テーブル駆動テストに変える ステップ7: フィクスチャを使ったテスト まとめ おわりに はじめに こんにちは、enechainのGXデスクでエンジニアをしている@ejiです。 GXデスクは、『日本気候取引所 - Japan Climate Exchange』 (以下 JCEX) のサービス開発を担当しており、 私は主にBFFとバックエンドのAPIをGoで開発しています。バックエンドのAPIは gRPC を使用しています。

          GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog
        • Python、Node.js、C#のサンプルコード付き サービス間通信技術「gRPC」を学べる無料の電子書籍

          Googleによって開発され、オープンソース化された通信技術「gRPC」は、マイクロサービスアーキテクチャにおけるサービス間の通信手段としてはもとより、モバイルアプリケーションがサービスにアクセスする際のインタフェースとしても注目されています。 本eBookでは、連載「スキマ時間にこっそり学ぶ『gRPC』入門」全8回を収録。そもそもRPC(Remote Procedure Call)とはどのような通信技術なのか、gRPC誕生の背景や、gRPCの特徴、利点を解説しています。 第1回以降はC#、Python、Node.js、KotlinとAndroid、SwiftとiOS、Goとgrpc-gatewayなどさまざまなプログラミング言語、プラットフォームを取り上げ、gRPCサーバとクライアントを実装する方法や、サーバストリーミング、クライアントストリーミングを実装する方法を、サンプルコードととも

            Python、Node.js、C#のサンプルコード付き サービス間通信技術「gRPC」を学べる無料の電子書籍
          • gRPC Client on Cloudflare Workers

            Workers Tech Talks #1 で話した内容です。 https://workers-tech.connpass.com/event/287490/

              gRPC Client on Cloudflare Workers
            • マイクロサービス構成における NestJS での gRPC クライアントの運用戦略 - ドワンゴ教育サービス開発者ブログ

              はじめに はじめまして、バックエンドセクションの yukimochi です。 現在、N予備校ではバックエンドのアプリケーションの移行計画が進んでいます。 その一環で、一部のマイクロサービス間通信についても REST API + OpenAPI の現状から gRPC へと移行することになりました。 私の参画しているプロジェクトである教材入稿ツールでは TypeScript + NestJS を採用しており、結合している他マイクロサービスとの通信でgRPCを利用する際の gRPC クライアントと、そのスキーマ定義を担う proto の運用戦略、実現方法について記します。 proto ファイルと型定義パッケージの取り回しについて考える スキーマ定義である proto をどこに保存するか スキーマ定義である proto をどこに保存しておくかは、 proto のバージョン管理の観点で重要です。今回

                マイクロサービス構成における NestJS での gRPC クライアントの運用戦略 - ドワンゴ教育サービス開発者ブログ
              • UnityとC#で簡単にgRPCする in 2023

                Turing株式会社のUXチームでインターンをしている東大4年の三輪です。 自動運転のUXを向上させるため、UXチームでは自動運転の「可視化」ソフトウェアの開発に取り組んでいます。 このソフトウェアはTuringが販売する車のディスプレイに搭載される予定です。AIが認識している世界をユーザにも見える形で示すことで、ユーザは自動運転AIの振る舞いをよりよく把握することができるようになります。 画面は開発中のものです 可視化ソフトウェアは、自動運転AIの出力を受け取り、解釈し、Unity上で描画します。この際、自動運転AIと可視化ソフトウェアの間の通信はgRPCで行うことになっています。しかし、Unity上でのgRPCはさまざまな事情でやや複雑な構成を取る必要があります。 この記事では、UnityでgRPCサーバを実装するステップを解説します。 gRPC gRPCはRPC(Remote Pro

                  UnityとC#で簡単にgRPCする in 2023
                • Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論

                  ■イベント イマドキのC# .NET Web開発 〜gRPC, GraphQL, Blazorもあるよ〜 https://sansan.connpass.com/event/316664/ ■発表者 Sansan Engineering Unit Data Hubグループ 今村 有人 ■ Sansan Data Hub エンジニア採用情報 https://media.sansan-engineering.com/datahub-engineer

                    Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
                  • Connect RPC joins CNCF: gRPC you can bet your business on

                    Authored by Derek Perez Connect RPC, Buf’s family of fully protocol-conformant and battle-tested alternatives to Google’s gRPC project, has joined the Cloud Native Computing Foundation. We joined the CNCF to demonstrate our deep commitment to sustainably and responsibly growing Connect as a well-governed and community-led open source project. Today, Connect integrates seamlessly with gRPC systems

                      Connect RPC joins CNCF: gRPC you can bet your business on
                    • gRPC Federation: gRPC サービスのための Protocol Buffers を進化させるDSL | メルカリエンジニアリング

                      Merpay Engineering Productivity Team の goccy です。 gRPC Federation は、gRPC で通信する複数のサービスから得た結果を合成して返すようなサービスを簡単に作成するための仕組みです。DSL ( Domain Specific Language ) を Protocol Buffers 上で記述することで利用します。まずは、GraphQL(Apollo) Federation の gRPC 用のものだと考えるとわかりやすいと思います。2023年8月に OSS として公開し、先日 Public Roadmap を公開しました。2024/6月末を目標に Version 1.0 ( GA版 ) をリリースする予定です。また、最近は Protocol Buffers のエコシステムに参加しました。Protobuf Global Extens

                        gRPC Federation: gRPC サービスのための Protocol Buffers を進化させるDSL | メルカリエンジニアリング
                      • BufとProtobufで始めるモダンgRPC開発

                        Protocol Buffers(Protobuf)を用いた開発(主にgRPC)にはprotocのようなコンパイラが長い間使われてきました。 コード生成やドキュメントの作成、REST APIとしてのゲートウェイの実装など便利で柔軟なprotocプラグインが利用できる一方、そのためのコード生成コマンドは複雑になりがちです。 こういったProtobufを用いた開発に関わるさまざまな問題をBufは解決するためにBuf CLIやBuf Schema Registry、Connectプロトコルなどさまざまなツールやプロトコルを開発しました。 本書ではBufが開発したさまざまなツールやプロトコルを使用し、現代的でモダンなProtobuf開発について紹介します。

                          BufとProtobufで始めるモダンgRPC開発
                        • grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ

                          はじめに grpc-kotlin の実装に必要な要素 リクエスト・レスポンスクラス サービスクラス サーバークラス 普通に実装したときの不満点 不満1: 異なる関心事の混在 不満2: 共通処理 不満3: エラーハンドリング インターフェースを定義する validateAndConvertRequest process convertResponse エラーハンドリング おわりに We are hiring! & Kotlin Fest出展のお知らせ はじめに 過去にも何度か紹介しておりますが、現在開発中の新しい教材システムでは新たにgRPC通信によるKotlinサーバーを採用して開発が進められています。 blog.nnn.dev そして、技術選定の方針としてWebアプリケーションフレームワークはなるべくシンプルで薄くすることを決めたので、Spring Boot のような別フレームワークを介

                            grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ
                          • grpc-goのNewClient()を使うとbufconnを使ったテストがUnavailableでコケる件の対処法

                            TL;DR grpc-go v1.64.0からDial()やDialContext()がDeprecatedとなった 代わりに推奨されたNewClient()を使うとbufconnを使っているテストがUnavailable(name resolver error: produced zero addresses)で落ちる 初期化として resolver.SetDefaultScheme("passthrough") を突っ込むと動くよ 原因 gRPCクライアントを作成する際、従来のDial(), DialContext()ではデフォルトのネームリゾルバーは passthrough として作成されます。 これがNewClient()からは dns になったためです。 bufconnは passthrough であることが前提で作られているためエラーになります。 rpc error: code

                              grpc-goのNewClient()を使うとbufconnを使ったテストがUnavailableでコケる件の対処法
                            • DenoがプライベートなnpmレジストリやgRPCに対応、Node.js互換度向上でNext.jsアプリの実行も可能に。Deno 1.44で

                              DenoがプライベートなnpmレジストリやgRPCに対応、Node.js互換度向上でNext.jsアプリの実行も可能に。Deno 1.44で JavaScript/TypeScriptランタイムの「Deno」は、最新版のDeno 1.44でnpmのプライベートレジストリやgRPCに対応したことを発表しました。 Deno 1.44 is released! Private npm registries gRPC now supported Module loading & memory performance improvements LSP and compatibility enhancements Request.bytes() and Response.bytes() New lint rules DENO_FUTURE=1 And more... https://t.co/lx7f

                                DenoがプライベートなnpmレジストリやgRPCに対応、Node.js互換度向上でNext.jsアプリの実行も可能に。Deno 1.44で
                              • Rust の tonic で gRPC の Richer Error Model を扱う — HACK The Nikkei

                                この記事は Nikkei Advent Calendar 2023 および Rust Advent Calendar 2023 の 10 日目の記事です. はじめに Wave チームの何でも屋さん 伊東 です. 社内に ito さんがたくさんいるので区別が大変です. 最近嬉しかったことは短期インターンシップ参加者に Haskell 使いが2人もいたことです. 弊社にも静的型付け関数型プログラミング言語を普及したいです. さて、弊チームのサービスのバックエンドには gRPC を利用しています. gRPC はクライアント・サーバー間でスキーマ駆動開発をするのに便利なツールですがエラーハンドリングに少し癖があります. gRPC のエラーモデルにはシンプルだが柔軟性に欠ける Standard error model と柔軟だが互換性に欠ける Richer error model があります. St

                                  Rust の tonic で gRPC の Richer Error Model を扱う — HACK The Nikkei
                                • SQLからGo + gRPCに移行。ミイダスのユーザー検索を高速化対応|miidas_tech

                                  こんにちは。ミイダスTech Officeです。ミイダスにおけるユーザー検索の高速化を図るため、SQLからGo + gRPCへの移行を実施し、技術的な課題を解決しながら開発を進めてきました。 今回のインタビューでは、そのプロジェクトを担当した宮本さんと中田さんに詳細について話を聞きました。 ユーザー検索の高速化を目指すプロジェクトプロジェクトメンバーの役割分担宮本:私の主な役割は全体のアーキテクチャ設計と、それに基づいたテクニカルリードでした。具体的には、システム全体の設計方針を立案し、それがうまく動作するか検証するためのプロトタイプの開発やテストの実施、そしてシステムのパフォーマンスを測定するベンチマークテストの設計と実施を担当しました。私が設計したアーキテクチャに基づいて、具体的なコードの実装は中田さんや他のチームメンバーが担当しました。 問題が生じた際のトラブルシューティングを行うな

                                    SQLからGo + gRPCに移行。ミイダスのユーザー検索を高速化対応|miidas_tech
                                  • GitHub - mercari/grpc-federation: gRPC Federation generates a gRPC server by writing a custom option in Protocol Buffers

                                    Imagine a system with a backend of multiple microservices. Instead of the client directly communicating with each microservice, it's more efficient to use a dedicated service (BFF - Backend for Frontend) to aggregate information and send it back to the client. However, as the system grows, determining which team should handle the BFF service becomes unclear. This is where Federated Architecture, l

                                      GitHub - mercari/grpc-federation: gRPC Federation generates a gRPC server by writing a custom option in Protocol Buffers
                                    • 2024-04-07: AWS Message Processing Framework for .NET, .NET 7 EoS, grpc-dotnet 2.62.0 - WeekRef.NET

                                      2024-04-07: AWS Message Processing Framework for .NET, .NET 7 EoS, grpc-dotnet 2.62.0 トピックス Introducing the AWS Message Processing Framework for .NET (Preview) | Amazon Web Services https://aws.amazon.com/jp/blogs/developer/introducing-the-aws-message-processing-framework-for-net-preview/ AWS Message Processing Framework for .NET のプレビューが公開された。 .NET で AWS の SQS や EventBridge を使用してメッセージ処理を行うためのフレームワ

                                      • gRPC はじめからていねいに - Qiita

                                        はじめに 現在配属されているプロジェクトで、既存システムのマイクロサービス化対応を行っています。 その中でgRPCも使っているのですが、名前は聞いたことがあって、なんとなくは知っているけど、実際に触ったことがなかったので、これを機に基礎から学んでみようと思いました。 ということで、「完全に理解した」状態を一緒に目指しましょう! gRPCとは Googleが開発したRPC(Remote Procedure Call)1を実現するためのフレームワークです。 Protocol Buffersというバイナリ形式のシリアライズデータを利用し、データをシリアライズして高速な通信を実現します。 (Protocol Buffersがデファクトスタンダード) protoファイルと呼ばれるIDL(Interface Definition Language)にAPIの仕様を記述し、サーバサイドとクライアントサイ

                                          gRPC はじめからていねいに - Qiita
                                        • Why LinkedIn chose gRPC+Protobuf over REST+JSON: Q&A with Karthik Ramgopal and Min Chen

                                          InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architects. View an example

                                            Why LinkedIn chose gRPC+Protobuf over REST+JSON: Q&A with Karthik Ramgopal and Min Chen
                                          • GolangとCloud SpannerでgRPC APIを構築する #1 - Qiita

                                            この抜粋の内容は次のとおりです。 Cloud Spanner Emulator の導入 Spanner で CRUD gRPC API の実装: connect-go さらに詳しく知りたい方は読み続けてください。 2023年7月2回目です。 普段、ぼくたちの Database の第一の選択肢は、Cloud SQL です。 ですが、今後、可用性が求められるフェーズに対応するために、Cloud Spanner での開発について調査します。 Cloud Spanner は、今のサービス群で使うには高価です。最小サイズが Processing Unit になったとは言え。 一方で、強整合性を持ちながらグローバルな負荷分散が可能で、これを CockroachDB などで運用すると考えると妥当な価格であることも認識しています。 Cloud Spanner Emulator の導入 gRPC リクエスト

                                              GolangとCloud SpannerでgRPC APIを構築する #1 - Qiita
                                            • LinkedInがREST+JSONではなくgRPC+Protobufを選んだ理由:Karthik Ramgopal氏とMin Chen氏とのQ&A

                                              垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                LinkedInがREST+JSONではなくgRPC+Protobufを選んだ理由:Karthik Ramgopal氏とMin Chen氏とのQ&A
                                              • 【書き起こし】gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み – goccy【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング

                                                Merpay & Mercoin Tech Fest 2023 は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるEngineeringを知ることができるお祭りで、2023年8月22日(火)からの3日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み」の書き起こしです。 @goccy:それでは「gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み」というタイトルでメルペイ Engineer ProductivityチームのGoshimaが発表します。よろしくお願いします。 初めに自己紹介です。@goccyというアカウントで活動しています。2012年に新卒で株式会社MIXIに入り、

                                                  【書き起こし】gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み – goccy【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング
                                                • neue cc - Unity用のHTTP/2(gRPC) Client、YetAnotherHttpHandlerを公開しました

                                                  Unity用のHTTP/2(gRPC) Client、YetAnotherHttpHandlerを公開しました 2023-07-28 Cysharpから(主に)Unity用のHTTP/2, gRPC, MagicOnion用の通信ネットワーククライアントを公開しました。実装者は週刊.NET情報配信WeekRef.NETを運営している@mayukiさんです。 Cysharp/YetAnotherHttpHandler 何故これが必要なのかの背景情報としては、Synamon’s Engineer blog - Unityでもgrpc-dotnetを使ったgRPCがしたい が詳しいのですが、まず、.NETには2つのgRPC実装があります。googleが提供してきたgRPCのネイティブバインディングのGrpc.Core(C-Core)と、Microsoftが提供しているPure C#実装のgrpc

                                                  • GoとgRPCを用いたサービスベースアーキテクチャへの移行|ONE CAREER Tech Blog

                                                    導入こんにちは。ワンキャリアでバックエンドエンジニアをしている田中(@kakke18_perry)です。業務では、ONE CAREER CLOUDの開発に携わっており、リアーキテクチャの一環で、一部の機能をGo+gRPCでリプレイスしています。 本記事では、そのリプレイスにおけるアーキテクチャや技術の選定理由と振り返りについてお話します。 背景現在のワンキャリアではプロダクトごとのモノリシックなアーキテクチャを採用しており、メインとしてRuby on RailsとVue、AWSを使用しています。社内にもナレッジが多く、優れたフレームワークであることから、開発生産性の向上に大きく寄与してきました。 一方で、複数プロダクトを開発運用する中で「認知負荷の増大」という課題が顕在化しつつあります。ONE CAREERはリリースから9年、ONE CAREER CLOUDはリリースから3年経過しており、

                                                      GoとgRPCを用いたサービスベースアーキテクチャへの移行|ONE CAREER Tech Blog
                                                    • grpcでC#とpythonの通信をする - Qiita

                                                      はじめに grpcでC#からpythonへ通信をする方法をまとめました。 リポジトリ:https://github.com/kz-000/grpc_example プロジェクトの構成は以下のようになっています。 grpc_example ├ api (protoファイル) ├ client (C#) └ server (python) API 今回はIDを受け取り、ユーザー名を返すような簡単なAPIを実装しようと思います。 //user.ptoro syntax = "proto3"; package api; message GetUserRequest { int32 Id= 1; } message GetUserResponse { string Name = 1; } service UserService{ rpc GetUser (GetUserRequest) return

                                                        grpcでC#とpythonの通信をする - Qiita
                                                      • curlコマンドを知らなくてもIntelliJ IDEAでAPI、gRPCの動作確認が簡単にできる - asoview! Tech Blog

                                                        これはアソビューAdvent Calendar 2023の9日目です。🎄 今年のアドベントカレンダーは2面公開なので、ぜひそちらも御覧ください! こんにちは、バックエンドエンジニアの近藤です。 今回、IntelliJ IDEAのHTTPクライアントを用いて、API、gRPCの動作確認が簡単にできることを紹介します。 また、このブログに記載された手順を用いれば、同様のリクエストを実現するためのcurlコマンドも取得できますので、必要に応じて適宜ご活用ください。 APIやgRPCを動作確認する環境構築については割愛させていただきます。 ブログでは、Java(Spring Boot)を用いてコードを書いています。 アソビューでは、IntelliJ IDEA Ultimateを使用しており、ブログを書いた時点ではHTTPクライアントはUltimateでのみ利用できる機能となっております。 ple

                                                          curlコマンドを知らなくてもIntelliJ IDEAでAPI、gRPCの動作確認が簡単にできる - asoview! Tech Blog
                                                        1