212011
 

Golang 错误处理的 Panic – Recover 模型确实不太一样,Go 团队的博客上写了一篇相对完整的介绍这个模型使用的文章“Error handling and Go”。我觉得挺好,故翻译于此。本应早就完成这个翻译了,不过由于公司重组等等原因,一直留了首尾没能处理完整。所以拖到了今天,真是不应该啊!

————————翻译分割线————————–

错误处理和Go

如果你已经编写过 Go 代码,可能已经遇到过 os.Error 类型了。Go 代码使用 os.Error 值来标示异常状态。例如,当 os.Open 函数打开文件失败时,返回一个非 nil 的 os.Error 值。

func Open(name string) (file *File, err Error)

下面的函数使用 os.Open 打开一个文件。如果产生了错误,它会调用 log.Fatal 打印错误信息并且中断运行。
Continue reading »

132011
 

继续前文的翻译。更进一步的对 Go 进行了介绍。一个德国人,用英文写了如此的长篇大论,这是一种什么样的国际主义精神……

———————–翻译分割线———————–

Go编程语言,或者:为什么除了它,其他类C语言都是垃圾

[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1)

[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(2)

扩展

Go 真正强大的在于到现在为止,那些无法在 C、C++或者其他上面提到的任何语言中找到对应的地方。这些才是真正让 Go 光彩夺目的:

Continue reading »

102011
 

继续昨天的:[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1)
总算切入正题,开始说 Go 了。

———————–翻译分割线———————–

Go编程语言,或者:为什么除了它,其他类C语言都是垃圾

(译注:续[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1)

进入 Go 的世界

Continue reading »

082011
 

原文在这里:http://www.syntax-k.de/projekte/go-review。作者是 Jörg Walter,是个德国人。

根据 Rob Pike 在推上的说法,文章有一些错误,但看起来值得阅读。

“Why all C-like languages except one suck”: http://www.syntax-k.de/projekte/go-review Some errors in there but a positive response.

Continue reading »

222011
 

最近看到许多朋友都在问类似的问题:Go 能做什么?Go 有实际应用吗?敢不敢在实际项目中使用 Go 呢……

正好,golang 的博客刊登了 Heroku 的两个系统工程师关于 Go 语言在他们的分布式系统中的应用的文章。

大家还记得 Doozer 吗?对,我之前有过翻译高速数据同步服务器——Doozer。貌似就是这群优秀的工程师搞出来的杰作。他们作为 go 语言应用的先行者,的确值得我们关注他们的工作,学习他们的经验,并向这群优秀的工程师致敬!

原文在此:http://blog.golang.org/2011/04/go-at-heroku.html
——————————-用于致敬的翻译分割线——————————-
本周的博客内容是由 Heroku 的系统工程师 Keith RarickBlake Mizerany 撰写的。用他们自己的话说,他们“吃、喝、睡在分布式系统上”。这里讨论了一些他们应用 Go 的经验。

构建分布式系统的一个巨大的问题是物理服务器之间的协作。每个服务器需要知道关于系统整体上的各种情况。这些关键数据包括锁、配置数据等等,而即便是在数据存储异常的情况下,这些也必须是一致并且可用的。因此,需要一个有着绝对一致保障的数据存储。对于这个问题的解决方案是 Doozer,一个用 Go 编写的、新的、一致性的、高可用的数据存储。
Continue reading »

202011
 

对于一个不稳定的语言,删删改改什么的都是常事。即便是稳定的语言,也逃不过隔三差五整修一下的命运。于是 Golang 大修是个麻烦。
用 Golang 的好处是你正在使用世界上最聪明的一群科学家和工程师的杰作。于是,升级这些麻烦事变得不那么麻烦了,因为有了 gofix。

原文在此:http://blog.golang.org/2011/04/introducing-gofix.html
——————————-翻译分割线——————————-

gofix介绍

下一个 Go 的发布版将会包含多个官方 Go 包 API 的重大变化。实现 HTTP 服务器处理调用 net.Dial调用 os.Open,或者使用反射的代码如果不使用新的 API 升级,将无法编译。现在的发布已经相当稳定并且不那么频繁了,这将会成为一个常态。每次的 API 变化发生在每周的快照版本之间,并且可控;总之,无论如何,这带来了大量需要手工更新的已有代码。
Continue reading »

112011
 

是的,你没看错,这就是 Learning Go 的中文版本。在我踌躇许久之后,终于决定将这个坑挖下去了。

项目页面在这里:《学习Go 语言》

现在的翻译进度大约10%,也就是完成了第一章和部分第二章内容。
我对 LaTeX 知之甚少,所以排版还没时间去调整。

第一阶段目标是同步翻译英文版本,并跟进英文版本的后续修改。
第二阶段目标待 Go 语言相对稳定后,根据中文表达习惯重新调整内容和表达方式。
大体如此吧……

Continue reading »

092011
 

这个题目的原文叫做《Gobs on the wire》,作者巧妙的用了“gob”这个词。gob本来是Golang的一个关于网络通信协议的包。而在这里,我感觉标题也可以翻译为《关于线上的那一大陀……》。好吧,我得承认,这么翻译实在不雅。

————翻译分割线————

飞翔的 gob

这周,我想跟大家谈谈如何用 Go 编写基于同步请求和异步事件通知的 Client/Server 系统。

为了帮助学习 Go,我克隆了一个Conserver 命令行服务。当然,现在对于世界来说没必要有另外一个命令行服务。然而由于Go语言带给开发者的特性,非常适合用来做命令行服务,所以这将会是一次非常有趣的体验。命令行服务的任务是从一个或者多个串口上汇总输出(或者说各种系统上的一个或者多个实现了使用TCP连接的Rtelnet协议的终端服务)。 它将输出记录到文件,同时让输出可以被别人实时的看到。它仅允许唯一一个用户进行读写,用于实际控制设备。
Continue reading »

022011
 

原文在此:http://bravenewmethod.wordpress.com/2011/02/25/apple-push-notifications-with-go-language/

前两天正巧看到 APNS 没有 Go 的实现,还在琢磨怎么实现一个试试,这下我又省心了。文章本身并不怎么出色,代码倒是有些用途。翻译这篇东西纯粹是为了给自己后面的工作留个资料。大家有用则用,无用就无视吧。

————–翻译分割线————–

Go语言开发苹果推送通知

我开始尝试学习并熟悉 Go 语言,并且做了一些普通的常识,例如,发送苹果推送通知(Apple Push Notifications)。这是我个人对一些开发环境的性能测试。迄今为止,已经有:
Continue reading »

242011
 

原文在此:http://www.web-delicious.com/5-html5-javascript-game-development-frameworks-for-online-game-developers/

六款游戏引擎/框架都是好东西。Akihabara 我之前翻译的系列教程Akihabara指南里有介绍。而单从介绍和各引擎网站上来看,我对 Rocket 引擎还是很有期待的。

1. Gamequery – 用于 jQuery 的 Javascript 游戏引擎

GameQueryjQuery插件,可帮助 javascript 游戏开发者更加容易的添加游戏相关的类。它还处于开发的初期,并且在将来的版本中可能会有许多变化。项目托管于 GitHub (它之前是托管在 Google Code 的),你可以在这个 twitter 页面 关注每日的开发进度。

Gamequery – 用于 jQuery 的 Javascript 游戏引擎

Continue reading »