Month: March 2011

  • 【翻译】Gob 的数据

    原文在此:http://blog.golang.org/2011/03/gobs-of-data.html,来自 Golang 官方博客。

    Gob 是 Golang 的包中带的一个数据结构序列化的编/解码工具。在实际应用中,已经有不少的编解码工具/包/库了,为什么 Golang 还要新开发一个 Gob?又是一个重复的轮子?Gob 做了哪些工作?Gob 的优势是什么?本文做了一个较为全面的解释。

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

    Gob 的数据

    为了让某个数据结构能够在网络上传输或能够保存至文件,它必须被编码然后再解码。当然,已经有许多可用的编码方式了:JSON,XML,Google 的 protocol buffers,等等。而现在,又多了一种,由 Go 的 gob 包提供的方式。
    (more…)

  • 用Go实现异步的Web开发

    不知道大家还记得不记得大约一年前,我的一个白日梦《关于Web编程异步模型的白日梦》,然后这个白日梦我又连续做了好几天《Web编程异步模型的PHP原生实现》、《Web编程异步模型的 Gearman 实现(残)》。

    当时怎么也没相通,还死皮白赖的粘在PHP的异步实现上不肯放手。好吧,实现是繁琐的,应用是成功的,代码是容易写的,环境是要搭建的……

    昨晚睡觉前突然觉得自己应该真正用Go实现一下异步的Web,哪怕是个例子也好啊。于是,边吃饭,边敲了一票代码搞了一个很简单的demo,分享给大家吧。在这里下载完整的代码:webdemo
    (more…)

  • gocode——VIM 和 Emacs 的 golang 代码自动补全

    虽然 golang 自身提供了 VIM 的语法高亮之类的脚本,但 autocompletion 并没有官方解决方案。无意之中发现 gocode 这个支持 VIM 和 Emacs 的 autocompletion daemon。

    这里有个Flash 动画演示,展示了 gocode 的强大。我得说,用过之后,感觉速度确实够快。

    下面是来自官方的部分介绍:

    (more…)

  • go在stack上干了神马?

    1. 对这个话题已经有深入理解的童鞋请绕道;
    2. 对这个话题感兴趣,且有极强学习能力的同学请阅读这里,并且不用回来了。
    3. 其他和我一样愚笨的IT民工们,继续向前冲吧……
    4. 【2013年3月21日】以下关于 stackless 的描述有致命的脑残错误,请忽略。感谢 @minux 指出。

    首先,来看一段神奇的 golang 代码:

    package main
    var (
        i = 1
    )
    func main() {
        i = i + 1
        print(i, "\n")
        main()
    }
    

    (more…)

  • [翻译]飞翔的 gob

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

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

    飞翔的 gob

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

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

  • Android 上的 SSH 通道翻墙利器:Connectbot

    最近发现,Android 翻墙版 Opera越来越难以翻墙了。越来越卡,越来越慢……有时甚至完全打不开。于是乎,得寻其他途径。VPN 我是不想用的,一用,整机翻墙,有时用起来反而还慢。

    还好,发现 Connectbot 这个利器。Connectbot 是 Google Code 上的开源项目,在 Android 市场上的原文介绍如下:

    ConnectBot is a powerful open-source Secure Shell (SSH) client. It can manage simultaneous SSH sessions, create secure tunnels, and copy/paste between other applications.

    This client allows you to connect to Secure Shell servers that typically run on UNIX-based servers.

    要知道,SSH Tunneling 是我在桌面翻墙的至爱,Firefox 配合 FoxyProxy 可以选择性翻墙,很是轻松。

    使用 Connectbot 翻墙很容易,只需下面四步:
    (more…)

  • 为什么是“Core Dump”

    今天在看《创业家》11年第2期的时候,看到“警钟为谁长鸣”一文,这是熊晓鸽先生为吉姆·柯林斯的新书《再造卓越》(《How The Mighty Fall》)撰写的推荐语。文中提到『王安博士』。
    (more…)

  • [翻译]Go语言开发苹果推送通知

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

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

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

    Go语言开发苹果推送通知

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

  • [翻译]九唔搭八

    原文在此:http://torvalds-family.blogspot.com/2011/02/pearls-before-swine.html,觉得内容很好玩,于是就翻译出来了。

    Linus 的原文标题是“Pearls Before Swine”,来自圣经中马太福音7章6节中,耶稣给彼德的警告——“也不要把你们的珍珠丢在猪前”。

    本想翻译成“对牛弹琴”或“有眼不识泰山”的,但是想了想,还是觉得“九唔搭八”更加贴切一些。关于“九唔搭八”的解释在这里:http://95da8.com/?p=6。毕竟,原文虽然说 Linus 夫妇在派对上见到明星,经常有眼不识泰山,但是我觉得让一个世界顶级 geek 参加一场关于电影、明星、时尚的排队,真得很“九唔搭八”。

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

    九唔搭八

    我的生活并不迷人。

    我知道接下来的内容会让每个人感到吃惊,由于一般观点认为 Geek 是上层社会的名流,通常直觉认为我们生活在有着摇滚明星以及其他迷人的人的夜间派对中。
    (more…)