说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

研发周报:回顾2013、技术栈的选择、开源成趋势

HTML文档下载 WORD文档下载 PDF文档下载
在过去的一周,研发频道的文章集中回顾了2013年软件界的发展趋势,比如回顾2013软件开发:JavaScript领风骚、盘点2013:21款最优秀的开源数据库、2013年Linux领域重要事件回顾。

过去一周,我们从蛇年穿越到了马年,特此祝大家马上什么都有。在过去的一周,研发频道的文章集中回顾了2013年软件界的发展趋势,比如回顾2013软件开发:JavaScript领风骚、盘点2013:21款最优秀的开源数据库、2013年Linux领域重要事件回顾。

下面就让我们来细细品味这些精彩的文章:

1.回顾2013软件开发:JavaScript领风骚

2013年马上就要过去,回顾这一年各行各业发展风起云涌。下面,我们与大家一起回顾下2013年在软件开发领域表现出的几大行业趋势。 


JavaScript领风骚

在过去的2013年,JavaScript几乎成为软件开发领域最热门的讨论话题。JavaScript也像滚雪球一样,越滚越大。今年流行的JavaScript开发框架,如  Meteor、  Angular.js、  Famo.us等,可以帮助开发者更加方便快速地开发出想要的应用程序。JavaScript在当前移动开发大潮和服务器领域(Node.js)也表现突出。 

基于JavaScript的移动开发平台的使用数量和排名,远远领先于Java、Objective-C、C#、Ruby和 C/C++等语言。 

除此以外,还有以下三大趋势值得大家关注:

  1. Java和.Net式微
  2. PaaS迎来新春
  3. API获青睐

2.盘点2013:21款最优秀的开源数据库

作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库打交道,比如MS SQL服务器、MySQL、Oracle、PostgreSQL、MongoDB等等。众所周知,其中MySQL是目前使用最广泛最好的免费开源数据库,此外,还有一些你不知道或者没用过但又非常出色的开源数据库,例如 PostgreSQL、 MongoDB、HBase、Cassandra、Couchbase、Neo4j、Riak、Redis、Firebird 等。

在本文,作者总共总结了21个最优秀的开源数据库,不妨让我们一起来看下吧。

  1. MySQL
  2. PostgreSQL
  3. MongoDB
  4. Hadoop (HBase)
  5. Apache Cassandra
  6. Couchbase
  7. Neo4j
  8. Riak
  9. Redis
  10. Firebird
  11. Memcached
  12. Oracle Berkeley DB
  13. Hypertable
  14. Keyspace
  15. 4store
  16. MariaDB
  17. Drizzle
  18. HyperSQL
  19. MonetDB
  20. Persevere
  21. eXist-db

关于这21款开源数据库的详细介绍,欢迎大家 查看原文。

3.2013年Linux领域重要事件回顾

在过去的一年里,Linux和开源软件都取得了不小的进步。在这个特殊日子里,我们把2013这一年业界发生的重要事情分成了“Linux发行版、重要周年庆祝活动、曾引起业界较大关注的事件”这三个方面来进行梳理。下面,我们一起了解下吧。

      

一、主要Linux发行版本

  1. Ubuntu 13.04 & 13.10发布
  2. Debian 7.0“Wheezy”发布
  3. CentOS 6.5发布
  4. Fedora 19&20发布

二、周年庆祝活动

  • FreeBSD 20周年
  • Slackware 20周年
  • Debian 20周年
  • Fedora 10周年
  • GNU 30周年

三、业界重要事件

  • Canonical发布Ubuntu Mir,社区加速开发WayLand 
  • Ubuntu Edge筹资失败,Ubuntu手机仍会推出
  • Linux Kernel 3.12版本
  • Valve加入Linux基金会,Steam OS发布
  • Sailfish OS智能手机上市

更多: 2013 Linux领域年终盘点 

4.技术栈的选择:从Groupon转向Node.js、淘宝去IOE谈起

