タグ

2024年7月29日のブックマーク (11件)

  • protocプラグインとカスタムオプション - Qiita

    以前の記事ではprotocプラグインの書き方を紹介したが、実は1つ問題があった。 実用的なプラグインを書こうとした場合に、しばしば生成時に必要な、ドメイン固有の情報が足りないのである。稿ではそれを補うカスタムオプションの話をする。 ここでもう一度確認しよう。protocのプラグインはProtocol Buffersのスキーマを読んで任意の処理を行える仕組みだ。それはCodeGeneratorRequest内のFileDescriptorProto messageを読み取って任意のバイト列を出力し、出力を受け取ったprotocが指定通りにファイルにバイト列を書き込んでくれる。 ただ、FileDescriptorProtoはprotobufのスキーマ言語の文法をprotobufメッセージとして表現したものに過ぎないから、極めて一般的なデータ構造とサービス定義を表現する能力しか持たない。プログ

    protocプラグインとカスタムオプション - Qiita
    syou6162
    syou6162 2024/07/29
  • Protobufでスキーマ変更を安全に行う方法 - Qiita

    この記事について Money Forward Engineering 2 Advent Calendar 2023 - Adventar の 20日目 の記事です。 はじめに Protobuf使っていますか? 私はKafkaでメッセージをやり取りするのに使っています。 バイナリデータを扱うといっても、非常に柔軟だなぁという認識を持っているので、私がまだ新卒だった頃にやっていたような、 Cで書いて動かしているソケットサーバで受信したバイナリメッセージを、ファンクションポインタを使って動的にメソッド呼び出しするようなものを、Protobufを使ってWEBの世界でやってみても良いんじゃない?と思ってたりします。 (gRPC-Webってやつでそういうのをやってみたい) それは一旦おいておいて、このページではProtobufで定義したメッセージ構造を、抜的に変更しても安全に行うことができりょって方

    Protobufでスキーマ変更を安全に行う方法 - Qiita
    syou6162
    syou6162 2024/07/29
  • Data Contractの概要

    某コミュニティにて Data Contract に関して議論する際に書き下したメモを記事で公開します。業でも特にデータプロダクトをビジネスに共有する際に Data Contract に類似する概念の必然性を感じています。 概要 Data Contract (データコントラクト)は、オーナーシップがはっきりしたデータ送付側とデータ受領側の2つの間でデータをやり取りする際に交わされる契約。 データ送付側が、データを送付する際に満たすべき要件を記述したもの。記述にはデータスキーマ、品質要件、などが含まれる。Data Contractを満たさないデータは送付できなくする。 以下は、Pay PalのData Contractの例をオープンソース化したもの。実際のData Contractがどういうものか参考になる。あくまでData Contractの内容をスキーマとして表現したものであり、データ

    Data Contractの概要
    syou6162
    syou6162 2024/07/29
  • Data Contracts: 7 Critical Implementation Lessons Learned

    syou6162
    syou6162 2024/07/29
  • Schema Registry について書いていく その1: Confluent Schema Registry - ブログ・ア・ラ・クレーム

    分散アプリケーション間のメッセージングやログ収集基盤において、しばしばスキーマの扱いは便利である反面頭を悩ませる種になります。 スキーマを厳密に定義して、 Protocol Buffers や Avro などのシリアライゼーションフォーマットを用いることで、メッセージのサイズの減少やメッセージの扱いの安全性を実行時より早く検出できる機会が増えます。 しかしスキーマの互換性に気をつけたり、メッセージをシリアライズ・デシリアライズするアプリケーション間でスキーマ情報をどう共有するかの課題も発生します。 この課題は、昨年発売された "データ指向アプリケーションデザイン" でも "4.1.4.3 そもそもライターのスキーマとは何なのか?" などで触れられています。 世の中にはこの課題を解決するための "スキーマレジストリ" と呼ばれるソフトウェア、サービスがいくつか存在します。 残念ながら日語の

    Schema Registry について書いていく その1: Confluent Schema Registry - ブログ・ア・ラ・クレーム
    syou6162
    syou6162 2024/07/29
  • GitHub - confluentinc/schema-registry: Confluent Schema Registry for Kafka

    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 - confluentinc/schema-registry: Confluent Schema Registry for Kafka
    syou6162
    syou6162 2024/07/29
  • Schema Registry - 怖くないSchema Evolution - Qiita

    はじめに Confluent Schema Registryはイベントの型 (Schema) を集中管理する仕組みです。来イベントはスキーマと合わせてApache Kafkaに送られますが、Schema Registryを利用すると: Schemaをメッセージに含めずIDで指定出来る為サイズを大幅に小さく出来る。 Schemaをバージョン管理できる。 互換性の無いSchema変更を遮断する制御ができる。 といった利点があります。エントリでは特に#3、Schemaの変更互換性とバージョンアップ (Schema Evolution) と上手く付き合う方法について説明します。 実際に試すには Confluent CloudではマネージドサービスにSchema Registryが含まれているのでそのままお試しいただけます。ローカルで試したいという方はConfluentが提供しているデモシナリオ

    Schema Registry - 怖くないSchema Evolution - Qiita
    syou6162
    syou6162 2024/07/29
  • Glue Schema Registry の導入を断念した話

    業務で AWS Glue Schema Registry を使おうとしたけど、やっぱりやめたというお話。 Glue Schema Registry#What’s Schema Registry?#AWS Glue Schema Registry は2020年に発表された AWS の機能だ。 Control the evolution of data streams using the AWS Glue Schema Registry一方、私が最初に schema registry 的なものを見たのは Confluent の例。 Schema Registry の概要 - ConfluentAWS の Glue Schema Registry はこれより後のリリースであり、同等のものの AWS マネージド版といったところだろうか。 schema registry で何ができるかは Confl

    Glue Schema Registry の導入を断念した話
    syou6162
    syou6162 2024/07/29
  • protocプラグインの書き方 - Qiita

    以前の記事では、Protocol Buffers (protobuf)の魅力の1つは周辺ツールを拡張しやすいことだと述べた。そこで稿では具体的に拡張のためのprotocプラグインの書き方を紹介したい。 ちなみに、protobufの周辺ツールと言うと2種類ある。 1つはprotobufでシリアライズされたデータを処理するツール。JSONやCSVにとってのjqやsedやawkに相当する。 もう1つはprotobufのスキーマを処理するツール。 先の記事にあるようにProtobufはシリアライゼーション機能だけでなくスキーマ言語としても価値が高いので、典型的なweb開発用途では後者のほうが重要だ。 稿は後者のスキーマ処理の話である。なお前者は、チュートリアルでAPIを覚えたらあとは自分で好きな処理を書きましょうというだけの話なので、別に難しくない。 protoc 初めに、protocについて

    protocプラグインの書き方 - Qiita
    syou6162
    syou6162 2024/07/29
  • Protocol Buffers によるプロダクト開発のススメ - API 開発の今昔 - | Wantedly Engineer Blog

    こんにちは、Wantedly People アプリの開発をしている竹野(Altech)です。今回は、Protocol Buffers についての記事になります。 Wantedly People では、2018年に Protocol Buffers (以下、Protobuf と呼ぶ)がとあるマイクロサービスに入って以降、何度か大規模に Protobuf を使った開発をしてきました。またその経験を通じて、Protobuf には単に「型がついて嬉しい」というだけではないパラダイム的な変化があることが分かってきました。 その知見を全社に展開するため、去年「Protobuf によるプロダクト開発速習会」という会を行いました。この記事の内容は、そこで話したことの前半「Protobuf を使うと開発がどう変わるのか?」になります。 なお、Protobuf にはバイナリフォーマットとしての役割とインターフ

    Protocol Buffers によるプロダクト開発のススメ - API 開発の今昔 - | Wantedly Engineer Blog
    syou6162
    syou6162 2024/07/29
  • How to customize JSON tags for protoc generated code. · Issue #1388 · golang/protobuf

    syou6162
    syou6162 2024/07/29