diff options
author | Russ Cox <rsc@golang.org> | 2020-03-15 15:50:36 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2020-03-17 20:58:46 +0000 |
commit | 972d42d925e6cae3f8eebd9b21d445e06c2eb386 (patch) | |
tree | 737af27f0d49318b612efec874b1d1328c699d1a /content/protobuf.article | |
parent | faf1e2da2d911edc717993e8edb24fe88f99b2b5 (diff) |
content: rename articles to reinforce convention of short URLs
The Go blog started out on Blogger
(http://web.archive.org/web/20100325005843/http://blog.golang.org/).
Later, we moved to the current self-hosted blog server
with extra Go-specific functionality like playground snippets.
The old Blogger posts have very long URLs that Blogger chose
for us, such as "go-programming-language-turns-two" or
"two-go-talks-lexical-scanning-in-go-and", predating
the convention of giving posts shorter, more share-friendly,
typeable names.
The conversion of the old Blogger posts also predated
the convention of putting supporting files in a subdirectory.
The result is that although we've established new conventions,
you wouldn't know by listing the directory - the old Blogger
content presents a conflicting picture.
This commit renames the posts with very long names
to have shorter, more share-friendly names, and it moves
all supporting files to subdirectories. It also adds a README
documenting the conventions.
For example, blog.golang.org/go-programming-language-turns-two
is now blog.golang.org/2years, matching our more recent birthday
post URLs, and its supporting files are moved to the new 2years/ directory.
The old URLs redirect to the new ones.
Change-Id: I9f46a790c2c8fab8459aeda73d4e3d2efc86d88f
Reviewed-on: https://go-review.googlesource.com/c/blog/+/223599
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Diffstat (limited to 'content/protobuf.article')
-rw-r--r-- | content/protobuf.article | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/content/protobuf.article b/content/protobuf.article new file mode 100644 index 0000000..c1726ea --- /dev/null +++ b/content/protobuf.article @@ -0,0 +1,48 @@ +# Third-party libraries: goprotobuf and beyond +20 Apr 2010 +Tags: protobuf, community +Summary: Announcing Go support for Protocol Buffers, Google's data interchange format. +OldURL: /third-party-libraries-goprotobuf-and + +Andrew Gerrand + +## + +On March 24, Rob Pike announced [goprotobuf](http://code.google.com/p/goprotobuf/), +the Go bindings of Google's data interchange format [Protocol Buffers](http://code.google.com/apis/protocolbuffers/docs/overview.html), +called protobufs for short. +With this announcement, Go joins C++, Java, +and Python as languages providing official protobuf implementations. +This marks an important milestone in enabling the interoperability between +existing systems and those built in Go. + +The goprotobuf project consists of two parts: +a 'protocol compiler plugin' that generates Go source files that, +once compiled, can access and manage protocol buffers; +and a Go package that implements run-time support for encoding (marshaling), +decoding (unmarshaling), and accessing protocol buffers. + +To use goprotobuf, you first need to have both Go and [protobuf](http://code.google.com/p/protobuf/) installed. +You can then install the 'proto' package with [goinstall](https://golang.org/cmd/goinstall/): + + goinstall goprotobuf.googlecode.com/hg/proto + +And then install the protobuf compiler plugin: + + cd $GOROOT/src/pkg/goprotobuf.googlecode.com/hg/compiler + make install + +For more detail see the project's [README](http://code.google.com/p/goprotobuf/source/browse/README) file. + +This is one of a growing list of third-party [Go projects](http://godashboard.appspot.com/package). +Since the announcement of goprotobuf, the X Go bindings have been spun off +from the standard library to the [x-go-binding](http://code.google.com/p/x-go-binding/) project, +and work has begun on a [Freetype](http://www.freetype.org/) port, +[freetype-go](http://code.google.com/p/freetype-go/). +Other popular third-party projects include the lightweight web framework +[web.go](http://github.com/hoisie/web.go), +and the Go GTK bindings [gtk-go](http://github.com/mattn/go-gtk). + +We wish to encourage the development of other useful packages by the open source community. +If you're working on something, don't keep it to yourself - let us know +through our mailing list [golang-nuts](http://groups.google.com/group/golang-nuts). |