<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Lessons learned from Protocol Buffers, part 1: messages, builders and immutability</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx</link><description>My port of the Protocol Buffers project has proved pretty interesting. I thought I&amp;#39;d share some of the lessons I&amp;#39;ve learned along the way, as well as some of the frustrations at concepts I still can&amp;#39;t express in C#. This was originally all</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>re: Lessons learned from Protocol Buffers, part 1: messages, builders and immutability</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx#1678297</link><pubDate>Sun, 15 Mar 2009 20:25:34 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1678297</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;(Also cc&amp;#39;d)&lt;/p&gt;
&lt;p&gt;Once you&amp;#39;ve loaded the list into memory, you should use some sort of Set type (e.g. HashSet&amp;lt;T&amp;gt; in .NET 3.5). You&amp;#39;ll want to specify some way of identifying that an object &amp;quot;the same as&amp;quot; another, unless you want to use the default implementation of Equals/GetHashCode in Protocol Buffers, which compares every field.&lt;/p&gt;
&lt;p&gt;At this point it&amp;#39;s not really a Protocol Buffers problem so much as normal .NET collections classes.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1678297" width="1" height="1"&gt;</description></item><item><title>re: Lessons learned from Protocol Buffers, part 1: messages, builders and immutability</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx#1677838</link><pubDate>Fri, 13 Mar 2009 03:58:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1677838</guid><dc:creator>Lion King</dc:creator><description>&lt;p&gt;Thank you so much!&lt;/p&gt;
&lt;p&gt;This morning, I received your email and tried to build my own class. It works perfectly :X&lt;/p&gt;
&lt;p&gt;And, I have another question, could you please answer it to me :X ( I think you know it )&lt;/p&gt;
&lt;p&gt;I have a list of my class so long, so large ( About 2 million or more objects ).So my problem here is when I load this list into memory ( using PB of course ), and then, I wanna add some object and this new object must not be appear in my list. That means each object in my list is unique!&lt;/p&gt;
&lt;p&gt;Do you have any solution for this case ?&lt;/p&gt;
&lt;p&gt;Thanks again :)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1677838" width="1" height="1"&gt;</description></item><item><title>re: Lessons learned from Protocol Buffers, part 1: messages, builders and immutability</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx#1677765</link><pubDate>Thu, 12 Mar 2009 17:37:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1677765</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;Darn it. URL got mangled. Try this:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://code.google.com/p/protobuf-csharp-port/wiki/GettingStarted"&gt;code.google.com/.../GettingStarted&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1677765" width="1" height="1"&gt;</description></item><item><title>re: Lessons learned from Protocol Buffers, part 1: messages, builders and immutability</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx#1677760</link><pubDate>Thu, 12 Mar 2009 17:17:51 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1677760</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;(I&amp;#39;ll copy this by email.)&lt;/p&gt;
&lt;p&gt;The project&amp;#39;s home page is now &lt;a rel="nofollow" target="_new" href="http://code.google.com/p/protobuf-csharp-port/"&gt;code.google.com/.../protobuf-csharp-port&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We no longer generate the code directly from protoc - instead, protoc compiles the .proto file into a binary version, and ProtoGen.exe generates the code.&lt;/p&gt;
&lt;p&gt;See &lt;a rel="nofollow" target="_new" href="http://code.google.com/p/protobuf-csharp-port/"&gt;code.google.com/.../protobuf-csharp-port&lt;/a&gt;wiki/GettingStarted for more information and a tutorial. (I must check it still actually works...)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1677760" width="1" height="1"&gt;</description></item><item><title>re: Lessons learned from Protocol Buffers, part 1: messages, builders and immutability</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx#1677756</link><pubDate>Thu, 12 Mar 2009 16:40:02 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1677756</guid><dc:creator>Lion King</dc:creator><description>&lt;p&gt;Hi man!&lt;/p&gt;
&lt;p&gt;I&amp;#39;m new with PB ( Knew it yesterday ) and finally I found a GREAT project for porting this protocol to C#. But I dont know how to run Protoc to generate .cs file ?&lt;/p&gt;
&lt;p&gt;What does parameters here ? Could you please give me some advise :)&lt;/p&gt;
&lt;p&gt;Thank u a lot :X&lt;/p&gt;
&lt;p&gt;P/s : You can send your answer via my email : cnttvn.com@gmail.com. It&amp;#39;ll be more better.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1677756" width="1" height="1"&gt;</description></item><item><title>Lessons learned from Protocol Buffers, part 3: generic type relationships</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/08/20/lessons-learned-from-protocol-buffers-part-1-messages-builders-and-immutability.aspx#1646384</link><pubDate>Fri, 29 Aug 2008 18:48:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646384</guid><dc:creator>Jon Skeet: Coding Blog</dc:creator><description>&lt;p&gt;In part 2 of this series we saw how the message and builder interfaces were self-referential in order&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646384" width="1" height="1"&gt;</description></item></channel></rss>