並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 50件

新着順 人気順

protobufの検索結果1 - 40 件 / 50件

protobufに関するエントリは50件あります。 gRPCgolanggo などが関連タグです。 人気エントリには 『DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ』などがあります。
  • DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ

    こんにちは。バクラク事業部 Enabling チームの @izumin5210 です。最近「HUNTER×HUNTER」の既刊を全部読みました。 この記事はLayerXテックアドカレ2023の9日目の記事です。 前回「1人目データアナリストとしてデータチームに異動しました 」 次回「Slack × Zapier × MiroでKPTでの振り返りをラクにする」 RDB や KVS などのデータ保存先において、データを正規化せずにそのまま保存したいと思うことはありませんか? 8月にリリースされた「バクラク請求書発行」というプロダクトには「柔軟なレイアウトカスタマイズ」機能が搭載されています。リンク先の画面操作イメージを見ていただくと、この機能の雰囲気を理解していただけると思います。この機能が扱うレイアウトデータはまさに「関係の正規化をせずに保存したいデータ」でした。 bakuraku.jp こ

      DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ
    • 至高のGoプラグイン用ツールを作った - knqyf263's blog

      最近YouTuberのリュウジの料理を毎日作っているので至高とか無限とか言いがちですが個人の感想です。万人にとって美味しい料理はないように、万人にとって至高のツールは存在しません(何の話?)。ちなみに公開してすぐバグを見つけてしまったので全然至高じゃありませんでした。 要約 概要 特徴 使い方 流れ 事前準備 インタフェースの定義 SDKの生成 プラグインの実装 ホストの実装 実行 発展 Host Functions ファイルアクセス その他 苦労した点 まとめ 要約 Goでプラグイン機構を実現するためのツールを作りました。Protocol Buffersのスキーマからコードを自動生成するので簡単にプラグイン機構を実現可能です。内部的にはWebAssembly(Wasm)を使っています。最近はWasmはブラウザ外での利活用が進んでおり、今回のツールもブラウザは一切関係ないです。Wasmはサ

        至高のGoプラグイン用ツールを作った - knqyf263's blog
      • Connect: A better gRPC · Buf

        Today we’re releasing Connect, a slim framework for building browser and gRPC-compatible HTTP APIs. Connect is production-ready — focused, simple, and debuggable — and it’s fully compatible with gRPC clients and servers. If you’re frustrated by the complexity and instability of today’s gRPC libraries, we think you’ll find Connect a breath of fresh air. connect-go is available now under an Apache 2

          Connect: A better gRPC · Buf
        • JSONとBigInt

          ちょっと前にblueskyで見かけた話題。もとは「GraphQLのスキーマではintが32ビットしかなくて、64ビット整数とかないのがイケてない」といった話だったかなと思う。直感的にはこれは「Javascriptではすべてが倍精度浮動小数点数だから64bit intがないから」ということになるが、よくよく調べてみるといろいろややこしい歴史的事情があるようだ。 たしかにJSにはもともとひとつのNumber型しかなく、いわゆるdouble型(倍精度浮動小数点)だけで数値を表現してきた。IEEE754の倍精度浮動小数点数は仮数部が52ビットあるので、実際には32ビット整数ていどであれば全て誤差なく表現できる。なので32ビット整数または倍精度浮動小数点数がどちらも使えるというふうに理解されてきた。 そうはいっても不便なので、現代のJSにはBigIntがある。ES2020で導入されたらしい。ただし普

            JSONとBigInt
          • Go 1.24で入ったGo製ツールの管理機能が便利だったのでおすすめしたい - 焼売飯店

            Go 1.24の新機能で、Go製ツールのバージョンをGo Modulesで管理できるようになったので、その概要と便利なポイントを紹介していきます。 これまでのGo製ツールのバージョン管理について これまで、Go製ツールのバージョンを管理する方法として標準的なものはありませんでした。 そのため、仕方なく直接 go install github.com/XXX/cmd/ツール名@バージョン をコマンドとして打たざるを得ないシーンが多々ありました。(過去の方法については今回あまり深堀りしません) これからのGo製ツールのバージョン管理について Go 1.24からGo組み込みの機能として提供される新しいツール管理方法は、従来のものよりずっと手軽になっています。 使い方が非常に簡単なので、ここで紹介する内容はGo以外のプロジェクトでも使えると思っています。Go Modulesを既存のプロジェクトに同

              Go 1.24で入ったGo製ツールの管理機能が便利だったのでおすすめしたい - 焼売飯店
            • The Protobuf Language Specification

              At Buf, our goal is to improve the way software systems integrate by making schema-driven development a "pit of success". And we've put our money on Protobuf as the winning way to describe those schemas. We are expanding on the work of the Protobuf team by providing the community a complete language spec. Protobuf is the most stable and widely adopted IDL today. By building on Protobuf, we are sta

                The Protobuf Language Specification
              • モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog

                こんにちは。モノタロウのTechBlog編集チームです。 モノタロウではECサイトでのお客様体験の向上を目指して、日々改善に取り組んでいます。 商品の出荷目安などの出荷関連情報は重要な要素の1つになります。 今回は、出荷関連情報の正確性を改善するとともにシステムの変更容易性を向上させるためにマイクロサービス化に取り組んだ活動をインタビューしました。 自己紹介 納期表示を高度化する サプライヤ在庫連携機能開発のつらみ AVLのマイクロサービス開発のすすめ方 リリース・監視・その後の展開 おわりに 今回インタビューしたみなさん 自己紹介 山崎 章裕 ECシステムエンジニアリング部門 開発生産性グループ、プラットフォームエンジニアリング部門 CTO-Officeグループ AVLチーム兼務 2019年8月に入社し、主にECサイトの注文・配送周りのプロジェクトにテックリードとして関わる。またECサイ

                  モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog
                • ProtobufでREST APIを快適に開発する方法のご紹介 - TIER IV Tech Blog

                  こんにちは、ティアフォーで認証認可基盤を開発している澤田です。 最近取り入れたProtobufで、素晴らしいREST APIの開発体験をしたのでご紹介します。 なお、ティアフォーではマイクロサービスを支える認証認可基盤を一緒に開発いただけるメンバーを募集しています。ご興味のある方は下記ページからご応募ください。 herp.careers 実現したかったこと マイクロサービス間連携のAPI開発において、以下の条件を満たすやり方を探していました。 スキーマを最初に定義してリクエストとレスポンスの型が自動で生成される ドキュメント(openapi.yaml)が生成される バリデーションが定義できて、その実装が自動で生成される 実現方法 Go言語で開発する場合はgo-swaggerでも実現できますが、本記事では、Protobufで実現できるgRPC Gatewayとprotoc-gen-valid

                    ProtobufでREST APIを快適に開発する方法のご紹介 - TIER IV Tech Blog
                  • みんなで育てる GraphQL スキーマ, それを支える Protobuf / GraphQL and Protobuf #tech_stand

                    TECH STAND #7 発表資料 https://standfm.connpass.com/event/239750/ これまでのあらすじ - GraphQL 導入の反省…

                      みんなで育てる GraphQL スキーマ, それを支える Protobuf / GraphQL and Protobuf #tech_stand
                    • Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser · Buf

                      Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser Today we’re releasing connect-web, an idiomatic TypeScript library for calling RPC servers from web browsers. If you’ve been unimpressed by gRPC and Protobuf on the web before, now’s the time to take another look: connect-web generates modern TypeScript that’s just as ergonomic as a hand-written REST client. Client

                        Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser · Buf
                      • 自作protocプラグインで実現するスキーマベースの認可処理 - enechain Tech Blog

                        はじめに なぜprotobufに認可設定を組み込もうと思ったのか? 前提知識 protobufのプラグインの仕組み protocコマンドのインターフェース 実装 今回のお題 プラグインの開発 拡張プラグインの実行 生成したmapを使った認可処理 最後に はじめに こんにちは、enechainのApplication Platform Deskでエンジニアをしているendoです。 Application Platform Deskは、全プロダクトが横断で抱える課題を解決するチームです。 ※「開発者体験の向上を目指す」という意味ではPlatform Engineeringチームと近い位置づけですが、もう少しアプリケーション開発寄りの領域を担当しています。 私達のチームでは、protobufで自動生成したGolangコードを使ってAPI Endpoint毎にロール単位の認可処理ができる仕組みを構

                          自作protocプラグインで実現するスキーマベースの認可処理 - enechain Tech Blog
                        • AWS監視の効率とコストを最適化:OTel 1.0形式(Protobuf)サポート開始

                          AWS監視の効率とコストを最適化:OTel 1.0形式(Protobuf)サポート開始 AWS CloudWatch Metric Streams連携における、高効率なProtobuf(OTel 1.0)形式への移行手順と、JSON(OTel 0.7)形式とのGZIP圧縮効率の技術的な違いを解説します。 1. AWS OTEL 1.0(Protobuf)形式に正式対応 多くのお客様が、AWS環境のオブザーバビリティを担保するために、New RelicとAWS CloudWatch Metric Streamsを連携させています。 しかし、監視対象のAWSリソースが増加するにつれ、CloudWatchからNew Relicへ転送されるメトリクスデータの量もまた増大します。特に、従来の opentelemetry0.7(JSONベース)形式ではデータサイズが大きくなりがちで、データ転送コストや

                            AWS監視の効率とコストを最適化:OTel 1.0形式(Protobuf)サポート開始
                          • カジュアルに使えるスタブサーバとしてhttpstubとgrpcstubを作って使っている - Copy/Cut/Paste/Hatena

                            このエントリは Go Advent Calendar 2023 12 日目の記事です。 Goのテスティングパッケージで一番好きなパッケージは net/http/httptest です。 テスト実行時に実際にHTTPサーバを立ててHTTPリクエストを受けるというシンプルかつ強力なアプローチが良いです。 クライアント側にエンドポイントを変える仕組みさえあればクライアントのリクエストを受け付ける形でテストを構築することができるので、選択肢に入れておきたいテスト構成です。 ところで、私たちは runn (ランエヌ)というシナリオテスティングツールを開発しています。 github.com runnはHTTPクライアントでありgRPCクライアントでもあるのですが*1、そのrunn自体のテストのためにhttpstubとgrpcstubを作って使用しています。 httpstub github.com ht

                              カジュアルに使えるスタブサーバとしてhttpstubとgrpcstubを作って使っている - Copy/Cut/Paste/Hatena
                            • GoogleがProtobufとgRPCのRust公式サポート発表 - 広がる賛否両論 - Qiita

                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? RustエコシステムでProtobufとgRPCを使用する開発者にとって重要な転機が訪れています。GoogleがRustでのProtobufとgRPCの公式サポートを発表したものの、その実装方針がコミュニティに波紋を広げています。 何が起こっているのか GoogleによるRust向けProtobuf公式サポートが進行しています。最も象徴的な変化は、これまでstepancheg氏が個人で開発していたprotobufクレートの所有権がGoogleに移譲されたことです。crates.ioを確認すると、バージョン3.x系までは従来の開発者による

                                GoogleがProtobufとgRPCのRust公式サポート発表 - 広がる賛否両論 - Qiita
                              • Protocol Buffersのメディアタイプ ”application/protobuf” がIANA登録へ - ASnoKaze blog

                                Protocol Buffersのメディアタイプとして”application/protobuf”などをIANAに登録する動きがある。これにより、Protocol Buffersを返すHTTPレスポンスで指定するContent-Typeヘッダの値が明確になる。 Media Type Registration for Protocol Buffers 現在はIETFに『Media Type Registration for Protocol Buffers』というDraftが提出されているところである。(RFC6838によると、Standards TreeではRFCが必要。) Draftでは下記のメディアタイプの登録している application/protobuf application/protobuf+json また、非推奨としつつも慣習的に使われていた下記もエイリアスとして登録してい

                                  Protocol Buffersのメディアタイプ ”application/protobuf” がIANA登録へ - ASnoKaze blog
                                • Data Contractに向けたProtocol Buffersの調査 - yasuhisa's blog

                                  背景: データ品質を担保するにはデータソースの品質が重要 データソースの品質を担保する手段としてのData Contract Data Contractの表現方法の一つとしてのProtocol Buffers Data ContractとしてProtocol Buffersを使う データの入出力を一箇所に集約、Protocol Buffersで抑えるパターン ストレージのスキーマをProtocol Buffersで抑えるパターン 発展的な話題 & 読書会の案内 参考文献 背景: データ品質を担保するにはデータソースの品質が重要 私はデータエンジニアをしており、DWHやデータマートのデータ品質について考えることが多い。BigQueryなどにデータが取り込まれた後のレイヤリングやテスト、改善に向けたデータ品質の可視化について、以前発表した。 データが取り込まれた後の整理は進んでいるものの、やは

                                    Data Contractに向けたProtocol Buffersの調査 - yasuhisa's blog
                                  • Goの型安全性で実現する、複数プロダクトを横断する権限管理

                                    はじめに こんにちは。アカウント基盤開発部でエンジニアをしている ishikawa-pro です。 今回は、Go の型システムを活用したバクラクの権限管理の仕組みについて紹介します。 この記事は、 Layerx.go#4 で登壇した内容をベースにしています。 バクラクは「申請・経費精算」「ビジネスカード」「請求書発行」「勤怠」など複数のプロダクトが1つのアカウント基盤の上で動いています。私たちのチームは、その共通管理(テナント・アカウント管理)や認証・認可を担当しています。 権限管理は、ひとたび間違えれば「見えてはいけないデータが見える」「できてはいけない操作ができる」といった事故に直結する、セキュリティの要です。しかもバクラクはプロダクトが増え続けるため、「誰がどの操作をできるのか」の組み合わせは時間とともに爆発的に増えていきます。 新しいプロダクトやロールが増えるたびに人手で管理を広げ

                                      Goの型安全性で実現する、複数プロダクトを横断する権限管理
                                    • Protocol Buffersの一元管理 - enechain Tech Blog

                                      この記事はenechain Advent Calendar 2024の20日目の記事です。 はじめに 背景 proto定義の一元管理 ディレクトリ構成 パッケージ公開のワークフロー 利用推進のための工夫 開発用ワークフローの整備 初期セットアップの自動化 コードメンテナンスの役割分担 おわりに はじめに こんにちは、エンジニアの青戸です。 enechainでは複数のプロダクトが利用する機能をマイクロサービスとして共通化する取り組みを進めており、APIの定義にはProtocol Buffersを利用しています。本記事では、proto定義の管理や公開を効率化するための取り組みについて紹介します。 背景 enechainではエネルギー取引にまつわる様々な課題を多方面から解決するために次々と新たなプロダクトが立ち上がっています。プロダクト数が増えるにつれて、認証認可や外部サービスとの連携等、複数の

                                        Protocol Buffersの一元管理 - enechain Tech Blog
                                      • RustでProtobufを使ったモダンなスキーマ駆動開発の道を模索する

                                        本記事はRust Advent Calendar2025の24日目の記事です。 はじめのはじめ 最近、念願のRustデビューしました。加えて、ここ最近Protobufによるスキーマ開発を推しているのでRustでProtobufを使った開発をする方法について検証したのでその備忘録です。 はじめに ProtobufやgRPCは歴史的背景みたいなものがけっこうあると思っていて、加えて言語に依存しない開発を可能とするというメリットの反面言語ごとに実装内容やサポート内容が微妙に異なるといった問題もあり、公式ライブラリとサードパーティー製のライブラリが混在しているのも混乱の元になっているみたいな印象を筆者は持っています。 さらに、Protobufスキーマからコード生成するためのprotobufコンパイラには長らくprotocが使わていたと思いますがこれがいまいち使いづらいというか決して開発体験の良いも

                                          RustでProtobufを使ったモダンなスキーマ駆動開発の道を模索する
                                        • 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 | メルカリエンジニアリング
                                          • Go で Protocol Buffer で JSON エンコード・デコードする

                                            この記事は Magic Moment Advent Calendar 2024 17 日目の記事です。 メリークリスマスイブ!🎄 Magic Moment ソフトウェアエンジニアの scent-y です。 弊社では特定の時点でのデータの状態をスナップショットとして DB にそのまま保存したいケースがあり、そういったデータをスキーマ定義してアプリケーションコードで扱いやすくするために、Protocol Buffers を活用しています。 Protobuf は構造化されたデータを言語やプラットフォームに依存せずにシリアライズすることを可能にします。 Protobuf を採用している理由としては、単に JSON で永続化するだけだとスキーマの内容が制約されず、異なるサービス間で参照したい際に扱いづらかったりするので、メンテナンス性を考慮して Protobuf を採用しています。 ドキュメントに

                                              Go で Protocol Buffer で JSON エンコード・デコードする
                                            • Replacing Protobuf with Rust to go 5 times faster - PgDog

                                              The process The first step is always profiling. We use samply, which integrates nicely with the Firefox profiler. Samply is a sampling profiler: it measures how much time code spends running CPU instructions in each function. It works by inspecting the application call stack thousands of times per second. The more time is spent inside a particular function (or span, as they are typically called),

                                                Replacing Protobuf with Rust to go 5 times faster - PgDog
                                              • より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入

                                                "I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)

                                                  より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
                                                • BufとProtobufで始めるモダンgRPC開発

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

                                                    BufとProtobufで始めるモダンgRPC開発
                                                  • GitHub - qnighy/bqpb: BigQuery UDF to parse protobuf messages

                                                    CREATE TEMP FUNCTION parseProtobuf(input BYTES, messageType STRING, typedefs JSON) RETURNS JSON DETERMINISTIC LANGUAGE js AS r""" // bqpb v0.1.0 // (c) 2023, Masaki Hara. Licensed under the MIT License. "use strict";function t(t){ const n=(t+"=").indexOf("="),e=new Uint8Array(.75*n|0);for(let r=0;n>r;r++){ const n=t.charCodeAt(r),o=.75*r+.75|0,i=n-(96>n?64>n?48>n?47>n?-19:-16:-4:65:71)<<2+r%4*2 ;e

                                                      GitHub - qnighy/bqpb: BigQuery UDF to parse protobuf messages
                                                    • Connect for Node.js is now available · Buf

                                                      When we announced Connect-Web a few months ago, we were thrilled to finally bring Connect to JavaScript and, more specifically, to the browser. Since then, we’ve seen usage continue to grow and have received valuable feedback from the community. When Connect-Web was released, however, we promised that we’d soon provide a solution to extend the benefits of Connect from the frontend to the backend.

                                                        Connect for Node.js is now available · Buf
                                                      • protolintの自作pluginによるprotoファイルのレビュー負荷軽減のための取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                        こんにちは。cybozu.com Cloud Platformチームの pddg です。Cloud Platformチームでは現在、精力的に cybozu.com のインフラ基盤の移行に取り組んでいます*1。その取り組みの一環として、gRPCを用いたスキーマファーストな開発を推進しています。 今回はスキーマを記述したprotoファイルのレビューにおいて一部のレビュー項目をCIで自動的に確認されるようにし、レビュワーの負荷を軽減できたのでその方法についてご紹介します。 ※ これは Cybozu Advent Calendar 2022 15日目の記事です。 背景 cybozu.com のバックエンドでは、これまではサービスのAPIのスキーマをドキュメント等によりカバーしてきました。これはその実装チームが整備し、適宜更新していくものを指します。しかし、こういったドキュメントはしばしばメンテされ

                                                          protolintの自作pluginによるprotoファイルのレビュー負荷軽減のための取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                        • Practical API Design at Netflix, Part 1: Using Protobuf FieldMask

                                                          By Alex Borysov, Ricky Gardiner BackgroundAt Netflix, we heavily use gRPC for the purpose of backend to backend communication. When we process a request it is often beneficial to know which fields the caller is interested in and which ones they ignore. Some response fields can be expensive to compute, some fields can require remote calls to other services. Remote calls are never free; they impose

                                                            Practical API Design at Netflix, Part 1: Using Protobuf FieldMask
                                                          • Connect

                                                            Simple, reliable, interoperable.Protobuf RPC that works.Connect is a family of libraries for building browser and gRPC-compatible APIs. If you're tired of hand-written boilerplate and turned off by massive frameworks, Connect is for you.

                                                              Connect
                                                            • Go Protobuf: The new Opaque API - The Go Programming Language

                                                              [Protocol Buffers (Protobuf) is Google’s language-neutral data interchange format. See protobuf.dev.] Back in March 2020, we released the google.golang.org/protobuf module, a major overhaul of the Go Protobuf API. This package introduced first-class support for reflection, a dynamicpb implementation and the protocmp package for easier testing. That release introduced a new protobuf module with a n

                                                                Go Protobuf: The new Opaque API - The Go Programming Language
                                                              • GitHub - yoheimuta/protolint: A pluggable linter and fixer to enforce Protocol Buffer style and conventions.

                                                                protolint is the pluggable linting/fixing utility for Protocol Buffer files (proto2+proto3): Runs fast because this works without compiler. Easy to follow the official style guide. The rules and the style guide correspond to each other exactly. Fixer automatically fixes all the possible official style guide violations. Allows to disable rules with a comment in a Protocol Buffer file. It is useful

                                                                  GitHub - yoheimuta/protolint: A pluggable linter and fixer to enforce Protocol Buffer style and conventions.
                                                                • GitHub - googleapis/api-linter: A linter for APIs defined in protocol buffers.

                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                    GitHub - googleapis/api-linter: A linter for APIs defined in protocol buffers.
                                                                  • GitHub - qaware/protocurl: protoCURL is cURL for Protobuf: The command-line tool for interacting with Protobuf over HTTP REST endpoints using human-readable text formats

                                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                      GitHub - qaware/protocurl: protoCURL is cURL for Protobuf: The command-line tool for interacting with Protobuf over HTTP REST endpoints using human-readable text formats
                                                                    • ASCII protocol buffers as config files

                                                                      Writing Software, technology, sysadmin war stories, and more. While I don't go on the Orange Site any more, I still make enough trips through the larger space of similar sites to get some idea of what people are talking about. Last week, the topic of interest seemed to be YAML and how evil it is. I can't argue with that. Every time I've crossed paths with it, I've been irritated by both it and who

                                                                      • 自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜

                                                                        Gopher's Gatheringでの発表資料です。 https://connpass.com/event/329963/

                                                                          自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜
                                                                        • Proto Best Practices

                                                                          Clients and servers are never updated at exactly the same time - even when you try to update them at the same time. One or the other may get rolled back. Don’t assume that you can make a breaking change and it’ll be okay because the client and server are in sync. Don’t Re-use a Tag NumberNever re-use a tag number. It messes up deserialization. Even if you think no one is using the field, don’t re-

                                                                          • Goの型安全性で実現する複数プロダクトの権限管理

                                                                            Goの Defined Type と protobuf コード生成を活用し、複数プロダクトにまたがる権限管理をコンパイル時に安全に保つ手法を紹介します

                                                                              Goの型安全性で実現する複数プロダクトの権限管理
                                                                            • gRPCでFieldMaskを使う(取得編) - Carpe Diem

                                                                              概要 クライアントデバイスが多様化する中、UIに必要なデータもそれぞれ異なるためAPIのオーバーフェッチ(不要なデータの取りすぎ)が課題になってきます。 またマイクロサービス間の通信でも、例えばマスタ系データのうち必要なデータだけ取得して利用したいケースは多々あります。 かと言ってその度に必要最低限のデータを取得するメソッドを用意するのは開発が大変ですし、逆に細かいデータばかりのgRPCを用意すると今度はアンダーフェッチ(データが足りなくて複数回コールが必要になる)が発生します。 GraphQLでは欲しいデータをクライアント側が明示的に要求するのでオーバーフェッチが発生しないというメリットがありますが、gRPCではFieldMaskという機能があります。 今回はFieldMaskを使って余分なデータを返さない方法を説明します。 環境 Go v1.18.3 protoc-gen-go v1.

                                                                                gRPCでFieldMaskを使う(取得編) - Carpe Diem
                                                                              • Protocol Buffersで実現するWINTICKETのスキーマ駆動データ基盤 | CyberAgent Developers Blog

                                                                                目次 はじめに 抱えていた課題 解決策: スキーマ駆動開発の導入 カスタムプラグインの実装 運用のフロー 導入してみて まとめ はじめに 株式会社 WinTicket でWebエンジニアをしている原島(@1keiuu)です。 Web開発を主に担当しつつ兼任でデータマネジメントチームにも在籍しています。 WINTICKETはサービス開始から6年以上が経ちますが、データマネジメントチームは比較的新しく少人数のチームです。 専任で担当できるエンジニアがいない期間もあり、事業の成長に対してデータマネジメントに関する課題がいくつかありました。 本記事ではクライアントエンジニアとしてログ実装に関して抱えていた課題とその解決策を紹介します。 抱えていた課題 WINTICKETではWeb、App(ネイティブアプリ)、Serverの3つのプラットフォームから、クリックや投票といったユーザーの行動ログを社内の

                                                                                  Protocol Buffersで実現するWINTICKETのスキーマ駆動データ基盤 | CyberAgent Developers Blog
                                                                                • GitHub - 6over3/bebop: 🎷No ceremony, just code. Blazing fast, typesafe binary serialization.

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - 6over3/bebop: 🎷No ceremony, just code. Blazing fast, typesafe binary serialization.

                                                                                  新着記事