在本文开始之前,先来看看一些案例。

  • 今年10月份,知名团购网站Groupon宣布完成了为期1年的工作——将Groupon美国站点从Ruby on Rails全面迁移到了Node.js。
  • 2010~2013期间,阿里巴巴逐步完成了“去IOE”运动,将“IBM小型机+Oracle数据库+  EMC2存储”架构逐步转向了“MySQL+PC Server”。
  • Twitter将其一些后端服务从Ruby on Rails迁移到了JVM上。
  • 京东商场后台抛弃.NET,使用Java重写。
  • Facebook iOS客户端使用HTML5重写,后又换回原生应用。
  • ……
一、这些公司为什么要如此“折腾”

  1. 速度、可维护性——Groupon从Rails转向Node.js
  2. 原有技术栈已无法满足如今的规模——Twitter部分服务从Rails迁移到了JVM
  3. 技术上更可控,规模上更易扩展——淘宝去IOE
  4. 快速开发需要——PayPal使用Node.js重写其支付系统
  5. 追随潮流,但这是有代价的——转向HTML5
  6. 成本考虑——选择开源软件
  7.  更换技术团队或CTO
  8. 被迫选择

二、大公司是如何做的

  1. 不断尝试新技术栈——Groupon
  2. 优化原有技术栈——Facebook
  3. 也有失败案例

三、如何选择技术栈

选择技术栈需要参考的因素有很多,一些基本因素如下:

  • 产品预期上市时间
  • 开发团队和生产力情况
  • 可维护性
  • 可扩展性
  • 使用环境
  • 社区和许可情况(开源项目)
技术栈是产品的根基,是产品功能和用户体验的保障。每种编程语言和技术都有存在的理由,且这些技术栈都经过了时间和大型项目的验证,但这并不代表别人能用你就也能用,还需要根据产品、团队、市场等因素选择最适合的技术栈。所以,在技术栈的选择上,可以说没有最好,只有最适合。希望本文列举的这些公司的案例能够为你带来一些参考。

5.Ejoy2D:“风魂”游戏引擎作者云风的又一力作

Ejoy2D是一款图形引擎、基于OpenGL ES的图形库。采用C和Lua开发,目前只支持Windows、Linux、Mac OS平台。Ejoy2D的一切高层API都是以Lua函数和对象形式提供的。二次开发人员完全可以用Lua来开发游戏。

Ejoy2D是  简悦(EJOY)游戏公司所开发的一款游戏图形引擎,该公司的CTO  云风(真名吴云洋)在  其博客和  微博上宣布了Ejoy 2D开源,遵循MIT开源许可,并将代码托管在  GitHub上。

 

微博截图

Ejoy2D的设计目标是可以轻松地嵌入到开发者的游戏引擎中,方便开发者定制自己所需的功能。

6.TIOBE 2014年1月编程语言排行榜:Transact-SQL力挫Objective-C 夺得桂冠

TIOBE 2014年1月份编程语言排行榜出炉,本月前三甲依然为:C、Java、Objective-C。 

回顾2013,Transact-SQL成了最大的赢家,在2013年有了几乎1%的增长率(+0.98%增长率),紧随其后的分别是Objective-C,增长率为0.81%、F#增长率为0.53%。Transact-SQL所获得的较大增长率似乎有点让人吃惊,因为它的主要应用领域微软数据库引擎SQLServer人气正在丧失。

