並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

protocolbuffersの検索結果1 - 22 件 / 22件

  • マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ マイクロサービスにおける通信方式の選択について、おおた(ota42y)さんが、GraphQL・gRPC・OpenAPIといった主なWeb APIスキーマの管理の利点と使い分けを解説します。 近年流行しているマイクロサービスアーキテクチャにおいては、「どういった通信方式を選ぶか」が開発の効率やサービスの信頼性、パフォーマンスを大きく左右します。この記事では、GraphQL・gRPC・OpenAPIそれぞれの利点と適切な使い分けについて解説します。 マイクロサービスにおけるWeb API管理の重要性 Schema First DevelopmentとWeb API 人ではなくプログラムが処理できるよう管理する Web APIのインタフェース定義手法の比較 OpenAPI ─ R

      マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ|ハイクラス転職・求人情報サイト AMBI(アンビ)
    • ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ

      顛末 昨日、こういう感じのツイートを見かけかました。 ポケモンほどの大規模なゲームでHaxe採用されるの初めてなのではhttps://t.co/i8lCJx0NWh— neguse (@neguse) November 14, 2019 結果、このような形となりました。 これは、Haxeという高度な型システム及びマクロシステムを持つ静的型付き言語であり、マルチプラットフォームでC++, JavaScript, C#, Java, Python, PHP, Luaなどのターゲットに出力可能なプログラミング言語の現実世界での利用状況を調査するために購入されたものです pic.twitter.com/UnaZsMrH9I— てろるー (@terurou) November 16, 2019 調査結果 確かにポケモン ソード/シールドの知的財産の表記には、Haxeの記載がありました。 確かにポケモ

        ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ
      • 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 エンジニアブログ
        • rust.tokyo のまとめ・感想 - mizchi's blog

          このブログを書いてる経緯 rust.tokyo 楽しみ!絶対行く!といってたのに申込みを忘れたところ、じゃあスタッフとしてブログを書けという話になったので、ブロガー枠?らしく感想を書きます。とはいえ書けるのは見たやつだけです。 https://rust.tokyo/sessions# 前提 自分は低レベルプログラミングは詳しくないです。年に3日ぐらい思い出したように Rust 勉強することがある。 wasm 周りのエコシステムはずっと追ってる。 会場の雰囲気 組み込み勢とブロックチェーン勢が多そうな気配を感じた。 Visualization of mechanical CAD drawings using WebAssembly and WebGL Aki / CADDi (発表資料見つからず) 概要 Computer aided design (CAD) models used in m

            rust.tokyo のまとめ・感想 - mizchi's blog
          • Web API に秩序を与える Protocol Buffers / Protocol Buffers for Web API #builderscon

            builderscon tokyo 2019 で「Web API に秩序を与える Protocol Buffers」というタイトルで発表した資料です。 Protocol Buffers を利用して Web API の Schema 管理をするという観点で、豊富な実例とともにその手法やメリット・デメリットについて話しました。 cf. https://builderscon.io 追記: 61ページ目で Protocol Buffers を利用する際の注意点として後方互換性が壊れるケースの話をしましたが、自分たちが経験したのは gRPC + grpc-gateway 構成特有のケースだったので記述を修正しました。

              Web API に秩序を与える Protocol Buffers / Protocol Buffers for Web API #builderscon
            • 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
                • Protocol BuffersでgRPCとGraphQL両対応のコードを生成するプラグイン書いた - blog::wnotes.net

                  gRPC、あるいはGraphQL 昨今のAPI開発にgRPC、またはGraphQLを採用するケースは増えてきていて、ドメインロジックをgRPCで実装して、フロントエンド(BFF)はGraphQL経由のHTTP一本で取得するのはベストプラクティスの一つだと思っています。 とはいえ人的リソースや管理の問題から、ProtobufとGraphQLスキーマを両方メンテナンスしていくのはとてもつらくて、 他のエントリでも結果としてどちらかに寄せました、というケースをよく目にしました。 実際自分もやってはみたものの、両方のメンテナンスをしていくのは相当辛くて、Protobufを直してgRPCのI/Fを変更、合わせてGraphQLのSchemaにも手を入れてフロントに渡して…というのは管理コストに見合わないな、ってことで諦めました(今は grpc/grpc-web 、または grpc-ecosystem/

                  • A new Go API for Protocol Buffers - The Go Programming Language

                    Joe Tsai, Damien Neil, and Herbie Ong 2 March 2020 Introduction We are pleased to announce the release of a major revision of the Go API for protocol buffers, Google’s language-neutral data interchange format. Motivations for a new API The first protocol buffer bindings for Go were announced by Rob Pike in March of 2010. Go 1 would not be released for another two years. In the decade since that fi

                      A new Go API for Protocol Buffers - The Go Programming Language
                    • 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
                      • Protocol Buffersのスキーマを利用した開発

                        Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

                          Protocol Buffersのスキーマを利用した開発
                        • カジュアルに使えるスタブサーバとして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
                          • Vitess | A new Protocol Buffers generator for Go

                            Although the main interface between applications and a Vitess database is through the MySQL protocol, Vitess is a large and complex distributed system, and all the communication between the different services in a Vitess cluster is performed through GRPC. Because of this, all service boundaries and messages between Vitess' systems are specified using Protocol Buffers. The history of Vitess' integr

                              Vitess | A new Protocol Buffers generator for Go
                            • GitHub - qnighy/bqpb: BigQuery UDF to parse protobuf messages

                              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.

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

                                Timo Stamm and Steve Ayers on Feb 28, 2023/6 min read 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

                                  Connect for Node.js is now available
                                • 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 | サイボウズエンジニアのブログ
                                  • 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.
                                    • 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

                                      • Protocol Buffers(proto3)でoptionalをどう扱うか - Qiita

                                        2021.4.14 追記 proto3で削除されたoptionalですがv3.15(experimentalオプションを利用する場合はv3.12)から正式に実装されたため、それ以降のバージョンを利用する場合は素直にoptionalを利用してもらうのがいいと思います! https://github.com/protocolbuffers/protobuf/releases/tag/v3.15.0 Protocol Buffersはproto3でrequiredとoptionalが削除されました。 そもそも削除された経緯に関しては、@qsonaさんのエントリーにて、分かりやすくまとめて下さっています。 そこで課題になるのが、proto3において各フィールドは全てデフォルト値を持つため、デフォルト値が設定されたフィールドが利用側から 1. 意図的にセットされたデフォルト値と同様の値 2. 存在し

                                          Protocol Buffers(proto3)でoptionalをどう扱うか - Qiita
                                        • 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-

                                          • protocの使い方 - Carpe Diem

                                            概要 christina04.hatenablog.com で紹介したprotoeasyがリンクごと消えて使えなくなったので、protocの使い方を整理するために書きます。 環境 libprotoc 3.9.1 使い方 Goを例に基本的な使い方を説明します。 SRC_DIRディレクトリに.protoファイルがある場合、基本的には以下のようにコンパイルを実行します。 $ protoc -I./SRC_DIR --go_out=./OUT_DIR ./SRC_DIR/*.proto 各オプションをそれぞれ説明していきます。 -Iオプション -Iオプションは.protoファイルでimportするファイルのPATHです。 --proto_pathの短縮形です。 機能 -Iオプションを指定すると、 .protoファイルでのimportを使える import pathを省略できる と言ったことが可能に

                                              protocの使い方 - Carpe Diem
                                            • Decoding protobuf messages using AWS Lambda | Amazon Web Services

                                              AWS Compute Blog Decoding protobuf messages using AWS Lambda This post is written by Ennio Pastore, Data Lab Architect. Protobuf is short for protocol buffers, which are language- and platform-neutral mechanisms for serializing structured data. Compared to XML or JSON the size of the messages is smaller, so the network transfer is faster, reducing latency in the interactions between applications.

                                                Decoding protobuf messages using AWS Lambda | Amazon Web Services
                                              1