英文版本是《A Tour of Go》。我看过之后觉得这种学习体验非常棒,随即按照规则翻译了中文版本:
《Go 指南》
这个中文版本是部署在 GAE 上的,由于受到功夫网的影响,国内用户无法正常访问。所以,大家八仙过海吧。
(人还在这里,心已经出去了……)
由于许多原因,可能有的朋友无法一窥墙外之物。也可以通过源码将指南安装到本地使用。指南中有详细的说明,转发到这里,诸位自便吧。代码我托管在了 http://bitbucket.org/mikespook/go-tour-zh。
英文版本是《A Tour of Go》。我看过之后觉得这种学习体验非常棒,随即按照规则翻译了中文版本:
《Go 指南》
这个中文版本是部署在 GAE 上的,由于受到功夫网的影响,国内用户无法正常访问。所以,大家八仙过海吧。
(人还在这里,心已经出去了……)
由于许多原因,可能有的朋友无法一窥墙外之物。也可以通过源码将指南安装到本地使用。指南中有详细的说明,转发到这里,诸位自便吧。代码我托管在了 http://bitbucket.org/mikespook/go-tour-zh。
我从来都不是 SOAP 的拥护着。甚至,我对 xml 都会有一种天生的恐惧。别问我为啥,我也不知道。性情如此吧。
这个故事是我看过的最搞笑,也最命中 SOAP 的要害的段子。看完之后,我突然明白我为啥不那么喜欢 SOAP、WSDL、UDDI之类的了。
翻译至此,大家一起乐乐。
原文在此:http://harmful.cat-v.org/software/xml/soap/simple
———-翻译分割线———-
Pete Lacey 编撰
在 Burton 团体的应用平台服务组内,支持 REST 的人和支持 SOAP 的人已经进行了很久的论战。在大多数情况下这只是外部论战的一个缩影。在最近的一次交锋中,当讨论到 SOAP 和 web 服务的复杂性时,SOAP 的一方这样说到“在之前的 WS 情形下,SOAP 确实是简单的。这也就是 S 所代表的东西。”
那么现在是历史课时间。这是 2000 年,一个倍受折磨的开发者遇到了一个问题……
原文来自:http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/。
Jobs 和 dmr 老爹前后离开,让很多人不能不将其放在一起谈论。无论如何,他们都是伟大的人。有的时候在很短的时间里,这个世界同时失去两个伟大的人,是一件很难言语的事情。
“If I have seen further it is only by standing on the shoulders of giants.”- Isaac Newton.
仅以此向 dmr 老爹致敬。
———————翻译分割线———————
Cade Metz撰写 2011十月13日 7:14 pm
对 Dennis Ritchie 的悼念完全不能同 Steve Jobs 去世后在 Web 上纷飞的如潮水般的赞美相提并论。但是他们确实如此。
甚至更夸张一些。
“当 Steve Jobs 上周去世后,产生了声势浩大的哀悼活动,而这是另人感动和恰当的。虽然 Dennis 有着更大的成就,但是公众甚至不知道他是谁。”另一个程序界的传奇,现在是一名 Google 人,在著名的贝尔实验室工作的20年里同 Ritchie 每日穿过同一个门廊的 Rob Pike 这样说到。
Continue reading »
golang 本身在代码的 misc/vim 中提供了相应脚本,用来集成 golang 的 vim 环境。而第三方项目 gocode 则更是一个强大的工具。我在《gocode——VIM 和 Emacs 的 golang 代码自动补全》中已经介绍过了。
这两个项目都很活跃,而社区活跃带来的最大麻烦就是频繁更新。为了能方便的升级 vim 环境的 golang 脚本,所以写了这个 shell。
可以 step by step 的协助集成 golang 相关脚本到 vim 中。
下载地址:https://bitbucket.org/mikespook/learning_go_chinese/downloads/vim.sh。
虽然脚本会检测相关环境变量和依赖程序,不过还是最好提前设置好,免得麻烦。当然也可以将脚本到某个目录,让脚本自动下载 go 代码和 gocode 代码。
现在唯一没在这个脚本中集成的就是环境变量的设置和 .vimrc 中关于 syntax 之类的通用设置的开启。这些内容,DIY吧。
第一次知道反射的时候还是许多年前在学校里玩 C# 的时候。那时总是弄不清楚这个复杂的玩意能有什么实际用途……然后发现 Java 有这个,后来发现 PHP 也有了,再后来 Objective-C、Python 什么的也都有……甚至连 Delphi 也有 TRttiContext……反射无处不在!!!
Go 作为一个集大成的现代系统级语言,当然也需要有,必须的!
大牛 Rob Pike 的这篇文章相对全面的介绍了 Go 语言中的反射的机制已经使用。觉得值得研读,于是翻译于此。
———-翻译分割线———-
在运行时反射是程序检查其所拥有的结构,尤其是类型的一种能力;这是元编程的一种形式。它同时也是造成混淆的重要来源。
在这篇文章中将试图明确解释在 Go 中的反射是如何工作的。每个语言的反射模型都不同(同时许多语言根本不支持反射)。不过这篇文章是关于 Go 的,因此接下来的内容“反射”这一词表示“在 Go 中的反射”。
Continue reading »
鱼哥(https://twitter.com/#!/smallfishxy)上个月勒令我要完成 0.4 版的翻译。之前公司重组的时候,没顾上看英文版本的更新,结果这老外不声不响的做了如此之多的改动……
于是只好人工 diff,一条一条的对比 commit 内容。
总算是跟进到了 0.4 这个 tag。
发布一个可看的中文版吧:http://www.mikespook.com/learning-go/ (20110904)
未校对,未调整,未优化。你们懂的!
Golang 错误处理的 Panic – Recover 模型确实不太一样,Go 团队的博客上写了一篇相对完整的介绍这个模型使用的文章“Error handling and 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 »
ifttt 是 IfThisThenThat 的缩写,中文大体上说就是“如果这个,就那个”。说白了,就是一个消息分发网络,将用户所拥有的若干网上的资源相互整合。有点去中心化的节点通讯通道的味道,又有点SOA的消息总线的味道。
前天在 ifttt 上填写了邮箱申请邀请测试,昨天居然就收到了邀请。于是顺利注册之……现在又有了 4 个邀请,有谁需要的跟 comments 留邮箱吧。
2011-7-7:诸位不用再留邮箱了,邀请码我真得是一个都没有了。