2014年你需要知道的6种编程技能(转)
当开始编程工作时,就会有很多关于你必须学习哪种最热门编程语言的讨论。但跟任何程序员进行讨论的时候,他们会告诉你学习语言并不是学习编程的唯一。同样重要的是要理解组成基础编程语言的核心概念,即算法、数据结构以及学习如何使用技术框架,这些现已成为创造一个伟大的技术产品的精髓。
既然你可以在HackerEarth.com上学习和记录你的算法和数据结构,那么在2014年你应该学一学以下这些技术:
Rails
业务逻辑!!有经验的web开发人员都很了解构建一个web应用程序的基本功能所花费的时间。Rails框架就是用来管理这些基本的事情,以便你可以将更多的注意力放在你的应用程序的业务逻辑上(例如app使用方式)。正如一个博客中这样提到它:”RoR处理枯燥的事情,而你可以关注酷的事情。”
今天对Rails知识有很大的需求也不足为奇。像Twitter、github以及Walmart Labs等公司目前都在使用Ruby on Rails框架。
Django
Django是一个为完美主义者提供最后期限的web框架。Django使用“DRY”原则,它专注于尽可能的自动化,可让你在短短几
天之内快速构建、部署和扩展强大的应用程序。从本质上讲,它只允许你编写对应用程序极其重要的代码。
Rails和Django都很强大,在两者之间选择的话通常归结到使用相应的语言--Ruby或者Prthon。但是两者使用都很广泛。像Instagram、Pinterest、Disqus和Eventbrite这样的公司都在大范围的使用Django。
Node.js
Node.js是用JavaScript编写的一个服务端框架。在你在当前流行的web应用程序中看到的所有很酷的实时特性可能都是基于它的。在Node.js之前,你需要求助于聪明的Ajax请求来从服务端获得更新的数据。
现在AJAX请求比较昂贵,并且如果你有大量用户的时候还不是很适用,因此使用Node.js。实时特性是存在的,它为应用程序提供了很酷的特性。Node.js将为所有的互联网应用程序提供实时特性。
Android和iOS
如果世界上仍有技术业务没有发展到移动设备上,这将会让我很惊讶。距移动平台的出现已经7年之久了,但是现在仍缺乏移动技术工程师。这只意味着一件事情,即还需要更多的人学习这些框架。市场上正涌现出大量新的移动操作系 统,但是没有一个像A
ndroid和iOS这样成为市场的主导。
Android和iOS是两种不同的移动平台,学习任何一种都很有市场。不要相信我们,看看这个吧。
云技术
每个互联网公司都拥有一个大型的数据中心的时代正在慢慢消失,大部分公司现在都将数据部署到云端了。所以即使你不是一家公司开发团队中的一员,你也需要知道云架构是如何工作的。因为有一些应用程序级别的决策会受到托管环 境的影响。云构架知识会使你成为眼下互联网公司里的宝贵资产。
我们比较熟悉的一些好的云堆栈,如 Amazon EC2,和Rackspace,更冒险的可以是试试OpenStack。
NoSQL
任何稍有成功的公司今天都产生大量的数据。通常需要存储并处理这个数据使其有意义。在这样的应用程序中,使用传统的关系数据库可能行不通,这时你就需要NoSQL。它允许你储存大量数据,并能处理你在应用程序中所需要的信 息。
任何处理大量数据的公司都会坚定不移的使用NoSQL,如MongoDB, Cassandra, Redis或者CouchDB。知道如何使用这些数据库将会为你带来更高的收入。