<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:hatena="http://www.hatena.ne.jp/info/xmlns#"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
>

<channel rdf:about="https://b.hatena.ne.jp/entry/s/buf.build/blog/the-modern-protobuf-workflow">
<title>&#x306F;&#x3066;&#x306A;&#x30D6;&#x30C3;&#x30AF;&#x30DE;&#x30FC;&#x30AF; - The modern Protobuf workflow &#xB7; Buf</title>
<link>https://b.hatena.ne.jp/entry/s/buf.build/blog/the-modern-protobuf-workflow</link>
<description>For a long time, Protobuf had a notoriously bad developer experience: protoc flags you couldn&#x2019;t find documentation for, .proto files copied between repositories by hand, a separate plugin install s...</description>
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="https://b.hatena.ne.jp/xef/20260826#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/karur4n/20260826#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/ikosin/20260826#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/ohchang/20260826#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/shimao-ma/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/tasukuchan/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/ButterflyFish/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/R2M/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/mstk_knife/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/lyiase/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/moritata/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/otcsr/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/yojik/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/tobetchi/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/hira_ken/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/mkimakima/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/toshikish/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/honeybe/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/threetea0407/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/hintoku/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/ikesyo/20260825#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/mkusaka/20260824#bookmark-4792054764388293026" />
  <rdf:li rdf:resource="https://b.hatena.ne.jp/adwd118/20260824#bookmark-4792054764388293026" />
 </rdf:Seq>
</items>
</channel>
<item rdf:about="https://b.hatena.ne.jp/xef/20260826#bookmark-4792054764388293026">
<title>xef</title>
<link>https://b.hatena.ne.jp/xef/20260826#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-26T05:48:39Z</dc:date>
<dc:subject>ProtocolBuffers</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/ProtocolBuffers" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/karur4n/20260826#bookmark-4792054764388293026">
<title>karur4n</title>
<link>https://b.hatena.ne.jp/karur4n/20260826#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-26T01:51:51Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/ikosin/20260826#bookmark-4792054764388293026">
<title>ikosin</title>
<link>https://b.hatena.ne.jp/ikosin/20260826#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-26T00:05:30Z</dc:date>
<dc:subject>gRPC</dc:subject>
<dc:subject>http</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/gRPC" />
    <rdf:li resource="https://b.hatena.ne.jp/q/http" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/ohchang/20260826#bookmark-4792054764388293026">
<title>ohchang</title>
<link>https://b.hatena.ne.jp/ohchang/20260826#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T15:35:25Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/shimao-ma/20260825#bookmark-4792054764388293026">
<title>shimao-ma</title>
<link>https://b.hatena.ne.jp/shimao-ma/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T13:42:36Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/tasukuchan/20260825#bookmark-4792054764388293026">
<title>tasukuchan</title>
<link>https://b.hatena.ne.jp/tasukuchan/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T07:46:51Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/ButterflyFish/20260825#bookmark-4792054764388293026">
<title>ButterflyFish</title>
<link>https://b.hatena.ne.jp/ButterflyFish/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T05:13:54Z</dc:date>
<dc:subject>gRPC</dc:subject>
<dc:subject>protocol buffers</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/gRPC" />
    <rdf:li resource="https://b.hatena.ne.jp/q/protocol%20buffers" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/R2M/20260825#bookmark-4792054764388293026">
<title>R2M</title>
<link>https://b.hatena.ne.jp/R2M/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T04:18:24Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/mstk_knife/20260825#bookmark-4792054764388293026">
<title>mstk_knife</title>
<link>https://b.hatena.ne.jp/mstk_knife/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T03:53:00Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/lyiase/20260825#bookmark-4792054764388293026">
<title>lyiase</title>
<link>https://b.hatena.ne.jp/lyiase/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T02:18:44Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/moritata/20260825#bookmark-4792054764388293026">
<title>moritata</title>
<link>https://b.hatena.ne.jp/moritata/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T01:23:01Z</dc:date>
<dc:subject>it</dc:subject>
<dc:subject>codegen</dc:subject>
<dc:subject>buf</dc:subject>
<dc:subject>breaking</dc:subject>
<dc:subject>lint</dc:subject>
<dc:subject>format</dc:subject>
<dc:subject>CLI</dc:subject>
<dc:subject>Protocol Buffers</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/it" />
    <rdf:li resource="https://b.hatena.ne.jp/q/codegen" />
    <rdf:li resource="https://b.hatena.ne.jp/q/buf" />
    <rdf:li resource="https://b.hatena.ne.jp/q/breaking" />
    <rdf:li resource="https://b.hatena.ne.jp/q/lint" />
    <rdf:li resource="https://b.hatena.ne.jp/q/format" />
    <rdf:li resource="https://b.hatena.ne.jp/q/CLI" />
    <rdf:li resource="https://b.hatena.ne.jp/q/Protocol%20Buffers" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/otcsr/20260825#bookmark-4792054764388293026">
