RubyConfChina2017

RubyConfChina2017_第1张图片
RubyConfChina.png

从毕业后的这段时间,很长时间没有认真写写文章了主要是经历了多次角色转,自己的节奏被打乱。好了说回来,今天的文章我想记录下自己的上周去参加 RubyConf China 的经历。
大会观感
RubyConf Chiane 是中国 Ruby 语言社区 Ruby china 的一个技术会议。Ruby 是一门类似于 Python 的动态编程语言,在这个会议上大家分享自己的类似于分享大会,大家去听讲着分享自己的技术知识。
这次大会得地点在杭州,主办方特地挑选了法海作为本届大会的吉祥物,没听错,就是海为什么呢?就是因为我们在在杭州西湖边?当大家为此困惑不解的时候,我们的「女装」主持人给我们带来了解答—--因为法海克 Python (Python 是一门编程语言,这个单词的字面意思是大蟒蛇)。
作为一个编程社区的技术大会,主讲嘉宾介绍多种函数式编程语言 ELixir,Erlang, 也有介绍新的 Ruby 框架,如何进行异步编程,如何在用 Ruby 进行 Ethereum 的开发,以及如何用 Ruby 引入机器学习等等。除了这种种新鲜事物,这届大会还少不了一个老生常谈的话题—--关于 Ruby 效率的讨论。关于 Ruby 的快与慢的问题,是一个 Ruby 圈里永恒的争论主题。就仿佛是逃离北上广一样的成为一个月经贴,从 2014 @薄荷科技 的@vincent (谢文威)在探讨过这个话题。但是作为一个开发 web 的语言,Ruby On Rails 的开发效率无人能出其右。对于个人而言,如果想要做一个可以使用的最小可行性产品,Ruby on Rails 是一个不错的选择。
此行收获
对于才进入业界的新手来说,嘉宾的演讲充斥的各种各样的属于术语让人听得让你一头雾水。但是总体而言,这次大会是人挺有收获的。首先是它解决了最近一段时时间困扰我的一个问题。说来也巧,这段时间我需要使用 Python 来实现机器学习的算法,但是我们的服务器使用的是 Ruby。在此之前我一直的想法是通过 Ruby 来对 Python 的程序进行调用,导致实现的过程特别麻烦。后面,这次大会的一个主讲 @ ihower 在讲如何在 Rails app 中引用机器学习时讲,可以用 Python 搭建一个服务器,让程序之间用 HTTP 进行程序之间进行通信,真是一语点醒梦中人。
除此而外与 CTO 邱哥聊天也让人收获颇丰。第一天的大会结束之后,大家夜游杭州西湖。在与 邱哥聊到如何提高个人的技术能力时,他提到有两个维度来进行提高。
第一个维度是从代码的可读性入,提高代码的品位。什么是有品味的代码呢?就是简洁,表达流畅。这就好比你写的一首好字。有品位的代码不仅让他人能够轻松读懂你的代码,还能帮助自己快速理解自己写过的东西,最重要的是你会心情愉悦。就像《黑客与画家》中提到的,创造出优美的东西,本身就会让人心情愉快。这也是黑客精神的精髓之一 —— 找到优雅的解决问题方式,以获得精神上的愉悦。
如何写出有品味的代码?这个似乎不好回答,但是如果换一个问题,如何写出一手好字?这个答案就变得显而易见了,那就是,多看好多作品(知道什么是好),多模仿,多练习,并且不断回顾自己写过的东西。邱哥给我们推荐了一本书《重构》,讲解如整理整理自己代码。除此而外,更进一步我们还需要对编程语言有更深刻的了解。他还推荐我们去读读编程语言的源码剖析。例如 《Python 源码剖析》这有助于你加深对一门语言的理解,让你从道上找到好的解决方案。
除了可读性这个维度,第二个维度就是数据结构与算法。这些都是解决编程中的效率问题。并且能够锻炼自己的思考严密性,以及提高自己的代码的运行效率。这些点我都有很大的感触。最近一段时间,我有多次感慨,幸好大二时,认真学习了《数据结构》这门课。尽管当时花费了许多时间,并且到现在有许多细节已经遗忘,但是这门课带给中学习到的一些算法的基本思考方式还是帮了我许多忙。例如选择合适的数据类型,例如堆或者hash表,能够大大节省运算时间。别人需要 10 天的时间,你只需要一天就能解决问题,这就是算法的威力。当然这也不是说你需要多么高深的算法能力,例如徒手写出红黑树。但是,我们需要对各种算法有基础的了解,需要的时候能够找到资料,应用这些算法解决问题。这些方面可以去读读一些优秀的书籍例如我在知乎上找到的《编程珠玑》。
以上就是我的所建所感,最后还要感谢这次大会的主持者。

你可能感兴趣的:(RubyConfChina2017)