Gopher China 2015大会感悟 & golang, 我已与你渐行渐远
? Gopher china 2015 ? ? golang ? ? life ?    2015-04-27 08:27:11    8359    7    5

这两天参加Gopher China 2015大会, 感受颇多. 第一是震惊, golang在中国竟然已如此之火, golang在中国的应用已有如此成功的案例, golang在中国竟有这么多牛人. 第二是失落, 因为我发现, 我正与golang圈远去, golang有这么多牛人, 我竟不是其中一个.

先来说说这次会议的体验

  • 这次会议总体非常成功, 各个讲师分享的都是干货, 以至于我的智商不够用, 并且开始怀疑自己与golang脱轨.
  • 各种干货, 单单雨痕的分享就可以让我足够研究好几个月了.
  • 各种服务都非常到位, 食堂, 下午点心, 还有七牛的妹子很养眼 (相信在七牛工作肯定非常有斗志. 刚开始以为是女程序员, 以至于我要抱怨现在的公司妹子整体的质量).
  • 这个夏天不用买衣服了, 有了Gopher China T恤陪伴, 相信技术肯定有所长进.
  • 还有送的书, 我去的晚, 最后选了(不能选了) 一本与golang不沾边的书(<精通IOS开发>, 标价100多, 谢谢本次大会让我进入APP领域)
  • Robert是本次大会的亮点, 以至于他演讲之后, 在场外还被团团包围. 至少被围40分钟.

  • 认识了好多朋友, 我本人比较宅, 这也是第一次参加技术大会. 以后有机会, 还要多多参与.
  • 一个大会在某种程度上可以反映一种趋势, 比如这次分享最多的docker, 不过略显冗余, 我觉得最好不要超两个类似的分享.
  • 一个遗憾, 很期待谢大大的分享, 可惜没有. 期待以后会有.

回想自己加入golang的阵营, 那是2012年时, 刚读研, 突然发现golang语言, 当时有一个pdf的入门教程, 用了几个小时快速学习, 感觉非常好. 当时就想做一个golang社区, 并注册了一个我非常喜欢的域名(letsgolang.com, 有想用的朋友可以联系我) .此后就用golang来做作业. 当时的我不知道beego(可能没出来), 也不知道谢大大的存在. 

此后, 因为没有具体的项目应用, golang的学习和实践处于停滞的状态. 于是, 我给自己找项目,  用golang做了一个网页模板爬虫 https://github.com/lealife/leacrawler, 当时做完这个工具后, 我用它在themeforest.net 爬了数百个漂亮的模板, 并且想把这些模板在淘宝上卖. 后来, 良心发现, 这是不道德的, 就没有做个事(别用这个工具爬网页模板卖啊).

leacrawler 做完后, 对golang的使用仍然感觉很生疏. 此时的我, 正在由后端悄悄向充满艺术与美的前端转型. (从用leacrawler爬漂亮的模板就可看出).

我发现市面上没有一款笔记(evernote, 有道) 符合我的要求时, 我选择自己做, 于是 leanote 的想法就出来了. 于是, 很自然的, 我用golang来做后端, 数据用mongodb. (后来有很多朋友问我为什么选择golang, 理由很简单, 我只是想学学新东西而已).

此时, golang在中国已有些势头, beego在中国已经小有名气了, 而且文档丰富. 作为web框架的不二之选. 可是我选择了revel, 为什么? 理由..., 其实也很简单, 与我当时的技术背景有关, 因为当时我开发java, 使用了SpringMvc, 发现revel竟与SpringMvc如此相似. 而且当时为了让revel更像SpringMVC一点, 我还改了revel源码 (link), 不过后来没用到.

当时为了高效开发leanote, 我做了一些尝试, 在七牛的酒会也分享了gocilpse插件的修改 (link).

甚至还改了go源码来屏蔽掉包未使用, 变量未使用的错误 (link). 而有幸, 这次与Golang作者 Robert 简单聊了下这个问题, 他给出的答案只是为了builder fast. 而我觉得, 在前期开发的时候, 难免为了调度会引入一些包, 和一些未使用的变量, 而这个包和变量很可能会之后使用. 此是为了程序的正常运行必须要去注释它们, 这大大降低了开发效率.

此外, 还对go作了简单的修改, 比如让go get 显示进度 (link).

现在看来, 我使用的golang相比这次大会上大牛的分享都弱爆了. 

近一年多, 我都没怎么用golang了, 现在再用, 感觉有些生疏了, 这也是第一次参加golang相关的会议和聚会.

其实, 我已转型为一名FE(前端)了.

后端那么高大上的技术, 我已不能驾驭. 而在Leanote的开发过程中, 前端其实占用了整个项目80%-90%的时间. 因为后端golang的服务写之后就没有怎么改动了. 而前端就需要无止境的优化和改进, 因为关于易用性, 美是无止境的.

至于以后的方向, 还是FE, 移动端(如果有前端的分享, 也可以叫上我), golang会继续关注, 但不会深入, 只是在应用层面. Golang, 我已与远去. 祝好.


附上一些照片:

与Robert的合影: (我超喜欢, 虽然在Robert的衬托下, 我瞬间不高大上了, 但由此衬托了Robert的高大上. 还有谢谢一个妹子帮我们拍照, 拍的真好)


七牛酒会:

这次运气太好, 有幸参加酒会. 第一次参加线下活动, 分享了下leanote. 很佩服谢大的坚持和付出.

编辑器之战是本次交流的高潮(一个笑话: 最后达成共识-Eclipse是go开发最好的编辑器, 当然前提是用我优化过的插件)

End.

P.S. 照片如有侵权, 请联系我 life@leanote.com 我会第一时间删除.

上一篇: grunt-cmd-transport 依赖分析不全的问题

下一篇: 我用一年的时间做产品, 而现在你们在哪里?

8359 人读过
立即登录, 发表评论.
没有帐号? 立即注册
5 条评论