<title>otcsr</title>
<link>https://b.hatena.ne.jp/otcsr/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T01:12:51Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/yojik/20260825#bookmark-4792054764388293026">
<title>yojik</title>
<link>https://b.hatena.ne.jp/yojik/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T00:53:37Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/tobetchi/20260825#bookmark-4792054764388293026">
<title>tobetchi</title>
<link>https://b.hatena.ne.jp/tobetchi/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-25T00:16:35Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/hira_ken/20260825#bookmark-4792054764388293026">
<title>hira_ken</title>
<link>https://b.hatena.ne.jp/hira_ken/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T23:39:55Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/mkimakima/20260825#bookmark-4792054764388293026">
<title>mkimakima</title>
<link>https://b.hatena.ne.jp/mkimakima/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T23:27:06Z</dc:date>
<dc:subject>&#x3042;&#x3068;&#x3067;&#x8AAD;&#x3080;</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/toshikish/20260825#bookmark-4792054764388293026">
<title>toshikish</title>
<link>https://b.hatena.ne.jp/toshikish/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T23:14:57Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/honeybe/20260825#bookmark-4792054764388293026">
<title>honeybe</title>
<link>https://b.hatena.ne.jp/honeybe/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T23:11:48Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/threetea0407/20260825#bookmark-4792054764388293026">
<title>threetea0407</title>
<link>https://b.hatena.ne.jp/threetea0407/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T22:58:38Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/hintoku/20260825#bookmark-4792054764388293026">
<title>hintoku</title>
<link>https://b.hatena.ne.jp/hintoku/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T22:54:49Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/ikesyo/20260825#bookmark-4792054764388293026">
<title>ikesyo</title>
<link>https://b.hatena.ne.jp/ikesyo/20260825#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T21:56:43Z</dc:date>
</item>
<item rdf:about="https://b.hatena.ne.jp/mkusaka/20260824#bookmark-4792054764388293026">
<title>mkusaka</title>
<link>https://b.hatena.ne.jp/mkusaka/20260824#bookmark-4792054764388293026</link>
<description>Buf&#x306E;modern Protobuf workflow&#x89E3;&#x8AAC;&#xFF1A;buf breaking&#x3067;&#x4E92;&#x63DB;&#x6027;&#x691C;&#x51FA;&#x3001;buf lint/format&#x3067;&#x898F;&#x7D04;&#x7D71;&#x4E00;&#x3001;remote code generation&#x3084;BSR&#x3067;&#x914D;&#x5E03;</description>
<dc:date>2026-08-24T12:43:07Z</dc:date>
<dc:subject>AI&#x8981;&#x7D04;</dc:subject>
<dc:subject>breaking</dc:subject>
<dc:subject>buf</dc:subject>
<dc:subject>CLI</dc:subject>
<dc:subject>lint</dc:subject>
<dc:subject>format</dc:subject>
<dc:subject>codegen</dc:subject>
<taxo:topics>
  <rdf:Bag>
    <rdf:li resource="https://b.hatena.ne.jp/q/AI%E8%A6%81%E7%B4%84" />
    <rdf:li resource="https://b.hatena.ne.jp/q/breaking" />
    <rdf:li resource="https://b.hatena.ne.jp/q/buf" />
    <rdf:li resource="https://b.hatena.ne.jp/q/CLI" />
    <rdf:li resource="https://b.hatena.ne.jp/q/lint" />
    <rdf:li resource="https://b.hatena.ne.jp/q/format" />
    <rdf:li resource="https://b.hatena.ne.jp/q/codegen" />
  </rdf:Bag>
</taxo:topics>
</item>
<item rdf:about="https://b.hatena.ne.jp/adwd118/20260824#bookmark-4792054764388293026">
<title>adwd118</title>
<link>https://b.hatena.ne.jp/adwd118/20260824#bookmark-4792054764388293026</link>
<description></description>
<dc:date>2026-08-24T11:02:49Z</dc:date>
</item>
</rdf:RDF>