正如大家近10年所观察到的,编程语言的流行度在很大程度上是受到外部趋势影响。目前,随着移动应用和Web开发的发展,Android(主要是Java)、iOS(Objective-C)已成为主流的移动平台,Windows Phone(C#)也正在迎头赶上。在Web开发领域,尽管HTML5热潮依旧,但并没有看到太多的变化,JavaScript仍然是这一领域最大的赢家(依然稳坐在第9名的位置)。而其替代者似乎越来越糟,CoffeeScript排在170、TypeScript为205、Dart为124。

下面一起来看下本月的前20名榜单:

 

前10名编程语言走势图: 

7.2013年度最强AngularJS资源合集

AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。

AngularJS诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠。本文整理了2013年度一些非常有价值的AngularJS相关教程和资源,如果你想了解AngularJS或正在使用AngularJS,那么这些资源肯定会为你的学习和进阶过程带来帮助。

一、了解AngularJS 

  • AngularJS维基百科
  • CSDN专访AngularJS框架创始人Misko Hevery
  • Angular.js VS. Ember.js:谁将成为Web开发的新宠?

二、中文资源

1.  中文系列资源

  • AngularJS系列教程文章 – 大漠穷秋
  • AngularJS入门系列教程 – AngularJS中文社区
  • AngularJS学习笔记 – 邹业盛
  • AngularJS精彩问答 - 知乎

2.  其他单篇文章

  • AngularJS 最佳实践
  • 有jQuery背景的开发者如何建立起AngularJS的思维模式?
  • 现在就开始使用AngularJS的三个重要原因
  • 使用AngularJS构建大型Web应用
  • Angularjs开发一些经验总结
  • 5个示例带你学习AngularJS

3.  中文书籍

  • 《使用AngularJS开发下一代WEB应用》

三、英文资源

1.  AngularJS入门教程

  • AngularJS傻瓜教程系列
  • AngularJS移动开发权威指南
  • AngularJS 30分钟入门
  • 60分钟掌握AngularJS
  • 在你的AngularJS应用中建模数据
  • 使用$https创建服务
  • 了解AngularJS的5个步骤
  • AngularJS和RequireJS的动态加载控制器和视图
  • 先进的设计模式和最佳实践
  • AngularJS动画
  • AngularJS Factory与RESTful服务的交互
  • 使用Angular.js Factory获取远程数据
  • 使用AngularJS的10个理由
  • AngularJS中Providers之间的差异
  • AngularJS过滤
  • 针对jQuery开发者的AngularJ教程
  • Web开发者应该了解AngularJS的10个理由
  • Angular Js:何时应该使用Directive、Controller和Service?
  • 30秒从jQuery转到AngularJS

访问原文可查看更多资源。

8.回顾2013年十个值得关注的WordPress设计主题

本文作者 Andrew Smith是一名具有创新精神和实验经验丰富的开发人员,在这篇文章里,作者收集了在2013年较为受欢迎的十个WordPress主题提供者,讲述了他们的优点和创建历史。

  1. StudioPress
  2. Theme Forest
  3. Elegant Themes
  4. Templatic
  5. Theme Fuse
  6. Wobzy
  7. Woo Themes
  8. iThemes
  9. Themes Kingdom
  10. Press75

打开 Win95 的创建快捷方式窗口-VB资料 打印机技巧 -VB资料 带有历史记录功能的菜单-VB资料 得知目前Mouse所指的Menu Item是哪一个-VB资料 调整 Combo 下拉部分的宽度 -VB资料 对象是使用 TAB 键还是鼠标激活的 -VB资料 防止用户编辑文本框控件中的内容-VB资料 改变 ListIndex而不发生 Click 事件 -VB资料 改变 TreeView 的背景 -VB资料 改变安装向导的背景色-VB资料 改变按钮的文本颜色-VB资料 功能强大的增强列表框 ――VB6控件LISTVIEW使用指南 关闭MDI窗体中所有的子窗体-VB资料 规范设计Windows应用软件菜单-VB资料 VB建立可滚动的视区 -VB资料 VB建立可下拉选择的属性 -VB资料 VB建立无模式窗口 -VB资料 将VB5中的ToolBar变成平面的 将程序从任务列表中隐藏 -VB资料 将我自已的命令加入窗体的控制菜单栏-VB资料 VB利用 UnloadMode 来控制窗体的卸载? VB利用Form_QueryUnload询问使用者是否关闭窗口 利用VB的图片框实现屏幕的滚动 利用VB动态改变Windows显示模式的两种方法 利用VB控制窗口显示风格 利用VB实现浮动按钮 VB利用子类处理技术限制窗体的大小 奇形怪状的窗体 -VB资料 强制ComboBox弹出下拉框 -VB资料 强制和防止窗口重画 -VB资料 巧用“关于”对话框-VB资料 回家真。。。。惨! 请问那里有的delphi的中文补丁?? 求助最小二乘法多项式曲线拟和及最小二乘法对数曲线拟和 关于Windows9X驱动程序开发工具包VtoolsD的几个问题? 昨天晚上连夜看《围城》,今天上班迟到了,不爽。 这个美元符号是什么意思? to:asia(),hushuo,seesea,inside1以及各位大虾,可以再给小女子讲一下指针的问题吗? win 2k pro 如何查看有哪些人联着我的机子?就跟98的网络资源管理中的一样。 十万火急!!TADOTable的lookup类型的新字段不能用于Sort吗?搞定了立即给分!! CListCtrl控件問題 怎么我在VC++6.0中的窗口属性中设一些属性好像没用一样??? 三台机器不用HUB如何实现互相访问? 请教通讯的问题 用accsee数据库 怎么不显示登陆的用户密码框? c,如何得到一个文件名中指定位置指定长度的字符串?? 服务器是否打开支持FileSystemObject对象的权限 我的数据表列宽为7个字符 , 而我只输入3个字符 , 当我输入4个字符后 , 再次运行程序却看不到所有数据 从新做人 求救:在NT Server下调用GetVolumeInformationA取分区序列号,返回结果为负数!!!怎么回事啊? 正式到新公司上班,送300分,感谢在我最困难的时候在“软件工程”版给过我帮助的朋友们!! 请问斑竹及所有人,怎样得到QuickReport的总页数? Websphere3.5的一个BUG.希望有人反对.多谢.. 什么是DAMAP的对象 哪里有 winpcap 或 libnet 及其他网络编程辅助包下载? 谁能提供PSP文档?最好是Humphrey的那本书! 代码出现bebug.请大家帮我找!!!! TO:net_lover(孟子E章),详情请入内! 有谁用过DEV express系列的dxdbgrid??它是如何把一个文本文件txt读到dxdbgrid1.columns[i]的picklist中去,作为picklist的内容的啊? 我想在Linux下做数据库开发,用什么数据好? 我的pws可能出了问题,那位高手能解决一下 关于控制winamp 各位同行你们有这个的源程序吗(Cacio DT-900数据采集器) Html Help 制作方法 luodi(无知者无畏), 请进: 我用shell(app.path+"\mdac.exe"),来调用微软数据访问控件2.0,提示出错:命令行语法错误, 求救:如何将剪贴板中的内容放到image控件上 how to get the sytax of customer user object ? jsp中的打印问题 pb中有没有类似iif之类的语句 大虾们,怎样将String 类型转换成float 请问在及时战略中,怎么实现寻路的 我想在状态栏显示时间,有没有属性可以让时间自动变化,而不用其它辅助控件? 不会没人愿意回答这个问题吧,都贴第二次了!! 吃西瓜 我在注冊自創構件時總是出錯,請各位幫忙解決. 关于ado连接sybase的问题,紧急求救!!!(我的最高分了) 29分:flexcell定位 请教一下,关于Delphi COM类型库的问题 大家来谈谈申奥成功对我们的影响吧,我想知道怎么利用这个契机大赚一笔 各位谁喜欢“后街男孩”??喜欢的给分! 请问在DBGRID中改变当前选定行的颜色? 我想在DataSourceDataChange()中实现。 解方程(1) 某数减去6的差是18 (2)某数比它的七分之三大七分之三.(3)比某数的6倍小6倍的数是10.(4)某数 十三分之十二除以五的商减去六分之一与十二的倒数的积,差是多少,算式是什么 99又7分之1乘以99简算 -2的二次方-(5/12-7/15-1/30)*(-12)*(-5) 一个数的5倍减去5除2.5的商 差是3.8 求这个数 101乘以99乘以999加999 急... 13分之8÷7+7分之1*13分之25分之2+2分之1/5分之4+8分之3简便计算, 什么数的3倍减去3除24的商,差是13? 101乘以99/100 帮忙下: 1)12分之7小时=( )分. 2)30.7% 、 13分之4帮忙下:1)12分之7小时=( )分.2)30.7% 、 13分之4 、 0.30777… 、 0.31 、 3.07.从大到小排列:__________________________________ (5又13分之1-3又8分之3)*(6又4分之3-2又4分之1*3)= 如何简便算49+49×49,意思,为什么这么算偶承认偶童鞋没文化.....(没文化真可怕)数学很伟大 (13分之1+7分之1)*13*7=? 与x的积是y减1的数 简便计算:41×49-49 从-1中减去-7/12,-7/8,-3/4三个数的和,所得的差是多少 两个数的和为10,设其中一个数为x,那么它们的积y是如何随x的变化而变化的?你能分别用函数表达式、表格和图像表示这种变化么 3.41-1.97+0.49-1.03的简便计算 列式并计算:从-1中减去-5/12、-3/8与-1/6的和,所得的差是多少? 把两个相同的三位数连续写在一起,就得到一个六位数请你是说明任何一个连续数都可被7、11、13整除 41*101怎样简便就怎样算 列式并计算:从—1中减去—12分之5 —6分之1与—5分之8的和,所得的差是多少? 1.11.13.6这几个数怎么组成24?加减乘除随便用 41×101=? 请简便计算 列式计算:从2里面减去5/8与1/6的和,差是多少? 在6,13,35三个数中与8的最大的公因数是1的是() 199乘49加199乘50加199怎么简便运算? 12.5减去一个数与4的和,差是6,这个数是多少? 一个数加上20分之13的和再减去5分之3,差是20分之3,求这个数. 72x0.81+10.4简便运算 一个数的4倍减去7.5的40%,差是12,这个数是多少 一个数加上13/20得和,再减去3/5,差是3/20,这个数是多少 (5x一3)(5x一3)=4分之81,x=? 12个6/5的和减去3/2,差是多少,数是多少? 5与4的积被一个数除,商是0.5,个数是多少? √81+5x³=-31 这个怎么算呢. 甲数与乙数的比是5:3,甲数比乙数多3分之2.判断对错 一个数的6倍减去5.2与3的积,差是12,这个数是多少? 1/2与2/3的积减去1/6,所得的差去除5/12,商是多少? 甲数与乙数的和是15,将乙数扩大到原来的3倍,乙数扩大到原来的2倍,这时新甲数比新乙数多2,甲、乙两数原来各 从12分之5与4分之1的和减去0.15差是多少 分解质因数 27= 30= 54= 判断题 1.甲数是10,比乙数少2,乙数比甲数多20% 2.甲数比乙数多15%,那么乙数就比甲数少15% 3.甲数是10.3.甲数是10,比乙数多2,甲数比乙数多20%.4.甲数比乙数少15%,那么乙数是甲数的1.5倍 12/5减去4/1的差,乘1减去15/4的差,积是多少 54分解质因数 甲乙两数的比是3比5,乙数比甲数多12,甲数是()乙数是() 12与5/6的积减去8个1/4所得的差是多少? 54怎么分解质因数 如果甲乙两数比是3:5,那么甲数比乙数少 / ,乙数比甲数多 %.实验小学六年级有学生256人,其中男生占8分之5.男生人数正好是全校总人数的12分之1.实验小学共有多少学生?某校女生比男生多4/1,男 从12又4分之1里减去2又8分之3,所得的差与6分之5的和是多少 30分解质因数 甲、乙两数的比是3:5,乙数比甲数多()分之(),甲数是15,乙数是()请列示 从3分之2与6分之1的和里减去12分之1差是多少有一个数比6分之5与8分之5的差多12分之5这个数是多少 把30分解质因数?具体数字 甲乙两数的比是3:5甲数比乙数多15乙就比甲少() 从12又1\6里减去4.6与3又2\3的和,差是? 99乘24简便脱式计 用7÷15与5÷2的积减去50%除1÷2的商,差是多少 从40里减去8.1的3倍,再除以0.4,商是多少?(列式算结果) 负九十九又九十九分之九十八乘一百九十八 简便计算
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn