IT民工进化指南:软件工程师最该了解的新技术Top10
来源:互联网 发布:网络与新媒体专科 编辑:程序博客网 时间:2024/05/17 23:28
某篇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
================================================
那么下面来看看他们都是什么吧。
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
- IT民工进化指南:软件工程师最该了解的新技术Top10
- IT民工出路指南
- IT民工的彷徨
- 新IT民工社区,新技术,新方法,新观点
- 由酷6员工猝死想到的:IT民工 我该拿什么拯救你
- 写给所有的IT民工
- IT民工眼中的产品
- IT民工的辗转流动
- IT民工的小农生活
- 新IT民工的blog
- IT民工
- IT"民工"
- IT民工!
- IT民工
- IT偏见录:中国互联网历史上最伟大的产品TOP10
- 需要了解学习的新技术
- IT民工的2013的升迁
- IT民工的2013的升迁
- 开发nodejs模块并发布到npm的简单示例(win7)
- wince中的串口编程
- 【转】一张图学会python编程
- @Resource注解原理和一个简单的小例子
- Kundu and Tree
- IT民工进化指南:软件工程师最该了解的新技术Top10
- ios 常见问题
- 如何理清SAT阅读文章结构?
- Storm高级原语(四) — Trident API 综述
- oracle设置定时任务来调用存储过程完成统计(每小时计时一次存到hour表)
- LA 3303 / POJ 2675 Songs (数学证明+排序)
- C++读取并逐行显示txt内容
- Android 截图 代码 截屏 保存图片到本地 根据本地图片路径 显示图片
- Jsoup中select方法详解