IT民工进化指南:软件工程师最该了解的新技术Top10

某篇blog点评当前值得学习的最新技术,值得一读。没有找到2015的,看看2014的,也不过时,我没有完全按原文逐字逐句翻译,但意思基本都点到了


原文链接:http://www.gettingcirrius.com/2014/02/top-10-technologies-i-want-my-software.html

Top 10 Technologies I Want My Software Engineers to Know In 2014



  • 学习 AngularJS 然后学习 Ember.
  • Compile-to-JavaScript language (CoffeeScript, Dart, TypeScript, Clojure Script).
  • HTTP/REST + AMQP + MQTT + Kafka (都学).
  • Scala 或者 Clojure (选择一个学).
  • Git, Ansible, 和 Vagrant.
  • Amazon Web Services.
  • Concurrency 和 Distributed Programming.
  • Python 或者 Node.js.
  • 了解NoSQL: Neo4j, Redis, MongoDB, HBase, and Cassandra.
  • Lambda 架构.

    ================================================

    那么下面来看看他们都是什么吧。

    1. 学习 AngularJS 然后学习 Ember.

    在客户端的MVC技术框架大战中,虽然有很多framework可选,但在社区里AngularJS 和 Ember 已经是最受关注的热门技术了。

    如果你刚开始搞web开发,但还没有选定一个框架,我推荐你从AngularJs入手。它很简单上手快而且功能强大。特点在于引入了编程模式,使得代码更松耦合且易测试。缺点是in-page routing and complex multi-model/aggregate view construction。

    Ember则补充了这些缺陷。Ember提供了强大的构建功能:比如嵌套的views和controllers。 Ember的弱点是上手不太容易。一旦掌握就能用很短的code实现强大功能。


    2. Compile-to-JavaScript language (CoffeeScript, Dart, TypeScript, Clojure Script).

    可以取代javascript的一些script语言,分别解决了一些javascript的弊病,可以看看。


    3. HTTP/REST + AMQP + MQTT + Kafka (必学)

    - Http/Rest不用说,任何web开发必学基础restful api 

    - AMQP(Advanced Message Queuing Protocol), 一个处理异步消息的标准协议。当你需要通过PubSub消息来连接多个后台应用时,这是你的首选协议。基于AMQP的实现就有很多了,如Apache Qpid,Apache Apollo等, 而其中最推荐的实现是RabbitMQ。 (RabbitMQ: 一个独立的开源实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。RabbitMQ发布在Ubuntu、FreeBSD平台。)

    - MQTT,  低能耗,简单的消息推送协议,主要是为移动设备设计的。Facebook的应用就是用MQTT同步你手机的状态的。MQTT现在已经被多种AMQP的message broker所支持了, 比如RabbitMQ。 MQTT是free的,IBM写的, 你可以自由的用它跑在移动设备上和RabbitMQ通信。

    -Kafka, 为高吞吐量应用设计的消息架构,最初被LinkIn设计和使用。其架构独特性在于消息流的分片,和消息批量转换。除非你有scalability的问题,否则我还是推荐传统的RabbitMQ架构。


    4. Scala 或 Clojure

    当前最火的现代编程语言,你怎能不学?

    (Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性)

    作者认为2种语言只学一种就好。他认为Clojure更优雅,而Scala对于java,C#或C++程序员来说学起来更容易。


    插一句:本博觉得还是学Scala吧,它被称为下一代的Java, 被用于最受关注的大数据平台Spark上。


    5. Git, Ansible,Vagrant

    DevOps的概念已经越来越被大家接受。能从Github上checkout自己的代码已经成了开发团队的必备方式。开发,布署,测试不再分别进行。避免了过去由于开发和部署的环境不一致导致的各种bug。Git的用法也成了程序员的基本技能了。


    DevOps的概念还可以再深入讲讲,等有空再开一篇专门讨论


    Vagrant, 一种虚拟机自动化工具,就是管理虚拟机配置,让你可以直接使用配置好的环境。


    推荐另外一种容器技术来取代Vagrant, 当前爆火的Docker


    Ansible, 一种优雅的部署和管理工具,类似功能的工具有:Chef, Puppet, 不过Ansible更新也更受关注。Ansible的不同之处在于,它使用SSH把Python的sctipts直接在被管机器上运行,因此不需要装任何软件。


    下次一定写写这些自动化配置,部署工具:  Chef, Puppet, Ansible,  Salt






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值